Stripe dunning emails: what you control | RecoverFlow

Guide

Stripe's dunning emails: what you control and what you do not

Last updated 28 July 2026 · written by Bruce McGinley, who builds RecoverFlow

Short answer

Stripe will email your customers about failed payments for free. You control your branding, and you control which of the emails are switched on.

You do not meaningfully control the wording, the sending schedule, or the fact that they come from Stripe's infrastructure rather than from you. Stripe also keeps its email logs for 60 days, which sets a floor on how far back you can audit what your customers were told.

For a lot of businesses that is a perfectly acceptable trade. Switch them on before you evaluate anything paid.

What Stripe will send

Three things matter here, all configurable in your Billing settings.

All of them carry your branding: your logo, your colours, your business name. To the customer they read as coming from you, which is the correct design.

What you actually control

ThingCan you control it?
Whether each email sendsYes, per email type
Logo, colours, business nameYes, through Branding settings
The wording of the emailNo, beyond branding and locale
How many go out and whenNot independently of Stripe's schedule
The sending domain and reply addressNot in the way a marketing tool lets you
Different copy per decline reasonNo
How long the send log is keptNo. Stripe retains email logs for 60 days

The row that catches people out is the last one. If someone asks in October what a customer was told in July, and you were relying entirely on Stripe's logs, you cannot answer. That matters more for disputes and compliance questions than for revenue, but it matters.

When this is enough

Genuinely, often. If your failed payments are mostly insufficient funds and expired cards, if your customers are consumers who recognise your brand, and if you are not trying to run different messaging for different failure reasons, Stripe's emails plus Smart Retries will do most of the available work for zero extra cost and zero extra vendor.

The bar for adding anything on top should be that you can name the specific thing you want that Stripe does not do. If you cannot name it, you do not need it yet.

When it stops being enough

Four situations where people outgrow it, in rough order of how often they come up.

You want the message to match the reason. A customer whose card was reported lost needs a different email from one whose payment needs SCA authentication, which needs a different email again from someone who is simply short of money this week. One generic template addresses all three adequately and none of them well.

You want it to come from a person. Especially in B2B, an email from a named human at your company gets replies that a system notification does not. Stripe's emails are branded but they are not from anyone.

You want to know what worked. Attribution here is genuinely hard. A payment succeeds and something caused it, but distinguishing "our email prompted a card update" from "Stripe's retry happened to land after payday" needs the sequence of events, not just the outcome. Stripe reports the outcome.

You want to look back further than 60 days. Self explanatory, and only a problem once someone asks.

If you are building your own

Two things are easy to get wrong and worth stating.

First, do not tell customers the decline reason for lost_card, pickup_card, stolen_card or highest_risk_level. Stripe's guidance is explicit that revealing these gives useful information to someone using a card they should not have. Write the generic version.

Second, if you send your own emails you become responsible for their deliverability, their unsubscribe behaviour and their data handling. Stripe was absorbing all three for you. Transactional billing email is a legitimate category, but sending it badly from a domain you also use for marketing is how you end up in spam folders for both.

Questions people actually ask

Does Stripe send dunning emails automatically?

Yes, if you enable them. Stripe can send failed payment notifications, unpaid invoice reminders and card expiry notices, all carrying your branding, at no additional cost.

Can I customise the text of Stripe's dunning emails?

Not beyond branding and language. You control the logo, colours and business name, and whether each email type sends at all. The copy itself is Stripe's.

How long does Stripe keep email logs?

60 days. If you need a record of what a customer was told further back than that, you need to keep it somewhere yourself.

Do Stripe's emails come from my domain?

They carry your branding and read as coming from your business, but they are sent by Stripe's infrastructure. You do not get the sender control you would have with your own email system.

Should I turn Stripe's emails off if I use a third party tool?

Usually yes, or you will send two sets of emails about the same failed payment, which is worse than either alone. Decide which system owns the conversation and switch the other one off.

Where this came from

Checked against primary sources on 28 July 2026. If Stripe changes something and this page has not caught up, tell us and it gets fixed.

If you would rather not build this yourself

RecoverFlow watches your Stripe account for failed subscription payments, stops retrying the ones that cannot succeed, and emails the customers whose card simply needs replacing. It charges 25% of what it actually recovers, with a $29 monthly floor, and nothing at all if it recovers nothing.

It is early. It is run by one person. If Stripe's own free retry settings are enough for you, use those instead, and there is a page on this site that says exactly when that is the right call.

See how the pricing works