Response handling
Learn why some payments fail and what you can do to decrease your decline rate.
Payments can fail for a variety of reasons and it’s frustrating when they result in the loss of legitimate business. Many payments fail for good reason and do so to minimize the possibility of a fraudulent payment.
There are three possible reasons why a credit card payment might fail:
Payments declined by card issuers
Blocked payments
Invalid API Calls
Each type of failure is handled differently. The reason for a payment’s failure is provided within the payment’s details in the Dashboard and through the API response. This parameter includes the type of payment failure, along with additional information about the reason for it.
Card issuers decline codes
There are many reasons why card schemes refuse a transaction. The corresponding authorization responses we receive are not the same for all schemes, and change from time to time. On this page, we describe the most common raw acquirer responses related to refused or cancelled transactions.
DECLINE CODE | DESCRIPTION | NEXT ACTION |
---|---|---|
| The card was declined for an unknown reason. | The customer needs to contact their card issuer for more information. Other codes for similar reasons:
|
| The card was declined for an unknown reason. | The customer needs to contact their card issuer for more information. Other codes for similar reasons:
|
| The card has insufficient funds to complete the purchase. | The customer needs to use an alternative payment method or try with another card. Other codes for similar reasons:
|
| The account is closed. | Re-validate the account number for accuracy and do not reattempt with the same PAN or token. Other codes for similar reasons:
|
| The CVC number is incorrect. | The customer needs to try again using the correct CVC. Other codes for similar reasons:
|
| Account number was never issued or has been permanently blocked or closed. | The customer needs to try again using the correct card number. Other codes for similar reasons:
|
| The card has expired. | The customer needs to enter the correct card number/expiry date or use another card. Other codes for similar reasons:
|
| The customer has exceeded the balance or credit limit available on their card. | The customer needs to use an alternative payment method or try with another card. Other codes for similar reasons:
|
| The customer has exceeded the balance or credit limit available on their card. | The customer needs to use an alternative payment method. or try with another card. Other codes for similar reasons:
|
| Issuer reported the transaction as suspected fraud. | The specific reason for the decline shouldn’t be reported to the customer. Instead, it needs to be presented as a generic decline. Other codes for similar reasons:
|
| The customer can’t use this card to make this payment (it’s possible it was reported lost or stolen). | The customer needs to contact their card issuer for more information. Other codes for similar reasons:
|
| The payment isn’t permitted. | Card issuer does not permit the transaction on this card/account. The customer can use another payment method or contact their bank. Other codes for similar reasons:
|
| The card issuer indicated a security issue with this card. | The customer can use another payment method. Alternatively, the customer can try again after they resolved the issue with their bank. Other codes for similar reasons:
|
| The card was declined for an unknown reason. | The customer needs to contact their card issuer for more information. |
| The payment was declined by Acquirer for risk reasons | Don’t report more detailed information to your customer. Instead, it needs to be presented as a generic decline. |
| 3D Secure authentication was not executed, or it did not execute successfully. | The customer should try again and authenticate their card when prompted during the transaction. Other codes for similar reasons:
|
| Transaction does not exist.Most probably the user did not complete 3DS authentication | The customer should try again and authenticate their card when prompted during the transaction. |
| The card issuer does not allow this type of transaction on this card/account. For example, the card is a fleet card for which this type of transaction is not permitted. | The customer needs to contact their card issuer for more information. |
| Transaction declined by issuer. | The customer needs to contact their card issuer for more information. |
| The customer can’t use this card to make this payment (it’s possible it was reported lost or stolen). | They need to contact their card issuer for more information. Other codes for similar reasons:
|
| Blocked/cancelled cards due to confirmed previous fraudulent situation (other than lost/stolen) | Don’t report more detailed information to your customer. Instead, it needs to be presented as a generic decline. |
| The payment was declined because the card is reported stolen. | The specific reason for the decline shouldn’t be reported to the customer. Instead, it needs to be presented as a generic decline. |
| New card that has not been activated -or- card has been temporarilyspecial condition blocked due to a special condition. | The card used for the transaction is blocked, the customer needs to contact their card issuer. |
Invalid merchant or service provider | The card is not valid to be used at this Merchant or MCC. | The customer needs to contact their card issuer for more information. |
Blocked payments
Moneycollect’s bigdata risk detection toolset, blocks high-risk payments, such as those with mismatched CVC or high risk country or a large number of identity change behaviors are detected.
Using the API, the riskInfo
of a blocked payment reflects the type of payment failure and the reason for it, along with the risk level that was evaluated.
Invalid API Calls
As you develop your Moneycollect integration, good testing should identify any potential bugs that would lead to invalid API calls. Consequently these failures should be rare in production. Invalid API calls typically don’t result in a payment appearing in your Dashboard.
Invalid API Calls have the same error code:'invalid_parameter',and you can get detail error information from field msg.
If you receive this type of error, you should correct the api parameters.
Last updated