Visa Reason Code 12.2: Incorrect Transaction Code
Visa reason code 12.2 applies when a transaction was processed with the wrong transaction code. The classic case is a refund processed as a sale, so the cardholder is charged instead of credited. It also covers a credit processed when a reversal was required. Win it by proving the code was correct.
What Visa reason code 12.2 means
Reason code 12.2 is a Processing Errors dispute about the type of transaction, not its amount or date. Every card transaction carries a code that says whether it is a purchase (debit), a refund (credit) or another type. If the wrong code is used, money moves in the wrong direction.
Visa’s condition covers:
- A credit processed as a debit: the customer was supposed to receive a refund and was charged instead.
- A debit processed as a credit, the reverse error.
- A credit processed when a reversal was required, for example refunding a transaction that should have been voided.
12.2 is a collaboration code. You can respond in the dispute-response stage, and the issuer can continue to pre-arbitration if it rejects your response.
Most 12.2 disputes are valid. It is a mechanical error, and when it happens the cardholder genuinely lost money.
Common causes
- Staff selecting “sale” instead of “refund” on a POS terminal
- Custom or legacy payment integrations that send the wrong transaction type for refunds
- Voids and refunds handled inconsistently across systems
- Manual entries in a virtual terminal for phone orders or exchanges
Evidence that wins a 12.2 dispute
- The order record showing the disputed transaction was a genuine purchase: items, total, customer and order ID (for example AB1-10023).
- Transaction logs from your gateway showing the transaction type and the action that created it.
- For credit-instead-of-reversal claims, your explanation and records showing why a credit was the correct way to return the funds, with its amount and date.
- Customer communication confirming the purchase, if the cardholder disputes the transaction type in bad faith.
How to prevent 12.2 chargebacks
- Use refund functions that reference the original transaction instead of keying a new one.
- Restrict manual virtual-terminal entries to trained staff.
- Test refund and void flows in any custom payment integration, and retest after every update.
- Reconcile refunds daily: every refund in your order system should match a credit at the processor.
Should you fight or accept?
Fight when the disputed transaction was a real sale, coded correctly, and the cardholder has misread their statement or is trying to reverse a valid purchase.
Accept when you find the error. Don’t also issue a separate refund, or the cardholder will be credited twice. If you’ve already refunded, the issue overlaps with disputes after a refund and your response should show the credit clearly.
Frequently asked questions
What is Visa reason code 12.2?
How do I win a Visa 12.2 chargeback?
Should I just refund a 12.2 dispute?
Related reason codes
Browse every Visa, Mastercard, Amex and Discover reason code →