Template
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.
A/B test these. Lowercase, question format, and specific-time framings consistently win.
Your card on file expiredcard ending in {{last4}} expiredQuick - new card needed for {{product_name}}Your {{product_name}} card expired {{expiry_month}}Hi {{first_name}},
The card ending in {{last4}} that you use for {{product_name}}
expired at the end of {{expiry_month}}.
Would you mind popping in a new one?
→ {{secure_update_link}}
Takes 30 seconds. We will not charge you anything extra - just
update the card and your normal ${{amount}}/mo billing will
resume.
- {{sender_first_name}}Variables in {{like_this}} should be replaced with your merge fields.
Treats the failure as routine, not urgent. The last-4 detail proves context ("we know which card") and reduces suspicion about phishing. Reassuring "we will not charge you anything extra" addresses a real fear. Short - respects the customer's time.
No. expired_card is a hard decline. Every retry will fail with the same code. Go directly to customer outreach. See the full retry strategy at /stripe-decline-code/expired_card.
Sometimes. Account Updater pulls new expiration dates and card numbers from Visa and Mastercard networks. It works for roughly 40-60% of cards. The rest still need the customer to update manually.
Automate this with Rebounce
Rebounce detects payment failures via Stripe Connect, classifies them by decline code, and runs the optimal dunning sequence across email, SMS, WhatsApp, and in-app banners. The templates above are the exact patterns Rebounce uses out of the box - you can adapt the copy to your brand voice and Rebounce handles delivery, timing, and sequence cancellation when a retry succeeds.
Start free trialSent 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 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.
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.