FAQ Section
Reference

Payment Reason Code Directory

 

A directory of common bank reason and response codes for debit order unpaids, DebiCheck declines, card declines and returned bank transfers.

When a payment fails, the bank or scheme returns a reason code explaining why. Each payment stream has its own code set: debit order unpaids use one set of return reasons, DebiCheck mandates another, and card payments use scheme response codes. The numeric or alphanumeric codes differ between streams and can differ between specifications, but the underlying reasons are consistent and predictable.

This directory describes the common reason categories for each stream and what to do about them. It deliberately avoids listing exact numeric codes, because those depend on the specification version your provider or bank uses. Always consult your provider or bank's current specification for the precise code values. For statuses rather than reasons, see the status directory, or return to the Reference hub.

How reason codes work

A reason code accompanies a failed or returned payment and tells you which party caused the failure and whether a retry is worthwhile. Broadly, reasons fall into three groups:

  • Funds-related — the account is valid but could not pay right now. A retry on a better date often succeeds.
  • Account-related — something is wrong with the account itself (closed, frozen, invalid). Retrying without fixing the details will fail again.
  • Authority-related — the payer or their bank has withdrawn or refused authority (payment stopped, mandate cancelled, disputed). Do not simply retry; resolve the mandate or agreement with the customer first.

Debit order unpaid reasons

Common reasons a debit order collection is returned unpaid:

ReasonWhat it meansWhat to do
Insufficient fundsThe account did not have enough money on the action date.Resubmit on a better date or use tracking; contact the customer if it repeats.
Account closedThe payer's account has been closed.Get new bank details and a new or updated mandate.
Payment stoppedThe payer instructed their bank to stop this debit order.Contact the customer; do not resubmit until the underlying issue is resolved.
Account frozen / blockedThe account exists but is blocked, for example by a legal hold.Contact the customer for an alternative payment method.
Account holder deceasedThe bank has flagged the account holder as deceased.Stop collections and follow your estate/collections process.
No such account / invalid accountThe account number does not exist at that branch.Verify the details, correct them and recollect. See account validation and CDV.
Authorisation cancelledThe payer cancelled the underlying authority or mandate at their bank.Treat the mandate as ended; obtain a new mandate before collecting again.

For resubmission rules and strategy, see unpaids, returns and resubmissions.

DebiCheck mandate decline reasons

Common reasons a DebiCheck mandate request fails:

ReasonWhat it meansWhat to do
Rejected by customerThe payer actively declined the mandate at their bank.Contact the customer to understand why before sending a new request.
Authentication expired / no responseThe payer did not respond before the request lapsed.Warn the customer to expect the bank prompt, then resend.
Account type not allowedThe account cannot carry DebiCheck mandates, for example some savings or credit accounts.Ask the customer for a different account.
Mandate details mismatchThe details in the request do not match the bank's records, for example the ID number or account holder.Correct the customer details and resubmit.
Invalid or closed accountThe target account is invalid or closed.Verify the bank details before retrying.

For the DebiCheck-specific view, see DebiCheck statuses and reason codes.

Card decline reasons

Common categories of card response codes:

ReasonWhat it meansWhat to do
Do not honourThe issuer declined without a specific reason; the most common generic decline.Ask the cardholder to retry, contact their bank or use another card.
Insufficient fundsThe card's available balance or limit is too low.Ask the cardholder to retry later or use another method.
Expired cardThe card's expiry date has passed.Request updated card details.
Suspected fraud / security declineThe issuer's risk systems blocked the transaction.The cardholder must contact their bank; do not repeatedly retry.
3-D Secure failureThe cardholder did not complete or failed authentication.Ask the cardholder to retry and complete the bank's verification step. See 3-D Secure.
Invalid card detailsThe card number, CVV or expiry was entered incorrectly.Ask the cardholder to re-enter their details.

For a deeper treatment, see card declines and response codes.

Bank transfer return reasons

Credit payments and payouts are returned for a narrower set of reasons: invalid or closed destination account, account unable to accept credits, or beneficiary details that do not match. Verify beneficiary details before paying, and see failed and returned transfers for handling returns.

Where to find exact codes

The authoritative source for exact code values is always the specification of the provider, bank or stream you integrate with. Code lists are versioned and occasionally change, so check that you are reading the version that matches your integration. If you receive a code you do not recognise, ask your provider rather than guessing, because acting on the wrong reason (for example retrying a stopped payment) can create disputes.

Copyright © 2026 Kwik Payments