Guide · Reason codes
Chargeback reason codes explained
A reason code is the label the cardholder’s bank puts on a chargeback to say why it was filed. Each card network has its own codes: Visa uses numbers like 13.1, Mastercard four digits like 4853, American Express codes like C08. The code decides what the bank will check, so it decides what evidence you need.
Key takeaways
- The code is the question. It tells you exactly what the bank will check.
- Every network has its own codes. Visa 13.1 and Mastercard 4853 live in different rulebooks.
- Your processor may relabel it. Find the original network code, not just the friendly category.
- Codes can be wrong. An invalid dispute is a defense in its own right.
What is a chargeback reason code?
A reason code is the label the cardholder’s bank attaches to a chargeback to say why it was filed. The customer tells their bank a story (“I never got it,” “I cancelled,” “that wasn’t me”), and the bank translates it into one of the card network’s codes.
That translation matters more than anything the customer said to you. The code decides which network rule applies, what the bank must prove to keep the dispute, and what you must show to win it back.
How each card network numbers its codes
| Network | Format | Examples |
|---|---|---|
| Visa | Four categories, numbered 10 to 13, each with conditions such as 13.1 | 10.4 Other Fraud: Card-Absent Environment; 13.1 Merchandise/Services Not Received; 13.2 Cancelled Recurring Transaction |
| Mastercard | Four-digit codes grouped into a few large families | 4837 No Cardholder Authorization; 4853 Cardholder Dispute; 4834 Point-of-Interaction Error; 4808 Authorization-related |
| American Express | A letter plus digits; the letter names the family | C08 Goods/Services Not Received or Only Partially Received; C28 Canceled Recurring Billing; F29 Card Not Present |
| Discover | Numeric codes; Discover’s own rules reach you through your acquirer | 4755 Non-Receipt of Goods or Services; 4541 Recurring Payment (as listed by Stripe) |
Look up any single code in our reason code lookup.
Visa’s four categories
Visa’s structure is the easiest to learn, and the most common on US notices.
- 10, Fraud. The cardholder says they didn’t make or allow the purchase. Codes 10.1 to 10.5.
- 11, Authorization. Something was wrong with the approval, such as a declined or missing authorization. Codes 11.1 to 11.3.
- 12, Processing errors. Duplicate charges, wrong amounts, late or incorrect processing. Codes 12.1 to 12.7.
- 13, Consumer disputes. The customer got nothing, got the wrong thing, cancelled or was promised a refund. Codes 13.1 to 13.9.
The category also changes the process. For Visa fraud and authorization disputes, your response is handled as the first step of pre-arbitration, with different rules for what the bank can do next.
Mastercard’s families, and the old codes you’ll still see
Mastercard’s current guide organizes chargebacks into a few broad families: authorization-related (4808), point-of-interaction errors (4834), fraud (4837, plus chip liability codes 4870 and 4871) and cardholder disputes (4853). Many specific problems sit underneath 4853 as sub-reasons.
Processors and older notices still print legacy numbers, such as 4855 for goods or services not provided, 4860 for credit not processed and 4841 for cancelled recurring transactions. Same idea, older label. Treat them as the family they belong to and check the notice text.
Your processor’s label vs the network code
Processors simplify. Stripe groups hundreds of network codes into a short list of categories, such as “Fraudulent,” “Product not received,” “Product unacceptable,” “Subscription canceled,” “Credit not processed” and “Duplicate.” Visa 13.1 shows up as “Product not received.” So does American Express C08.
That’s helpful for sorting, but the bank applies the network rule, not the processor category. Two disputes in the same Stripe category can need different answers. Always find the original code on the notice or in the dispute details.
Insight: the reason code doesn’t always match the customer’s story. A customer who told you “it broke” may have a bank that filed fraud. Answer the code the bank filed, because that’s the only one it will check.
Why the code decides your evidence
Each code asks a different question. A “not received” code asks whether the goods or service reached the customer. A “cancelled recurring” code asks whether they cancelled and when. A fraud code asks whether the real cardholder took part. Stripe’s own example: proof of your return policy isn’t relevant when the claim is that the product never arrived.
Evidence that answers a different question doesn’t count, however good it is. See the evidence checklist for the general kinds of proof banks look for.
When the code itself is wrong
Banks make mistakes. Card network rules give merchants defenses that don’t depend on the merits at all:
- Filed too late. The bank missed its own time limit.
- Filed twice. The same transaction disputed more than once.
- Refund already issued. You credited the customer before the chargeback.
- Wrong condition. The facts don’t fit the code the bank chose.
These checks are quick and often overlooked. They belong first, before any argument about what happened.
Dispute Daddy reads the reason code on your notice and builds the response around what that code requires, from your own records. You approve and submit it. See how the Dispute Daddy Method works.