Smart Retry Scheduling: Using Decline Codes to Pick the Retry Window
Most retry schedules fire on a fixed calendar. The decline code already says whether a retry can work and roughly when. Here is how to build the schedule from the code, what each branch recovers, and where the network caps and fees begin.
Most retry schedules apply one rule to every failure: day 1, day 3, day 7. That failure already returned a decline code. The code tells you whether a retry can work, and it often tells you when. This guide turns the code into a schedule. It also prices what each branch is worth.
A smart retry schedule reads the decline code first. It picks the window from that code. Insufficient funds is a timing problem, so you schedule the retry against payday. Do not honor is an issuer risk verdict. There, attempt count matters more than the gap. Route lost, stolen and closed cards to a card updater or to dunning. Never put them in a retry queue.
What makes a retry "smart" rather than just scheduled?
A scheduled retry asks when. Smart retry logic asks whether, then when. Knowing when to retry a declined payment starts with the response, not with the calendar. That answer has two parts. The decline code says why the bank said no. An advice code on Mastercard can name the retry window in hours or days.
- Eligibility comes first. Visa sorts every decline code into four categories, and Category 1, "issuer will never approve", carries a retry budget of zero.
- Timing comes second. A Mastercard issuer can return a merchant advice code, its note on what to do next, that names the wait for you: 1 hour, 24 hours, 2 days, 4 days, 6 days, 8 days or 10 days.
- Count comes last, and it is the one that bites. On soft declines, roughly 20% to 40% of failures recover on the first attempt, 15% to 25% of what is left on the second, and 10% to 15% of the remainder on the third.
The prize is large enough to justify the work. Soft declines are 70% to 90% of card-not-present failures, according to Gr4vy. That is where the recoverable money sits. The networks list about 160 distinct decline reasons. In one 2026 dataset of 1,168,245 failed subscription payments, the top ten codes made up 88% of all failures. You need about ten routing rules, not 160. Our wider guide to payment retry strategies covers the ladder itself.
Which decline codes are worth retrying, and which never are?
Visa answers half of this at the rules level. A Category 1 decline means the issuer will never approve. The merchant must not resubmit for the same payment credential. Categories 2, 3 and 4 permit up to 20 reattempts in 30 days. The category tells you a retry is allowed. It does not tell you the retry is worth firing.
51 not sufficient funds05 do not honor83 fraud/securityUp to 20 reattempts in 30 days on Visa.
54 expired cardN7 CVV2 failureadvice code 01Charge the refreshed credential, not the stale one.
41 lost43 stolen46 closedR0 R1 R3 stop paymentZero reattempts. Send it to an updater or to dunning.
The table below is the routing layer in one screen. It uses Visa response codes. Your gateway report shows those codes most often. If you need the code list itself, our credit card decline code reference and the soft decline versus hard decline breakdown sit alongside this one.
| Decline code | Visa category | Retry? | What to do with it |
|---|---|---|---|
| 51 not sufficient funds | Category 2, cannot approve now | Yes, scheduled | Schedule against the subscriber's payroll cycle. It recovered 37.9% in one 2026 business-to-consumer dataset. |
| 05 do not honor | Category 4, generic | Yes, sparingly | The rulebook gives it no specific signal, so manage it by attempt count. It recovered 21% in the same dataset. |
| 83 fraud or security | Category 2 since 25 July 2026 | Yes | Retry rules written before mid-2026 still treat 83 as a stop. It is reattemptable now, up to 20 times in 30 days. |
| 54 expired card | Category 3, data quality | Not as-is | The same 20-in-30 ceiling covers Category 3 codes such as 54 and N7 (CVV2 failure), but the credential is stale. Refresh it, then charge the new one. |
| 41 lost, 43 stolen | Category 1, never approve | No | Zero reattempts on that credential. Query a card updater and start dunning in parallel. |
| 46 closed account | Category 1, never approve | No | The account is gone. Ask the customer for a different payment method. |
| 14 invalid account number | Category 1 and Category 3 | No | The same account number can never be reattempted. Only an updated credential is legitimate. |
| R0, R1, R3 stop payment | Category 1, never approve | No | The cardholder told the bank to stop paying you. Open a cancellation conversation, not a retry. |
Visa response codes and categories are from the 18 April 2026 Visa Core Rules; recovery rates are from a 2026 vendor dataset of subscription declines.
How long should you wait after an insufficient-funds decline?
The right gap is long enough for money to reach the account. That is a payroll question, not a calendar question. Soft decline retry timing has two inputs, and the issuer supplies the first one. On Mastercard the issuer often names the window itself. Merchant advice codes 24 through 30 mean retry after 1 hour, 24 hours, 2 days, 4 days, 6 days, 8 days and 10 days. Mastercard scopes those codes to recurring transactions declined for insufficient funds.
An advice code is a note taped to the locked door, and it tells you when to come back. Mastercard advice code 02 usually rides along with a soft decline. It carries its own instruction: recycle the transaction 72 hours later, not the next morning. Mastercard also bills for delivering that advice. Mastercard charges $0.02 in the United States and Canada on card-not-present recurring declines with code 51 and an advice code of 24 to 30. The fee applies whether or not you act on it. Ignoring the advice costs you the fee and the recovery.
When no advice code arrives, the payroll calendar of the subscriber's market sets the window. United States paydays cluster around the 1st and the 15th. A retry lands best within 24 to 48 hours of those dates. Weekly pay in the United Kingdom suits a 5 to 7 day window. Fortnightly pay in Australia suits about 14 day spacing. For code 51, a retry within 24 to 72 hours of a paycheck clearing beats an arbitrary gap.
The measured gap between the two approaches is wide. The retry vendor Slicker found a retry every 3 days rule recovered 23%, against 57% when the retry was scheduled to the paycheck cycle. A June 2025 study covered 500 or more software merchants and $1 billion processed. It attributes 40% to 65% of declines to insufficient funds. It also measured a 17.6% to 26.2% recovery uplift from payday-aware scheduling. Keep at least 24 hours between attempts on the same path. Moving a first retry from 2 hours to 24 hours after failure improved recovery by 6.5%. Our deeper note on decline code 51 has the issuer-level detail.
How many retries can you attempt before you damage MID health?
Two ceilings apply, and a schedule that protects MID health stops well short of both. Visa allows up to 20 reattempts in 30 days on Categories 2 to 4. Mastercard allows 10 declined attempts on the same card at the same merchant in 24 hours, and 35 in 30 days. Recovery runs out long before either ceiling. Plan against the recovery curve. Treat the caps as a backstop.
Past the ceiling, both networks charge. Visa bills excess reattempts at $0.10 domestic and $0.25 cross-border. The cross-border rate rose from $0.15 on 25 April 2026. Mastercard bills $0.50 per declined authorization in the United States, Canada and Australia. Mastercard bills 0.55 euros in the European Union. Mastercard reports that fee on a two-month delay. An over-eager schedule shows up on a statement long after the retries ran.
MID health is the reason to stop earlier than the rulebook does. Stripe caps its own advice at eight retries, and it names the mechanism plainly. Issuers read extra attempts as potential fraud. They then decline legitimate charges. Visa's Acquirer Monitoring Program and Mastercard's Excessive Decline Rate program both track merchants whose retry patterns suggest noncompliance. A practical budget is 3 to 5 attempts over 10 to 14 days. One documented control group averaged 6.1 attempts per recovered failure. That average fell to 4.4 once the schedule branched on the code.
What should happen to a hard decline instead of a retry?
A hard decline leaves the retry queue on the first decline. It goes to one of three places: a card updater, a request for a different payment method, or a cancellation. Visa's language is flat. After a Category 1 decline you must never resubmit an authorization for the same payment credential. You also get no free allowance, because that reattempt bills from attempt one.
- The card updater, for a card that still has an owner. Mastercard advice code 01 means new account information is available, which is an updater signal rather than a retry signal. Visa names codes 04, 07, 41, 43 and 46 as updater-addressable, issuers must push number and expiry changes within 2 business days of activation, and about 30% of accounts in a portfolio change or close each year.
- Dunning, when the credential is gone but the customer is not. Mastercard advice code 03 means obtain another form of payment. Keep the copy generic, because Stripe treats lost and stolen as reasons you do not show the customer. Our dunning management guide covers the sequence.
- Cancellation, when the customer has already left. Advice code 21 means the cardholder canceled the agreement, and the instruction is to stop resubmitting. Visa dispute condition 13.2 turns a retry on a canceled recurring account into a chargeback rather than a wasted attempt.
Hard declines are also deterministic. That is what makes retrying them pure waste. Issuers must add a lost, stolen or closed account to Visa's account screen immediately. They must keep returning the same Category 1 code once they have sent one. Watch your dashboard here as well. On a hard decline, Stripe keeps incrementing the attempt counter while nothing executes. A queue that reads "retries in progress" can run zero real attempts.
Which tools actually branch on the decline code, and which fake it?
There are three postures. The vendor documentation separates them faster than the marketing pages do. A subscription payment retry rule is only as smart as the field the rule builder can read. Some products use the code as an on/off gate for eligibility only. Some publish a different cadence per decline reason. Some ship a fixed ladder and call it smart. Read the retry page of the docs. Then check whether the rule builder exposes the code at all.
| Failed payment retry tool | Branches on the decline code? | What the docs actually say |
|---|---|---|
| Stripe Smart Retries | Eligibility only | Nine named hard-decline codes are blocked from executing, but the published timing signals are device counts and best local time to charge, not the code. The default policy is 8 tries in 2 weeks. |
| Stripe custom schedule | No | Turning Smart Retries off caps you at three retries defined purely as days after the previous attempt, with no decline-code condition in the rule builder. |
| Recurly | Yes, per reason | Published cadences differ by decline reason: gateway errors every two days, issuer or processor unavailable every three days, communication errors escalating from four hours to three days. Hard declines are treated as final. |
| Gr4vy | Yes, for routing | The raw ISO 8583 response code is checked against a 35-code retriable list, and a merchant advice code overrides everything. It decides which connection to try next rather than when. |
| Acquired | Yes, for hard declines | A lost or stolen, expired or closed-account reason on a recurring authorization fires a scheme update request instead of another attempt. |
| Adyen Auto Rescue | Not documented | The public docs expose a rescue window of 1 to 48 days with 30 recommended, and describe smart logic without naming a per-reason schedule. |
| Chargebee Smart Dunning | Not documented | Retry frequency is attributed to analysis of past transaction patterns, with up to 12 collection attempts before the dunning period's final action. |
| WooCommerce Subscriptions | No | Five default rules span 7 days at 12 hours, 12 hours, 24 hours, 48 hours and 72 hours, applied to every failure identically. |
Each row reflects the vendor's own public documentation as of September 2026, not its marketing claims.
Vendor recovery headlines need the same scrutiny. Stripe's recommended default is 8 tries within 2 weeks. Stripe tuned that default on all Stripe traffic, not on your mix. An independent analysis covered the 12 months to the first quarter of 2026. It put observed business-to-consumer recovery at 25% to 35%, against a 55% headline. Ask a vendor three questions. Can a rule read the decline code? Can it read the merchant advice code? Can you see recovery split by code in the reporting?
How do you hand off from retries to dunning without double-charging?
Both systems act on one subscriber state, so only one of them can hold the right to charge at a time. The collision is ordinary. A dunning email asks the customer for a new card. The retry engine charges the old card hours later. The customer then pays one billing period twice. Visa has a dispute condition for exactly that shape: 12.6.1 Duplicate Processing.
Northfield Coffee Club bills 9,000 subscribers $49 a month. It runs a day 1, day 4, day 7 ladder beside a day 3 "final notice" email. On the day the email lands, some customers pay on the hosted invoice page within the hour. The day 4 retry still fires against the card on file. At a 3% monthly failure rate, that is 270 failures a month. A 5% collision rate then produces about 14 duplicate charges to reverse. The email also tells those customers recovery is over. Two attempts are still pending.
Idempotency keys, the tokens that tell a processor two requests are the same charge, will not save you here. Their windows are shorter than a retry schedule. Stripe prunes keys after 24 hours. It then treats a reused key as a new request. Authorize.Net's duplicate window defaults to 120 seconds and caps at 8 hours. Braintree defaults to 30 seconds. Adyen holds keys 7 to 14 days. That is the only window of the four that covers a standard schedule. The durable guard is a uniqueness constraint in your own database, scoped to the billing period.
- Route at the moment of decline. Soft declines go to the retry layer, hard declines skip it and go straight to dunning communications.
- Keep one state. A recovered payment cancels the pending dunning message, and a pending dunning message pauses the next retry.
- Reverse, do not refund later. Visa's remedy for a duplicate is reversal, and condition 12.6.2 covers the case where the customer already paid by other means.
- Give support a stop switch. Recurly exposes Stop Collection and Mark Paid, and Stripe suppresses a scheduled reminder while a payment on that invoice is in flight.
- Name the terminal state. Stripe's unpaid status means retries are over and dunning owns the account; Chargebee ends its dunning period in a configured action rather than an open loop.
How do you measure whether a retry schedule is working?
Score recovered dollars per failure cohort. Wait for the window to close before you read it. A retry schedule by decline code is only legible when the reporting splits the same way. Recovery rate is a lagging metric. Cohorts still inside their retry window always read low. Attempt volume is a vanity metric. More attempts with fewer dollars recovered signal a regression, however busy the queue looks.
- Recovery rate by decline code. This is the one that tells you whether the branch worked, rather than whether the month was kind.
- Time to recovery in days. It exposes whether an insufficient-funds retry is landing on the payroll cycle or stumbling into it later.
- Retry attempt distribution. If attempts pile up on codes that cannot approve, the schedule is buying fee exposure instead of revenue.
- Recovered revenue split by method. Separate retries from emails and from card updaters, or the retry schedule takes credit for recoveries it did not cause.
Benchmarks help you judge your own number. Compare like for like. One May 2026 sample put the median attempted recovery rate at 12.7%. That rate means recovered payments divided by recovery attempts. Most recoverable payments resolve inside the first two retries. Recoveries clustering at attempt 4 and beyond usually mean mistimed windows, not persistence. Give a schedule change 4 to 8 weeks and one variable at a time. Run it as a 50/50 split on your own traffic. Exclude the first invoice after a trial, because trial conversions fail differently.
How do you move off one global rule in eight steps?
- Rank your last 90 days of failures by decline code, since the top ten codes were 88% of failures in one 2026 dataset of 1,168,245 failed subscription payments.
- Pull Visa Category 1 codes (04, 07, 12, 14, 15, 41, 43, 46, 57, R0, R1, R3) out of the retry queue before you tune anything else.
- Read the Mastercard merchant advice code on every decline, and honor 24 through 30 as the retry clock instead of your own.
- Schedule insufficient-funds retries against the payroll calendar of each subscriber's market rather than a fixed day count.
- Cap the schedule at 3 to 5 attempts across 10 to 14 days, then check which attempt number stops earning its fees.
- Wire lost, stolen, expired and closed-account declines into a card updater query and a dunning sequence on the first failure.
- Give retries and dunning one shared subscriber state, so a recovered payment cancels the pending message.
- Re-score recovery by decline code after 4 to 8 weeks, changing one variable per test.
Frequently Asked Questions
When should you retry a declined payment?
It depends on the decline code, not on a fixed day count. Insufficient funds should be retried against the subscriber's payroll cycle, typically within 24 to 72 hours of a paycheck clearing. Do not honor needs a longer gap and fewer attempts. Lost, stolen and closed-account declines should not be retried at all.
How many times can you retry a failed payment before fees apply?
Visa permits up to 20 reattempts in 30 days on Categories 2 to 4, then bills $0.10 domestic and $0.25 cross-border. Mastercard allows 10 declined attempts in 24 hours and 35 in 30 days before charging $0.50 per declined authorization. Category 1 declines carry a zero-attempt budget.
Can you retry a hard decline such as a lost or stolen card?
No. Visa's rules say that after a Category 1 decline the merchant must not resubmit for the same payment credential, and the reattempt is billed from the first attempt. Route those declines to a card updater for a refreshed credential, or to dunning for a different payment method.
How long should you wait after an insufficient funds decline?
Take the window from the issuer where you can. Mastercard advice codes 24 through 30 name it directly, from 1 hour up to 10 days, and advice code 02 means recycle 72 hours later. Where no advice code arrives, aim for the 24 to 48 hours after a likely payday.
What is the difference between smart retries and a fixed retry schedule?
A fixed schedule applies the same gaps to every failure. Smart retry logic reads the decline code and the advice code first, then picks eligibility, window and attempt count per failure type. In one vendor comparison, a rule that retried every 3 days recovered 23%, against 57% for payday-aligned scheduling.
How many retry attempts should happen before dunning takes over?
Three to five attempts across 10 to 14 days is the practical band for retry attempts before dunning takes over, and it sits well inside both networks' caps. Recovery drops sharply after the third attempt, and Stripe caps its own advice at eight. Hard declines skip the retry layer entirely and go to dunning on the first failure.