Handling exceptions is straightforward and follows common language conventions.
try: customer = gateway.customer.find("an_unknown_customer_id") except braintree.exceptions.not_found_error.NotFoundError as e: print e
Raised when your API keys are incorrect. If you're getting this exception when first integrating, double-check that you haven't accidentally tried to use your sandbox keys in production or vice-versa.
Raised when the API key that you're using is not authorized to perform the attempted action according to the role assigned to the user who owns the API key.
This error can also occur if the data you submitted was malformed – either a parameter isn't in the allowed list, or it is at the wrong location in the nested parameters.
Raised when a request times out because it takes longer than the custom timeout limit you set in the server SDKs. A request that returns this exception could still be successful if it processes within the Braintree gateway timeout of 60 seconds. Learn more about timeouts.
Raised when the webhook challenge you attempt to verify is in an invalid format.
Raised when the webhook notification you attempt to parse has an invalid signature.
This could be caused by a payload being modified in transit or if you attempt to parse messages that did not originate from our servers.
Raised when the record that you're trying to operate on can't be found. For example, if you try to update a customer and the customer ID isn't valid. For references and associations, you'll receive a validation error if the reference is invalid. For example, when creating a credit card and specifying which customer ID it should be associated to, if the customer ID is invalid, it will be a validation error, not a not found exception.
Raised when something goes wrong on the Braintree server when trying to process your request.
Raised when an error occurs that the client library is not built to handle. If this happens, there's probably a bug in the client library.
Raised when requests associated with your account reach unsafe levels. We may limit API resources by merchant if activity risks negative impact to other merchants.
Raised when you're trying to use a version of the library that is no longer supported. Note that we support all client library versions that are in use and we will not deprecate an existing version without first reaching out to anyone who needs to upgrade.
Raised when a gateway response timeout occurs.
Raised when a client request timeout occurs.
Raised when the gateway service is unavailable.