Chargeback reason codes, and the Shopify evidence that answers each one


TL;DR
Every chargeback reduces to one of six allegations, whatever number the network prints on it: fraud, not received, not as described, cancelled recurring, credit not processed, or duplicate. Visa numbers them 10.x through 13.x; Mastercard numbers the same six claims 4837, 4855, 4853, 4841, 4860, and 4834. The matrix below maps each to the Shopify-native evidence that answers it, and to whether it counts against your Visa VAMP ratio, which by Visa's own fact sheet is every one of them except a fraud report that separately qualifies for Compelling Evidence 3.0.
Two disputes land in the same week. One is coded 13.1. The other is coded 4837. A merchant who does not know the difference sends the same packet to both: order confirmation, invoice, a product photo. Both lose.
They lose for the same reason. Neither packet answers what was actually alleged, and the two codes were not alleging the same thing.
A reason code is not a filing category. It is the specific claim the cardholder made to their bank, and underneath the network-specific numbering there are only six claims in real circulation: never authorized, never arrived, not what was listed, cancelled and still billed, owed a credit that never came, or charged twice. Visa numbers these 10.x through 13.x. Mastercard numbers the same six claims 4837, 4855, 4853, 4841, 4860, and 4834. Shopify collapses both into the labels you actually see on a dispute in your admin. The number matters less than which of the six claims it maps to, because that claim is the only thing your evidence has to disprove.
What a reason code is actually asking you to prove
Every network runs its own rulebook, and the numbers differ because the rulebooks were written independently, not because the underlying disputes differ. Stripe's own dispute documentation, which maps reason codes across Visa, Mastercard, American Express, and Discover into shared categories, groups the bulk of consumer disputes into the same handful of allegations regardless of network: fraud, product not received, product unacceptable, subscription cancelled, credit not processed, and duplicate.
That grouping matters more than the digits. Evidence that answers "the cardholder never authorized this" (AVS results, an IP address, a device ID) does nothing for "the cardholder authorized it but never received it" (carrier tracking, a delivery scan, a matched address). Filing the wrong kind of proof is the single most common reason a winnable case loses, and it is the same argument behind chargeback representment explained without the vendor spin: evidence has to contradict the specific accusation, not describe the order.
The evidence matrix, Visa and Mastercard codes mapped to Shopify
Read the row for the label on your actual dispute, not the one you assume it is. Reason codes get revised and renumbered by both networks, so treat the numbers below as current as of this check and confirm against the live dispute record before you build a packet from them.
| Shopify calls it | Reason code (Visa / Mastercard) | What the cardholder is alleging | Shopify-native evidence that answers it | Counts toward VAMP? |
|---|---|---|---|---|
| Fraudulent | 10.4 / 4837 | Someone other than the cardholder made this charge | AVS and CVV match results, the purchase IP address, device ID, and for repeat customers, two prior undisputed transactions on the same card dated 120 to 364 days earlier (Compelling Evidence 3.0) | Only the TC40 fraud report is excluded, and only if it separately qualifies for CE 3.0, contingent on timing. The chargeback itself is still a TC15 count |
| Product not received | 13.1 / 4855 | Nothing arrived | Carrier tracking showing a delivery scan, the delivery address matched to the order's shipping address, a signature or delivery photo where the carrier captured one | Yes, no exclusion |
| Product unacceptable | 13.3 / 4853 | What arrived was wrong, damaged, or not what was listed | The product page copy and images as of the purchase date, the variant and spec actually ordered, the support thread or its absence | Yes, no exclusion |
| Subscription canceled | 13.2 / 4841 | Billed after cancelling, or never agreed to the recurring charge | The terms accepted at signup, the cancellation log showing nothing filed before the renewal, the renewal notice, account activity after the renewal date | Yes, no exclusion |
| Credit not processed | 13.6, 13.7 / 4860 | Returned the item or was promised a refund that never posted | The refund and return policy, the actual refund transaction and its timestamp, the message that promised it | Yes, no exclusion, and check your own ledger before you argue the refund went out |
| Duplicate | 12.6.1, 12.6.2 / 4834 | Charged twice for the same purchase | Transaction records for both charges showing two distinct orders or services, or an explanation of why one charge legitimately covers both | Yes, no exclusion |
Shopify's own reason list has two more labels this matrix leaves out on purpose. Unrecognized is functionally the fraud claim under a different name (the cardholder does not recognize the descriptor, not the goods), and General is Shopify's catch-all for a dispute that has not yet declared which of the six it actually is, so the first job on a general dispute is finding out.
The same six claims, numbered differently by network
Visa spreads the fraud allegation across 10.1 through 10.5 depending on the specific fraud circumstance, with 10.4 (other cardholder-not-present fraud) the one that comes up most for ecommerce. Mastercard folds a comparable set of claims into 4837 plus a few adjacent codes it uses for closely related circumstances. Neither network's split changes what you have to prove: that the cardholder, not a stranger, was behind the purchase.
The same pattern holds for the other five rows. Visa treats a missed refund and a cancelled order as two flavors of one complaint, 13.6 and 13.7, where Mastercard uses a single 4860. American Express and Discover run their own numbering again, though Stripe's mapping lands them in the same six buckets. Six correct evidence packets beat memorizing thirty codes across four networks, which is the case for a Shopify-native matrix over a per-network cheat sheet. When your volume sits mostly on one network, the per-network references go code by code: the Visa reason codes and Mastercard reason codes breakdowns.
Assembling any one of these packets by hand runs 20 to 45 minutes once you count pulling the carrier record, the support thread, and the order data into one place. Reclaim reads the reason code off the dispute and assembles the matching evidence automatically, without an install fee or a cut of what comes back. The lookup above is the same mapping it runs against.
Which of these actually count against your VAMP ratio
This is the part most reason-code roundups skip, and it is the reason the table above has a VAMP column at all.
Visa's Acquirer Monitoring Program fact sheet defines the VAMP ratio as the count of fraud (TC40) plus disputes (TC15), divided by the count of settled transactions (TC05). Its stated exclusions are narrow: disputes resolved through pre-dispute solutions, and TC40 fraud that qualifies for Compelling Evidence 3.0, both contingent on the timing of the data extract.
Note
Read that exclusion list for what it does not say. It excludes a TC40 fraud report that separately qualifies for CE 3.0, not the TC15 chargeback itself. Every other row in the matrix above, including the ones you fight and win, is a dispute the moment it is filed, with no matching exclusion at all.That is why five of the six rows above show a flat yes. Product not received, product unacceptable, subscription cancelled, credit not processed, and duplicate carry no reason-code exclusion in Visa's framework. They count the day the chargeback lands, and winning the representment recovers the money without touching the count. Only the fraud row has anything resembling an out, and it is conditional, not automatic.
This piece uses Visa's numbers because Visa publishes a current, public fact sheet stating the ratio formula and thresholds plainly. Mastercard runs a comparable monitoring framework with different mechanics and thresholds of its own. If most of your dispute volume sits on one network, that network's own monitoring program is worth reading separately from this cross-network matrix.
The honest part
Matching the right evidence to the right code improves your odds. It does not guarantee a ruling. The issuer decides, and no vendor, including one quoting this matrix, can promise an outcome for a specific case.
The numbers above will drift. Both networks revise reason codes over time, and Shopify's labels can shift with them. Pull the current dispute rules for the network on your case before building a packet from a saved list, this one included. This matrix also does not cover American Express or Discover in the same depth. If your processor mix leans on either, confirm their codes directly rather than assuming the mapping above transfers exactly.
One more limit worth stating. This matrix assumes you can build the evidence packet once you know which allegation you are answering; if you have not read the reason code on the actual dispute record yet, start there before the matrix above does you any good.
Frequently asked questions
Do Visa and Mastercard use the same reason code numbers?
No. The digits differ by network, for example Visa 13.1 versus Mastercard 4855 for product not received, but both are alleging the same thing. Match the allegation, not the number, when you decide what evidence to attach.
Does winning a dispute remove it from my VAMP ratio?
No, with one narrow exception. Visa's Acquirer Monitoring Program fact sheet excludes only a TC40 fraud report that separately qualifies for Compelling Evidence 3.0, contingent on timing. Every other reason code, including ones you fight and win, counts as a dispute the day it is filed.
What does Shopify call reason code 13.1 or 4855?
Product not received. Shopify sorts every dispute into one of eight labels: Fraudulent, Unrecognized, Duplicate, Subscription canceled, Product not received, Product unacceptable, Credit not processed, or General, each mapping to network-specific codes behind the scenes.
Which evidence answers a product unacceptable claim?
The product page copy and images exactly as they stood on the purchase date, the variant and specification the customer actually ordered, and the support thread, or the fact that none exists. A current product page proves nothing about what was listed when the order was placed.
The check to run against your own disputes
Pull last quarter's chargebacks and sort them by the actual reason code on the record, not by a label someone typed into a spreadsheet. For each one, find its row in the matrix above and ask whether what you submitted matches that row's evidence column or just proves the order was real. The gap between those two answers is usually where a recoverable case turned into a loss.