Stripe payment retry: how it works and when to override it

Stripe gives you a solid default retry engine out of the box. For a lot of businesses that is enough. For B2B SaaS with high average revenue per user, it usually is not. This page covers the mechanics and where the default runs out of room.

How Stripe Smart Retries work

Stripe Smart Retries uses machine learning on the aggregate Stripe network to pick retry times that maximize success. Behind the scenes it looks at issuer behavior, decline codes, and time-of-day patterns. For most consumer subscriptions this beats a fixed schedule by a meaningful margin, with no configuration required.

When Smart Retries fall short

Smart Retries do not know your customer. They cannot tell that a $50,000 annual invoice for an enterprise account should not be silently retried four times and then churned. They cannot pause on a decline reason that requires a customer service action first. And they cannot escalate to a human. For SaaS with material contract value, you need logic that sits above the retry engine.

Configuring retry schedules in Stripe

  • Enable or disable Smart Retries in Billing settings
  • Set a custom retry schedule of up to four attempts over any window
  • Choose what happens after the final attempt: mark uncollectible, cancel, or leave open
  • Fire webhooks on every attempt so external tools can layer on their own logic

Retries are one lever, not the whole system

A retry that succeeds because the customer updated their card between attempts is a win driven by communication, not by retry timing. The best recovery numbers come from combining Stripe retries with a clean update-card page, well-timed emails, and a human on the largest cases.

How Chaser layers on top of Stripe retries

Chaser listens to Stripe webhooks, classifies every decline, and picks the right playbook per case: automated retries and messages for volume, and human escalation for high-value or ambiguous failures. Every case ends with a documented outcome so you can see exactly how much revenue your Stripe retries recovered and where they left money on the table.

Frequently asked
What is a Stripe payment retry?
A Stripe payment retry is an automatic re-attempt of a failed subscription charge. Stripe Smart Retries pick the timing based on machine learning, and you can also configure a fixed retry schedule in the Stripe Dashboard.
How many times will Stripe retry a failed payment?
By default Stripe retries a failed subscription payment up to four times over roughly three weeks. You can customize the number of attempts and their timing in Billing settings, or replace the default schedule with your own logic.
Should I use Stripe Smart Retries or a custom schedule?
Smart Retries work well for consumer subscriptions and simple monthly plans. For B2B SaaS with annual contracts, enterprise accounts, or high average revenue per user, a custom schedule combined with human escalation usually recovers more revenue.
Does Stripe retry every decline code?
No. Stripe skips hard declines like stolen_card or fraudulent, and retries soft declines like insufficient_funds or do_not_honor. Your dunning tool should classify each decline and decide whether a retry is even worth attempting.
How do I retry a Stripe payment manually?
In the Stripe Dashboard, open the invoice and click Retry payment. In the API, call the invoices.pay endpoint. For subscriptions at scale you should route this through a dunning workflow rather than doing it one invoice at a time.
Read-only · 60 seconds · No emails sent

Your leak has a number. Go find it.

Connect Stripe in Safe Mode and Chaser computes 90 days of recoverable revenue from your own ledger.

No risk. The trial clock doesn't start ticking until Chaser recovers its first $100 for you.