← Library
◆ InfrastructurePayment InfrastructureNovember 4, 2026 · 7 min read

Card declined: which decline codes to retry and which to leave alone

A decline is an instruction, not just a failure. Sort it into stop, fix, wait or ask, and retry only inside the network limits your acquirer enforces.

Article
Reading time
7 min read
Sections
7
Published
November 4, 2026
LinkedInEmail
In this essay7 sections

Retry a declined card only when the decline is temporary, such as insufficient funds or an issuer asking you to try later, and only on a spaced schedule inside your card network's limits. Stop immediately on hard declines that say the card is invalid, lost, stolen or closed. When the decline needs the customer to do something, such as authenticate or correct their details, retrying the same request will not help; bring the customer back instead.

Getting this wrong costs money twice. Blind retries rarely recover revenue, and both Visa and Mastercard charge acquirers for excessive reattempts, which acquirers pass on to merchants.

What does a card decline actually tell you?

The issuer returns a response code. Your provider then translates it into its own vocabulary, so the same refusal can surface as a Stripe decline_code, an Adyen refusal reason or a Braintree processor response with a Mastercard merchant advice code attached.

Two things are worth knowing about that translation. First, issuers keep many reasons vague. Stripe's documentation describes generic_decline as a card declined for an unknown reason, or a payment blocked by Stripe's own Radar or Adaptive Acceptance, and notes that issuers label most declines as generic. Stripe decline codes Second, providers now separate the reason from the recommended next step. Stripe moved the guidance from older next-step decline codes into an advice_code field on the error. Read both fields, and log the raw issuer code alongside them.

Which declines are safe to retry?

Sort every decline into one of four actions before your retry logic sees it:

Action Typical signals What to do
Stop Invalid card number, lost or stolen card, closed account, Mastercard advice code 03 "do not try again" Never retry this card. Ask for a different payment method.
Fix first Mastercard advice code 01 "new account information available", expired card Update the credential through your provider's account updater or network token, then attempt once.
Ask the customer Incorrect CVC or expiry, authentication required Do not resubmit the same request. Bring the customer back to correct details or complete authentication.
Wait and retry Insufficient funds, Mastercard advice code 02 "cannot approve at this time, try again later", issuer temporarily unavailable Retry on a spaced schedule with a hard cap.

Generic declines and "do not honor" responses sit awkwardly across this table. Treat them as wait-and-retry with a small cap, then move the customer to the ask path. If many different cards return generic declines in a short burst, stop thinking about retries: that pattern is more likely card testing than customer trouble.

The advice-code meanings above come from the Braintree documentation of Mastercard merchant advice codes. Braintree merchant advice codes Providers do not always describe every code identically, so map codes from your own provider's reference rather than a blog table, including this one.

How many times can you retry a declined card?

There are two limits to respect: what works, and what the networks permit.

On what works, Stripe recommends a maximum of eight retries for charges that permit retries and warns that issuers can treat extra attempts as possible fraud, which can increase declines on legitimate charges. For new accounts, Stripe enables Smart Retries for subscriptions by default with up to eight retries within two weeks. Stripe on declines · Stripe Smart Retries

On what the networks permit:

  • Visa groups decline responses into categories. Category 1 means the issuer will never approve, so no reattempt is allowed. Other categories allow a capped number of reattempts within 30 days. Visa's 2020 rules update, effective April 2021, allowed up to 15 reattempts in 30 days for the affected codes. Visa resubmission rules update Stripe's support documentation notes that Visa introduced a fee on excessive retries from April 2021. Stripe on excessive retries Caps and fee amounts have been revised since, so confirm the current figures with your acquirer.
  • Mastercard charges when a transaction declined with merchant advice code 03 or 21 is retried within 30 days, and, in the United States from November 2023, when a transaction is retried more than 35 times in 30 days, according to Braintree's summary of the network change. Braintree on the Mastercard change

Some acquirers enforce these limits for you. Adyen, for example, documents a refusal reason that means its own excessive-retry prevention blocked the attempt to avoid penalty fees. Adyen refusal reasons That protects your fees, but it also means your dashboard can show declines your issuer never saw.

What does a sensible retry schedule look like?

For a subscription renewal that fails with a temporary decline, an illustrative schedule might be: retry the next day at a different hour, then after three days, then after a week, and stop after the provider's recommended maximum or your own lower cap. Notify the customer after the first failure rather than the last, so they can update the card while there is still time.

Every retry should be a new attempt linked to the same billing intent, created with its own idempotency key. That keeps finance, support and the retry engine looking at one story. The recurring card payments lifecycle covers the billing-intent model, and subscription renewal attempts shows why a renewed subscription and a successful payment are different facts. For credentials that change underneath you, see expired-card continuity.

What should the customer see?

Keep the message actionable and general: the bank declined the payment, here is how to try another card or contact the bank. Do not tell the browser that a card was flagged as stolen or that the CVC was wrong in a way that helps someone guessing. Give the precise reason to your logs and support tools, where it is useful.

What should you log for every decline?

Store the raw issuer response code, the card network, your provider's normalized code and advice code, any merchant advice code, the attempt number and the billing intent it belongs to. Without the raw code you cannot reconcile your provider's view with your acquirer's, or explain a drop in approval rate. Message-level detail matters here; ISO 8583 implementation checks explains where those fields come from, and authorization rate as a P&L metric explains why the number deserves an owner.

FAQ

Should I retry "do not honor" declines?

Sparingly. It is a non-specific refusal. A small number of spaced retries can succeed for temporary issues, but after that, ask the customer to use another method or contact their bank.

Is insufficient funds a hard or soft decline?

It is usually treated as temporary. Retry on a spaced schedule, ideally after a likely payday for consumer subscriptions, and stop at your cap.

Do retries count against my authorization rate?

Usually yes, if the metric counts attempts. Report first-attempt approval and eventual recovery separately so retries do not hide or exaggerate performance.

Can a provider's automatic retries break network rules for me?

Provider tools are generally designed to stay within network rules, but your own custom retry logic on top can push you over. Run one retry engine, not two.

What is a Mastercard merchant advice code?

A code Mastercard can return alongside a decline that tells the merchant what to do next, such as update the account details, try later or do not try again.

Tags
decline codespayment retriesauthorizationrecurring paymentspayment infrastructure

Closing thought and further reading

A decline is an instruction, not just a failure. Sort it into stop, fix, wait or ask, and retry only inside the network limits your acquirer enforces.

Share article
LinkedInEmail
Keep reading
View all essays
Payment Infrastructure

Recurring Card Payments: A Lifecycle Guide for Product and Operations Teams

A recurring payment is a customer agreement, stored credential, transaction classification, and failure workflow. Design each state before scheduling the next charge.

5 min read
Merchant Acquiring

Authorization Rate Is a Merchant P&L Metric, Not a Gateway KPI

Authorization rate belongs in the merchant P&L, but only when teams measure clean attempts, incremental approvals, fraud, fees, and fulfilment together.

6 min read
Fraud & Risk

Card testing attacks: how to spot one and stop it at checkout

Card testers want your checkout's verdict on stolen cards, not your product. Confirm the pattern, contain the endpoint, refund what succeeded and keep friction proportionate.

8 min read
Operating proof
  • Cross-Border Payment Infrastructure Platform

    A regulated, multi-rail payments platform processing $1B+ annual GTV and 270M+ payments a year across pay-in, payout, wallets (DCB/IBFT), card acquiring (MPGS/MDES), settlement, FX and cross-border corridors, PCI DSS and ISO/IEC 27001 certified.

  • Settlement + Reconciliation Engine: Automated Recon at $1B+ GTV

    A multi-rail settlement and reconciliation engine, canonical double-entry ledger, three-way auto-reconciliation, exception management and corridor-aware payout windows. Closed the gap between treasury, finance and product at $1B+ GTV.

Continue the conversation

Need help applying this to your business?

Explore practical support for payment operations, product decisions, program delivery and AI automation, grounded in the challenges behind this essay.

Explore relevant supportEmail Rizwan
Payments Infrastructure Notes

Interested in future field notes?

Request email updates on payments, product decisions, program delivery and practical AI. Your request goes to my inbox for follow-up.

A request for occasional updates, with no weekly schedule promised.