Make checking the config dict work

Even if the check failed, no exception will occur: The result of the
config check in error case is a non-empty string, evaluating to True in
the error check in __init__.  This change makes check_config raise the
exception.
Make payment validation work

The exception on invalid payment could not be raised: The validation
string evaluates to true in the error check in add_payment(). Now, the
exception is raised in check_payment().