What a chargeback reason code is and who assigns it
When a cardholder disputes a charge, their bank, the issuer, reviews the complaint and files the chargeback through the card network. The issuer picks the reason code from the network rules that best fits the claim. Each network publishes its own rulebook, so the same problem carries a different code on each one. Visa uses numbers like 10.4 or 13.1, Mastercard uses four digit codes like 4837, Amex uses a letter and two digits like F29, and Discover uses letter codes like UA02 or AA.
Each code comes with its own conditions, time limits and list of acceptable evidence. A fraud code asks you to prove the real cardholder made the purchase, while a not received code asks for delivery or usage proof.
The four dispute categories
Visa groups its reason codes into four categories.
-
Fraud, codes 10.1 to 10.5. The cardholder says they did not authorize the transaction.
-
Authorization, codes 11.1 to 11.3. The charge was processed without a valid approval or after a decline.
-
Processing errors, codes 12.1 to 12.7. Something went wrong in how the charge was submitted, such as a wrong amount, wrong currency or a duplicate.
-
Consumer disputes, codes 13.1 to 13.9. The cardholder authorized the purchase but has a problem with the goods, the service, a cancellation or a refund.
Mastercard uses four similar groups. Authorization covers 4808. Fraud covers 4837, 4840, 4849, 4863, 4870 and 4871. Point of interaction errors cover 4831, 4834 and 4859. Cardholder disputes cover 4841, 4853, 4855 and 4860.
How reason codes map to Stripe dispute reasons
Stripe simplifies the network codes into a short list of dispute reasons. The raw network code is always kept in the network reason code field of the dispute, so you can see the exact rule the issuer used. Some codes can appear under more than one Stripe reason, depending on the claim.
| Stripe reason | Typical network codes |
|---|---|
| fraudulent | Visa 10.1 to 10.5, Mastercard 4837, 4840, 4849, 4870, 4871, Amex F29, Discover UA02 |
| unrecognized | Mastercard 4863, Discover AA |
| product_not_received | Visa 13.1, Mastercard 4855, Amex C08 |
| product_unacceptable | Visa 13.3, 13.4, 13.5, Mastercard 4853 |
| subscription_canceled | Visa 13.2, Mastercard 4841 |
| credit_not_processed | Visa 13.6, 13.7, Mastercard 4860 |
| duplicate | Visa 12.6.1, 12.6.2, Mastercard 4834 |
| general | Visa 11.1 to 11.3, 12.1 to 12.5, 12.7, 13.8, 13.9, Mastercard 4808, 4831, 4859 |
Visa reason codes
| Code | Name | Category | Stripe reason |
|---|---|---|---|
| 10.1 | EMV Liability Shift Counterfeit Fraud | Fraud | fraudulent |
| 10.2 | EMV Liability Shift Non Counterfeit Fraud | Fraud | fraudulent |
| 10.3 | Other Fraud Card Present | Fraud | fraudulent |
| 10.4 | Other Fraud Card Absent | Fraud | fraudulent |
| 10.5 | Visa Fraud Monitoring Program | Fraud | fraudulent |
| 11.1 | Card Recovery Bulletin | Authorization | general |
| 11.2 | Declined Authorization | Authorization | general |
| 11.3 | No Authorization | Authorization | general |
| 12.1 | Late Presentment | Processing error | general |
| 12.2 | Incorrect Transaction Code | Processing error | general |
| 12.3 | Incorrect Currency | Processing error | general |
| 12.4 | Incorrect Account Number | Processing error | general |
| 12.5 | Incorrect Amount | Processing error | general |
| 12.6.1 | Duplicate Processing | Processing error | duplicate |
| 12.6.2 | Paid by Other Means | Processing error | duplicate |
| 12.7 | Invalid Data | Processing error | general |
| 13.1 | Merchandise or Services Not Received | Consumer dispute | product_not_received |
| 13.2 | Cancelled Recurring Transaction | Consumer dispute | subscription_canceled |
| 13.3 | Not as Described or Defective | Consumer dispute | product_unacceptable |
| 13.4 | Counterfeit Merchandise | Consumer dispute | product_unacceptable |
| 13.5 | Misrepresentation | Consumer dispute | product_unacceptable |
| 13.6 | Credit Not Processed | Consumer dispute | credit_not_processed |
| 13.7 | Cancelled Merchandise or Services | Consumer dispute | credit_not_processed |
| 13.8 | Original Credit Transaction Not Accepted | Consumer dispute | general |
| 13.9 | Non Receipt of Cash or Load Transaction Value | Consumer dispute | general |
Mastercard reason codes
| Code | Name | Category | Stripe reason |
|---|---|---|---|
| 4808 | Authorization Related Chargeback | Authorization | general |
| 4831 | Transaction Amount Differs | Point of interaction error | general |
| 4834 | Point of Interaction Error | Point of interaction error | duplicate |
| 4837 | No Cardholder Authorization | Fraud | fraudulent |
| 4840 | Fraudulent Processing of Transactions | Fraud | fraudulent |
| 4841 | Cancelled Recurring or Digital Goods Transactions | Cardholder dispute | subscription_canceled |
| 4849 | Questionable Merchant Activity | Fraud | fraudulent |
| 4853 | Cardholder Dispute | Cardholder dispute | product_unacceptable |
| 4855 | Goods or Services Not Provided | Cardholder dispute | product_not_received |
| 4859 | Addendum No Show or ATM Dispute | Point of interaction error | general |
| 4860 | Credit Not Processed | Cardholder dispute | credit_not_processed |
| 4863 | Cardholder Does Not Recognize | Fraud | unrecognized |
| 4870 | Chip Liability Shift | Fraud | fraudulent |
| 4871 | Chip and PIN Liability Shift | Fraud | fraudulent |
American Express reason codes
Discover reason codes
How NoChargeback uses the reason code
NoChargeback reads the network reason code on every new dispute, not only the simplified processor reason. That code decides which evidence pack it builds. A fraud code pulls 3D Secure, AVS and CVV results, IP matches and prior orders. A not received code pulls delivery or usage proof. A subscription code pulls terms acceptance and renewal reminders.
Each pack comes with a drafted rebuttal letter for that code, a deadline countdown and one click submit. See the structure of the letter in our chargeback rebuttal letter template, and learn how prior orders help fraud cases in Compelling Evidence 3.0.
Who decides the chargeback reason code?
The cardholder's bank, the issuer, chooses the code from the card network rules based on the complaint. The merchant cannot change it, but can answer it with the evidence that code requires.
Why does the same problem have different codes on each network?
Visa, Mastercard, American Express and Discover each write their own dispute rules. A card not present fraud claim is 10.4 on Visa, 4837 on Mastercard, F29 on Amex and UA02 on Discover.
Where do I find the network reason code in Stripe?
Open the dispute and look at the network reason code field. Stripe shows a simplified reason such as fraudulent, but the raw network code is kept on every card dispute.
Can a reason code change during a dispute?
Sometimes. An issuer can move a case to a different code at a later stage, for example from an unrecognized inquiry to a fraud chargeback. Your response should always match the current code.