Taxonomy

The reference every decline is checked against: 18 root causes and 200 codes across card, UPI, UPI Autopay and NACH. Read-only.

Sources: NPCI UPI v2.9, NPCI NACH, ISO 8583, Razorpay, Cashfree, StripeLast updated: 22 Sep 2026Unknown codes waiting for review: 0

Root causes 18

Retry: yes
Retry: conditional
Retry: no
No retry

Insufficient funds

Retry: yes

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_FUNDS

Limit exceeded

Retry: yes

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_EXCEEDED

Bank or network downtime

Retry: yes

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_DOWNTIME

Issuer risk decline

Retry: conditional

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_DECLINE

Ambiguous issuer decline

Retry: conditional

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_DECLINE

Auth not completed

Retry: conditional

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_COMPLETED

Code reference 200

Collision
same code means something else on another rail
Wrapper
real reason is in the inner code
Modifier
changes timing, not the cause
Context-dependent
needs decline context
RailCodeOfficial descriptionRoot causeFlagsSource
Card03Invalid merchantMerchant side error
ISO 8583
Card04Pick up cardCard lost stolen
Collision
ISO 8583
Card05Do not honorAmbiguous issuer decline
Collision
Context-dependent
ISO 8583
Card06ErrorBank or network downtime
Collision
Context-dependent
ISO 8583
Card07Pick up card, special conditionCard lost stolen
Collision
ISO 8583
Card12Invalid transactionMerchant side error
Collision
ISO 8583
Card13Invalid amountMerchant side error
Collision
ISO 8583
Card14Invalid card numberPayment details invalid
Collision
ISO 8583
Card15No such issuerPayment details invalid
Collision
Context-dependent
ISO 8583
Card19Re-enter transactionBank or network downtime
Context-dependent
ISO 8583
Card39No credit accountPayment details invalid
Context-dependent
ISO 8583
Card41Lost cardCard lost stolen
ISO 8583
Card43Stolen cardCard lost stolen
ISO 8583
Card46Closed accountAccount closed
ISO 8583
Card51Insufficient fundsInsufficient funds
Collision
ISO 8583
Card52No checking accountPayment details invalid
Collision
Context-dependent
ISO 8583
Card53No savings accountPayment details invalid
Collision
Context-dependent
ISO 8583
Card54Expired cardCard expired
Collision
ISO 8583
Card55Incorrect PINAuth not completed
ISO 8583
Card57Transaction not permitted to cardholderInstrument restricted
Collision
ISO 8583
Showing 120 of 200