ChargebackDesk · Reason codes · Amex C28
Amex reason code C28: Cancelled Recurring Billing
The American Express card member says they cancelled a recurring charge — a subscription, membership, or other recurring billing — and you billed them anyway. It's the Amex equivalent of Visa 13.2, and it's decided the same way: by your cancellation policy as it was shown at signup, and by your record for this specific customer.
| At a glance | |
|---|---|
| Network | American Express |
| Family | Card member dispute (C codes) |
| In Stripe | Usually shown with the reason subscription_canceled; inquiries show as warning_needs_response |
| Network timeframe | Amex generally gives merchants about 20 days to respond to an inquiry or chargeback (it can be shorter in some places) |
| Your deadline | The due-by date in Stripe — work to that date, not to Amex's own window |
What it means
C28 says a recurring charge was billed after the card member cancelled, or after they asked to cancel. (Stripe lists C28 as "Canceled Recurring Billing"; Amex's own dispute guide may give it a longer title that also covers goods not as described or defective. This page covers the cancelled-recurring claim.) Only three answers hold up: (a) no cancellation request was made before the billing date; (b) the request came after the billing date; or (c) the request was handled exactly as your disclosed policy says. If your records show a timely cancellation you didn't honor, the card member is right.
Response deadline
- The deadline that binds you is the evidence due-by date on the dispute in Stripe (
evidence_details.due_by). If you don't respond by then, you automatically lose the dispute — work to this date, not to the network's own limits. - Evidence is effectively a single submission — submit a complete packet, because you generally cannot add to it afterwards.
- Work backwards: aim to submit at least 72 hours before the due-by date.
- Answer inquiries. Under Amex's rules as generally described, an inquiry left unanswered can become an R13 "No Reply" chargeback, where the accepted responses are typically limited to proof you replied on time or proof you'd already issued a credit.
What evidence wins
- The cancellation policy as shown at signup — the archived checkout page or dated terms version, not today's page.
- A specific rebuttal with its search basis stated. "No cancellation request found in our helpdesk, email, and in-app cancellation log between [signup] and [charge date]." Without the search basis, "they never cancelled" isn't credible.
- How the policy was disclosed — checkbox, terms link, renewal reminder emails, and when each was shown.
- Use after the claimed cancellation date. Logins after "I cancelled" contradict the claim without commenting on anyone's honesty.
- Renewal reminders sent before the charge, with delivery records if your email provider keeps them.
Digital-goods specifics
- SaaS: the in-app billing page and cancel flow as it existed, plus the account's activity log after the claimed cancellation.
- Memberships and communities: community activity after the "cancellation" — posts, attended calls, downloaded resources.
- Course payment plans: installments aren't a cancellable subscription unless your terms said so. Show the plan terms the buyer agreed to.
- Free trials that converted: show the trial terms, the conversion disclosure, and any reminder sent before the first charge.
The minimum checklist
Same minimum as our subscription-canceled guide:
- ME-S1 — the cancellation policy as shown to the customer is producible.
- ME-S2 — one specific rebuttal is writable from records: no request / request after billing / request handled per policy.
- ME-S3 — the disclosure statement is writable from your actual signup flow.
Common mistakes
- Submitting your current terms. If they changed after signup, they don't show what this customer agreed to.
- Claiming "no request" without saying where you looked.
- Leaving out an unfavorable message. Complete threads only — an omitted message that surfaces later undermines the whole packet.
Fight or accept?
Fight it when
- Your systems show no cancellation request before the billing date, and you can say which systems you checked.
- The customer used the product after the date they say they cancelled.
- The cancellation came after the billing date and your disclosed policy covers that period.
Accept it when
- Your records show a cancellation request before the charge that wasn't honored.
- You can't produce the policy as it was shown at signup.
- The cancel flow was broken or hard to find at the time — accept the dispute in Stripe (the card member already has the money back), cancel the subscription, and fix the flow.
Accepting a chargeback in Stripe closes it (accepting an inquiry doesn't resolve it — answer it with evidence or a full refund instead). Don't try to refund an open chargeback — the disputed amount has already been withdrawn from your balance, and Stripe doesn't allow refunds outside the dispute process while the dispute is open.
Answering an inquiry? Amex and Discover run the inquiry stage (warning_needs_response). Answer it with your narrative plus the single strongest exhibit: the cancellation record (or its documented absence, with the search basis), set beside the billing date. Don't leave it unanswered. If the card member is right, a full refund resolves an inquiry with no Stripe dispute fee; accepting an inquiry doesn't resolve it.
Want the packet built for you? Start a case. You get a finished, sourced packet, and nothing is submitted without your approval — today you submit it yourself in Stripe, with no Stripe login and no integration. Our fee is 20% of what you recover, charged only if you win. If you lose or we decline, our fee is $0. Stripe's own dispute fees are separate. If a case isn't worth fighting, we'll tell you before you spend time on it.