Skip to main content

Visa

Visa Issuer Response Code 12: Invalid Transaction

hard decline

Last updated: October 8, 2026

Key details

Brand
Visa
Code
12
Response
12
Detailed Response
Invalid transaction
hard decline
This transaction is not retriable

Payments failing with code 12 are hard declines and typically cannot be recovered by retrying. SmartRetry still helps you avoid future hard declines with smarter routing and validation.

But many other declines in your payment flow may still be recoverable. SmartRetry identifies which failed transactions have recovery potential and applies the right strategy to recover them.

Find out what you can recover >

What it means

Visa response code 12 indicates an 'Invalid transaction.' This error occurs when the issuing bank or payment network rejects the transaction request because it contains invalid parameters or represents an operation not permitted for the card or merchant setup.

Why does code 12 occur?

  • The transaction request contains missing, malformed, or conflicting data fields.
  • The cardholder's account is restricted from performing this specific type of transaction.
  • The merchant account is attempting an operation or currency not supported by the issuing bank.

How to solve 12?

Examine your gateway and processor logs to verify the format and contents of the authorization request. Ensure that all mandatory transaction fields, currency codes, and processing indicators comply with Visa network rules. If the technical request is valid, advise the cardholder to use a different card or check with their issuing bank.

Solving as a merchant

Verify that your payment integration is sending properly formatted authorization requests and that your merchant account supports the attempted payment type. If the payload is correct, prompt the customer for an alternative payment method.

Solving as a client

Contact your card-issuing bank to verify if your card has restrictions against this type of transaction, or use an alternative payment card to complete the purchase.

Tip from SmartRetry Suppress immediate automated retries on code 12, as resubmitting identical payloads will consistently fail. Instead, verify whether the decline stems from acquirer-level terminal or currency restrictions, then conditionally reroute through an alternative processing pathway that supports the transaction configuration.

Frequently asked questions about this topic

Share this article

Share on XShare on FacebookShare on LinkedIn
Kyle Regacho

Author

Kyle Regacho
LinkedInFind me on Linkedin

Focused on payment recovery, decline codes, and authorization optimization at SmartRetry. Helps payment teams turn failed transactions into recovered revenue

Read all articles >
View all

Decline codes tell you why. We fix it.

SmartRetry reads every decline reason and applies the right retry strategy for each one. Your recovery rate goes up without any changes to your payment provider.