VisaProcessing ErrorUpdated June 2026

Visa Reason Code 12.3: Incorrect Currency

The transaction was billed in a currency that the cardholder did not agree to or that was not properly disclosed at checkout — common in cross-border transactions and dynamic currency conversion scenarios.

Respond within ~30 days
Winnable with strong evidence

Your strongest argument

The currency was clearly disclosed at checkout and the cardholder accepted it before the transaction was completed.

Evidence that wins a Visa 12.3 dispute

  • Checkout or order confirmation showing the currency and amount as displayed and accepted before the transaction was completed
  • Authorization record confirming the currency submitted matches what the cardholder accepted
  • For dynamic currency conversion: proof the cardholder chose the converted currency with clear disclosure

Ordered strongest first — lead your rebuttal with the items at the top.

Source: Visa Core Rules and Visa Product and Service Rules; Visa Dispute Resolution (Visa Claims Resolution) documentation. The Visa rulebook defines this code and its dispute framework; the issuer decides every dispute and sets the exact deadline shown in your processor dashboard.

Not sure you have enough to win?

Run a free 60-second readiness check for Visa 12.3. Answer a few yes/no questions and get a 0–100 score, a green/amber/red evidence checklist, and your exact response deadline — no signup.

How processors label this dispute

ProcessorWhat you'll see
Stripereason: general (processing error)

Where to pull this evidence

Prove each charge was a separate, legitimate transaction. Here's exactly where the relevant records live in each processor dashboard — gather them free before you build your pack.

Stripe

Dashboard → Payments → Disputes (or the email alert from Stripe).

  • AVS & CVC check results: Open the original payment → Payment details → "Checks" (CVC, ZIP, address).
  • Customer email, IP, and device: Payment → Customer section and the "Risk insights" / Radar panel.
  • Receipt / order confirmation: Payment → "Send receipt" or your order-management system; export the PDF.
  • Refund history & reference IDs: Payment → Timeline shows any refunds with their re_… reference IDs.

Shopify Payments

Shopify admin → Orders → the flagged order → "Chargeback" banner, or Settings → Payments → Manage disputes.

  • Order & fulfillment details: Orders → the order → Fulfillment + Timeline (shows when items shipped).
  • Tracking number & carrier: Orders → Fulfillment → tracking; confirm "Delivered" status with the carrier.
  • Customer info & IP: Order → Customer section; Order → Additional details / fraud analysis for IP and AVS/CVV.
  • Fraud analysis (AVS/CVV/risk): Order → "Fraud analysis" panel shows AVS, CVV, and Shopify’s risk indicators.

Square

Square Dashboard → Disputes (or Balance → Disputes), or the email from Square.

  • Transaction & receipt: Transactions → the payment → receipt; "Resend receipt" for a copy.
  • Card-present / chip details: Transaction detail shows entry method (chip, tap, keyed) — chip reads support card-present disputes.
  • Customer details: Customer Directory → the customer; or the transaction’s customer section.
  • Itemization & amount: Transaction → itemized breakdown to rebut "incorrect amount" claims.

PayPal

PayPal → Resolution Center → the open case (Dispute, Claim, or Chargeback).

  • Transaction details & ID: Activity → the transaction → details; note the Transaction ID.
  • Proof of delivery / tracking: Resolution Center → "Respond" → add tracking number + carrier (PayPal validates delivery).
  • Proof of shipment / service: Resolution Center evidence upload: invoice, shipment receipt, or service-completion proof.
  • Buyer communication: Resolution Center message thread + your own email records with the buyer.

Build a submission-ready Visa 12.3 response

ChargebackKit assembles your evidence into a formatted, labeled rebuttal pack with the exhibits and response letter card networks expect — pre-mapped to Duplicate Charge disputes.

Verified against the official Visa Core Rules and Visa Product and Service Rules; Visa Dispute Resolution (Visa Claims Resolution) documentation3-day money-back guarantee if your pack isn’t structured correctly for your dispute

Or run the free readiness check first →

Frequently asked questions

What is Visa reason code 12.3?
Visa 12.3 ("Incorrect Currency") is a processing-error code filed when a transaction was billed in a currency that the cardholder did not agree to or that was not properly disclosed — most often in cross-border or dynamic currency conversion (DCC) situations.
How do I rebut a Visa 12.3?
Submit checkout or order records showing the currency and amount were clearly disclosed and accepted by the cardholder before the transaction. For DCC disputes, proof that the cardholder affirmatively chose the converted currency is the key defense.
Is dynamic currency conversion a common trigger for 12.3?
Yes. When a cardholder at a foreign terminal is offered the option to pay in their home currency and later disputes the currency used, 12.3 may result. Clear, cardholder-accepted disclosure of the conversion at the point of sale is the best prevention.

Where to go next

Build the pack for Duplicate Charge disputes, or dig into the matching guide, template, and processor evidence requirements.

Updated June 2026. This code’s meaning and evidence requirements are sourced from the Visa Core Rules and Visa Product and Service Rules; Visa Dispute Resolution (Visa Claims Resolution) documentation and may change as Visa revises its rules; always check your processor dashboard for the exact deadline and label on your dispute. The issuer decides every dispute — there is no guaranteed outcome.