Stripe network_decline_code list — decoded
When a charge fails, Stripe surfaces failure_code (its own taxonomy) plus network_decline_code — the raw ISO-8583 response code from the card network/issuer. These two-digit codes are terse and undocumented in plain language. Here's what the common ones actually mean and whether retrying helps.
failure_code is Stripe's interpretation; network_decline_code is the issuer's literal verdict. When they seem to conflict, trust the network code for retry decisions — it's the bank's actual reason.Common network_decline_code values
| Code | ISO meaning | Plain English | Retry? |
|---|---|---|---|
05 | Do not honor | Generic issuer refusal, no reason given. The catch-all decline. | MAYBE retry x1 after a few days |
14 | Invalid card number | Card number doesn't exist / mistyped. | NO fix the number |
41 | Lost card | Reported lost. | NO card-update only |
43 | Stolen card | Reported stolen. | NO card-update only |
51 | Insufficient funds | Not enough balance/credit. | YES retry day 3 / day 7 |
54 | Expired card | Card past expiry. | NO Card Account Updater / re-collect |
59 | Suspected fraud | Issuer's fraud system blocked it. Common on off-session charges with amount/MIT mismatch. | NO investigate MIT chain / amount |
61 | Exceeds withdrawal limit | Over the card's transaction/amount cap. | MAYBE smaller amount or retry later |
65 | Exceeds activity limit | Too many recent transactions (velocity). | YES retry after limits reset |
57 | Transaction not permitted to cardholder | Card type can't do this transaction (e.g. prepaid blocking recurring). | NO need different card |
62 | Restricted card | Regional/category restriction. | NO card-update |
91 | Issuer unavailable | Bank's system temporarily unreachable. | YES retry shortly — transient |
The retry economics
Grouping by whether retry helps: codes 51, 65, 91 (and often 05) are worth retrying — the condition is temporary. Codes 14, 41, 43, 54, 57, 62 are permanent for that card — retrying wastes attempts and degrades your sender reputation; route these to a card-update flow instead. Code 59 (suspected fraud) is special: it's usually a flow problem (see the off-session/MIT explanation in our decline-code reference), not something more retries fix.
Want your actual decline-code distribution mapped?
I pull your real Stripe failure data, group it by network_decline_code, and show you exactly how much is recoverable (soft codes you're not retrying) vs hopeless (hard codes you're wasting retries on). $19 diagnostic, $49 with recovery templates.
Free calculator + audit →