Skip to main content
Visa

Visa

Visa Issuer Response Code 21: No Action Taken

technical decline

Last updated: September 25, 2026

About 21 - "No action taken"

Key details

Brand
Visa
Code
21
Category
Issuer Response Codes
Response
21
Detailed Response
No action taken
technical decline

What it means

Visa response code 21 signifies that 'No action taken' was performed by the network or issuer. While it can appear as a generic unknown decline reason, processor documentation often maps this to scenarios where an attempt to undo or back out a prior transaction (such as a reversal or void) could not be completed. It indicates an ambiguous transaction state rather than a standard lack of funds or hard fraud decline.

Classification & retryability

technicalRetryable: conditional

Do not blindly retry this code. Before reattempting, reconcile the original authorization, capture, or reversal records using the processor transaction ID and idempotency key to confirm the actual state of the prior request. If the transaction legitimately failed and is not pending, a single controlled reauthorization may be attempted, though success is not guaranteed.

Why does code 21 occur?

  • An attempt to reverse, void, or back out a prior transaction could not be completed by the payment network or issuing bank.
  • The issuer returned an unmapped or ambiguous network response that the processor defaulted to code 21.
  • The transaction state is currently out of sync between the merchant gateway, the processor, and the issuing bank.

How to solve 21?

Reconcile the original authorization, capture, and reversal records using the processor transaction ID, retrieval reference number, timestamps, and idempotency key to confirm whether the prior request is pending or failed. If you are attempting to reverse a transaction, verify if the transaction was already settled or previously voided. For standard payment attempts returning this code, check the full gateway response for additional processor-specific context. If the transaction remains unmatched or stuck, escalate the identifiers to your acquirer or processor for review.

Solving as a merchant

Halt automated retry logic to prevent duplicate authorizations or leaving the original transaction unresolved. Cross-reference your internal logs with the processor's records to identify if this code was triggered by a failed reversal or a generic unknown decline. Escalate to your payment processor's support team if the original transaction status cannot be firmly verified.

Solving as a customer

Wait while the merchant investigates the true status of the transaction. If the merchant confirms the payment failed and cannot be reprocessed, contact the card issuing bank for more information or provide an alternative payment method.

Tip from SmartRetry Never immediately replay the authorization payload on a Code 21, as ambiguous transaction states create a high risk of duplicate charges. Instead, pause execution and trigger an automated status-lookup query first, retrying only after confirming no open authorization exists on the issuer side.

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