Recover failed payments and dunning

Smart retries, dunning emails, account-update events, and how to keep involuntary churn under 4% on subscription revenue.

Last updated 2026-05-10

Half of subscription churn is involuntary. The card expired, a transaction was flagged, the bank declined a renewal. Most of that revenue is recoverable.

What runs by default

Every failed renewal triggers a smart-retry schedule: +1 day, +3 days, +5 days, +7 days. We use historical decline-code data to time the retries (issuer banks reset velocity counters at midnight in their timezone, for example). After four failures the subscription moves to past_due and we stop retrying.

Dunning emails

Three emails fire automatically: first failure (gentle "we couldn't process. Try a different card"), third failure (firmer "your subscription is at risk"), final cancellation notice. All editable at Settings → Email → Dunning Templates. Plain text outperforms HTML by 12-18% on payment-update click-through. Keep these short.

Account Updater

Card networks (Visa, Mastercard, Amex, Discover) send updated card details when a customer's card is reissued. SellStein listens for these on Stripe, NMI, and Fiserv automatically. Settings → Payments → Account Updater shows your match rate. Industry average is 60-70% of expired cards auto-updated. No customer action needed.

Hosted update page

The dunning emails link to a hosted card-update page (no login required, signed token in the URL). Customer enters new card details, the previous failed invoice retries immediately, the subscription continues. This single feature recovers ~30% of would-be cancellations.

Decline-code analysis

Settings → Payments → Failed Charges shows the breakdown. The codes you care about:

  • insufficient_funds. Try again in 2-3 days
  • expired_card. Account Updater will fix this if the card was reissued
  • lost_card / stolen_card. Don't retry, it'll auto-decline indefinitely
  • do_not_honor. Issuer is being cagey; one retry then move on
  • fraudulent. Stop retrying, contact the customer (often a misclassification)

Setting expectations

A healthy subscription business has 4-6% involuntary churn per month before recovery, 1-2% after. If your post-recovery rate is above 4%, look at the decline-code mix. Usually it's a card-acceptance issue (declined for region/MCC mismatch) and a processor change fixes it.

Still need help?

Real humans, real answers. We respond fast and we never use chatbots as the front line.

Email Support