Taxonomy
The reference every decline is checked against: 18 root causes and 200 codes across card, UPI, UPI Autopay and NACH. Read-only.
Root causes 18
Insufficient funds
Customer didn't have enough money when the debit was attempted.
DEFAULT TIMING
Cards: no sooner than 24h after the decline, within network caps (Visa: 15 retries per card in 30 days). Recurring: time retries near likely salary credit (1st–7th). UPI Autopay: up to 3 retries in the cycle after the first attempt, inside the permitted IST execution windows; the pre-debit notification is needed before the scheduled debit, not before each retry.
PREVENT IT
Set debit dates near salary credit, and remind customers two days before each debit.
INSUFFICIENT_FUNDSLimit exceeded
A daily, per-transaction or frequency limit set by the customer or bank was hit.
DEFAULT TIMING
Daily or frequency limits: after the limit resets (typically next day). Per-transaction limits don't reset: charge a smaller amount or collect another way. FL/FP first-time UPI limits: after 24h.
PREVENT IT
Tell customers about bank limits before large debits, or bill large amounts in smaller cycles.
LIMIT_EXCEEDEDBank or network downtime
Bank, network or gateway was unavailable or timed out. Nothing wrong with the customer.
DEFAULT TIMING
Retry in 1–4 hours. UPI Autopay: only inside the permitted IST windows (before 10:00, 13:00–17:00, after 21:30). NACH: the next presentation cycle.
PREVENT IT
Schedule debits in daytime hours, away from bank maintenance windows.
BANK_OR_NETWORK_DOWNTIMEIssuer risk decline
Bank or network risk model flagged the payment as suspicious.
DEFAULT TIMING
At most one retry after 24h; otherwise wait for customer to clear it with their bank.
PREVENT IT
Authenticate customers at sign-up (3DS or a verified mandate) so issuers recognise your debits.
ISSUER_RISK_DECLINEAmbiguous issuer decline
Bank declined without saying why (do not honour, generic decline, bare U30).
DEFAULT TIMING
Retry once after 24h unmodified; abandon if the second attempt also fails.
PREVENT IT
Keep a backup payment method on file so a failing card can switch rails instead of lapsing.
AMBIGUOUS_ISSUER_DECLINEAuth not completed
Customer didn't finish authentication — wrong PIN/OTP, didn't approve, timed out or cancelled.
DEFAULT TIMING
Only when the customer re-initiates or re-authenticates. UPI Autopay and card e-mandates above Rs 15,000 need authentication on each debit (Rs 1,00,000 for mutual fund subscriptions, insurance premiums and credit card bills).
PREVENT IT
Send approval requests when customers are active, with a reminder before the request expires.
AUTH_NOT_COMPLETEDCode reference 200
| Rail | Code | Official description | Root cause | Flags | Source |
|---|---|---|---|---|---|
| Card | 03 | Invalid merchant | Merchant side error | — | ISO 8583 |
| Card | 04 | Pick up card | Card lost stolen | Collision | ISO 8583 |
| Card | 05 | Do not honor | Ambiguous issuer decline | Collision Context-dependent | ISO 8583 |
| Card | 06 | Error | Bank or network downtime | Collision Context-dependent | ISO 8583 |
| Card | 07 | Pick up card, special condition | Card lost stolen | Collision | ISO 8583 |
| Card | 12 | Invalid transaction | Merchant side error | Collision | ISO 8583 |
| Card | 13 | Invalid amount | Merchant side error | Collision | ISO 8583 |
| Card | 14 | Invalid card number | Payment details invalid | Collision | ISO 8583 |
| Card | 15 | No such issuer | Payment details invalid | Collision Context-dependent | ISO 8583 |
| Card | 19 | Re-enter transaction | Bank or network downtime | Context-dependent | ISO 8583 |
| Card | 39 | No credit account | Payment details invalid | Context-dependent | ISO 8583 |
| Card | 41 | Lost card | Card lost stolen | — | ISO 8583 |
| Card | 43 | Stolen card | Card lost stolen | — | ISO 8583 |
| Card | 46 | Closed account | Account closed | — | ISO 8583 |
| Card | 51 | Insufficient funds | Insufficient funds | Collision | ISO 8583 |
| Card | 52 | No checking account | Payment details invalid | Collision Context-dependent | ISO 8583 |
| Card | 53 | No savings account | Payment details invalid | Collision Context-dependent | ISO 8583 |
| Card | 54 | Expired card | Card expired | Collision | ISO 8583 |
| Card | 55 | Incorrect PIN | Auth not completed | — | ISO 8583 |
| Card | 57 | Transaction not permitted to cardholder | Instrument restricted | Collision | ISO 8583 |