A chargeback notice arrives with three things that matter: the transaction reference, the amount, and a reason code. The reason code is the whole game. Card networks maintain their own code sets (Visa uses codes such as 10.4 for card-absent fraud, Mastercard uses four-digit codes such as 4837 for no cardholder authorization) and each code dictates the exact documentation the issuer expects to see, as set out in this reference on chargeback reason codes and in Mastercard's merchant guidance on disputing chargebacks.
The mistake most operations teams make is writing the rebuttal letter before checking the code. A 300-word letter explaining that shipping is generally reliable does nothing for a code that asks for a signed proof of delivery. Group every dispute into one of four buckets and you will never misroute the work: the cardholder says they never authorized the transaction (fraud), the cardholder says goods never arrived, the cardholder says goods were not as described or services were not delivered, or the cardholder says a credit or cancellation was not processed. Each bucket demands a different evidence set, which the next sections cover.
One more diagnostic step before you write anything: check whether the transaction was authenticated. If the payment went through 3D Secure and the customer authenticated successfully, liability for fraudulent-type disputes generally shifts to the issuer, as Stripe explains for its liability shift rules. That does not make the dispute disappear. It changes what you submit: the 3DS artifacts (the authentication value the merchant received, the electronic commerce indicator, and the server transaction identifiers) become the spine of your response, as described in this 3DS liability guide for US merchants. Non-fraud disputes get no liability shift at all, so delivery and service evidence still carry the case.



