Visa · Chargeback reason codes
Visa 12.2 chargeback: Incorrect Transaction Code explained
Checked
Visa reason code 12.2, Incorrect Transaction Code, means the transaction was processed with the wrong code, for example a refund posted as a purchase, or a refund used where a reversal was required. The bank has 120 days from the processing date (or from the refund date) to file. When a credit was processed as a debit, the dispute can be for double the amount. Answer with the receipt proving the code was right.
- Category
- Processing error
- Time limit for the bank to file
- 120 days from the transaction processing date
- Time limit to respond
- Your processor's deadline (on Stripe usually 7–21 days); under Visa rules the acquirer files a Dispute Response within 30 days of the dispute processing date
- Typical evidence
- Receipt proving the correct transaction code
- Can it be prevented?
- Yes: train staff on sale, refund and reversal
- Who usually wins
- The merchant when the receipt shows the code was correct
What PlatformDTC does
PlatformDTC issues refunds through the processor's refund on the original charge, with a fixed idempotency key per order so the same refund is never sent twice, and checks the dispute record before every refund so money never leaves twice. PlatformDTC answers this kind of dispute with its standard evidence pack built from the order: customer name, email, IP address, billing and shipping address, items bought, carrier, tracking and ship date, the refund policy, and any refund already issued. With "Answer a chargeback automatically" switched on, it sends the response to the bank for you before the deadline.
What it means
The transaction carries the wrong type: a credit processed as a debit, a debit processed as a credit, or a refund issued where a reversal should have been.
Why customers file it
Manual keying errors at a terminal, or a refund flow that posts the wrong transaction type.
Evidence that wins
Under Visa rules every response can also show that you already refunded and the bank ignored it, that the dispute is invalid, or that the cardholder withdrew it.
- Receipt or record proving the transaction code was correct
- For a refund used instead of a reversal: the reversal the issuer ignored, or why a refund was used
How to prevent it
- Train staff on the difference between sale, refund and reversal
- Check refunds post as credits
For developers
On Stripe the dispute object arrives with reason "general" and the card network's own code in payment_method_details.card.network_reason_code; listen for charge.dispute.created and read evidence_details.due_by for the deadline.
Processing Error (category 12) disputes have a Dispute Response stage: the acquirer answers within 30 days, then the issuer may pre-arbitrate within 30 days of that response.
Frequently asked questions
- Why can a 12.2 be for double the amount?
- If a credit was processed as a debit, the cardholder was charged instead of refunded, so the correction covers both the missing credit and the wrong charge.
- How long does the bank have?
- 120 days from the processing date, or from the refund date when a refund was used instead of a reversal.
Sources
Related
- 12.5 — The cardholder was charged a different amount than they agreed to.
- 13.6 — The cardholder has a refund receipt, but the refund never reached their card.
- 12.3 — The transaction was processed in a different currency than the one shown to the cardholder.
- 12.4 — The charge was posted to a card number that does not match the cardholder's account.
- 12.6 — The cardholder says they were charged twice, or already paid another way.
- 12.7 — The authorization carried invalid data, such as a merchant category code that does not match settlement.
- 13.1 — The cardholder says the goods or services never arrived.