Skip to content
Decline code 96 Meaning varies by network

System Malfunction

Category: Issuer Unavailable/Technical Error Retryable: yes

Variability

Meaning varies by network

Take the card brand and processor into account before treating this as diagnostic.

Retryable

yes

Retry immediately via a different routing path if available; this is a technical failure, not a hold that needs time to clear.

Namespace: Legacy/conventional ISO 8583 field-39 code as implemented by card networks and processors — not the current ISO 8583:2023 Annex D table.

What this code typically means

A generic technical/processing failure somewhere in the authorization chain — not attributable to the cardholder, the transaction, or a specific risk decision. This is one of the weaker-corroborated codes in this set: it appears consistently in PaymentBrief's own glossary pages and aligns conceptually with Stripe's processing_error, but neither Adyen's published refusal-reason list nor a clean read of Worldpay's response tables independently confirms the exact scope of what triggers 96 versus a neighboring technical code — a concrete illustration of the standard's variability claim, not just a caveat.

What to do about it

Merchant action

Retry automatically once via an alternate route; if it recurs across many transactions in a short window, treat it as an acquirer/processor incident rather than a per-transaction issue and escalate to your PSP.

Customer-facing guidance

Tell the customer this was a temporary system issue, not a problem with their card, if a customer-facing message is needed.

What's happening on the issuer's side

Unclear/undisclosed — this is exactly the kind of code where the issuer-side cause is opaque to the merchant.

Cross-processor equivalents

stripe: processing_error

commonly treated as equivalent (concept-level match, not a confirmed 1:1 mapping)

Cross-processor mappings are commonly treated as equivalent, not identical — every processor's own documentation notes lossy or partial mapping between raw network codes and its own vocabulary.

Confidence: low. Status: convention. This code is widely used across card networks and processors but is not traceable to a single fetchable authoritative standard document — the current ISO 8583:2023 standard uses a different (4-digit) code scheme entirely. This entry is cross-verified against Stripe, Adyen, and/or a dated processor implementation; see sources below.

Sources

Concept + retry philosophy

Decline Codes: why they're opaque and how to retry them

Other Issuer Unavailable/Technical Error codes