Resources/Recovery Window Calculator

When is the right time
to retry a failed
payment?

Retrying too early triggers issuer blocks. Retrying too late means the customer has already churned. The optimal window is different for every failure code. Enter your decline code type — this calculator shows the exact day-by-day schedule that maximises recovery without burning retries.

60–70%

of recoverable payments are captured within the first 7 days

3–5

optimal retry attempts before switching to card-update mode

30 days

maximum effective recovery window — rates drop sharply after this

Failure type

Invoice amount$240
$50$5,000

Payment failed

Day 0 — $240 at risk

1
Day 3First retry
+$101
42%

42% of outstanding balance resolves at this step

2
Day 7Second retry
+$39
28%

28% of outstanding balance resolves at this step

3
Day 14Third retry
+$15
15%

15% of outstanding balance resolves at this step

4
Day 21Final retry
+$7
8%

8% of outstanding balance resolves at this step

Cumulative recovery per retry

on a $240 invoice

RecoveredStill at risk

Retry attempts

4

Window length

21 days

Expected recovery

$162

of $240

Email timing

Send a soft payment notification on Day 1. Escalate to card update request if Day 14 fails.

Automate this schedule →

Recurflux automates this entire retry schedule — connects in under 5 minutes, no code required.

How windows are derived

Why the timing is different for each code.

insufficient_funds: Retry at days 3–5. Consumer paychecks typically land bi-weekly. Retrying immediately fails for the same reason; retrying at day 3–5 aligns with the highest probability of funds being available. Retrying later than day 7 sees significantly lower success rates.

do_not_honor: Retry at days 7–10. This is a bank risk system flag, not a funds issue. The issuer risk window typically resets within a week. Retrying before day 7 almost always gets the same response and accumulates block signals.

card_velocity_exceeded: Retry at days 1–3. This is a temporary transaction limit flag. It resets quickly. Contact the customer in parallel — they may need to notify their bank.

authentication_required: Do not retry blindly. Send the customer a payment link that triggers 3DS authentication. A direct retry without authentication will always fail.

Recovery windows, explained

What is a recovery window?

A recovery window is the span of time — and the sequence of attempts inside it — during which a failed payment can still be collected before the subscription is cancelled or the customer is written off as churned. It starts the moment a charge is declined and typically closes somewhere between day 21 and day 30, depending on the failure code. Inside that window sit two separate levers: the retry calendar (when the processor or your billing system tries the card again) and the dunning calendar (when you email the customer to update their payment method). Get either one wrong — retry too soon and you waste an attempt on a card that hasn't refilled; retry too late and the customer has already moved on — and the window closes with money still on the table.

How retry timing affects recovery rate

The same decline code, retried at the wrong moment, recovers at a fraction of its potential rate. An insufficient-funds decline retried within hours of the original failure succeeds less often than the same decline retried on day 3 — because the underlying cause (no funds in the account) hasn't changed yet. Retry it on day 3–5, near a typical payday cycle, and the success rate roughly doubles. The inverse is also true: a processing-error decline that would resolve itself within hours loses nothing by waiting a day or two — so retrying it instantly, while the issue is still live, captures revenue that a slower fixed schedule would let lapse. Timing isn't a minor optimization on top of the retry — for soft declines, it is the retry strategy.

Optimal retry schedule by decline reason

  • Insufficient funds — first retry day 3, then day 7, day 14, day 21. Spaced to land near payday cycles; success rate falls off sharply after day 21.
  • Do not honor — first retry day 1, then day 3, day 7, day 14. Often a temporary issuer flag that clears within a week, so early retries work better than waiting.
  • Generic decline / processing error — retry within hours, not days. These resolve quickly or not at all, so a fast retry catches the recoverable share before it's gone.
  • Authentication required (3DS) — skip the retry, send an authentication link immediately. No amount of retrying clears a bank-mandated verification step.
  • Expired card / fraudulent — hard stops. No retry schedule applies; the path forward is a card-update request or, for fraud flags, a verified-channel conversation with the customer.

Why most recovery happens in the first 7 days

Across the failure codes that can be retried at all, somewhere around 60–70% of the total recoverable amount typically clears within the first week. There are two reasons for this. First, the easiest-to-fix codes — processing errors, velocity limits, temporary issuer flags — resolve in hours or days, not weeks, so their recovery is front-loaded by nature. Second, customer attention decays: a payment-failure email opened on day 2 gets acted on far more often than the same email read (if it's read at all) on day 18, by which point the customer has often found a workaround or stopped noticing the product is still billing them. The practical implication is that the first week of the window carries disproportionate weight — a schedule that nails the early retries and the first dunning email captures most of what's recoverable; a schedule that's slow out of the gate is trying to make up ground that's already gone.

Common questions

How do I recover a failed Stripe payment?

Recovery depends on why the payment failed. For soft declines (insufficient funds), retry in 3–5 days and send a dunning email on day 1. For do-not-honor, retry in 7–10 days. For expired cards or hard declines, skip the retry and immediately send a card-update link — retrying a hard decline wastes the attempt and may trigger fraud flags. Never retry fraud, lost card, or stolen card codes without a new payment method.

What is the best retry schedule for Stripe payment failures?

For soft declines (insufficient funds), retry within 24 hours, then at 3 days, 7 days, and 14 days — timed around common payday cycles. For do-not-honor codes, retry at 7 days and 14 days. Cap total retries at 3–5 within a 30-day window. Beyond 30 days, recovery rates drop below 5% and repeated attempts may trigger issuer fraud flags.

How many times should I retry a failed subscription payment?

Retry 3–5 times within a 30-day window. Each retry attempt should accompany a dunning email prompting the customer to update their payment method. Beyond 5 retries or 30 days, recovery rates drop below 5% and repeated attempts risk fraud flags from the issuing bank.

Which Stripe decline codes are worth retrying vs. which need a new card?

Retryable (soft declines): insufficient_funds, do_not_honor, generic card_declined with no sub-code. Require a new card (hard declines): lost_card, stolen_card, fraudulent, card_not_supported, expired_card. Retrying hard declines will not recover the payment — send a card update link instead.

How long does it take to recover a failed payment?

60–70% of recoverable payments are captured within the first 7 days. By day 14, cumulative recovery reaches 80–85% of the ultimately recoverable amount. After 30 days, continued retries have diminishing returns and may not justify the operational cost.

This schedule runs automatically on every failure with Recurflux.

You've seen the timing. Recurflux classifies every failure in real time, picks the optimal retry window per decline code, and fires the sequence — no manual lookup, no generic schedule. Founder plan from $20/month.

Run this automatically →