# 9 customer messages that prevent disputes

Copy, fill the [BRACKETS], send from an address a human reads. Short on purpose. People skim billing emails.

> Check your local consumer rules for required wording on subscriptions, renewals, and refunds. Not legal advice. Last verified: October 2026.

---

## 1. Receipt / welcome (send instantly after payment)

**Subject:** Your [PRODUCT] access + receipt

```
Hi [FIRST_NAME],

Thanks for buying [PRODUCT]. Here's everything in one place.

Access it here: [LOGIN_URL]
Your login email: [EMAIL]

What you paid: [AMOUNT] [CURRENCY] for [PLAN], [one-time / billed monthly / billed yearly].
On your card statement it shows as: [STATEMENT_DESCRIPTOR]

[If subscription] Your next charge: [AMOUNT] on [DATE]. Cancel anytime in Settings → Billing, one click.
Refund policy: [one sentence, e.g. "Full refund within 14 days, just reply to this email."]

Stuck? Reply to this email. A human (me) reads it.

[NAME], [BUSINESS]
```

Why it works: the "shows as" line kills most "I don't recognize this charge" disputes before they start.

## 2. Getting started (day 2, SaaS)

**Subject:** The one thing to do first in [PRODUCT]

```
Hi [FIRST_NAME],

Most people get their first result in [PRODUCT] by doing one thing: [SINGLE_ACTION, e.g. "connecting their Stripe account and running the first report"].

It takes about [N] minutes: [DEEP_LINK]

If something isn't working, reply here and I'll fix it with you.

[NAME]
```

## 3. Trial ending reminder (at least 7 days before the trial ends)

**Subject:** Your [PRODUCT] trial ends on [DATE]

```
Hi [FIRST_NAME],

Your free trial of [PRODUCT] ends on [DATE].

If you do nothing, your card ending in [LAST4] will be charged [AMOUNT] [CURRENCY] on [DATE], then [every month / every year] until you cancel.

Keep it: no action needed.
Cancel: [CANCEL_LINK] (one click, no call, no email needed).

Questions? Reply here.

[NAME], [BUSINESS]
```

Visa requires a trial reminder at least 7 days before a free or promotional trial ends, with a simple way to cancel ([Visa](https://usa.visa.com/content/dam/VCOM/global/support-legal/documents/visa-new-subscription-rules-flier.pdf)). Mastercard requires one 3 to 7 days before the end of a digital-goods trial ([Braintree summary](https://developer.paypal.com/braintree/articles/guides/recurring-billing/mastercard-requirements)). Sending at 7 days satisfies both.

## 4. Renewal reminder (about 7 days before yearly, 2–3 days before monthly)

**Subject:** [PRODUCT] renews on [DATE] for [AMOUNT]

```
Hi [FIRST_NAME],

Heads up: your [PLAN] renews on [DATE]. We'll charge [AMOUNT] [CURRENCY] to the card ending in [LAST4]. It will show as [STATEMENT_DESCRIPTOR].

Want to keep it? Nothing to do.
Want to change or cancel? [BILLING_LINK]

Over the last [period] you [one usage line, e.g. "generated 214 reports"].

[NAME]
```

Timing follows Stripe's suggestion ([Stripe](https://docs.stripe.com/disputes/monitoring-programs)).

## 5. Cancellation confirmation (send instantly)

**Subject:** Canceled: you won't be charged again

```
Hi [FIRST_NAME],

Your [PRODUCT] subscription is canceled. You won't be charged again.

You keep access until [DATE] (the end of the period you paid for).
Cancellation reference: [CANCELLATION_ID], [DATE TIME TZ]

If this was a mistake, you can restart anytime: [LINK]
If you have a minute, reply with the one reason you left. I read every answer.

[NAME]
```

Keep the cancellation ID. It's your best evidence in a "subscription canceled" dispute.

## 6. Refund confirmation

**Subject:** Refund sent: [AMOUNT] [CURRENCY]

```
Hi [FIRST_NAME],

I've refunded [AMOUNT] [CURRENCY] to your card ending in [LAST4]. Refund reference: [REFUND_ID].

Banks usually take [5–10] business days to show it. If you don't see it by [DATE], reply here and I'll send the reference your bank needs.

[If access ends] Your access to [PRODUCT] ends today.

Thanks for giving it a try.
[NAME]
```

## 7. "We saw a dispute: can we fix it directly?"

Send within 24 hours of a dispute. Be kind. Never threaten. Keep the reply for your evidence.

**Subject:** About your [PRODUCT] charge on [DATE]

```
Hi [FIRST_NAME],

Your bank told us you disputed a charge of [AMOUNT] from [STATEMENT_DESCRIPTOR] on [DATE]. That's [PRODUCT], which you [bought / subscribed to] with [EMAIL].

If it looked unfamiliar: no problem, that happens. If something went wrong with the product or billing, tell me and I'll make it right.

If you recognize it now, you can ask your bank to withdraw the dispute.

[NAME], [BUSINESS], [SUPPORT_EMAIL]
```

Note: once a dispute is open, you can't issue a separate refund for that payment ([Stripe](https://docs.stripe.com/disputes/how-disputes-work)). If the customer is right, accept the dispute in the Dashboard.

## 8. "Our checkout moved" (use during a freeze, if new orders must go elsewhere)

**Subject:** Quick note: new checkout link for [PRODUCT]

```
Hi [FIRST_NAME],

We've moved our checkout to a new payment provider. Same product, same price.

New checkout: [NEW_CHECKOUT_URL]
On your statement, new purchases will show as: [NEW_DESCRIPTOR]

Nothing changes for anything you've already bought. Your access stays the same.

[NAME]
```

Say only what's true. You don't owe anyone the backstory, and you shouldn't guess about the outcome of a review in writing.

## 9. "Please update your payment method" (existing subscribers, after a rail change)

**Subject:** Action needed: keep your [PRODUCT] subscription running

```
Hi [FIRST_NAME],

We've moved billing to a new payment provider. To keep your [PLAN] running after [DATE], please add your card again here (about 60 seconds):

[UPDATE_LINK]

Your price stays [AMOUNT] [CURRENCY] per [PERIOD]. Your next charge will be on [DATE] and will show as [NEW_DESCRIPTOR].

If you'd rather not continue, do nothing and your access ends on [DATE]. No charge.

[NAME]
```

Clear statement of the new descriptor plus "do nothing = no charge" prevents a wave of "unrecognized" disputes after a migration.

*Made by Dan Shipped — @danshipped. Not legal advice.*
