Resources/Dunning Email Templates

Dunning Email Templates · 8 Types · Free

The right email for
every failed payment.
By decline code, not guesswork.

Most SaaS teams send the same “payment failed, please update your card” email for every failure — whether they're on Stripe, Razorpay, Paddle, or Cashfree. That's the wrong message for insufficient_funds (the card works), wrong for do_not_honor (don't ask them to act), and actively harmful for hard declines. Here are 8 templates — one for each failure type. Copy and use immediately.

The Mistake

Sending one email for all failures leaves money on the table.

Each Stripe decline code tells you something specific about why the payment failed — and what the customer should (or shouldn't) do about it. A generic “payment failed, update your card” email ignores that signal. This is the core principle of dunning: match the message to the failure reason.

insufficient_funds

✕ Wrong: "Please update your card"

✓ Right: The card works. Wait and retry. Don't create friction.

do_not_honor

✕ Wrong: "There's an issue with your card"

✓ Right: Ambiguous bank block. Don't alarm. Don't ask to update. Retry quietly.

processing_error

✕ Wrong: "Your payment method is invalid"

✓ Right: Technical error — not the customer's card. Blaming their card destroys trust.

Soft Decline

Insufficient Funds email

The card works. The balance is temporarily low. Retrying in 3–7 days catches most of these.

Subject line

Quick heads up about your {Product} payment

Email body

Hi {First Name},

We tried to charge your card for your {Product} subscription today, but the payment didn't go through.

The most common reason is a temporary balance issue — and these usually clear up within a few days. We'll retry your payment automatically, so you don't need to do anything right now.

Your subscription stays active while we retry.

If you'd like to update your payment method just in case, you can do that here:
→ {Payment Update Link}

Let us know if you have any questions.

{Your Name}
{Company Name}
Why this works — buyer psychology

Never ask customers to update their card for insufficient_funds. The card is valid — asking them to "fix" something that isn't broken creates confusion and unnecessary churn. Calm tone + no urgency + retry promise preserves the relationship while you retry in the background.

Psychology behind it

Loss aversion at play: the customer doesn't want to "lose" their subscription. A calm email signals the situation is under control — which keeps them from actively cancelling while you retry.

Soft Decline

Expired Card email

Card expiry is the one failure type where asking to update is exactly right. The card physically can't charge again.

Subject line

Your card has expired — 1-minute update keeps your {Product} going

Email body

Hi {First Name},

Your {Product} subscription payment didn't go through because your card on file has expired.

The fix is quick — update your card here and your subscription continues without interruption:
→ {Payment Update Link}

Takes about 60 seconds. Once updated, we'll process the payment automatically.

If you run into any trouble, reply to this email and we'll help.

{Your Name}
{Company Name}
Why this works — buyer psychology

This is the only decline type where "please update your card" is the correct message. Retrying does nothing — the card expiry date has passed. Name the specific problem (expired, not just failed), give one clear action, and quantify the effort ("60 seconds") to reduce friction.

Psychology behind it

Specificity builds trust. "Your card has expired" is a concrete, non-alarming fact. Customers appreciate being told exactly what's wrong rather than a vague "payment issue." The "60 seconds" line uses completion psychology — a small, bounded task is easy to start.

Hard Decline

Hard Decline email

Card is permanently blocked — lost, stolen, or fraudulent. No retry will work. The customer needs a new card.

Subject line

Action needed: update your {Product} payment method

Email body

Hi {First Name},

We weren't able to process your payment for {Product}. The card on file can no longer accept charges.

To keep your subscription active, please add a new payment method here:
→ {Payment Update Link}

If you have any questions or need help, reply to this email — we're happy to assist.

{Your Name}
{Company Name}
Why this works — buyer psychology

Hard declines are permanent — no retry will succeed. Don't explain why the card was blocked (the customer may not know it's been reported). Don't use alarming language. Just state clearly what's needed: a new payment method. One action, nothing else.

Psychology behind it

Customers who've had a card cancelled (especially due to fraud) are already stressed. A calm, matter-of-fact email that doesn't add to the stress — while giving them one clear action — respects their situation and maximizes the chance they update before giving up.

Soft Decline — Action Needed

Authentication Required email

The bank triggered a 3DS/SCA challenge. The customer needs to confirm the payment in their banking app.

Subject line

Your bank needs a quick confirmation for {Product}

Email body

Hi {First Name},

Your bank flagged our payment attempt for {Product} and is requesting a quick verification that it's you.

This takes about 30 seconds:
→ {Confirm Payment Link}

Click the link, confirm the charge in your banking app or via the SMS your bank sent, and your subscription continues normally.

This is a standard security step — your card and subscription are fine.

Let us know if you have any trouble.

{Your Name}
{Company Name}
Why this works — buyer psychology

3DS challenges confuse customers — they don't know what "authentication required" means. Translate it into plain language: "your bank needs to verify it's you." Give one direct link to complete the authentication, state the time it takes, and reassure that this is a normal security step.

Psychology behind it

Confusion leads to inaction. The more a customer understands what to do and why, the more likely they act. "Your bank wants to verify it's you" is the clearest explanation possible. The 30-second estimate uses completion psychology — a small task is easy to start.

Soft Decline

Do Not Honor email

Generic bank block — could be velocity limit, brief policy hold, or temporary issue. Most resolve in 2–3 days with a retry.

Subject line

Temporary issue with your {Product} payment — no action needed

Email body

Hi {First Name},

There was a temporary issue processing your {Product} payment today. This isn't related to your card — it's typically a brief hold from your bank that clears on its own.

We'll retry your payment automatically over the next few days. You don't need to do anything right now.

If the payment still doesn't go through after a few attempts, we'll reach out with next steps.

Your subscription stays active in the meantime.

{Your Name}
{Company Name}
Why this works — buyer psychology

do_not_honor is ambiguous — the bank rejected the charge without giving a specific reason. Don't alarm the customer and don't ask them to update their card (it's probably fine). "No action needed yet" is the key phrase — it respects their time and prevents unnecessary churn while you retry.

Psychology behind it

Vagueness from the bank means vagueness in your message is actually correct here. Telling customers there was "a temporary issue" and they "don't need to do anything" keeps them subscribed and passive — exactly what you want while retrying. Alarm creates action, and the action they might take is cancelling.

Technical Soft Decline

Processing Error email

Technical error on the processor side — not a card problem. Retry usually succeeds within 24 hours.

Subject line

Technical error with your {Product} payment — we're on it

Email body

Hi {First Name},

Your {Product} payment ran into a technical error today. This isn't a problem with your card — it was a processing issue on our end (or your bank's payment systems).

We'll retry automatically within 24 hours. Your subscription stays active.

No action needed from you. If you keep seeing this issue, reply to this email and we'll sort it out directly.

{Your Name}
{Company Name}
Why this works — buyer psychology

The worst message you can send for a processing_error is "there's an issue with your card." It's factually wrong and damages trust. Be honest: it was a technical error, not a customer problem. This transparency actually builds trust and reduces churn compared to blaming the customer's card.

Psychology behind it

Customers trust companies more when they're honest about technical problems. "There was a processing error on our end" signals reliability — you know what happened and you're handling it. Blaming the customer's card for a processor error is the fastest way to create a confused, frustrated customer who cancels.

Final Notice

Final Warning email

Last email before account cancellation. Subtlety is over — specific date, specific consequence, one action.

Subject line

{Product} subscription cancels on {Cancel Date} — save it now

Email body

Hi {First Name},

This is the last email before your {Product} account is cancelled.

Your payment of {Amount} has been outstanding since {Failure Date}. If we don't receive payment by {Cancel Date}, your account will close.

Update your payment method to keep your account:
→ {Payment Update Link}

If you're having trouble or want to talk about other options, reply to this email. We'd rather find a solution than lose you as a customer.

{Your Name}
{Company Name}
Why this works — buyer psychology

At this stage, vague language loses customers. Name the exact cancellation date, name the consequence (data loss), give one action, and leave a human exit ("reply if you want options"). "We'd rather find a solution" is the key humanizing line — it signals intent and reduces defenses. Apologizing for sending this email is the #1 mistake here.

Psychology behind it

Deadline pressure + loss aversion + a human escape hatch. The specific cancellation date creates urgency without being hostile. Mentioning data loss activates loss aversion — the fear of losing something you have is stronger than the motivation to gain something new. The "reply if you want options" line converts some of the no-action segment by giving them an easy, low-commitment way to re-engage.

Post-Cancel

Win-Back email

Account has lapsed. Low pressure, zero friction, one door back in. High pressure kills win-back.

Subject line

Your {Product} account is still here

Email body

Hi {First Name},

Your {Product} subscription was cancelled, but your account hasn't been deleted.

If you'd like to pick up where you left off:
→ {Reactivation Link}

Everything is still there. Takes about 30 seconds to reactivate.

If the timing wasn't right, no pressure — you can come back whenever makes sense.

{Your Name}
{Company Name}
Why this works — buyer psychology

Post-cancel emails fail when they're desperate or guilt-inducing. This works because it removes friction ("30 seconds"), removes pressure ("no pressure"), and reframes reactivation as easy rather than significant. "Your account is still here" is the hook — it eliminates the fear that everything is gone.

Psychology behind it

The sunk cost in the existing account ("everything is still there") is a powerful motivator. Customers who cancelled due to a billing failure — not dissatisfaction — are highly likely to return when the path is easy. Low-pressure copy paradoxically increases reactivation by not triggering resistance. If they feel pushed, they push back. If they feel invited, they consider.

Timing

When to send each email.

TimingEmailTrigger
Day 1Failure notice (code-specific)Immediately after payment failure
Day 3–5Follow-up if retry failedAfter first retry attempt fails
Day 7–10Urgency signalPayment still outstanding
Day 14–21Final warningLast email before cancellation
Post-cancelWin-back3–7 days after account lapses

Front-load the sequence. 50–60% of recoverable payments come back within the first 7 days. Beyond 6 emails, incremental recovery drops below 2% per additional email. Keep sequences tight.

FAQs

Common questions.

Why does the email need to change based on the decline code?

Different decline codes mean different things for the customer's card and what action (if any) they need to take. Sending "please update your card" for an insufficient_funds failure is wrong — the card works, the balance is just temporarily low. Sending the same message for every failure confuses customers, creates unnecessary churn, and misses the specific action that would actually recover the payment.

When should I send each dunning email?

Email 1 should go out on the day of failure. Email 2 (if retry failed) on Day 3–5. Email 3 on Day 7–10. Final warning on Day 14–21. Win-back after cancellation. The exact timing depends on your retry schedule and grace period. Recurflux automates this sequence with the correct timing and the right email for each specific failure code.

How many emails should a dunning sequence have?

Three to six emails captures most recoverable revenue. Industry data shows that beyond six emails, incremental recovery drops below 2% per additional email. The key is front-loading the sequence — 50–60% of recoverable payments are captured within the first 7 days.

Can I send the same email for hard declines and soft declines?

No. Soft declines (insufficient_funds, do_not_honor, processing_error) are temporary and the card may work again. Hard declines mean the card is permanently blocked — retrying does nothing and sending the wrong message damages trust. Hard decline emails should always ask for a new payment method, not just retry.

What placeholders do I need to replace in these templates?

Replace: {First Name} with your customer's name, {Product} with your product name, {Amount} with the charge amount, {Failure Date} with the date the payment failed, {Cancel Date} with your grace period end date, {Payment Update Link} with your payment update portal URL, and {Your Name} with your support contact name.

How do I know which decline code a payment failure returned?

Every processor returns a failure code on a declined payment. Stripe: error.decline_code on the payment intent or charge. Razorpay: error_code in the payment error object. Cashfree: error_code in the order/payment response. Paddle: reason code in the transaction webhook. You can find these in your payment processor dashboard or via webhook events. Recurflux reads these codes automatically across all five processors and routes each customer to the correct email sequence without any manual work.

What is the best subject line for a dunning email?

The best dunning email subject lines are specific to the failure reason and avoid alarming language. For insufficient_funds: "Quick heads up about your [Product] payment" — calm, no urgency. For expired card: "Your card has expired — 1-minute update needed" — specific problem, specific action. For final warning: "[Product] subscription cancels on [Date]" — named deadline, no ambiguity. Generic subject lines like "Payment failed" have significantly lower open rates because they trigger alarm without giving the customer enough information to act.

Should I send dunning emails from my company domain or a no-reply address?

Always send from a monitored address your team actually reads — ideally [email protected] or [email protected]. Never use no-reply. Dunning emails frequently trigger customer responses: questions about the charge, requests for help updating payment methods, or explanations of why they're cancelling deliberately. A no-reply address kills those conversations and reduces recovery rate. Recurflux sends all dunning emails from your own domain and routes replies to your configured support address.

What is the difference between a dunning email and a payment failed notification?

A payment failed notification is a single automated message informing the customer their charge didn't go through. Dunning is the full sequence — multiple emails over 7–30 days, combined with retry logic, that systematically attempts to recover the payment before the subscription cancels. A dunning email is one step in that sequence, and its content varies based on where the customer is in the recovery window (day 1 vs day 14), what failure type occurred, and whether previous retries have already been attempted.

Can I use these templates for Paddle, Razorpay, or Cashfree subscriptions?

Yes — the email copy itself applies to any subscription billing failure, regardless of processor. The decline codes listed (insufficient_funds, expired_card, etc.) are Stripe-specific, but Paddle, Razorpay, and Cashfree have equivalent failure categories. Recurflux maps failure codes across all five processors (Stripe, Paddle, Razorpay, Cashfree, RevenueCat) to the appropriate email template automatically.

Stop copying and pasting manually

Recurflux reads the decline code and sends the right email automatically.

These templates work. But sending the right one at the right time for the right code — for every subscriber, every billing cycle — is what Recurflux automates. Connect in under 5 minutes.

Reads the payment failure code across Stripe, Paddle, Razorpay, Cashfree, and RevenueCat

Routes each customer to the correct email sequence automatically

Retries with code-specific timing (not a generic schedule)

Sends from your domain — customers never see Recurflux

$59/month flat — no % of recovered revenue