Back to blog
AI IN PAYMENTS

Same Decline, Five Different Codes: Why Multi-Provider Decline Data Lies Until You Normalize It

Every PSP relabels the same issuer decline, so comparing raw codes across providers measures vocabulary differences, not issuer intent. This guide shows how to build a normalized decline taxonomy that maps every code to one of five actions: retry, refresh, authenticate, ask, or stop.

Four providers report one issuer decline under different codes; they converge into one normalized class with a single decision.

What you will learn: Why the same issuer decline produces different codes at each provider, how to spot the translation gap in your own multi-provider decline data, and how to build one normalized decline taxonomy that maps every code to a clear decision: retry, refresh, authenticate, ask the customer, or stop.

The thesis is direct. Decline analysis across providers is only as good as its translation layer. Heads of payments who compare raw codes across PSPs are comparing vocabularies. They are not comparing issuers. Every routing and retry decision built on raw codes is built on a mistranslation.

Key takeaways

  • An issuer decline is translated at minimum twice before it reaches your system: once at the card network and once by the acquirer or PSP, according to Visa Developer VisaNet Connect documentation.
  • Hard decline codes must never be retried. According to Visa Rules on Declined Transaction Resubmission, merchants are not permitted to reattempt Category 1 transactions, those the issuer will never approve.
  • Soft declines and authentication failures are distinct events requiring different actions. Merchant Advice Codes and EMV 3-D Secure ECI codes each carry their own decision logic.
  • A normalized taxonomy sits between raw provider data and your retry logic. It converts every incoming code into one of five action classes before any decision is made.
  • Set-and-forget decline logic is a revenue leak. Code definitions change, issuers update mappings, and a taxonomy that is not maintained drifts away from live network rules.

How a decline actually travels

An issuer decline is a single, authoritative response that gets relabeled at every hop on its way back to you. Understanding the hop count is the first step toward fixing your data.

When a customer submits a card payment, the authorization request travels outward: merchant to PSP, PSP to acquirer, acquirer to card network, card network to issuer. The issuer makes one decision and sends one response code back. That code then travels the same path in reverse.

According to Visa Developer VisaNet Connect documentation, Visa translates API messages and routes the issuer response back toward the merchant. The PSP then receives that network-level code and maps it to its own internal label before surfacing anything to you. By the time the code lands in your dashboard, it has passed through at minimum two translation layers: one at the network and one at the acquirer or PSP.

PSP A might return do_not_honor. PSP B might return generic_decline. PSP C might return card_declined_05. All three can originate from the identical issuer response. None of the strings match. And none of them tell you, without further translation, whether to retry, stop, or do something else entirely.

The three mistakes this creates

Mistake one: treating all soft declines as retryable without checking network rules

Not all declines that look soft are safe to retry immediately, and retrying the wrong ones violates network rules. This is where raw-code analysis causes the most direct compliance risk.

Visa's decline resubmission rules define Category 1 as codes where the issuer will never approve. According to Visa Rules on Declined Transaction Resubmission, merchants are not permitted to reattempt a transaction carrying a Category 1 code. A PSP that surfaces this as a generic decline string, without flagging the hard-stop class, leaves the retry decision entirely to the merchant. Without a taxonomy that maps the raw code to the Category 1 class, merchants retry transactions they are prohibited from retrying.

Mistake two: conflating authentication failures with authorization declines

A 3DS authentication failure is not an issuer decline, and actioning it as one wastes the retry opportunity. The two events require completely different responses.

According to Yuno API Documentation, Electronic Commerce Indicator (ECI) codes in EMV 3-D Secure tell merchants whether authentication succeeded, was attempted, failed, or was not permitted. An ECI code indicating failed authentication means the transaction never reached the issuer for authorization. Retrying without addressing the authentication gap produces the same failure. The correct action is to re-authenticate or step up the flow, not to route to a different PSP.

Mistake three: comparing decline rates across PSPs on raw code volume

A PSP processing higher-risk segments will show a higher raw decline rate even if its routing performs better than a cleaner-mix competitor. Raw rates are not comparable without normalization.

When PSP A handles your subscription renewals and PSP B handles your one-time purchases, their decline rate gap reflects transaction mix as much as performance. Normalizing by decline class, separating hard stops from soft retries from stale-credential failures, produces a comparable signal. Raw rates produce a misleading one.

Building the translation layer

A normalized decline taxonomy is a mapping table that converts every raw code from every provider into one of five action classes. It is the only reliable input to retry logic, routing rules, and decline trend analysis.

The five action classes, drawn from Merchant Advice Code guidance in Yuno API Documentation and Visa's resubmission framework, are:

  • Hard stop: Do not retry. The issuer will not approve this card for this transaction. Surface to the customer only if they need to act, such as replacing an expired or blocked card.
  • Soft retry: Retry after the network-specified interval. Respect Visa and Mastercard resubmission rules on timing and attempt count.
  • Data refresh: The card credential is stale. Update via Account Updater or a network token refresh before retrying.
  • Authenticate: The transaction failed at the authentication stage, not the authorization stage. Re-run 3DS or adjust the authentication flow before retrying.
  • Customer action: The issuer has flagged the account in a way only the cardholder can resolve. Prompt the customer to contact their bank or use a different payment method.
Every decline class maps to exactly one action before any retry logic runs. Illustrative; classes derived from Visa Rules and Yuno API Documentation on MACs. Hard Stop: Do not retry. Issuer will never approve. Surface to customer only if they must act on their card. (Category 1 (Visa Rules), No resubmission). Soft Retry: Retry after network-specified interval. Respect resubmission timing and attempt limits. (MAC guidance, Interval rules apply). Data Refresh: Credential is stale. Update via Account Updater or token refresh before retrying. (Stale PAN or expiry, Refresh before retry). Authenticate: Failed at 3DS stage, not authorization. Re-run EMV 3DS or adjust auth flow before retrying. (ECI codes, Auth gap not decline).
Every decline class maps to exactly one action before any retry logic runs. Source: Illustrative

According to Yuno API Documentation, Merchant Advice Codes map normalized guidance to network equivalents specifically to drive retry decisions. Your taxonomy should extend that logic: every code from every provider must resolve to one of the five classes above before any downstream system acts on it.

Raw code comparison fails where normalized taxonomy succeeds. Illustrative; criteria derived from Visa Rules and Yuno API Documentation on MACs. Identical issuer intent across PSPs: Raw PSP codes: Same intent, different strings; Normalized taxonomy: One class per issuer intent. Retry rule compliance (Visa Category 1): Raw PSP codes: Hard stops may be retried; Normalized taxonomy: Category 1 blocks retry. 3DS vs auth-decline distinction: Raw PSP codes: ECI mixed with declines; Normalized taxonomy: Auth and decline separated. Actionable next step surfaced: Raw PSP codes: Code only; no action guidance; Normalized taxonomy: Maps to retry, stop, refresh. Trend analysis across providers: Raw PSP codes: Volume skewed by PSP share; Normalized taxonomy: Normalized across providers.
Raw code comparison fails where normalized taxonomy succeeds. Source: Illustrative

How to detect the gap in your own data

Three diagnostic checks reveal whether your current analysis is operating on raw codes or a real taxonomy. Run them before building anything.

First, pull the top 20 decline codes by volume from each active PSP. Map each one to its issuer-intent class manually. If codes with the same intent carry different strings across providers, the gap exists. Second, check your retry logic configuration. If any retry rule fires on a string match rather than a class match, you are retrying on vocabulary. Third, query whether your ECI failure codes route to the same retry logic as authorization declines. If they do, authentication failures are being retried as issuer decisions.

The gap is almost always present in multi-provider environments. This is not a sign of poor operations. It is a structural consequence of how decline data travels through networks and acquirers.

Worked example: a hypothetical mid-size merchant

This company is hypothetical. Every assumption below is stated. No real merchant data is used.

Assume a merchant processing 50,000 card transactions per month with an 8% decline rate. That produces 4,000 declined transactions per month (50,000 multiplied by 0.08). Assume 60% of those declines are soft declines or data-refresh cases being incorrectly classified as hard stops by raw-code matching. That gives 2,400 transactions per month carrying the wrong action class (4,000 multiplied by 0.60). Assume an average ticket of $45.

Revenue at risk from incorrect hard-stop classification:

  • Total monthly declines: 50,000 multiplied by 0.08 equals 4,000 transactions
  • Transactions with incorrect action class: 4,000 multiplied by 0.60 equals 2,400 transactions
  • Monthly revenue at risk: 2,400 multiplied by $45 equals $108,000
  • Annual revenue at risk: $108,000 multiplied by 12 equals $1,296,000

After normalization correctly reclassifies those 2,400 transactions as soft retries or data-refresh cases, they become eligible for recovery. The monthly revenue exposure drops by $108,000. The annual figure is $1,296,000. This assumes the action class is correct. Appropriate retry or refresh logic can now run.

Where Yuno fits

Yuno operates as the AI-native intelligence system of global payments and financial services, sitting above all providers with no stake in which one processes the transaction. That neutrality is what makes cross-provider decline normalization tractable.

Because Yuno connects to providers through one integration, it receives decline responses from all of them through a single ingestion point. The Analytics and Insights module surfaces decline data in normalized form across all connected providers. Smart Routing can act on normalized decline classes directly, routing retries only when the class permits it and routing to a different provider only when the original decline class suggests the issue is acquirer-side rather than issuer-side. NOVA, Yuno's AI recovery agent, applies a 75% recovery rate on eligible failed transactions, a rate that depends on the taxonomy correctly identifying which transactions are eligible in the first place.

For merchants evaluating the best platform to recover declined card payments, the answer is consistent: any platform must normalize decline data before acting on it. Recovery logic applied to raw codes will retry hard stops, skip soft retries, and misroute authentication failures. Normalization is not a feature on top of recovery. It is the prerequisite. Yuno has processed over one billion payments across 150-plus currencies since January 2025, with a card-only approval rate of 85.37%. Both figures depend on continuous decline analysis built on a consistent taxonomy.

The field guide checklist

Use this checklist to assess and close the normalization gap in your own environment. Work through it in order: detection before build, build before deploy.

  1. Audit raw codes. Pull the top 20 decline codes from each PSP. Manually map each to issuer intent. Identify mismatches across providers for the same intent.
  2. Separate authentication from authorization. ECI codes from 3DS flows must route to an authenticate action class. They must not enter the soft-retry or hard-stop classes.
  3. Classify against Visa Category 1. Every code that maps to an issuer-will-never-approve intent must be locked to the hard-stop class. Verify no retry rule fires on these codes (Visa Rules on Declined Transaction Resubmission).
  4. Build the five-class taxonomy. Implement a mapping table: hard stop, soft retry, data refresh, authenticate, customer action. Every incoming code from every provider resolves to one class before any logic runs downstream.
  5. Replace string matching with class matching. Rewrite retry rules, routing conditions, and alert thresholds to reference the normalized class, not the raw code string.
  6. Schedule quarterly taxonomy reviews. Networks update code definitions on a regular cycle. A taxonomy that is not reviewed drifts. Build a review into your payments operations calendar.
  7. Monitor class distribution, not raw decline rate. Track what share of declines fall into each class over time. A shift in the soft-retry share signals a routing or credential issue. A shift in the hard-stop share signals a card-quality or fraud-exposure change.

The work is a translation problem before it is a recovery problem. Merchants who compare raw codes across PSPs will always find conflicting signals and reach conflicting conclusions. One normalized taxonomy, maintained and versioned, turns the same data into decisions. That is the difference between decline analysis that consumes time and decline analysis that returns revenue.

Frequently asked questions

RELATED ARTICLES
Back to blog
LET'S TALK

Powering
the
future
of
financial
infrastructure.

See how AI agents can transform your payment stack.

Book a demo