Stripe dunning — complete guide to not losing customers to failed payments

Dunning is the process of recovering failed payments before the customer is lost. The name sounds technical but the concept is simple: when a charge fails, you do something about it instead of waiting for it to fix itself.

If you run a subscription business on Stripe, dunning is what separates businesses that lose 10% of their revenue from those that lose 3%.

What dunning actually is

Dunning is a sequence of actions executed when a recurring payment fails. It can include:

  • Automatic retries of the charge with the original card.
  • Retries with the customer’s backup cards.
  • Emails to the customer informing them of the problem.
  • Direct payment links so the customer can pay manually.
  • Alerts to the business owner.

The goal is to recover the payment before the subscription is canceled for non-payment.

What Stripe does by default

Stripe has its own basic dunning:

Smart Retries. Automatic charge retries at the moment it considers most likely to succeed. They recover 10%-15% more than fixed-interval retries.

Dunning emails. Stripe can send automatic emails to customers when a payment fails. Configured in Stripe Dashboard → Settings → Emails. But open rates are low and the text isn’t customizable.

Automatic cancellation. After a configurable number of failed retries, Stripe cancels the subscription automatically.

This covers the basics. But it’s not enough for most businesses.

What Stripe doesn’t do

Doesn’t try backup cards. If the customer has multiple saved cards, Stripe only retries with the default one. Doesn’t try the others.

Doesn’t send direct payment links. Stripe’s dunning email tells the customer their payment failed, but doesn’t give them a one-click link to pay. The customer has to figure out how to update their card on their own.

Doesn’t alert you in real time. You don’t get an instant notification when a payment fails. You have to go into the dashboard and look for it.

Doesn’t detect expiring cards. Stripe’s dunning is reactive — it acts after the failure. It doesn’t prevent the failure by warning before the card expires.

How complete dunning should work

An effective dunning process has three layers:

Layer 1: Prevention. Detect cards about to expire and warn the customer before the charge fails. An email with an update link 30 days before expiration prevents the problem.

Layer 2: Smart retry. When a charge fails, retry with the main card and the customer’s backup cards. Combine Stripe’s Smart Retries with your own retries that test all available cards.

Layer 3: Direct communication. Send the customer an email with a direct payment link. The customer sees the amount, clicks, pays with any method, and the invoice closes. Zero friction.

All three layers work in parallel. Prevention reduces failures. Retries recover a portion. Direct communication recovers the rest.

The timeline

Well-designed dunning isn’t a single email. It’s a sequence:

Day 0. Charge fails. Automatic retry with backup cards. If fails → email to customer with payment link. Alert to owner.

Day 3. If still unpaid, second retry + second reminder email.

Day 7. Third retry + third email with urgency tone.

Day 14+. Retries every 7 days while Stripe keeps the invoice open.

The frequency adapts to your business. High-value subscriptions can be more persistent. Low-value ones, more spaced out.

The most common mistake

The most common mistake is having no dunning. Trusting that Stripe handles everything. Smart Retries do their job, but they cover at most 35% of failed payments. The other 65% needs active intervention.

The second most common mistake is overly aggressive dunning. If you send 5 emails in 3 days, the customer gets annoyed and not only doesn’t pay but has a negative brand experience.

The balance is being persistent but respectful. One email every few days, friendly tone, easy path to resolve the problem.

How much you can recover with complete dunning

With all three layers working (prevention + retries + communication), a typical business recovers 50%-70% of payments that would have been involuntary churn.

In a $10,000 MRR business with 4% failed payments per month, that’s $200-$280 recovered every month. In a year, over $2,500.


Stripe Control implements all three dunning layers: prevention with expiring card warnings, automatic retries with backup cards, and direct payment link emails to customers. All configurable from your dashboard.


Keep reading


🇪🇸 Leer este artículo en español