Chargeback Response Template for Online Stores, Drafted With AI

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Chargeback Response Template for Online Stores, Drafted With AI.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Chargeback Response Template for Online Stores, Drafted With AI.

Read the reason code, collect only the evidence that answers that claim, and give an AI the facts and files so it drafts a short, numbered response that cites each document. You check every line against the files before submitting. Never ask it to fill gaps; a claim without a document should be left out.

A bank reviewer spends minutes on your case. A response that lists the order, the proof of delivery, the customer's own messages and your policy, each as a labelled file, beats a long story. AI suits the drafting and organising. It does not suit inventing, and the temptation to let it "strengthen" a weak case is the main risk here.

Follow me on Instagram@sagnikteaches

What the processor lets you send, and what the bank will ignore

The rules below come from Stripe's published guidance (read in November 2026); other processors and platforms differ in detail but follow the same shape, so read your own page before you build a template around it.

Connect on LinkedInSagnik Bhattacharya
  • You usually have 7 to 21 days from notification, depending on the card network. Miss the date and the dispute is lost automatically.
  • You get one submission. Once sent, it cannot be edited and nothing can be added.
  • Evidence is uploaded per type, one file per type, so several documents of the same kind are combined into a single file.
  • The combined evidence is limited to 4.5 MB, and Mastercard evidence to 19 pages in total.
  • Reviewers do not follow links or play audio and video. A tracking link, a file download link or a request to phone you counts for nothing. Put the screenshot of the tracking page in the file instead.
  • Fees apply when a dispute is received and, on Stripe, a further fee applies if you counter it, which is returned if you win. Check the amounts on your processor's pricing page, because they change.
  • After you counter, the cardholder's bank decides, and on Stripe that can take up to three months, so log the case and set a reminder rather than waiting on it.

An inquiry, a pre-dispute stage where the bank asks questions before taking the money back, is worth answering fully, because a good reply there can stop a formal chargeback. If an inquiry escalates, you submit a second response.

Subscribe on YouTube@sagnikteaches

Map the reason before you write a word

Each claim has a category, and each category wants different proof. Stripe's documentation says each payment method defines hundreds of reason codes, and Stripe sorts them into eight categories. Seven are below; the eighth, General, is an uncategorised dispute where you contact the customer to find out what they mean. Start from what the customer is claiming, then see what evidence answers it.

CategoryWhat the cardholder claimsEvidence that answers itWhen to give in
Fraudulent"I did not make this purchase"Customer details, IP and device match, delivery to a known address, prior undisputed orders, 3D Secure result, messages from the customerOrder clearly not by the cardholder and no link between them and the recipient
Product not received"It never arrived"Carrier tracking showing delivery to the right address, signature or photo proof, address on the orderTracking shows lost or returned and you have not resent
Product unacceptable"Not as described, or damaged"Product listing as shown at purchase, photos, messages, return and refund policy, any replacement offerThe product really was faulty and you did not respond
Credit not processed"I returned it and got no refund"Policy, return status, proof you refunded, proof no return was receivedReturn was received and refund is due
Duplicate"Charged twice"Two separate orders with their own receipts and shipmentsIt really was a double charge
Subscription cancelled"I cancelled, but you charged me"Terms accepted, cancellation record, usage after the claimed dateCancellation arrived before the charge
Unrecognized"I do not know this charge"The same proof that the cardholder made the purchase as for Fraudulent, the receipt and order confirmation, or the customer's message saying they now recognise itYou cannot link the cardholder to the order; Stripe treats this category as effectively the same as Fraudulent

The last column is the one people skip. A claim you should not contest is a decision to refund and learn from, not a failure. A business that fights everything pays in time and in countered fees, while the dispute activity that card-network monitoring programmes watch counts every dispute, won or lost; Stripe's guide notes that activity above 0.75% is generally treated as excessive. Ask your processor for the thresholds it applies.

The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

An order walked through from claim to response

This is an illustration with invented figures. A small homeware store sells an $86 ceramic lamp. Four weeks later the customer's bank files a dispute with the "product not received" reason. The owner opens the order record and the carrier page.

Item in the evidence packWhat the owner hasFile type
Order recordOrder number, date, items, amount $86, shipping address as entered, emailOne PDF export
TrackingScreenshot of carrier page: delivered, date, "left at front door", photoOne PDF or image
Address matchBilling and delivery addresses match, with the address check result from the processorIn the order record
Customer messagesTwo emails: the order confirmation and the customer asking on day 3 for a delivery estimateOne PDF of both
PolicyShipping and returns policy text as shown at checkout, plus the date the customer accepted termsOne PDF
Previous ordersOne earlier order for $44, delivered and not disputedIn the order record

The owner now has a coherent story: a customer who wrote to the shop after ordering, a delivered parcel to the address they entered, and a clean history. What the owner does not have is a signature, because the carrier left it at the door. That fact goes in the response as written, not smoothed over.

The prompt, with the guard rails that matter

Paste the facts in a structured form. Replace card numbers and anything the bank does not need. Then give the rules before the request.

You are helping a small online store draft a chargeback response.

Dispute category: product not received. Amount: $86. Order date: [date].
Customer claim as given by the bank: "[paste the reason text]".

FACTS I CAN EVIDENCE (each is attached as a file, named in brackets):
1. Order [order record.pdf]: items, amount, shipping address entered by customer.
2. Tracking [tracking.pdf]: delivered on [date], left at front door, photo attached.
3. Address check [order record.pdf]: billing and delivery addresses match.
4. Messages [messages.pdf]: customer emailed on [date] asking for a delivery estimate.
5. Policy [policy.pdf]: shipping terms shown at checkout.
6. History [order record.pdf]: one prior order, delivered, no dispute.

RULES:
- Use only the facts above. Do not add any fact, date, number or quote that is not listed.
- If a fact would strengthen the case but is not listed, do not write it. Put it under "Gaps" instead.
- Cite the file name after every claim, like [tracking.pdf].
- Plain, polite, no accusations. Under 350 words.
- Output: (a) the response text, (b) a numbered evidence index, (c) Gaps.

An illustrative reply, shortened: "We are contesting this dispute because the order was delivered. The order [order record.pdf] was placed on [date] for $86 and shipped to the address the customer entered, which matches the billing address. The carrier's record [tracking.pdf] shows delivery on [date], left at the front door, with a photograph. On [date], the customer wrote to us asking when the order would arrive [messages.pdf], which shows they had placed it and were expecting it. The customer had one earlier order with us, delivered without dispute [order record.pdf]. Gaps: no signature was collected; no reply from the customer to our enquiry of [date]."

What you would check: every date against the files, that "left at the front door" is the carrier's wording, and that the gaps list is accurate. The gap list is your friend. It tells you what to try to obtain before the deadline, for example a reply to a friendly email asking if the parcel turned up.

Never fabricate: where AI tempts you and what to do instead

A weak case invites embellishment. Models are agreeable and will write "the customer confirmed receipt by email" if you imply it. Four rules keep you honest.

  1. Every sentence in the response ties to a named file. If it does not, delete it.
  2. Never alter, redact or recreate a message, a tracking page, a receipt or an IP log. Redacting card digits is fine; changing a timestamp is not.
  3. Do not describe what the customer "must have" known. Report what the record shows.
  4. If the evidence does not support a contest, accept the dispute. A false submission can cost the case, your standing with the processor and, in serious cases, expose you legally. Ask a legal adviser if you are unsure.

The same discipline helps in the other direction. The AI can read the customer's complaint and the bank's text and tell you what they actually assert, which stops you answering a claim they did not make.

Variations by reason, with the lines that differ

Fraudulent, card-absent. The strongest points are links between the buyer and the recipient: the same email as earlier undisputed orders, the same delivery address as a prior order, an IP address in the same area as the billing address, and a 3D Secure authentication if one was completed. On Stripe, the Visa 10.4 code may qualify for Visa Compelling Evidence 3.0, and Stripe tells you in the dashboard; when it does, the response form marks the fields the rule requires and, in most cases, pre-fills them from your history; Stripe says not to edit a pre-filled field, because that can affect eligibility. Do not pad such a response with long narrative; it should read as a list of matching data points.

Product unacceptable. Your listing at the time of purchase matters: the exact description, photos and dimensions the customer saw. Add the messages where you offered a return or replacement and what they replied. If they did not return it, say so as a fact with dates.

Subscription cancelled. Terms accepted at signup, the date of the cancellation request if any, and logins or downloads after that date. If the cancellation request really did arrive before the charge, refund and fix the process.

When the claim touches returns, the returns and refunds policy tutorial shows how to word the policy your evidence will quote. If you also sell through a payment wallet, the PayPal dispute evidence pack adapts the same folder.

A digital-product dispute: evidence of use instead of tracking

Not every store ships parcels. Take a small shop selling a $39 downloadable design pack. The customer's bank files a "fraudulent" claim ten days after purchase. There is no carrier and no signature, so the evidence moves to usage.

What the owner has: the order email and billing country; the download log showing three downloads of the file from the same address in the same hour as the purchase; the customer's account login at the time and a second login two days later; a support email from the customer asking how to open the file in a particular program; and the terms shown at checkout. These facts are specific and point to the person who paid. The drafting prompt is the same as before with the facts swapped, and the "Gaps" section reports honestly that the owner has no identity document, which is normal for a $39 purchase.

The check you make on the AI's draft is the same, with one addition: download logs are easy to describe loosely. "The customer downloaded the product" must say how many times, when, and from what address, copied from the log. If the log shows one download and the draft says "repeatedly", correct it before it goes.

Writing to the customer first, which often ends the dispute

For "unrecognized" claims, or when a customer is clearly confused, a message can resolve the matter before the deadline. Stripe's guidance recommends contacting the customer, and a cardholder who recognises the charge can withdraw the dispute; check how your own processor handles withdrawals. Ask the AI to draft something short, kind and free of blame. A plain version:

Subject: Your order [number] from [store name]

Hi [first name],

Your bank has queried a payment of $[amount] on [date] to [store name].
It was for [item], which was [delivered on date / downloaded on date].
If you do not recognise it, our order confirmation is attached and
shows the details.

If something is wrong with the order, reply to this email and we will
put it right, including a refund where that is the fair outcome.
If everything is fine, a quick message to your bank to say you
recognise the payment will close the query.

Thank you,
[your name]

Keep your side honest: if the customer does say something is wrong, fix it and refund. Pushing a customer to withdraw a valid claim, or implying a penalty, is a bad idea ethically and can backfire with the bank. Keep a copy of every message, because it is evidence either way.

Mistakes that lose cases you could have won

Good facts can still lose to a poor pack. These are the pack faults to look for, and what a better pack looks like.

  • The wall of text. A two-page narrative with the evidence buried inside it. Replace it with a 250-word summary and a numbered index of files.
  • Links instead of files. "See the tracking at this web address" gets no credit, because reviewers do not click. Attach a screenshot as part of one combined file.
  • The wrong evidence for the claim. A returns policy in a "not received" case, or tracking in a "not as described" case. Match each file to the category table.
  • Late submission or a rushed single try. Aim to submit at least two days before the deadline, once everything has been read twice.
  • Contradictions. The response says delivered on the 12th, the tracking screenshot says the 13th. A reviewer reads that as unreliable throughout. Cross-check every date.
  • Tone. Calling the customer a liar costs you credibility. State what the records show and stop.

A useful trick is to ask the AI to review your finished pack as a sceptical bank reviewer: "List every claim in this response that is not supported by a named file, every contradiction between dates, and anything that would make you doubt it." Treat the answer as a checklist, and ignore anything it suggests adding that you cannot evidence.

A quick sum: is this one worth contesting?

Sums keep the decision calm. For the lamp: price $86, product cost $31, shipping cost $9. The $31 and the $9 are spent whatever happens, and the dispute received fee is gone either way. What the contest decides is the $86: lose and it stays with the cardholder; win and it comes back, and on Stripe the countered fee is returned too (the received fee is not). Contesting costs about 30 minutes of the owner's time at, say, $30 an hour, so $15, plus the countered fee if you lose; check that amount on your processor's pricing page.

If you judge the chance of winning at 60% on the evidence, the expected recovery is about $52 for $15 of time, so contest. For a $12 item with a thin file and a 25% chance, the expected recovery of $3 does not cover the time. A rule of thumb such as "contest when value times chance exceeds three times the time cost" is crude, but a rule beats a mood. The AI can run these sums for a batch of disputes in a sheet if you give it the amounts and your chances. The chances are your judgement, not its.

Building the evidence folder before you ever need it

The cheapest response is the one assembled in advance. For every order, your system should be able to export: order record with items, amount and addresses; payment record with the address check and 3D Secure result; carrier tracking with the delivery proof; and every message with the customer. Store the shipping and returns policy text with the date it was last changed, so you can show what applied on the order date.

Two habits help. Use a clear billing descriptor, so a customer reading their statement recognises "[Store name]" and does not dispute a charge they cannot place. And for orders above a value you choose, ask for a signature or photo on delivery. Once a month, ask the AI to read your last 90 days of disputes and group them by reason, product and delivery method. Patterns jump out: one courier, one product with a misleading photo, one country of delivery with no tracking. The fraud review queue tutorial goes further on catching risky orders before shipping.

Checking your response before it goes

Read it as the bank would, with no knowledge of your shop. Does the first sentence say what you contest and why? Does each paragraph point to a file? Do the dates agree between the text and the files? Are there files that answer a claim nobody made, such as a returns policy in a not-received case? Remove them; they dilute the pack. Check the combined size and page count against the limits, and confirm every file is labelled with the right evidence type.

Then log the outcome. A simple sheet with the date, reason, amount, decision, result and what you learned turns every dispute into data. After a few months, you know your win rate by reason and can drop the categories where you never win. If you want to build the whole routine for your store, that is the kind of job my AI implementation consultation covers.

Questions store owners ask before responding

How long do I have to respond to a chargeback?

Usually between 7 and 21 days depending on the card network, according to Stripe's documentation, and the clock starts when you are notified. Miss it and you lose automatically. Check the deadline on the dispute itself and work backwards, leaving a day or two for collecting files.

Can I add more evidence after I submit?

Usually not. On Stripe, the response is final once submitted and cannot be edited or added to. Other processors have similar rules. Assemble everything first, read it through once as the bank would, and only then press submit.

Should I fight every chargeback?

No. Contest when the evidence is real and the order is worth more than your time plus the fee. Accept, or refund and talk to the customer, when the claim is valid, for example a parcel that never arrived. Winning is rarely certain, so treat every contest as an estimate, not a promise.

Is it safe to give a customer's details to an AI tool?

Use a plan that does not train on your content, send only what the draft needs, and replace card numbers and full addresses with placeholders. The AI needs the story and the facts, not the whole customer record. Keep originals in your own order system.

Can AI write the evidence for me?

It can organise and phrase what you have. It must never create what you do not have: no invented tracking events, messages, IP addresses or policy text. Fabricated evidence can lose the dispute, can breach your processor's terms and may be fraud, so the rule is that every claim ties to a file.

Further reads

Sources: Stripe's documentation on responding to disputes, dispute categories and measuring disputes (read November 2026); worked figures are illustrative. Other processors' rules differ, so check yours.

Want fewer chargebacks and faster responses?

On a 1:1 call we'll look at where your disputes come from, set up an evidence folder that fills itself, and decide which parts of the response AI should draft.

Book a 1:1 call with me