Dishonour Codes
When a payment fails, these code will tell you why
When a payment attempt fails, you will receive a dishonour code that maps to one of the following. These are in order of how common they occur.
Code | Description | Can I try again? |
---|---|---|
insufficient-funds | The payer did not have enough funds at the time of the transaction. | Yes |
temporary-problem | This usually occurs when transactions are out of the ordinary, too close together or a multitude of other reasons. The bank has said no, but you are allowed to try again, usually after an hour, or even better, the next day. | Yes |
blocked-by-bank | This occurs when the bank determines the transaction to be suspicious. It can be potential fraud, a lost or stolen card, a frozen account, or just too risky. The bank will reject all future attempts. | No |
invalid-card | The provided credit card information is invalid. Check all the details and create a new credit card source. | No |
invalid-account | The provided bank account is invalid. Please re-confirm the information with the payer and create a new agreement. | No |
unsupported-card | The card type you're trying to use isn't supported by the system. Visa and Mastercard are sure bets. Please confirm with us before trying other schemes. | No |
technical-error | Something's gone wrong on our end. You should rarely see this error, but make sure you have a process in place to handle it. You'll need to contact support to find out what happened. | Yes |
Testing
To test any of these dishonor types scenarios in the test environment, you are able to add the dishonor code anywhere into a payment description prefixed by a #.
var result = await api.Payment.ExecuteRealtime(new RealtimePaymentSaveOptions()
{
FullName = "Ben Hotdog",
Email = "[email protected]",
CreditCardToken = "tkn_XXXXXXXXXXXXXXXXXXXXXXXXXXX",
Amount = 1245,
Description = "this transaction will fail with #insufficient-funds"
});
curl https://api.getpinch.com.au/test/payments/realtime
-H "Authorization: Bearer ..."
-H "Content-Type: application/json"
-d "{
'fullName': 'Ben Hotdog',
'email': '[email protected]',
'amount': 1245,
'description': 'this transaction will fail with #insufficient-funds',
'creditCardToken': 'tkn_XXXXXXXXXXXXXXXXXXXXXXXXXXX'
}"
Updated 5 months ago