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.

CodeDescriptionCan I try again?
insufficient-fundsThe payer did not have enough funds at the time of the transaction.Yes
temporary-problemThis 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-bankThis 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-cardThe provided credit card information is invalid. Check all the details and create a new credit card source.No
invalid-accountThe provided bank account is invalid. Please re-confirm the information with the payer and create a new agreement.No
unsupported-cardThe 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-errorSomething'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


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]",
    Amount = 1245,                
    Description = "this transaction will fail with #insufficient-funds"
 -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',