Guide
How Stripe Smart Retries actually work
Last updated 28 July 2026 · written by Bruce McGinley, who builds RecoverFlow
Smart Retries is Stripe's built in retry engine for failed subscription invoices. Stripe's recommended default is 8 tries within 2 weeks, and it picks the timing of those tries with a model trained across the Stripe network rather than using a fixed schedule.
You can change the window to 1 week, 2 weeks, 3 weeks, 1 month or 2 months. You cannot pick the individual attempt times while it is on. You can turn it off entirely and define your own retry rules instead.
It is free, it is already in your account, and for most people it is the right starting point.
On this page
What it is
When a subscription invoice fails, Stripe does not give up on the first try. It schedules further attempts. Smart Retries is the feature that decides when those attempts happen.
The ordinary way to build this is a fixed ladder: retry after one day, then three, then seven. Smart Retries instead uses a model trained on payment outcomes across Stripe's network to pick moments that are more likely to succeed for that particular card and issuer. The intuition is simple enough. A card that failed for insufficient funds on the 28th has a much better chance on the 1st than on the 29th, and the network has seen enough of those to know it.
It is on by default for Stripe Billing subscriptions, and you configure it under the automatic collection settings in the Dashboard.
The defaults, precisely
| Setting | Value |
|---|---|
| Recommended default | 8 tries within 2 weeks |
| Configurable windows | 1 week, 2 weeks, 3 weeks, 1 month, 2 months |
| Attempt timing | Chosen by Stripe's model, not by you |
| Cost | Free, included in Stripe Billing |
| Can be disabled | Yes, in favour of your own retry rules |
The trade you are making by leaving it on is control for accuracy. You give up the ability to say "retry at 9am on day three" and in exchange you get timing informed by far more data than you will ever have about your own customers' cards.
What it cannot do
Three limits are worth knowing before you decide it is enough.
It cannot beat a hard decline. For nine specific decline codes, Stripe will not execute the retry at all until a new payment method is added. The schedule still runs and the attempt counter still climbs, but nothing reaches the issuer. No retry configuration changes that. There is a full article on those nine codes.
It does not chase the customer. Retrying is a machine talking to a bank. A meaningful share of failures need a human to do something: replace a card, authenticate a payment, move money into the account. Stripe does send its own emails for this, but what those emails say and when they send is largely out of your hands, which is its own article.
It does not look backwards. Turning it on today does nothing for the invoices that already failed and closed. Whatever you lost last quarter stays lost.
How to choose the window
The window is the only real decision, and the honest answer is that it depends on why your payments fail.
- If your failures skew toward
insufficient_funds, a longer window helps, because the thing you are waiting for is payday. Two weeks catches one pay cycle. A month catches two. - If your failures skew toward cards that need replacing, a longer window mostly delays the moment you find out. The attempts are not doing the work; an email is.
- If you sell to consumers, the longer windows are usually worth it. If you sell to businesses on corporate cards, the failure profile is different and stretching to two months mainly stretches your reporting lag.
A practical starting point: leave it at the default 2 weeks, look at your decline code mix after a month, and lengthen only if insufficient_funds is your biggest bucket.
When to turn it off
Turning Smart Retries off is a real option and Stripe supports it. You would do it if you have a genuine reason to control exact attempt times: a business where you know payday, a market where issuer behaviour is unusual, or an existing retry system you trust and want to keep.
What you should not do is turn it off because you read that a fixed ladder is best practice. You will be replacing a model trained on Stripe's whole network with a guess. If your own data does not tell you the guess is better, it probably is not.
Worth saying plainly: if you have not yet switched Smart Retries on and configured the window deliberately, do that before you buy anything from anyone, including us. It is free and it is the largest single improvement available to most Stripe accounts.
Questions people actually ask
How many times does Stripe retry a failed payment?
Stripe's recommended default for Smart Retries is 8 attempts within 2 weeks. The number is tied to the window you choose, and the individual attempt times are decided by Stripe's model rather than a fixed schedule.
Can I choose the exact days Stripe retries?
Not while Smart Retries is on. You choose the overall window and Stripe chooses the timing inside it. If you need exact control you have to disable Smart Retries and define your own retry rules.
Is Smart Retries free?
Yes. It is part of Stripe Billing at no extra charge. Anyone selling you payment recovery should be adding something on top of it, not selling you the thing you already have.
What is the longest retry window Stripe allows?
Two months. The full set of options is 1 week, 2 weeks, 3 weeks, 1 month and 2 months.
Does Smart Retries work on one off invoices?
Smart Retries is a Stripe Billing feature for invoices with automatic collection, which in practice means subscriptions and recurring invoices rather than one off payment intents.
Where this came from
Checked against primary sources on 28 July 2026. If Stripe changes something and this page has not caught up, tell us and it gets fixed.
- Stripe: Smart Retries — the source for the 8 tries in 2 weeks default, the configurable window, and the nine code list.
- Stripe: Declines
If you would rather not build this yourself
RecoverFlow watches your Stripe account for failed subscription payments, stops retrying the ones that cannot succeed, and emails the customers whose card simply needs replacing. It charges 25% of what it actually recovers, with a $29 monthly floor, and nothing at all if it recovers nothing.
It is early. It is run by one person. If Stripe's own free retry settings are enough for you, use those instead, and there is a page on this site that says exactly when that is the right call.
See how the pricing works
Recover