Error codes
Soft decline
Adyen
Adyen code XA – Forward to Issuer
The transaction needs to be forwarded to the issuer. The shopper should contact their issuing bank for clarification.
What does Adyen refusal code XA mean?
Adyen refusal code XA Forward to Issuer is a generic refusal indicating that the issuer was contacted but the transaction was blocked without a specific detailed reason. It behaves similarly to code 01 (refer to card issuer) and maps loosely to Stripe's do_not_honor family.
Is it a soft or hard decline?
Code XA is a soft decline. Because the refusal is generic, underlying reasons vary and a meaningful portion of XA declines recover with well-timed retries.
Common root causes
Issuer risk / velocity triggers
Temporary issuer-side conditions
Unrecognized descriptor on a recurring charge
Geographic or MCC mismatches
Recommended recovery steps
Retry with intelligent timing rather than immediately.
Apply 3-D Secure where available to reduce risk scoring.
Clarify merchant descriptor to minimize cardholder-initiated blocks.
Escalate to outreach if retries persistently fail.
How FlyCode handles Adyen code XA
FlyCode's per-merchant ML models and network-level signals identify which XA declines are likely to clear on retry versus those that need customer contact. Smart retries recover transient cases; AI outreach handles persistent ones without wasting acquirer fees.
What does Adyen refusal code XA mean?
Adyen refusal code XA Forward to Issuer is a generic refusal indicating that the issuer was contacted but the transaction was blocked without a specific detailed reason. It behaves similarly to code 01 (refer to card issuer) and maps loosely to Stripe's do_not_honor family.
Is it a soft or hard decline?
Code XA is a soft decline. Because the refusal is generic, underlying reasons vary and a meaningful portion of XA declines recover with well-timed retries.
Common root causes
Issuer risk / velocity triggers
Temporary issuer-side conditions
Unrecognized descriptor on a recurring charge
Geographic or MCC mismatches
Recommended recovery steps
Retry with intelligent timing rather than immediately.
Apply 3-D Secure where available to reduce risk scoring.
Clarify merchant descriptor to minimize cardholder-initiated blocks.
Escalate to outreach if retries persistently fail.
How FlyCode handles Adyen code XA
FlyCode's per-merchant ML models and network-level signals identify which XA declines are likely to clear on retry versus those that need customer contact. Smart retries recover transient cases; AI outreach handles persistent ones without wasting acquirer fees.
What does Adyen refusal code XA mean?
Adyen refusal code XA Forward to Issuer is a generic refusal indicating that the issuer was contacted but the transaction was blocked without a specific detailed reason. It behaves similarly to code 01 (refer to card issuer) and maps loosely to Stripe's do_not_honor family.
Is it a soft or hard decline?
Code XA is a soft decline. Because the refusal is generic, underlying reasons vary and a meaningful portion of XA declines recover with well-timed retries.
Common root causes
Issuer risk / velocity triggers
Temporary issuer-side conditions
Unrecognized descriptor on a recurring charge
Geographic or MCC mismatches
Recommended recovery steps
Retry with intelligent timing rather than immediately.
Apply 3-D Secure where available to reduce risk scoring.
Clarify merchant descriptor to minimize cardholder-initiated blocks.
Escalate to outreach if retries persistently fail.
How FlyCode handles Adyen code XA
FlyCode's per-merchant ML models and network-level signals identify which XA declines are likely to clear on retry versus those that need customer contact. Smart retries recover transient cases; AI outreach handles persistent ones without wasting acquirer fees.
Understanding This Decline Code
Extended content body
Frequently Asked Questions
Is Adyen code XA a soft or hard decline?
Is XA related to do_not_honor?
Yes — they're both generic issuer refusals without a specific stated reason. XA is typically returned by certain acquirer integrations as an equivalent response; recovery logic is very similar to Stripe's do_not_honor.
How does FlyCode handle Adyen XA?
FlyCode's ML models classify XA declines by pattern, retrying transient cases with issuer-aware timing and triggering outreach for persistent ones — without wasted attempts.

