Free tool · no email required
What does your decline code mean?
Enter a code, or paste the whole error your gateway printed. You get what the issuer actually meant, whether a retry can ever succeed, and when to try again — because the right answer for code 51 is not the right answer for code 54.
What a card decline code is
A decline code is the two-character response an issuing bank returns when it refuses a charge. It says why. Codes split into soft declines — temporary conditions like insufficient funds, which may clear on their own — and hard declines like an expired or reported card, which will never authorise again. The distinction decides whether retrying is worth an attempt or is actively damaging your acceptance rate.
Look up a code.
Showing code 51 — the most looked-up decline and the most recoverable one. Replace it with yours; everything stays in this browser tab.
A bare code — 51, 05, N7 — or paste what your gateway printed, such as card_declined (decline_code: insufficient_funds). The tool finds the code inside it.
Common ones
Code 51
Insufficient funds
Soft decline a retry can succeed
- What the issuer meant
- Not enough available balance or credit at the moment of the charge. The card is fine and the account is open.
- When to retry our policy
- The most retryable code there is. Retry on day 3, then day 7, then day 14 — pay-cycle timing matters more than attempt count. Retrying the same evening wastes an attempt.
- What to tell the customer
- A short, unalarmed note that the payment did not go through and will be tried again. No action needed from most of them.
No code found in that. Paste the full error text, or pick one from the table below — if it is not there, your processor has invented a string of its own and their documentation is the place to look.
Why one retry schedule is the wrong answer
Most dunning setups retry every failure the same way: three attempts, two days apart, whatever the bank said. That does two expensive things at once.
- 1
It spends attempts that cannot work
Of the 16 codes below, 8 are hard declines — expired, invalid, reported, restricted. No retry of any timing will authorise them. Attempts against a reported card also look like card testing, which costs you acceptance across every other customer.
- 2
It mistimes the ones that can
Code 91 is an issuer outage and wants a retry in hours. Code 51 is a balance problem and wants a retry across a pay cycle — days, not hours. A single schedule is wrong for both, and 51 is the most common recoverable decline there is.
- 3
It sends everyone the same message
An expired card needs the customer to act, and the update page needs to work in one tap on a phone. An issuer outage needs no message at all. Telling a customer their bank refused the payment, when the truth was a system error on your side, is a cancellation you caused.
- 4
What to do instead
Read the code first, then pick the window and the message from it. That is the whole mechanism, and it is what the payment recovery build automates — an agent that reads the decline code and chooses the retry, rather than a flat schedule that cannot.
Every code, and what to do about it
16 codes: 6 soft, 8 hard, 2 that need the cardholder. 8 can be retried with any hope of success.
| Code | Meaning | Type | Retry |
|---|---|---|---|
| 05 Do not honour generic_decline | The issuer refused and will not say why. Deliberately vague — it covers risk scoring, a spending control, an unrecognised merchant and half a dozen other conditions. The single most common decline on a subscription charge. | Soft decline | Retry once after 72 hours, then once more at day 7. If both fail, treat it as hard and ask for a new card. |
| 51 Insufficient funds insufficient_funds | Not enough available balance or credit at the moment of the charge. The card is fine and the account is open. | Soft decline | The most retryable code there is. Retry on day 3, then day 7, then day 14 — pay-cycle timing matters more than attempt count. Retrying the same evening wastes an attempt. |
| 14 Invalid card number invalid_number | The number does not pass validation at the issuer. Usually a typo or a stale stored card. | Hard decline | Never. The same number will fail identically every time. |
| 54 Expired card expired_card | The expiry date has passed. Nearly always a reissued card the customer already has in their wallet. | Hard decline | Do not retry the stored card. This is the code an account updater exists to eliminate — it catches the reissued number silently and the customer never learns there was a problem. |
| 41 Lost card | Reported lost. The issuer will not authorise it again. | Hard decline | Never, and stop the dunning sequence — repeated attempts on a reported card raise your fraud profile. |
| 43 Stolen card | Reported stolen. Same finality as 41, with more scrutiny attached. | Hard decline | Never. Retrying looks like card testing. |
| 57 Transaction not permitted to cardholder transaction_not_allowed | The card is not permitted this kind of transaction — often a prepaid or debit product blocked from recurring billing. | Hard decline | Do not retry the same card. Retrying will not change what the card is allowed to do. |
| 61 Exceeds withdrawal limit | The amount is above a limit set on the account, per transaction or per period. | Soft decline | Retry after 72 hours, when the period may have rolled. Consider offering a smaller order or a split charge. |
| 62 Restricted card | A restriction on the card itself — commonly a geographic block, or a card not authorised for cross-border merchants. | Hard decline | Do not retry. Nothing about the transaction changes on a second attempt. |
| 65 Exceeds withdrawal frequency | Too many transactions in the issuer's window, not too much money. | Soft decline | Retry after 24–48 hours. This one clears on its own more often than any other soft code except 51. |
| 59 Suspected fraud | The issuer's risk model flagged the transaction. Not a statement about the customer. | Needs the cardholder | One retry after 72 hours at most. Repeated attempts on a fraud-flagged charge damage your acceptance rate across every customer, not just this one. |
| 91 Issuer unavailable issuer_not_available | The issuer could not be reached. Nothing is wrong with the card or the account. | Soft decline | Retry within hours, not days. This is the one code where a fast retry is correct. |
| 96 System error processing_error | A failure somewhere in the processing chain rather than a decision by the issuer. | Soft decline | Retry within hours. If it repeats across many customers at once, the problem is yours or your gateway's. |
| 01 Refer to issuer call_issuer | The issuer wants to speak to the cardholder before authorising. | Needs the cardholder | One retry after 72 hours. It only succeeds if the customer has spoken to their bank in between. |
| 04 Pick up card | The issuer has instructed that the card be retained. Treat as final. | Hard decline | Never. |
| N7 CVV mismatch incorrect_cvc | The security code did not match. On a stored card this usually means the card was replaced and only the number was updated. | Hard decline | Do not retry the stored card; the CVV will not become correct on its own. |
Sources, and what is ours. The codes and their meanings are published: ISO 8583 response codes as issued by the card networks, and Stripe’s documented decline_code values where they correspond. The soft/hard classification follows the standard industry reading. The retry column is our policy, not a benchmark — it is the retry logic we build inside the payment-recovery service, written down so you can argue with it. Checked by hand on 2026-09-09.
What is deliberately missing: a recovery-rate column. A figure for what share of retries succeed per code would be the most useful thing here, and we have not measured it. We are not going to publish an invented one to make the table look complete. metric to confirm.
What this page cannot tell you
Whether a specific retry will work. A soft decline means a retry is possible, not that it is likely. The issuer’s decision on the second attempt depends on the account state at that moment, which nobody outside the bank can see.
What your own decline mix is. The single most useful number in failed-payment recovery is the split of your declines across these codes, and it lives in your gateway’s reporting rather than here. Most brands have never pulled it. If you do one thing after reading this page, pull last month’s declines and count them by code — the shape of that list decides what is worth building.
Exactly what your processor means. Gateways layer their own strings on top of the network codes and occasionally diverge. Where your processor’s documentation disagrees with this table, believe your processor.
What the money is. This page decodes; it does not size. The failed-payment calculator puts a number on what declines are costing you a year and what a point of recovery is worth.
Definitions
- Soft decline
- A temporary refusal that may clear without the customer doing anything — insufficient funds, a frequency limit, an issuer outage.
- Hard decline
- A permanent instruction not to charge the card again. Expired, invalid, reported lost or stolen, restricted.
- Dunning
- The sequence of retries and messages that follows a failed recurring charge.
- Account updater
- A card-network service that supplies reissued card numbers automatically, so a customer whose card was replaced never sees a failure. The fix for code 54.
- Involuntary churn
- Subscribers lost to failed payments rather than to a decision to cancel. The reason decline codes are a retention problem and not a billing one.
Questions about decline codes
What does decline code 51 mean?
Insufficient funds: there was not enough available balance or credit at the moment the charge ran. The card is valid and the account is open, which is why 51 is the most retryable code there is. Timing matters more than attempt count — retrying the same evening usually wastes the attempt, while a retry three days later can land after a pay cycle.
What does “do not honour” (code 05) actually mean?
It means the issuer refused and will not say why. The vagueness is deliberate: 05 covers risk scoring, a spending control, an unrecognised merchant descriptor and several other conditions the bank will not disclose. It is the most common decline on a recurring charge, and because it is ambiguous it is worth exactly one or two spaced retries before you treat it as final and ask for a new card.
What is the difference between a soft and a hard decline?
A soft decline is a temporary condition at the issuer — insufficient funds, a frequency limit, an outage — and it may clear on its own, so a retry can succeed without the customer doing anything. A hard decline is a permanent instruction not to charge that card again: expired, invalid, reported lost or stolen, restricted. Retrying a hard decline cannot succeed, and repeated attempts damage your acceptance rate with the issuer.
How many times should I retry a failed payment?
It depends entirely on the code, which is the whole argument of this page. A flat schedule — three attempts, two days apart, whatever the reason — retries a stolen card the same way it retries an insufficient-funds decline. That wastes attempts on codes that can never succeed and mistimes the ones that can. Each row in the table gives the window we use for that code.
Do you publish recovery rates by decline code?
No. A table showing what share of retries succeed per code would be the most useful thing on this page, and we have not measured it. Rather than repeat a figure we cannot stand behind, we have left it out. When we have enough of our own before-and-after data to publish one, it will appear here with the sample size next to it.
My gateway shows a different code than the ones listed.
Processors rename things. Stripe reports a decline_code string, Adyen uses its own refusal reasons, and Shopify Payments surfaces a simplified message — all sitting on top of the same ISO 8583 response codes from the card networks. Paste the whole error string into the box above and the tool will find the code inside it. If it cannot, the message is telling you something your processor invented, and their documentation is the place to look.
Is anything I paste sent to you?
No. The lookup runs entirely in this browser tab. There is no endpoint behind this page, nothing is logged, and no email stands between you and the answer.
Related
Find out what you’re losing.
Before you commit to anything, we tell you exactly what you’re losing and what it costs to stop it. Two weeks. Fixed fee. Credited in full against any build you go ahead with.
- Fee
- $1,500–$3,000, fixed
- Duration
- Two weeks
- Credited
- In full, against any build
- You supply
- Read access + one 45-minute call