Free library
21 copy-paste templates covering every stage of failed payment recovery: email, SMS, WhatsApp. Tested subject lines, retry timing, and decline-code-specific variants. No signup, no gate.
Primary dunning channel. Use at every stage of the sequence.
Multi-channel push at day 3+ to reach non-email readers. TCPA-compliant.
Strongest channel where adoption is high (LATAM, EU, India, SEA).
Sent before any payment failure happens, to prevent churn at the source.
Sent 30 days before a card on file expires, based on the expiration date you already have stored. Goal: fix the card BEFORE the payment fails, preventing dunning entirely. This is the single most effective pre-dunning move.
Sent 30 days before an annual subscription auto-renews. Goal: transparently remind the customer, offer an upgrade/downgrade path, reduce chargeback risk. Required by law in several US states (e.g., California) and in the EU.
Immediate first-touch, usually within minutes of the first failed charge.
The first email sent immediately after a payment fails, before any retry. Goal: catch the 40-60% of failures that resolve with a simple nudge, before the customer feels embarrassed or annoyed.
Sent when a subscription payment fails specifically because the card on file expired. This is the easiest dunning recovery - not a money problem, just an admin task. Goal: treat it like routine maintenance, not an emergency.
Sent when a payment fails with insufficient_funds. Customers in this bucket are often experiencing cash flow issues and aggressive emails here cause churn and support tickets. Goal: keep them as a customer long-term even if this payment cycle needs flexibility.
Sent when the bank flagged the transaction (do_not_honor, generic_decline, call_issuer). The card is valid; the bank blocked this specific charge. Goal: explain this is a routine bank fraud flag (not a card problem) and give two clear paths to fix it.
Sent when the bank requires 3D Secure / Strong Customer Authentication (SCA) before approving the charge. Almost always an EU or UK customer. Goal: explain this is standard, normalize the verification step, link to the 3DS challenge.
Follow-up when the initial heads-up did not recover the payment.
Sent on day 3 after the friendly heads-up did not recover the payment. The customer has ignored the first email. Goal: be direct without being aggressive, and preempt silent churn.
An SMS version of the day 3-5 dunning email, used as a multi-channel push alongside email. Goal: reach customers who are not reading email. SMS has 45-50% open rates compared to 20-30% for email.
WhatsApp message sent on day 3-5 for customers with a WhatsApp-linked phone number. Goal: use the highest-open-rate channel available (90%+ in most markets) for maximum reach.
Mid-sequence reminder that makes the loss concrete.
Sent on day 7 after two prior emails did not work. The customer has ignored both. This email is not about payment mechanics anymore - it is about what they are about to lose. Goal: make the loss concrete and offer a clean exit if they want out.
Last-chance SMS sent at day 7 or day 14, paired with the final email. Goal: catch customers who are not reading email before the account suspends.
Final notice, clean close, and win-back hook.
Sent on day 14 after all retries and prior emails have failed. The grace period is over. Goal: close cleanly, preserve goodwill, and leave the door open for reactivation. A well-done final notice is often the best win-back hook you have.
Sent as the final payment escalation for B2B SaaS customers (larger accounts, AP departments, purchase orders). Goal: formalize the escalation without damaging the relationship, and give the AP team everything they need to pay.
Final WhatsApp message sent at day 14 alongside the final email. Goal: reach the last bucket of non-responders with the channel they are most likely to read.
Sent after a successful recovery to close the loop and rebuild trust.
Sent immediately after a retry succeeds following a dunning sequence. Goal: close the loop, reassure the customer, and turn a near-churn moment into a positive touch. Skipping this email is a common mistake.
Sent immediately after a customer successfully updates their card. Goal: confirm the update, reassure that billing will resume normally, and close the dunning loop cleanly.
Re-engage churned customers 30-90 days after cancellation.
Sent 30-60 days after a subscription was cancelled due to failed payments. The customer has had time to decide whether they want to come back. Goal: re-engage with a specific reason (new feature, usage-relevant improvement) and remove friction to reactivate.
Sent immediately after a churned customer reactivates their subscription. Goal: confirm the reactivation, restore trust, and set up a proactive check-in so they do not churn again.
Sent when a customer clicks cancel to offer a soft alternative (pause, downgrade, discount).
Convert free trials to paid before they expire silently.
The templates above map onto a standard 14-day recovery sequence. This cadence, combined with retries that are scheduled based on the Stripe decline code, typically recovers 60-80% of failed payments:
| Day | Action | Goal |
|---|---|---|
| D0 | Retry + Email #1 (friendly heads-up) | Catch 60% who had a temporary decline |
| D2 | Retry (silent) | Attempt after most paychecks hit |
| D3 | Email #2 (direct ask) + SMS | Reach non-email readers |
| D5 | Retry + WhatsApp push | 90%+ open rate channel |
| D7 | Email #3 (value reminder) | Remind what they will lose |
| D10 | Retry (final automated) | Catch last-chance recovery |
| D14 | Email #4 (final notice) + WhatsApp | Clean close, win-back hook |
Skip the copy-paste work
Connect Stripe in 5 minutes. Rebounce detects failures, classifies by decline code, and runs the right template at the right time across email, SMS, and WhatsApp. Auto- cancels on recovery. From $3.50/mo.