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.

The clock: chargeback response windows are typically 7–21 days depending on the network and processor. A missed deadline is an automatic loss. Check the deadline on your dispute notice before anything else — and if it really was a duplicate, refunding the extra charge immediately is faster and cheaper than fighting.

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:

Two legitimate charges look similar on a statement but separate cleanly in your records:

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

Structure the response like this

  1. 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."
  2. Side-by-side timeline. Two columns or two dated rows per charge — authorization → order → fulfillment — so the parallelism is visible at a glance.
  3. 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 1Charge 2
Date / authorizationJun 3, auth 084512Jun 17, auth 091733
Underlying recordOrder #2214Order #2287
FulfillmentDelivered Jun 6Delivered Jun 20
ExhibitsA, DA, B, C

Mistakes that lose winnable duplicate cases

MistakeWhy it loses
Sending records for only one chargeThe analyst is comparing two charges. Documenting one and asserting the other was "also legitimate" leaves the disputed half unproven.
Fighting a true duplicateIf 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 attachmentsTwo orders' worth of receipts shuffled together recreates the customer's confusion inside your own packet. Label by charge, every time.

Other reason codes

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.

Start — $10 first month Full evidence checklist

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.