Duplicate charge chargebacks: one transaction, or two?
The cardholder sees two charges and tells their bank they were billed twice for the same thing. These disputes sit in the processing-error family — Visa's duplicate-processing code (12.6.1) and Mastercard's point-of-interaction error family. Sometimes the customer is right: a retry, a timeout, or a double-tap really did run the card twice for one purchase. But just as often there are two legitimate charges — two orders, a deposit plus a balance, a subscription renewal next to a one-off purchase — that merely look identical on a statement. The whole case turns on telling those two situations apart, with records.
First: which case do you actually have?
Be honest here, because the analyst will check. A true duplicate usually shows the fingerprints of a processing accident:
- Same amount, same day (often minutes apart), tied to a single order, invoice, or booking.
- Only one authorization was intended — the second is a retry after a timeout, a declined-then-approved sequence, or a terminal double-submit.
- Only one delivery, one service, one fulfillment record behind both charges.
Two legitimate charges look similar on a statement but separate cleanly in your records:
- Two different order numbers, invoices, or service records — one behind each charge.
- Two separate authorizations, each with its own authorization code and timestamp, matching two distinct checkouts or agreements.
- Different amounts, different dates, or a documented pattern (deposit + balance, first month + setup fee, renewal + add-on) the customer agreed to.
- Two deliveries, two usage records, or two rendered services to show for the money.
If it's a true duplicate and you haven't refunded the extra charge yet, do that now and submit the refund record as your response — there is nothing to win by arguing. If it's two legitimate charges, the packet below is how you prove it.
The exhibits that carry the case
- Exhibit A — The two authorization records, side by side. Your processor's transaction detail for both charges: authorization codes, timestamps, and amounts. Two distinct authorizations, at two distinct times, is the backbone of the "two real charges" case.
- Exhibit B — The second order or service record. The order confirmation, invoice, booking, or agreement that the second charge maps to. This is the exhibit that decides the dispute: every charge needs its own underlying purchase.
- Exhibit C — Fulfillment for both. Delivery scans, download or access logs, session records — whatever proves the customer received two things, not one thing billed twice.
- Exhibit D — The first order's record. The same documentation for charge #1, so the analyst sees two complete, parallel paper trails rather than one trail and a claim.
- Exhibit E — Refund proof, if any part was already refunded. If you already returned one of the charges (say, a deposit), the processor refund record with its Acquirer Reference Number (ARN) — the reference the cardholder's own bank can trace. An untraceable "we refunded it" loses; an ARN settles it.
- Exhibit F — Communications and terms. Checkout confirmations, receipts emailed for each purchase, or the agreement language describing the two-part pricing the customer accepted.
Structure the response like this
- Summary (3–5 sentences). Name the two charges and what each one bought: "Duplicate processing. The two $180 charges are separate purchases: order #2214 on Jun 3 (authorization 084512, Exhibit A) and order #2287 on Jun 17 (authorization 091733, Exhibit A), each shipped and delivered separately (Exhibits B–D). No amount was charged twice for the same order."
- Side-by-side timeline. Two columns or two dated rows per charge — authorization → order → fulfillment — so the parallelism is visible at a glance.
- Exhibits, in reading order. Every claim in the summary points at one exhibit. Keep the two paper trails labeled distinctly (A1/A2 or "Charge 1 / Charge 2") so nothing blurs together — blur is what caused the dispute.
| Charge 1 | Charge 2 | |
|---|---|---|
| Date / authorization | Jun 3, auth 084512 | Jun 17, auth 091733 |
| Underlying record | Order #2214 | Order #2287 |
| Fulfillment | Delivered Jun 6 | Delivered Jun 20 |
| Exhibits | A, D | A, B, C |
Mistakes that lose winnable duplicate cases
| Mistake | Why it loses |
|---|---|
| Sending records for only one charge | The analyst is comparing two charges. Documenting one and asserting the other was "also legitimate" leaves the disputed half unproven. |
| Fighting a true duplicate | If one order produced two charges and one fulfillment, the records say so. Refund the extra charge, submit the refund record with its ARN, and save your credibility for real cases. |
| Relying on different amounts alone | "The amounts differ, so it can't be a duplicate" is an argument, not evidence. Show the second order the second amount belongs to. |
| Unlabeled, interleaved attachments | Two orders' worth of receipts shuffled together recreates the customer's confusion inside your own packet. Label by charge, every time. |
Other reason codes
- Credit not processed (Visa 13.6/13.7): proving the refund already happened →
- Services not rendered: proving the work happened →
- Fraudulent (Visa 10.4): the card-not-present evidence that matters →
- American Express reason codes in plain English →
- The full Stripe chargeback evidence checklist, by reason code →
Have a duplicate-charge dispute open right now?
Parry assembles this packet from your uploads — dispute notice, both transaction records, both order records, any refund record — into a case summary, rebuttal draft, timeline, and labeled exhibits. It's an AI draft: you review every fact and submit it yourself. We never submit in your name, never invent evidence, and the outcome is always the bank's call.
$10 for your first month, then $29/mo. Up to 5 evidence packets/month, dispute deadline alerts, and a saved store/evidence profile. Cancel anytime. No success fee.
Parry is not affiliated with Stripe, Visa, or Mastercard. Reason-code descriptions are general information, not legal advice; your processor's dispute notice controls deadlines and requirements. Last updated: November 3, 2026.