Time for a Level Playing Field for Regulated UK Gambling Payments
Download Whitepaper
Payment Infrastructure

ISO 8583

What Is ISO 8583? Definition and How It Works

Definition

ISO 8583 is the international standard that defines the message format and data structure for financial transaction messages exchanged between payment systems, including authorisation requests and responses, reversals, and settlement messages.

How it works

ISO 8583 specifies the structure of messages sent between payment entities: how a transaction request is encoded, what fields it contains, and how responses are formatted. It defines a bitmap-based message structure where each bit in a bitmap indicates whether a corresponding data field is present in the message. Field definitions cover transaction amounts, card data, merchant identifiers, processing codes, response codes, and dozens of other transaction attributes.

The standard has multiple published versions. ISO 8583:1987 (1987 revision) was the original version. ISO 8583:1993 and ISO 8583:2003 introduced updates and extensions. In practice, Visa, Mastercard, and other schemes developed their own ISO 8583 dialects, taking the base standard and adding proprietary fields and variations, which means ISO 8583 implementations are not universally interoperable despite following the same underlying standard.

ISO 8583 messages are used throughout the payment processing chain: between merchants and their processors, between processors and card networks, and between card networks and issuing banks. The authorisation request (MTI 0100) and authorisation response (MTI 0110) are the most common message types, but the standard also covers reversals, chargebacks, batch settlement, and network management messages.

Modern payment APIs (REST/JSON) abstract ISO 8583 complexity for merchants. Merchants integrating through gateway or processor APIs typically never interact with ISO 8583 directly. Rather, the API translates their request into ISO 8583 format for transmission to the card network. ISO 8583 knowledge becomes relevant for merchants building direct network connections or switch integrations.

Why it matters

ISO 8583 knowledge matters for direct network integrations: merchants or processors building direct connections to card networks rather than using an intermediary API must implement ISO 8583 correctly. Incorrect field mapping or bitmap errors produce declined transactions without obvious error messages.

Proprietary extensions create interoperability challenges: each card network's ISO 8583 dialect includes proprietary fields that other networks do not recognise. A message formatted correctly for Visa's network may require translation before it is valid for Mastercard's. Switch and processor infrastructure handles this translation.

Decline codes in ISO 8583 field 39: the authorisation response code is carried in ISO 8583 field 39. Standard response codes (00 = approved, 05 = do not honor, 51 = insufficient funds) are defined in the standard, but card networks add proprietary codes that require network-specific documentation to interpret correctly.

ISO 8583 is being supplemented by newer standards: the payments industry is incrementally adopting ISO 20022, a more modern and flexible financial messaging standard. ISO 20022 is already used for SEPA and SWIFT transactions and is being adopted for domestic payment systems. Card network messaging standards are evolving, but ISO 8583 remains the dominant standard for card authorisation globally.

With PXP

PXP's platform abstracts ISO 8583 complexity from merchants: all merchant-facing integrations use PXP's REST API, while PXP handles ISO 8583 message construction and translation for network and acquirer connectivity. Decline codes and response data are normalised and surfaced in PXP's reporting in human-readable form.

Talk to a payments specialist

Frequently asked questions

What is a message type indicator (MTI) in ISO 8583?

The MTI is a four-digit code at the start of every ISO 8583 message that identifies the message class (authorisation, financial, reversal, etc.), function (request, response, advice), and origin (acquirer, issuer, network). For example, 0100 is an authorisation request from the acquirer, and 0110 is the authorisation response. MTIs allow receiving systems to immediately classify incoming messages and process them through the correct handling logic.

Why do card networks have different ISO 8583 dialects?

ISO 8583 defines a base message structure and standard fields, but leaves significant room for network-specific extensions, such as proprietary fields in bitmaps, custom response codes, and network-specific data elements. Visa, Mastercard, and other networks have each developed their own dialects to carry additional data specific to their network requirements. These dialects are documented in each network's technical specifications but are not publicly standardised.

How does ISO 8583 relate to modern payment APIs?

Modern payment APIs (REST/JSON) abstract ISO 8583 from merchants. The API accepts the merchant's JSON request, validates it, and constructs the corresponding ISO 8583 message for transmission to the card network. The network's ISO 8583 response is translated back into a JSON response returned to the merchant. Merchants never interact with raw ISO 8583; the API layer handles all translation.

Is ISO 8583 being replaced by ISO 20022?

ISO 20022 is a more modern, XML/JSON-based financial messaging standard that is being adopted progressively across the payments industry, particularly for SEPA, SWIFT correspondent banking, and domestic real-time payment systems. However, ISO 8583 remains dominant for card authorisation globally and is not being directly replaced for card transactions in the near term. The two standards coexist, with gateways and processors handling translation between them where needed.