ChargebackDeskchargeback evidence for digital goods

ChargebackDesk · Guides · Subscription canceled

Responding to a Stripe "subscription_canceled" dispute

The customer says they canceled and you charged them anyway (Visa 13.2; Mastercard 4841, which Stripe lists as "Canceled Recurring or Digital Goods Transactions"; Amex C28). This category is decided by two things: your cancellation policy as it was shown at signup, and your handling record for this specific customer.

The three stories that can be true

Your charge is defensible only if one of these is supported by records: (a) no cancellation was requested before billing; (b) the request came after the billing date; or (c) the request was handled exactly as the agreed policy says. If your records show a timely cancellation that wasn't honored, the cardholder is right — don't fight it. Accept the dispute in Stripe (the customer already has the money back), and cancel the subscription so the billing stops.

Deadline rules

  • The authoritative deadline is the evidence due-by date on the dispute in Stripe. Miss it and you automatically lose the dispute; work backwards and submit at least 72 hours early.
  • Evidence is effectively one submission — make it complete the first time.
  • Amex/Discover disputes may begin as inquiries (warning_needs_response). Answer them; an unanswered Discover inquiry can become an unchallengeable dispute.

What evidence wins

  1. The cancellation policy as shown to the customer. The signup-era capture — archived page, dated terms version, or Wayback capture. Not today's edited page.
  2. A specific, sourced rebuttal. "No request found" is only credible with the search basis stated: which systems (helpdesk, email, in-app), over what dates. Otherwise: request date vs. billing date, or the confirmation showing the request was honored per policy.
  3. The disclosure record. How and when the buyer saw the policy — signup checkbox, terms link, reminder emails — reconstructed from your actual signup flow, never assumed.
  4. The cancellation interaction, or its documented absence. If there's an in-app cancellation log (attempts, confirmation screens shown), it belongs in the packet.
  5. Continued use after the claimed cancellation date. Logins after "I canceled" undercut the claim factually, without arguing about anyone's honesty. Stripe's subscription-canceled evidence list has no access-log field, so the usage excerpt goes in as an uncategorized file (uncategorized_file), with what it shows stated in your cancellation rebuttal (cancellation_rebuttal).

Stripe's own guidance for digital subscriptions lists further arguments that can fit, where your records support them:

  • Controls for automated spending — how customers can see and manage their own renewals and usage, and what prevents billing they didn't intend (renewal reminders, a self-serve cancel page, usage dashboards).
  • Consumption before billing — the customer used the service for the period they were charged for.
  • Partial use — the customer used part of what the charge covered.
  • A mistaken or future cancellation date — the date the customer gives is wrong, or the cancellation they set was to take effect later.
  • Installment, not recurring — the charge was one installment of a single purchase, not a subscription renewal (some networks allow this dispute reason only for genuinely recurring charges).

The minimum checklist

  • ME-S1 — the cancellation policy as-shown-to-customer is producible.
  • ME-S2 — one specific rebuttal is writable from records (no request / request post-dates billing / request honored per policy).
  • ME-S3 — the disclosure statement is writable from the actual signup flow.

Common mistakes that lose winnable cases

  • Sending the current policy page. If the page changed since signup, it proves nothing about what this customer agreed to — and a mismatch between the two can hurt you.
  • Sending your refund policy. Wrong document for this dispute. Mixing policies muddies the packet; it belongs only if a refund was actually issued, inside the rebuttal.
  • Pasting the entire terms of service. Excerpt the cancellation clause, with the source URL and its effective date.
  • Claiming "never tried to cancel" with no search record. If you can't say where you looked, the issuer hears an assertion, not a fact.
  • Fighting a cancellation you actually mishandled. If a ticket says "canceled" and billing continued with no reconciliation, accepting the dispute in Stripe is cheaper than losing it and the issuer's confidence. The customer already has the money back, so don't refund it as well.

Answering an inquiry? Amex and Discover can open a case as an inquiry (warning_needs_response) before any chargeback. Answer it with your narrative plus the single strongest exhibit — here, the cancellation policy capture, with your rebuttal in the narrative. Don't leave it unanswered: an unanswered Discover inquiry can escalate into a dispute you can't challenge. If the customer is right, a full refund resolves an inquiry with no Stripe dispute fee; accepting an inquiry doesn't resolve it.

Other dispute categories