The notification you didn't want
It usually arrives badly. A push from Stripe, an email with the word dispute in the subject line, often at an hour when you cannot do anything about it. A customer has asked their bank to reverse a charge, and the money has already left your balance. The instinct is to feel accused. That instinct is the first thing to set aside, because a chargeback is not a verdict. It is the opening of a window — a short one — in which you are allowed to tell your side.
Responding well is less about persuasion than about procedure. The banks that decide these cases are not reading for eloquence. They are checking whether the evidence you submit matches the specific claim the cardholder made. Learn to read the claim correctly, gather the evidence that answers it, and file before the clock runs out, and you have done everything within your control. The rest belongs to the issuing bank.
First, read the reason code, not the amount
Every Stripe dispute carries a reason. Stripe normalizes the dozens of network-specific codes from Visa, Mastercard, American Express, and Discover into a smaller set of human-readable categories: fraudulent, product_not_received, subscription_canceled, duplicate, product_unacceptable, credit_not_processed, unrecognized, and general. The dollar figure tells you what is at stake. The reason code tells you what to do.
This matters because the evidence that wins one category is useless in another. A product_not_received dispute is asking, in effect, did this thing actually arrive? The answer lives in carrier tracking and delivery confirmation. A fraudulent dispute claims the cardholder never authorized the purchase at all — so tracking is almost beside the point, and what helps is proof that the real account holder is the one who transacted: a matching billing address, an IP and device tied to prior legitimate orders, a login history. Submit shipping proof against a fraud claim and you have answered a question nobody asked.
So before anything else, find the reason. In Stripe's dispute object it sits in plain language. Read it twice.
Second, find the deadline and respect it absolutely
Stripe gives every dispute an evidence due date. It is typically tighter than the card network's own outer limit, because Stripe needs time to package and forward your submission before the network cutoff. Treat Stripe's date as the real one.
Here is the part merchants underestimate: if you submit nothing, you do not get a neutral non-decision. You lose by default. The funds stay with the cardholder, and the case closes against you automatically. A mediocre response filed on time beats a brilliant one filed an hour late, because the late one is never read. Whatever else you do, calendar the deadline the moment the dispute lands, and work backward from it.
Third, gather evidence that answers the specific claim
Once you know the reason code, the evidence almost selects itself. Match what you collect to what the claim disputes:
- Product not received. Carrier name, tracking number, and a delivery confirmation showing the parcel reached the address on file. If the shipping address matches the cardholder's verified billing address, say so explicitly.
- Fraudulent / unauthorized. Anything that ties the purchase to the genuine account holder: an AVS match on the billing address, the device and IP used, the account's order history, and ideally a record of prior, undisputed purchases from the same customer.
- Subscription canceled. Your records of when the subscription was active, the usage logs showing the customer kept using the service, the cancellation terms they agreed to, and the date any cancellation request actually arrived.
- Product unacceptable. Photos or specifications of what was delivered, your refund and returns policy as the customer saw it at checkout, and any support correspondence where you offered to make it right.
- Duplicate. Proof that the two charges were for two separate goods or services, not one transaction billed twice.
- Credit not processed. Evidence of the refund you already issued, or your stated policy explaining why a refund was not owed.
For each, you want documents, timestamps, and a clear thread — not a folder of unlabeled screenshots.
Fourth, write the narrative
Stripe lets you attach a free-text explanation alongside the structured evidence fields. This is where you connect the dots so a stranger reviewing the file in under a minute understands what happened. Keep it factual and chronological. The customer ordered on the 3rd. We shipped on the 4th. The carrier confirmed delivery to the billing address on the 7th. The customer first contacted support on the 19th, after delivery, and never requested a return. Plain sequence beats argument. You are not pleading; you are reconstructing a timeline that the bank can verify against your attachments.
Avoid emotion and avoid overstatement. A reviewer who senses spin reads the rest of the file more skeptically.
Fifth, submit through Stripe — and submit once, completely
In Stripe you populate the dispute's evidence fields and submit. A critical, easily-missed detail: submission is effectively final. Once you submit, you generally cannot add more later, so do not file a half-built response in a panic on day one and hope to top it up. Gather everything first, review it as a complete package, then submit a single time, comfortably before the due date.
After submission, the case moves out of your hands. The issuing bank — the cardholder's bank, not Stripe and not your acquirer — weighs the evidence and decides. Stripe will update the dispute status when the outcome lands. It can take weeks.
What you actually control
You cannot control whether a customer disputes a charge, and you cannot control how their bank rules. You can control three things, completely: that you respond at all, that the evidence you send answers the exact claim that was made, and that it arrives before the deadline. Merchants who lose disputes they should have won almost always failed at one of those three — not at persuasion. The recoverable reason codes are recoverable precisely because the facts are on your side; the job is getting those facts in front of the bank, intact and on time.
Do that consistently and your win rate on the disputes that can be won climbs toward what the evidence deserves. No tool changes the bank's authority to decide. A good process changes whether the bank ever sees your case.
Where Argeback fits
This whole sequence — read the reason code, find the deadline, gather the matching evidence, write the timeline, file once — is exactly what Argeback does from your phone. It connects to your Stripe account with dispute-scope access only, pulls each new dispute into a deadline-sorted inbox, and asks two to four questions tailored to that specific reason code instead of dumping a blank file picker on you. It drafts the narrative, packages the structured evidence, and files via the Stripe disputes API in a single tap — with deadline alerts at 72, 24, and 3 hours out so a dispute never closes against you by default. The bank still decides the outcome. Argeback just makes sure your side is told, completely and on time.