Decline Codes
This page covers decline codes, the reason a card was turned down at the moment of sale, so no money ever moved. Looking for a chargeback notice or a returned bank transfer?
If money already reached you and is now being taken back, that's a chargeback reason code, not a decline. If the payment ran on a routing and account number instead of a card, it's a bank transfer.
- A decline code is the issuer telling you why it said no. They follow ISO 8583, with per-network variations
- Soft declines (91, 92, 96, 19, 22, 68) may be temporary. Test a backoff schedule only for retry-eligible responses; the example below is a starting setting. On Mastercard, MAC 02 means wait 24 hours and MAC 03 or 21 means stop
- Hard declines (14, 15, 41, 43, 54, 56) mean stop. For an expired card (54), get the new expiry date or another card; don't retry the same details
- 51 insufficient funds sits in between. Tell the customer, don't auto-retry
- Track declines by channel, issuer and payment type against your own history. A higher CNP rate alone doesn't identify the cause
When a transaction gets declined, the issuing bank returns a response code saying why. The codes follow the ISO 8583 standard, though each network's added its own variations.
Quick Reference: Most Common Codes
| Code | Meaning | Retry? | What to Tell Customer |
|---|---|---|---|
| 05 | Do Not Honor | Maybe after 24h | "Please contact your card issuer" |
| 51 | Insufficient Funds | After customer action | "Card declined - check available balance" |
| 54 | Expired Card | Only with a new expiry date or card | "Check your expiry or use a different card" |
| 14 | Invalid Card Number | No | "Please verify your card number" |
| 41/43 | Lost/Stolen Card | No | "Card cannot be used - contact issuer" |
| 65 | Activity Limit Exceeded | After 24h | "Daily limit reached - try tomorrow" |
| 91 | Issuer Unavailable | Yes, retry shortly | "Temporary issue - please try again" |
Decline codes apply to both card-present and card-not-present transactions. Compare each channel with its own issuer and customer mix. Some codes are CP-only, like the PIN ones. Others you'll only see in CNP, like the 3DS authentication codes.
Looking up a specific code? You're in the right place. Want to understand the bigger picture (how money moves, why transactions fail, and what to do about it)? Start The Guide, 15 lessons, ~105 minutes total.
Also in This Section
- Soft vs Hard Declines - Which declines to retry and which to stop
- Mastercard Merchant Advice Codes - Avoid fees by respecting MAC 03/21 rules
- Visa-Specific Codes - Credential-on-file and authentication codes
- Processor Messages - Stripe's
generic_decline, Braintree's 2000 Do Not Honor and others
ISO 8583 Standard Codes (All Networks)
These are the ISO 8583 codes, and you'll see them across Visa, Mastercard, Discover and (partially) American Express.
Jump to: Approval | Card issues | Fraud and security | Funds and limits | Authorization | PIN | Technical | Other
Approval Codes
| Code | Description | Action |
|---|---|---|
| 00 | Approved | Transaction successful |
| 08 | Honour with identification | Approved, verify ID |
| 10 | Partial approval | Approved for partial amount only |
| 11 | Approved (VIP) | Approved |
| 16 | Approved, update track 3 | Approved, card data update needed |
Card Issues
| Code | Description | Retry? | Merchant Action |
|---|---|---|---|
| 14 | Invalid card number | No | Ask customer to verify card number |
| 15 | No such issuer | No | Card prefix doesn't match any issuer |
| 33 | Expired card (alternate) | No | Request different card |
| 54 | Expired card | Only with a new expiry date or card | Check expiry or request different card |
| 56 | No card record | No | Card not on issuer's file |
Fraud/Security
| Code | Description | Retry? | Merchant Action |
|---|---|---|---|
| 04 | Pick up card | No | Do not return card (CP only) |
| 07 | Pick up card, special condition (fraud) | No | Do not return card (CP only) |
| 34 | Suspected fraud | No | Do not proceed |
| 41 | Lost card | No | Card reported lost |
| 43 | Stolen card | No | Card reported stolen |
| 59 | Suspected fraud | No | Do not proceed |
| 63 | Security violation | Maybe | CVV/CVC mismatch possible - verify |
Funds/Limits
| Code | Description | Retry? | Merchant Action |
|---|---|---|---|
| 51 | Insufficient funds | After customer action | Customer needs to add funds |
| 52 | No checking account | No | Wrong account type |
| 53 | No savings account | No | Wrong account type |
| 61 | Exceeds withdrawal amount limit | After 24h | Daily limit reached |
| 65 | Exceeds withdrawal frequency limit | After 24h | Too many transactions today |
Authorization Issues
| Code | Description | Retry? | Merchant Action |
|---|---|---|---|
| 01 | Refer to card issuer | No | Customer must call issuer |
| 02 | Refer to card issuer (special condition) | No | Customer must call issuer |
| 03 | Invalid merchant | No | Check merchant ID configuration |
| 05 | Do not honor | Maybe after 24h | Generic decline - customer should call issuer |
| 06 | Error | No | Check transaction details |
| 12 | Invalid transaction | No | Transaction type not allowed |
| 13 | Invalid amount | No | Check amount formatting |
| 57 | Transaction not permitted to cardholder | No | Card restricted from this transaction type |
| 58 | Transaction not permitted to terminal | No | Terminal not configured for this type |
| 62 | Restricted card | No | Card has restrictions |
PIN-Related (Card-Present Only)
| Code | Description | Retry? | Merchant Action |
|---|---|---|---|
| 55 | Incorrect PIN | Yes (limited) | Customer can retry with correct PIN |
| 75 | Allowable PIN tries exceeded | No | Card locked - customer must call issuer |
| 86 | Cannot verify PIN | Yes | Technical issue with PIN verification |
Technical Issues
| Code | Description | Retry? | Merchant Action |
|---|---|---|---|
| 19 | Re-enter transaction | Yes | Retry the transaction |
| 22 | Suspected malfunction | Yes | Retry shortly |
| 30 | Format error | No | Check message format |
| 31 | Bank not supported by switch | No | Routing issue |
| 68 | Response received too late | Yes | Timeout - retry |
| 90 | Cutoff is in process | Yes | Batch processing in progress |
| 91 | Issuer or switch inoperative | Yes | Retry in a few minutes |
| 92 | Financial institution cannot be found | Yes | Routing issue - retry |
| 96 | System malfunction | Yes | Retry shortly |
Other
| Code | Description | Retry? | Merchant Action |
|---|---|---|---|
| 17 | Customer cancellation | No | Customer cancelled |
| 21 | No action taken | No | No specific reason provided |
| 93 | Transaction cannot be completed - violation of law | No | Cannot proceed |
| 94 | Duplicate transmission | No | Already processed |
Visa-Specific Codes
Visa has network-specific responses as well as the standard codes. Code 83 below is an authorization response. It isn't a chargeback reason.
| Code | Description | Retry? | Notes |
|---|---|---|---|
| 1A | Authentication required | Yes | 3DS authentication needed |
| 6P | Customer ID verification failed | Correct details first | Visa Category 3 |
| 83 | Fraud/security, Visa use only | Ask your processor before another attempt | STIP declined a high-risk or potentially fraudulent transaction; Category 2 from July 25, 2026 |
| N4 | Exceeds issuer withdrawal limit | After 24h | Similar to code 61 |
| N7 | CVV2 failure | Yes | Re-enter security code |
| P1 | Issuer not available | Yes | Retry shortly |
| R0 | Stop payment order | No | Recurring payment stopped by cardholder |
| R1 | Revocation of authorization order | No | Cardholder revoked authorization |
| R3 | Revocation of all authorizations | No | All recurring authorizations cancelled |
| Z1 | Offline declined | No | Card declined offline |
| Z3 | Unable to go online, offline declined | No | Could not connect, declined locally |
Source: Visa rules, edition April 18, 2026, summary p. 47 and section 7.3.6.3, Table 7-2, pp. 538-541. Checked October 21, 2026. Category 1 stops resubmission on the same credential. Categories 2-4 permit up to 20 attempts in 30 days. Correct Category 3 data before another attempt. Ask for the original network code if your processor translates it.
Visa Credential-on-File Codes
| Code | Description | Retry? | Action |
|---|---|---|---|
| R0 | Customer requested stop recurring | No | Remove customer from billing |
| R1 | Revocation of specific authorization | No | Contact customer for new payment method |
| R3 | Revocation of all authorizations | No | Contact customer - all stored credentials invalid |
Mastercard-Specific Codes
Standard Mastercard Codes
| Code | Description | Retry? | Notes |
|---|---|---|---|
| 70 | Contact card issuer | Yes | Customer should verify with bank |
| 78 | No account | No | Account doesn't exist |
| 79 | Life cycle decline | No | Card status changed (closed, blocked) |
| 82 | CVV/CVC check failed | Yes | Re-enter security code |
| 83 | Fraud/security decline | No | High-risk transaction blocked |
Mastercard Merchant Advice Codes (MAC)
Read Mastercard's response code and Merchant Advice Code together. MAC 03 or 21 means do not resubmit. The 30-day fee test below doesn't make a later retry permissible.
| MAC | Meaning | Action |
|---|---|---|
| 01 | New account information available | Get updated account details from the customer or Account Updater before another attempt |
| 02 | Try again later | Wait 24 hours; check the response code too |
| 03 | Do not retry | Stop; ask for another payment method |
| 21 | Payment cancelled | Do NOT resubmit |
Two separate fees:
- Excessive Authorization Attempts (TPE): After 10 issuer declines on the same card and acceptor in 24 hours, or 35 on the same account, acceptor and amount in a rolling 30 days. US rate: $0.50 from January 1, 2025
- MAC 03/21: PayPal lists US $0.03 per transaction when another attempt within 30 days also declines with MAC 03/21 after an earlier MAC 03/21 decline
These are fee tripwires, not retry allowances. Your billed amount can vary by region and acquirer. Ask your processor for its schedule.
Sources: Global Payments PMB 1311, p. 19; PayPal's separate fee tables; Mastercard rules, section 3.3; Moneris fee history. Checked October 21, 2026.
American Express Codes
American Express doesn't follow the same structure. Its codes are mostly three digits.
Approval Codes
| Code | Description | Action |
|---|---|---|
| 000 | Approved | Transaction successful |
| 001 | Approve with ID | Approved, verify identification |
| 002 | Partial authorization | Approved for partial amount |
Decline Codes
| Code | Description | Retry? | Notes |
|---|---|---|---|
| 100 | Deny | Yes | General decline |
| 101 | Expired card / invalid expiration date | No | Card expired |
| 106 | PIN tries exceeded | Yes (with PIN reset) | Card locked for PIN |
| 109 | Invalid service establishment | Yes | Merchant setup issue |
| 110 | Invalid amount | Yes | Check amount formatting |
| 111 | Invalid account | No | Account doesn't exist |
| 115 | Requested function not supported | No | Transaction type not allowed |
| 117 | Incorrect PIN | Yes | Retry with correct PIN |
| 119 | Transaction not permitted (PIN) | No | Restriction on account |
| 122 | Invalid keyed card security code | Yes | CID incorrect - re-enter |
| 125 | Additional customer identification required | Yes | Need more verification |
| 130 | Invalid effective date on card | Yes | Check card dates |
| 181 | Format error | Yes | Message format issue |
| 183 | Invalid currency code | No | Currency not supported |
| 187 | Deny - new card issued | Yes | New card exists, get from customer |
| 200 | Deny - pick up card | No | Card reported lost/stolen |
| 911 | Card issuer timed out | Yes | Retry shortly |
| 912 | Host unavailable | Yes | Retry shortly |
| D2 | Invalid service code, restricted | No | Card restricted |
| D4 | Invalid transaction | No | Transaction type not allowed |
Discover Codes
Discover primarily uses the standard ISO 8583 codes (00-99). Key Discover-specific behaviors:
| Code | Discover-Specific Notes |
|---|---|
| 05 | Generic decline - common on Discover |
| 51 | Insufficient funds - same as other networks |
| 54 | Expired card |
| 57 | Transaction not permitted - may indicate international restriction |
| 62 | Often means Discover not accepted at terminal |
Discover Stop Payment Codes
| Code | Description | Action |
|---|---|---|
| R0 | Stop payment order | Customer requested stop - do not retry |
| R1 | Revocation of authorization | Remove stored credential |
Processor Messages: Stripe and Braintree
Your processor may show its own message instead of the network's code. Stripe's decline codes and Braintree's processor responses are two you'll see often. Neither list says which network code sits behind each message, so you can't match them one for one to the rows above. Before you set retry rules on one, ask your processor for the original network response code.
Stripe Decline Codes
Stripe says its codes cover many of the same reasons as the issuer's codes, with more detail.
| Stripe code | What Stripe says it means | What Stripe says to do |
|---|---|---|
generic_decline | Declined for an unknown reason, or Stripe's Radar or Adaptive Acceptance blocked it | Customer contacts their card issuer. If Stripe blocked it, see risk blocked |
do_not_honor | Declined for an unknown reason | Customer contacts their card issuer |
insufficient_funds | Not enough funds on the card for the purchase | Customer uses another payment method |
card_velocity_exceeded | Over the card's balance, credit limit or transaction amount limit | Customer contacts their card issuer |
expired_card | The card has expired | Customer uses another card |
incorrect_cvc | The security code is wrong | Customer tries again with the right code |
incorrect_number | The card number is wrong | Customer tries again with the right number |
authentication_required | The issuer wants authentication such as 3D Secure | Stripe's own checkout usually starts authentication. For an off-session payment, you may need to ask the customer to come back and try again |
fraudulent, lost_card, stolen_card | Stripe suspects fraud, or the card's reported lost or stolen | Show the customer the same message as generic_decline |
issuer_not_available | The issuer couldn't be reached | Try again. If it still fails, customer contacts their card issuer |
processing_error | An error came up while processing the card | Customer tries again. If it still fails, they contact their card issuer |
Braintree Processor Responses
Braintree labels each one soft or hard. Those labels are Braintree's own. Visa's retry categories and Mastercard's advice codes, above, still decide whether you may resubmit.
| Braintree code and text | Braintree's label | What Braintree says |
|---|---|---|
| 2000 Do Not Honor | Soft | The bank won't accept it and gives no specific reason. Customer contacts their bank |
| 2001 Insufficient Funds | Soft | Not enough funds at the time. A later attempt may succeed |
| 2004 Expired Card | Hard | Customer uses a different payment method |
| 2005 Invalid Credit Card Number | Hard | Customer corrects the details and tries again, then contacts their bank if it persists |
| 2010 Card Issuer Declined CVV | Hard | Security code wrong or mistyped. Customer tries again, then contacts their bank |
| 2014 Processor Declined - Fraud Suspected | Hard | The bank suspects fraud. Customer contacts their bank |
| 2015 Transaction Not Allowed | Hard | Unspecified, possibly the card itself. Customer contacts their bank |
| 2038 Processor Declined | Soft | The bank won't accept it, for reasons that vary. Customer contacts their bank |
| 2044 Declined - Call Issuer | Hard | Customer tries again, then contacts their bank |
| 2046 Declined | Soft | The bank won't accept it. Customer contacts their bank |
| 2047 Call Issuer. Pick Up Card | Hard | Reported lost or stolen. Ask for another payment method |
| 2057 Issuer or Cardholder has put a restriction on the card | Soft | Customer contacts their bank |
| 2099 Cardholder Authentication Required | Soft | 3D Secure wasn't run at checkout. Authenticate, then try again |
| 3000 Processor Network Unavailable - Try Again | Soft | Possibly a processing network problem, not the card |
Sources: Stripe decline codes and network decline codes; Braintree authorization responses. Checked October 23, 2026.
Soft vs Hard Declines
Soft Declines (Retriable)
These are temporary. They'll often clear on their own, or on a retry:
| Category | Codes | Strategy |
|---|---|---|
| Issuer unavailable | 91, 92, 96 | Retry immediately, then with backoff, unless the MAC says wait or stop |
| Processing errors | 19, 22, 68 | Retry once immediately, unless the MAC says wait or stop |
| Timeout | 911, 912 | Retry in 30-60 seconds, unless the MAC says wait or stop |
| Authentication needed | 1A | Redirect to 3DS |
Example backoff to test: immediately, 30 minutes, 4 hours, 24 hours, only for eligible temporary failures. Check provider limits and the advice code first: MAC 02 means wait 24 hours, and MAC 03 or 21 means stop. Measure recovered payments and duplicate attempts before keeping the schedule.
Hard Declines (Not Retriable)
These are conservative stops, not Visa's Category 1 list. Ask for a different payment method rather than retrying unchanged data.
| Category | Codes | Strategy |
|---|---|---|
| Invalid card | 14, 15, 56 | Request different payment method |
| Lost/Stolen | 41, 43, 200 | Do not proceed, contact security if needed |
| Fraud blocks | 04, 07, 34, 59 | Do not proceed |
| Card restrictions | 57, 62, 119 | Customer must contact issuer |
| Insufficient funds | 51 | Notify customer, don't auto-retry |
Strategy: Don't auto-retry these. Ask the customer for another payment method. For an expired card (54), get the new expiry date or another card first.
Gray Area Declines: What Does Do Not Honor Mean? Should I Retry?
A few codes sit in between. You'll have to use judgment:
| Code | When to Retry | When Not to Retry |
|---|---|---|
| 05 (Do Not Honor) | First occurrence, retry after 24h | Repeated declines on same card |
| 65 (Activity Limit) | Next calendar day | Same day |
| 51 (Insufficient Funds) | After customer confirms funds added | Never auto-retry |
| 01 (Refer to Issuer) | After customer contacts bank | Until customer confirms resolution |
Risk Blocked Transaction: What to Check Before Retrying
Open the payment's risk details before retrying. A provider's fraud screen can block a payment without an issuer decline. An issuer decline means the card issuer received the request and said no. Stripe's high-risk Radar example has a blocked outcome and wasn't sent to the card network. Its advice is do_not_try_again. Stripe's payment failure guide.
Retrying as-is doesn't change the rule that stopped it. Don't apply code 05's 24-hour suggestion to an active fraud block. Check the cause first.
If you've checked the customer is real and the payment is genuine:
- Stripe: Open the payment in the Dashboard. Read the outcome and any available risk insights. Use Add to allow list where available. This affects future matching attempts; it doesn't retry the payment. Missing the button? Contact Stripe. Stripe's risk outcomes and allow route.
- Square US: You'll need Risk Manager permissions. In the Dashboard, open Risk Manager > Blocked payments. Choose ... > Add to Allow List, select a reason, then Add to list. Square says to know, contact and trust the customer first. An issuer decline still stops the payment, even on this list. Square's Allow List guide.
Using another provider? Check its documented review or allow route for a real customer. Ask support which system blocked the payment, what needs to change and whether another attempt is allowed. Sources checked 23 October 2026.
Decline Code Categories for Reporting
When building decline analytics, group codes into these categories:
| Category | Codes | What to measure | Action |
|---|---|---|---|
| Funds or activity limits | 51, 65, N4 | Share of attempts in the same segment and window | Read the specific code before notifying the customer |
| Card Invalid | 14, 54, 56, 101 | Failures by credential and card-update status | Request corrected details or another card as appropriate |
| Do Not Honor | 05, 100 | Changes by issuer | Ask your processor for the underlying reason |
| Fraud/Security | 04, 41, 43, 59 | Changes by channel and issuer | Respect stop instructions |
| Technical | 91, 92, 96, 911 | Errors by route and incident window | Retry only where the response and advice code permit |
| Authentication | 1A, 125 | Failed or required authentication by flow | Use the supported verification flow |
| Other | All others | Counts and share of attempts | Review the actual code |
Test to Run
Weekly decline analysis:
- Pull all declines from your processor for last 7 days
- Group by response code
- Count each category and divide by all authorization attempts in the same segment and window
- Compare matched issuer, country and payment-type segments with their own history
- Investigate unexplained changes and customer failures; choose alert settings from normal variation and payment counts
Monthly retry analysis:
- Count retries per decline code
- Calculate retry success rate per code
- Identify codes you're retrying that never succeed (stop retrying those)
- Check for Mastercard MAC 03/21 violations
Scale Callout
| Volume | Focus |
|---|---|
| Under $100K/mo | Know soft vs hard. Don't retry hard declines. |
| $100K-$1M/mo | Build decline reporting by category. Implement smart retry logic. |
| Over $1M/mo | Negotiate decline code visibility with processor. Build automated retry rules. Monitor MAC compliance. |
Where This Breaks
Processor code mapping: Your processor probably translates network codes into its own. Ask for the original network response code, not just their internal one.
Generic declines: Code 05 tells you nothing. Push your processor for a more specific code when they've got one.
International cards: The same code can mean different things at an international issuer. Code 57 especially varies by region.
Retry fees: Mastercard's MAC program penalizes retries on codes 03 and 21. Your retry logic needs to respect that, or you're paying for it.
Putting This to Work
Building decline handling?
- Implement soft/hard classification
- Set up smart retry logic with backoff
- Build customer messaging by decline type
Subscription retry strategy?
- Recurring billing guide - Dunning best practices
- Respect Mastercard MAC codes - avoid fees
- Don't retry hard declines ever
Do next
- Processor Management - Acquirer relationships
- Auth optimization playbook - Full guide
- Card Account Updater - Keep cards current
Look up
- Benchmarks - Target auth rates
Deeper
- Checkout Conversion - Reducing abandonment
- Card Testing - Fraud causing declines
Improving auth rates?
- 3D Secure - Handle authentication declines