The short answer
- Stripe's documentation sorts every card or payment-method reason code into one of eight categories, and lists recommended evidence for each, separately for physical products, digital products or services, and offline services.
- Each piece of evidence goes under a named type in the Dashboard form or API, such as shipping_tracking_number or customer_communication. You can submit one file per evidence type, so combine files of the same type.
- Match the evidence to the reason. Stripe's own example: a clearly stated return policy is not relevant to a claim that the product never arrived.
- You get one opportunity to submit. Stripe forwards the response to the issuing bank and you cannot edit it or add files afterwards.
- Stripe says it does not influence the outcome, which is decided by the cardholder's bank.
Source: Stripe Documentation: Dispute reason code categories; Stripe Documentation: Respond to disputes; Stripe Documentation: Dispute evidence best practices, read 4 October 2026.
The steps
- Open the dispute in the Stripe Dashboard and read the category and any claim details the bank supplied.
- On the first page of the form, say why you believe the dispute is wrong and the product type of the purchase. Stripe uses that to recommend evidence.
- Pick your category below and gather the items for your product type.
- Upload one file per evidence type, summarise what each shows, and present things in the order they happened. Keep the combined file size within the 4.5 MB limit Stripe states.
- Tick the final-response box and submit.
The evidence checklist
Physical product lists, as Stripe publishes them on its Dispute reason code categories page. The label in each item is the Dashboard or API field. Digital products and services and offline services are summarised further down.
- Credit not processed: your refund policy as provided to the customer [refund_policy]; how and where it was disclosed before purchase [refund_policy_disclosure]; why the customer is not entitled to a refund or further refund [refund_refusal_explanation]; customer communication [customer_communication]; arguments such as a refund already issued, whether the item came back, or a withdrawn dispute [uncategorized_text, uncategorized_file]
- Duplicate: the charge ID of the apparent earlier duplicate [duplicate_charge_id]; an explanation of the difference [duplicate_charge_explanation]; documentation identifying the earlier payment, such as a separate receipt [duplicate_charge_documentation]; a shipping label or receipt for the disputed payment [shipping_documentation]; customer communication; itemised receipts showing separate purchases
- Fraudulent and Unrecognized: link between the recipient and the cardholder, or that the cardholder has the goods [customer_communication, uncategorized_text, uncategorized_file]; signature and ID details if collected in person [customer_signature]; shipping address matching an AVS-verified billing address [shipping_address]; shipping documentation, date, carrier and tracking number [shipping_documentation, shipping_date, shipping_carrier, shipping_tracking_number]; other arguments, such as undisputed payments on the same card
- Product not received: evidence the cardholder has the goods [uncategorized_text, uncategorized_file]; customer communication; signature [customer_signature]; shipping address, documentation, date, carrier and tracking number
- Product unacceptable: the product as you represented it [product_description, uncategorized_file]; customer communication; your refund policy and how it was disclosed [refund_policy, refund_policy_disclosure]; arguments such as whether the item was returned, a replacement sent, a refund issued or the dispute withdrawn
- Subscription canceled: how and when the cancellation policy was shown [cancellation_policy_disclosure]; why the subscription was not canceled or why this payment is valid [cancellation_rebuttal]; a renewal notice or the customer's acknowledgement of continued use [customer_communication]; other arguments
- General: Stripe says to contact the customer to find out why they disputed the payment
Digital products, services and offline services, as Stripe lists them
- Fraudulent, Unrecognized and Product not received: the customer's IP address at purchase [customer_purchase_ip], name [customer_name] and email [customer_email_address], and server or activity logs showing the customer accessed or downloaded the product [access_activity_log].
- Product unacceptable: the product as represented, customer communication, activity logs, and your refund policy and its disclosure.
- Subscription canceled: the cancellation policy as shown [cancellation_policy], its disclosure, your rebuttal, and a renewal notice or acknowledgement.
- Credit not processed and Duplicate: policy language and disclosure, your explanation, and customer communication.
- Offline services (advance purchases such as event tickets and reservations, where Stripe says a cancellation policy can be material): Fraudulent and Unrecognized ask for evidence linking the recipient to the cardholder, a signature from someone authorized or known by the cardholder, and documentation that the service was provided with its date [service_date, service_documentation]. Product not received asks for evidence the cardholder received the service, a signature if possible, and the same service documentation. Product unacceptable asks for the service as you advertised it, customer communication, and your refund policy and its disclosure. Subscription canceled adds the date the cardholder began receiving the service [service_date] and documentation that it was provided. Duplicate adds a copy of a service agreement or documentation for the disputed payment [service_documentation].
Stripe's best practices for how to present it
- Present chronologically, group by type (receipts, communications, policies, logs), summarise what each item shows, and keep text and images readable.
- Keep it relevant, factual, professional and concise. Stripe says too little evidence is a problem and so is overwhelming the reviewer.
- Banks do not review external content: no audio or video, no requests to call or email, no links to click. Mastercard evidence is limited to a combined 19 pages.
- Stripe says it publishes a likelihood-of-winning score for submitted responses. We do not quote its percentages.
Special cases Stripe describes
- Fraudulent Visa 10.4 disputes: Stripe checks your history for Visa Compelling Evidence 3.0 eligibility and tells you in the Dashboard and the email. For payments that might be under the liability shift, Stripe provides most of the evidence, such as the 3D Secure result.
- Stripe says Visa 10.5 disputes are extremely rare and accept no evidence.
- Compliance disputes: contesting a Visa or Mastercard compliance dispute carries a 500 USD (or local equivalent) network fee in addition to the dispute fees, which Stripe refunds if you win.
Plain words: AVS and CVV (also called CVC) are two card checks at payment: the billing address and the 3-digit security code matched what the card's bank has. 3D Secure is an extra step where the customer proves it is them to their bank, for example with a code sent to their phone. An IP address is the internet address of the phone or computer used to order. The issuer is the bank that issued the customer's card. A reason code is the short reason the bank gives for the dispute, such as fraudulent or product not received.
A cover note to paste into Stripe's text fields (ours)
Plain text. Replace every [bracket] with a fact from your records and delete any line you cannot back with a file.
Order [order number], [amount and currency], dispute category: [category shown].
[One or two plain sentences on the key fact for this category, only if you can show it.]
Evidence, in the order events happened
1. [Date]: [what happened] ([evidence type label], [file name])
2. [Date]: [what happened] ([evidence type label], [file name])
3. [Date]: [customer communication, or: the customer did not contact us before the dispute]
[Name], [store name]Never state anything you cannot prove. Every sentence in the response should point to a file you can attach. Delete any line you have no file for.
Common mistakes
- Uploading several files for one evidence type. Stripe says combine them into one.
- Sending policy evidence for a product-not-received claim. Stripe says it is not relevant there.
- Adding links or 'call us' requests. Stripe says banks will not review external content.
- Submitting before the file is complete. Stripe says there is one opportunity and you cannot amend it.
- Using Shopify's reason names as if Stripe's were the same. Stripe maps each network or payment method code into its own eight categories, and the evidence types differ.
Questions merchants ask
Where does Stripe list evidence for each dispute reason?
On its Dispute reason code categories page, under category defense guidelines, with a selector for the category and for physical product, digital product or service, or offline service.
Is Stripe's category the same as the reason on my Shopify chargeback?
Not always. Stripe sorts each Visa, Mastercard, Amex, Discover, Klarna and PayPal code into one of eight categories. Shopify's reason names are similar but come from Shopify's own help pages. Use the category shown on your own dispute.
How many files can I upload per evidence type?
One. Stripe says to combine items of the same type into a single multi-page file, within a 4.5 MB combined limit.
What if the customer says they withdrew the dispute?
Stripe's withdrawal page says to submit evidence anyway: many issuers treat no evidence as accepting liability, and a withdrawn dispute still counts against your dispute rate.
What do I do if my category is General?
Stripe says General is an uncategorized dispute, rare for cards, and tells you to contact the customer to find out why they disputed the payment.
Paid another way?
What we could not confirm
We read Stripe's physical product lists in full and the digital and offline service lists in summary. Fields and wording can change, so check the live page. How a Stripe dispute shows inside the Shopify admin was not confirmed. Rules and deadlines can change, so use the due date and form on your own dispute.
Free first
The Chargeback Evidence Checklist, or its ready text to paste into ChatGPT, asks for your dispute reason and lists the proof to gather. Or pick the reason on the chargebacks page.
Want it written for you?
- You get: fill-in Word letters with checklists, worked examples and a one-page start guide. Optional: a ready text to paste into ChatGPT or a similar assistant, which fills the letter in for you.
- Checkout: Gumroad opens on this page. Click Add to cart, enter your email and card details, and check the total, with any VAT, before you pay. Prices here are in US dollars.
- After you pay: a download page opens right away with one zip file (double-click it to open it) and Gumroad gives you a receipt there that you can resend. Open START-HERE.pdf first, pick the letter for your reason, fill in the brackets and send it.
One-time payment, not per dispute. 30-day refund: reply to your receipt or write to kaiventura.founder@gmail.com.
Stuck? Email your filled-in letter to kaiventura.founder@gmail.com before you submit (remove card numbers and anything you don't want to share). We'll tell you what's missing for your reason, usually within one working day. Free. Not legal advice.
One price, $5. No percentage of what you win, no subscription, no surprise charges.
The kit now has six fill-in response letters for Word or Google Docs (one per reason), evidence checklists, worked examples and a one-page Start-here guide, plus an optional ready text for ChatGPT or a similar assistant that fills the letter in for you. The Chargeback Response Kit and the free Chargeback Evidence Checklist are written around Shopify's chargeback reason names: Fraudulent, Unrecognized, Product not received, Product unacceptable, Subscription canceled, Duplicate, Credit not processed and General. The Writer's README says it also handles inquiries, Shopify Protect orders and orders that were already refunded. Its response structure carries over to other payment methods, because the questions a bank asks are similar. Where and how you submit differs, and we have not tested the skill against the Stripe Dashboard evidence form. Check the form's own limits before you paste anything in. What carries over to PayPal, Stripe and other processors: the way the response is built (what happened, evidence as numbered exhibits, the policy quoted word for word, dated contact with the customer, nothing you cannot back with a file) and the evidence ideas for each kind of claim. The fill-in letters follow Shopify's reason names, so for another processor pick the letter for the closest reason and use it to organise your facts. What does not: the reason names, the deadlines, the evidence field names and where you submit, which belong to each processor, so check them against that processor's own page above.
Before: a merchant sent delivery photos against a fraud dispute and lost.
After: a verdict (weak, fight only if cheap), what the bank actually asks, and what to gather instead.
It is also one of the six helpers in the Store Ops Pack, $29.
Want me to look at your dispute?
Send the dispute reason, the amount, the due date and the evidence you hold, with no card or customer data. We reply with what looks strong, what is missing and whether accepting may cost less. Free, no call, no sign-up. We cannot promise a day, and nobody can promise how a bank or payment provider will decide.
Kai Ventura, Pro Skill Packs
General information from the public sources above and our own checklists. It is not legal advice, and no response can promise how a bank or payment provider will decide. Pro Skill Packs is not affiliated with, endorsed by or sponsored by Shopify Inc., Affirm, Klarna, PayPal or Stripe. All chargeback pages.