Learn
What to Email Customers When Their Card Is Declined (Templates)
When a customer's card is declined, the email you send determines whether they update their payment method or drift away. Most dunning emails are too generic, too aggressive, or too robotic to work. This guide gives you five tested email templates for different decline scenarios, plus the psychology behind why each one works.
Why Most Card Decline Emails Fail
The default approach to dunning emails is broken. Most SaaS companies send the same generic 'your payment failed, please update your card' message regardless of why the payment actually failed. This is a problem because the customer's mindset is completely different depending on the decline reason.
A customer whose card expired is in a different mental state than a customer whose bank flagged a fraud hold. The expired-card customer knows their card changed — they may have already been meaning to update it. They need a gentle nudge with a clear link. The fraud-hold customer may not even know their payment failed. Their bank silently blocked the charge, and they are going about their day assuming everything is fine. They need an email that explains the situation without alarming them.
The data backs this up. Segmented dunning emails — emails tailored to the specific decline reason — outperform generic dunning by 30-45% in recovery rate. That is the difference between recovering 25% of failed payments and recovering 40%+. The effort required to segment is minimal: you already have the decline code from Stripe. You just need to map it to the right email template.
There are a few universal principles that apply across all decline email templates. First, the subject line must not contain the word 'failed.' Nobody wants to open an email about failure. Use neutral or helpful framing: 'Action needed on your account,' 'Quick update needed,' or 'Your [Product Name] membership.' Second, the email must be short. Under 150 words for the body. Customers scan, they do not read. Third, include exactly one call-to-action button that takes them directly to a payment update page — no login required if possible. Fourth, send from a real person's name (or at least '[Name] at [Company]'), not 'noreply@' or 'billing@.' Open rates jump 15-20% when the sender looks human.
Finally, timing matters enormously. The first email should go out within 2-4 hours of the failed payment. Not immediately (that feels automated and desperate), but not the next day (the customer has already moved on mentally). The 2-4 hour window hits the sweet spot where the customer is still engaged with your product and likely checking email.
Template 1: Expired Card (Friendly Nudge)
This template is for the most common hard decline: an expired credit card. The customer already knows their card changed — they received a new one from their bank. Your job is simply to remind them to update it with your service.
Subject: Quick update needed for your [Product Name] account
Body:
Hi [First Name],
Looks like the card on your [Product Name] account recently expired. Your bank has probably already sent you a replacement — just takes a minute to pop the new numbers in.
[Update Payment Method] (button)
Your account is still active, and nothing has changed on your end. We will keep everything running while you update.
Thanks, [Your name]
Why this works: The tone is casual and helpful, not urgent or threatening. It acknowledges that the customer already has a new card (reducing friction by making the task feel small). It explicitly says 'your account is still active' to prevent panic. And it frames the update as a quick task, not a big deal.
Recovery rate: Expired card emails with this tone and structure typically see 35-45% click-through rates and 25-35% recovery rates within 48 hours. A follow-up email 3 days later recovers another 10-15%.
When to send: 2-4 hours after the failed charge. The customer is likely still at their computer or checking their phone. If you wait until the next day, recovery rates drop by about 20%.
Template 2: Insufficient Funds (Tactful Approach)
Insufficient funds is a sensitive decline reason. You know the customer's account did not have enough money, but you absolutely cannot say that. This template works around the sensitivity by keeping the reason vague while still prompting action.
Subject: Heads up — we could not process your renewal
Body:
Hi [First Name],
We tried to process your [Product Name] subscription renewal, but your bank did not approve the charge. This happens sometimes — it is usually a temporary issue on the bank's side.
We will automatically try again in a few days. If you would like to resolve it now, you can update your payment method or try a different card:
[Update Payment Method] (button)
Your access is not affected in the meantime.
Cheers, [Your name]
Why this works: It never mentions money, funds, or balances. The phrase 'your bank did not approve the charge' puts the issue on the bank, not the customer. 'This happens sometimes' normalizes the experience and removes any stigma. Offering to retry automatically gives the customer an easy out — they can just wait, which many prefer.
Recovery rate: These emails see lower click-through rates (20-30%) because many customers deliberately wait for the automatic retry rather than updating immediately. But that is fine — the retry is doing the heavy lifting. Combined with a well-timed retry 3-5 days later, total recovery (email + retry) reaches 50-65%.
When to send: 6-12 hours after the failed charge. Sending immediately feels invasive for this decline type. A slight delay signals that your system noticed the issue without making the customer feel surveilled.
Important nuance: Never send more than two emails for insufficient funds. If the first email and automatic retries do not recover the payment, a third email starts to feel like harassment. Move on and try one final time at the end of the billing cycle.
Template 3: Fraud Hold or Authentication Required (Reassuring Tone)
Fraud holds and 3DS authentication challenges are the decline scenarios where customers are most confused. Their bank blocked a charge they intended to make, and they may not know why. Your email needs to explain what happened without using scary words like 'fraud' or 'security alert.'
Subject: Your bank needs a quick verification for [Product Name]
Body:
Hi [First Name],
Your bank asked for an extra verification step on your latest [Product Name] charge. This is a security feature your bank uses — nothing is wrong with your account or card.
Just click below to verify and complete the payment. It takes about 30 seconds:
[Verify and Pay] (button)
If you have any questions, just reply to this email.
Best, [Your name]
Why this works: It frames the situation as a normal bank security feature, not a problem. 'Nothing is wrong' provides immediate reassurance. The call-to-action says 'Verify and Pay' rather than 'Update Payment' because the customer does not need to change anything — they just need to authenticate. Offering direct reply for questions builds trust.
Technical note: The payment link for this template should include the 3DS challenge flow. When the customer clicks 'Verify and Pay,' they should land on a Stripe-hosted page that walks them through their bank's authentication process and then completes the charge. Stripe's Payment Links or a custom payment page using the Payment Intents API both support this.
Recovery rate: When the payment link includes the embedded 3DS flow, these emails recover 55-70% of authentication-blocked charges. Without the embedded flow (just linking to a generic billing page), recovery drops to 25-35% because customers get confused by the extra steps.
Regional consideration: If most of your authentication failures come from European customers under PSD2/SCA, consider adding a brief line: 'This is part of your bank's standard security process for online payments.' European customers are generally more familiar with 3DS prompts and respond well to normalization.
Template 4: Generic Decline (Catch-All with Options)
Generic card_declined and do_not_honor codes give you no specific information about why the payment failed. Your email needs to handle multiple possible scenarios without guessing the wrong one.
Subject: Action needed on your [Product Name] membership
Body:
Hi [First Name],
We were not able to process the latest charge for your [Product Name] subscription. Your bank did not share the specific reason, but here are the most common fixes:
1. Try a different card — Sometimes a specific card has a temporary issue. Adding a backup card often resolves it instantly. 2. Contact your bank — Your bank may have a hold or limit that they can lift with a quick call. 3. Update your current card — If you recently received a replacement card, your numbers may have changed.
[Update Payment Method] (button)
We will keep your account active for [X days] while this gets sorted. No rush — just wanted to give you a heads up.
Thanks, [Your name]
Why this works: It gives three possible explanations without committing to any single one. The customer can self-diagnose and take the appropriate action. Numbering the options makes the email scannable. 'No rush' reduces pressure and paradoxically increases action rates — customers are more likely to act when they do not feel cornered.
The 'keep your account active for X days' line serves two purposes: it prevents panic-cancellation and it creates a soft deadline that motivates action without feeling threatening. Set X to 7-14 days depending on your billing cycle.
Recovery rate: Catch-all emails perform at 20-30% recovery rate on their own. When combined with 2-3 automatic retries (which handle the bank-side issues the email cannot fix), total recovery reaches 35-50%.
Follow-up strategy: If the first email does not convert after 5 days, send a shorter follow-up with just the button and one line: 'Just a quick reminder — your payment method still needs updating.' If that does not work after another 5 days, send a final email that mentions the account will be paused (not canceled — paused implies they can come back easily).
How Revive Sends the Right Email Automatically
Writing five different email templates is the easy part. The hard part is building the logic to send the right template at the right time based on the right decline code, while coordinating with automatic retries so you do not email a customer whose payment just went through on a retry.
This is exactly what Revive does. When a payment fails, Revive reads the decline code from Stripe and routes the charge into the appropriate recovery flow. Expired cards get the friendly nudge template immediately. Insufficient funds get the tactful email after a delay, with retries scheduled first. Fraud holds get the authentication email with an embedded 3DS payment link. Generic declines get the catch-all template with retry coordination.
Every email is sent from your brand — your company name, your colors, your domain. Customers see a message from you, not from a third-party dunning tool. The payment update link takes them directly to a Stripe-hosted page where they can enter new card details or complete authentication in seconds.
Revive also handles the timing coordination that most DIY dunning systems get wrong. It tracks retry attempts and suppresses emails when a retry is pending or has just succeeded. It escalates through the email sequence only when retries have been exhausted. And it stops all communication the moment the payment is recovered, so your customer never gets a 'please update your card' email for a charge that already went through.
Connect Stripe at [/api/connect](/api/connect) and Revive starts sending decline-code-specific recovery emails on your next failed payment. No templates to write, no logic to build, no timing to manage.
Key Takeaways
- Segmented dunning emails outperform generic ones by 30-45% in recovery rate
- Never use the word 'failed' in your subject line — use neutral, helpful framing
- Expired card emails should go out within 2-4 hours; insufficient funds emails after 6-12 hours
- Never mention money or balances for insufficient funds declines — blame the bank, not the customer
- 3DS/fraud emails need embedded payment links with authentication flow for 55-70% recovery
- Limit email sequences to 2-3 messages — more than that feels like harassment
Automate Your Payment Recovery
Revive uses everything in this guide — smart retries, decline-code routing, and branded recovery emails — on autopilot. Connect Stripe in 30 seconds.