TRIAGE
waking the API — free tier, ~50s

The taxonomy — 27 of 110 are silently recoverable

Razorpay publishes 110 distinct payment failure reasons and explains what each one means. It does not say what to do about them. Classified by recoverable action, only the top three groups can be fixed without a human — so a “retry three times” loop is wrong on roughly three quarters of failures.

ImmediateRETRY_NOW · SWITCH_RAIL
DelayedRETRY_SCHEDULED · AWAIT_STATUS
MinorNUDGE_CUSTOMER
ExpectantSWITCH_INSTRUMENT · STOP
Not a casualtyMERCHANT_ALERT

RETRY_NOW

0 codessilently recoverable

RETRY_SCHEDULED

0 codessilently recoverable

SWITCH_RAIL

0 codessilently recoverable

SWITCH_INSTRUMENT

0 codes

NUDGE_CUSTOMER

0 codes

AWAIT_STATUS

0 codes

STOP

0 codes

MERCHANT_ALERT

0 codes