Guides to failed payments on Stripe | RecoverFlow

Writing

Guides to failed payments on Stripe

Everything here is checked against Stripe's own documentation before it goes up, and dated so you can tell how stale it is. There are no invented case studies and no recovery rate percentages we cannot stand behind, which means some of these articles end by telling you that Stripe's free features are enough.

Guide

The nine Stripe decline codes that stop retries dead

Stripe will not retry nine specific decline codes until a new card is added. The exact list, what each one means, and what to do instead of retrying.

Guide

How Stripe Smart Retries actually work

Stripe Smart Retries defaults to 8 attempts over 2 weeks, timed by a model. What you can configure, what you cannot, and when to turn it off.

Guide

Why retrying an expired card rarely works

expired_card is not on Stripe's hard decline list, so Stripe retries it. An expired card does not become unexpired. Here is what actually recovers these payments.

Guide

Stripe's dunning emails: what you control and what you do not

Stripe emails your customers about failed payments for free. You control branding and whether they send, but not the copy, the schedule or the sender.

Guide

How to measure involuntary churn without guessing

Involuntary churn is revenue lost to a failed payment, not a decision. How to calculate it from your own Stripe data, and why benchmarks are not worth much.

Guide

Is insufficient_funds a hard decline?

No. insufficient_funds is not on Stripe's list of codes that block retries, and retrying it is correct. A lot of published guidance gets this backwards.

Guide

past_due, unpaid, canceled: what each Stripe subscription status means

past_due means Stripe is still trying. unpaid means it stopped but kept the subscription. canceled is terminal. Which one you get is a setting you choose.

Guide

Which Stripe webhooks tell you a payment failed

invoice.payment_failed is the event that matters, plus payment_action_required for authentication. Which fields to read, and the one-hour delay to know about.

Guide

Stripe test cards for every failed payment scenario

The exact test card numbers for generic decline, insufficient funds, lost card, stolen card, expired card and 3D Secure, and which decline_code each one produces.

Guide

Stripe updates expired cards for you, sometimes

Stripe works with the card networks to refresh saved cards automatically. No setup needed, no guarantee, and no way to tell in advance which cards it covers.

Guide

What do_not_honor actually means

do_not_honor means the issuer declined without saying why. Stripe will retry it, the bank will not explain it, and the only real fix runs through the customer.

Guide

Recovering authentication_required declines

authentication_required means the payment needs the cardholder to authenticate. Retries cannot fix it. The webhook and the hosted invoice page can.

Pillar

How to recover failed Stripe payments

The overview: what fails, what can be retried, what needs an email, and where the free options run out.

Free tools

Four calculators and lookups that need no signup and no email address.

Decline code lookup

48 Stripe decline codes, searchable, with the nine that block retries flagged.

Recovery estimator

What failed payments cost you, against real competitor pricing at your scale.

Retry schedule builder

Builds a schedule, and tells you when a schedule is the wrong answer.

Dunning email generator

Reason aware copy, including the reasons you should never name.