Docs
You are viewing:
Product Catalog 2.0
This document contains a structured overview of the various payment error messages encountered in Chargebee. These errors may arise from payment gateways, bank account validations, mandate issues, fraud checks, compliance validations, network, processors, or other sources.
This information aims to help support, product, engineering, and operations teams quickly identify the root cause of a payment failure, determine the appropriate next step, and provide a better customer experience.
Payment processing is complex and heavily dependent on multiple external systems, such as card issuers, banks, payment gateways, and regulatory bodies. Understanding why a transaction fails is crucial to resolving the issue.
This standardizes the error messages and explains the following:
This helps Chargebee maintain a consistent approach to error handling across teams and touchpoints, including retry logic, customer communication, and system alerts.
This error documentation serves as a reference for:
Some errors are transient (for example, gateway timeouts, network interruptions) and can be retried. Others (for example, expired cards, invalid credentials) require user intervention before another attempt.
Example:
id: gateway.transaction_processing.low_balance
retryable: "true"
In this case, the transaction failed due to insufficient funds. Since it's retryable, the smart dunning system may reattempt the charge after a few days or on the customer's next scheduled payment date.
Some error messages may be too technical, internal, or irrelevant to share with end users. Chargebee uses the exposeInCustomerFailureEmails
flag to determine whether an error should be shown in customer-facing emails.
Example:
id: gateway.merchant_account.test_only
exposeInCustomerFailureEmails: "false"
In this case, the error occurs because the merchant account is still in test mode. Since this is a setup-related issue on the merchant side, not caused by the customer, Chargebee suppresses the detailed error message from customer emails and instead shows a generic message to avoid confusion.
All gateway-related error causes are associated with properties that drive system behaviour. Property Overrides allow you to customize the system default to match specific business requirements. The following properties are overridable in the gateway error group
Steps to override:
Navigate to Settings > Configure Chargebee > Error Cause Settings.
Note: Use this URL to land on the settings page https://demo-test.chargebee.com/error_cause_settings/property_overrides
. Replace demo-test
with your test or live site's domain name.
Click Create Property Override.
Select the Error Group as Gateway with other relevant information.
Click Save.
Chargebee provides an error response body in JSON format for all API transactions. One key field in this response is the error_cause_id, a Chargebee-defined optional code that identifies the specific error encountered during the request. This standard code enables consistent error handling across all gateway services.
To resolve payment-related errors, refer to the detailed documentation that categorizes standardized errors and explains their root causes, retryability, and suggested solutions.
Supported error categories:
transaction_processing
payment_method
bank_account
merchant_account
identity_verification
transaction_authorization
technical
dispute
token
mandate
fraud
general
compliance
Why should I use smart dunning?
With Chargebee's Error Intelligence, we are now able to classify incoming errors from third parties, whether it is retryable or not. This property of the error is currently used only in smart dunning, so if you want to fully utilize the value of error intelligence in payments, switch to smart.
How are the errors structured and grouped?
The error ID is a fixed structure that is dot-separated. The first part, error group, mentions which particular integration type or group of errors this belongs to. The second part is the theme of the problem, e.g., fraud. The third part is the specifics of the problem. The ID is self-explanatory and will help merchants identify issues quickly in the long run.
Will Chargebee stop sending old errors, and will these be the new errors?
This is a new error field that is given along with the existing error fields that you already receive. As of now, there is no plan to stop sending old errors.
How can I get the actual gateway error code?
You can retrieve the transaction to view the actual error. There is a field called error_details
, as mentioned in the API documentation.
Was this article helpful?