ISO 8583 is an international standard for financial transaction card originated interchange messaging. It is the International Organization for Standardization standard for systems that exchange electronic transactions initiated by cardholders using payment cards.

ISO 8583 defines a message format and a communication flow so that different systems can exchange these transaction requests and responses. The vast majority of transactions made when a customer uses a card to make a payment in a store (EFTPOS) use ISO 8583 at some point in the communication chain, as do transactions made at ATMs. In particular, the Mastercard, Visa and Verve networks base their authorization communications on the ISO 8583 standard, as do many other institutions and networks.

Although ISO 8583 defines a common standard, it is not typically used directly by systems or networks. It defines many standard fields (data elements) which remain the same in all systems or networks, and leaves a few additional fields for passing network-specific details. These fields are used by each network to adapt the standard for its own use with custom fields and custom usages like Proximity Cards.

Introduction The ISO 8583 specification has three parts:

Part 1: Messages, data elements, and code valuesISO 8583-1:2003 Financial transaction card originated messages -- Interchange message specifications -- Part 1: Messages, data elements and code values Part 2: Application and registration procedures for Institution Identification Codes (IIC)ISO8583-2:1998 Financial transaction card originated messages -- Interchange message specifications -- Part 2: Application and registration procedures for Institution Identification Codes (IIC) Part 3: Maintenance procedures for the aforementioned messages, data elements and code valuesISO8583-3:2003 Financial transaction card originated messages -- Interchange message specifications -- Part 3: Maintenance procedures for messages, data elements and code values

Message format A card-based transaction typically travels from a transaction-acquiring device, such as a point-of-sale terminal (POS) or an automated teller machine (ATM), through a series of networks, to a card issuing system for authorization against the card holder's account. The transaction data contains information derived from the card (e.g., the card number or card holder details), the terminal (e.g., the terminal number, the merchant number), the transaction (e.g., the amount), together with other data which may be generated dynamically or added by intervening systems. Based on this information, the card issuing system will either authorize or decline the transaction and generate a response message which must be delivered back to the terminal within a predefined time period.

An ISO 8583 message is made of the following parts: Message type indicator (MTI) One or more bitmaps, indicating which data elements are present. It consists of primary bitmap and secondary bitmap. The first bit of the primary bitmap indicates whether the secondary bitmap is present or not. Data elements, the actual information fields of the message

The placements of fields in different versions of the standard varies; for example, the currency elements of the 1987 and 1993 versions of the standard are no longer used in the 2003 version, which holds currency as a sub-element of any financial amount element. As of June 2017, however ISO 8583:2003 has yet to achieve wide acceptance. ISO 8583 messaging has no routing information, so is sometimes used with a TPDU header.

Cardholder-originated transactions include purchase, withdrawal, deposit, refund, reversal, balance inquiry, payments and inter-account transfers. ISO 8583 also defines system-to-system messages for secure key exchanges, reconciliation of totals, and other administrative purposes.

Message type indicator The message type indicator (MTI) is a four-digit numeric field which indicates the overall function of the message. A message type indicator includes the ISO 8583 version, the Message Class, the Message Function and the Message Origin, as described below.

ISO 8583 version The first digit of the MTI indicates the ISO 8583 version in which the message is encoded.

Code Meaning ISO 8583:1987 ISO 8583:1993 ISO 8583:2003 Reserved by ISO National use Private use

Message class Position two of the MTI specifies the overall purpose of the message.

Code Meaning Usage Reserved by ISO Authorization message Determine if funds are available, get an approval but do not post to account for reconciliation. Dual message system (DMS), awaits file exchange for posting to the account. Financial messages Determine if funds are available, get an approval and post directly to the account. Single message system (SMS), no file exchange after this. File actions message Used for hot-card, TMS and other exchanges Reversal and charge-back messages Reversal ( or ): Reverses the action of a previous authorization.Charge-back ( or ): Charges back a previously cleared financial message. Reconciliation message Transmits settlement information message. Administrative message Transmits administrative advice. Often used for failure messages (e.g., message reject or failure to apply). Fee collection messages Network management message Used for secure key exchange, logon, echo test and other network functions. Reserved by ISO

Message function Position three of the MTI specifies the messages function which defines how the message should flow within the system. Requests are end-to-end messages (e.g., from acquirer to issuer and back with time-outs and automatic reversals in place), while advices are point-to-point messages (e.g., from terminal to acquirer, from acquirer to network, from network to issuer, with transmission guaranteed over each link, but not necessarily immediately).

Code Meaning Notes Request Request from acquirer to issuer to carry out an action; issuer may accept or reject Request response Response to a request Advice Advice that an action has taken place; receiver can only accept, not reject Advice response Response to an advice Notification Notification that an event has taken place; receiver can only accept, not reject Notification acknowledgement Response to a notification Instruction ISO 8583:2003 Instruction acknowledgement Reserved for ISO use Some implementations (such as MasterCard) use for positive acknowledgment.MasterCard Customer Interface Specification, 25 July 2017 Some implementations (such as MasterCard) use for negative acknowledgement.MasterCard Customer Interface Specification, 25 July 2017

Message origin Position four of the MTI defines the location of the message source within the payment chain.

Code Meaning Acquirer Acquirer repeat Issuer Issuer repeat Other Reserved by ISO

Examples Given an MTI value of , the following example lists what each position indicates: → version of ISO 8583 ( = 1987 version) → class of the message ( = authorization message) → function of the message ( = response) → who began the communication ( = acquirer)

Therefore, MTI is an authorization response message where actual transaction was originated by the acquirer.

Bearing each of the above four positions in mind, an MTI will completely specify what a message should do, and how it is to be transmitted around the network. Unfortunately, not all ISO 8583 implementations interpret the meaning of an MTI in the same way. However, a few MTIs are relatively standard:

MTI Meaning Usage Authorization Request Request from a point-of-sale terminal for authorization for a cardholder purchase Authorization Response Request response to a point-of-sale terminal for authorization for a cardholder purchase Authorization Advice When the point-of-sale device breaks down and you have to sign a voucher Authorization Advice Repeat If the advice times out Acquirer Response to Authorization Advice Confirmation of receipt of authorization advice Acquirer Financial Request Request for funds, typically from an ATM or pinned point-of-sale device Acquirer Response to Financial Request Issuer response to request for funds Acquirer Financial Advice e.g. Checkout at a hotel. Used to complete transaction initiated with authorization request Acquirer Financial Advice Repeat If the advice times out Acquirer Response to Financial Advice Confirmation of receipt of financial advice Batch Upload File update/transfer advice Batch Upload Response File update/transfer advice response Acquirer Reversal Request Reverses a transaction Acquirer Reversal Advice Acquirer Reversal Advice Response Batch Settlement Response Card acceptor reconciliation request response Network Management Request Hypercom terminals initialize request. Echo test, logon, logoff etc. Network Management Response Hypercom terminals initialize response. Echo test, logon, logoff etc. Network Management Advice Key change

Bitmaps In ISO 8583, a bitmap is a field or subfield within a message, which indicates whether other data elements or data element subfields are present elsewhere in the message.

A field is considered to be present only when the corresponding bit in the bitmap is set. For example, a hex with value (decimal 130) is binary , which means fields and are present in the message and fields 2, 3, 4, 5, 6 and 8 are not.

The bitmap may be represented as 8 bytes of binary data or as 16 hexadecimal characters (0–9, A–F) in the ASCII or EBCDIC character sets. A message will contain at least one bitmap, called the primary bitmap, which indicates data whether elements 1 to 64 are present. The presence of an optional secondary bitmap is also indicated by the first bit in the primary bitmap. If present, the secondary bitmap indicates whether data elements 65 to 128 are present. Similarly, a tertiary bitmap can be used to indicate the presence of fields 129 to 192, although these data elements are rarely used.

Examples Given a bitmap value of ,

= (counting from the left, the second, third and fourth bits are 1, indicating that fields 2, 3 and 4 are present) = (the first bit corresponds to field 9, so the fourth bit here indicates field 12 is present) = (no fields present) = (fields 28 and 32 are present) = (field 39 is present) = (fields 41 and 42 are present) = (fields 50 and 53 are present) = (field 62 is present)

nth bit 0 10 20 30 40 50 60 Bitmap

Therefore, the given bitmap defines the following fields present in the message:: 2, 3, 4, 12, 28, 32, 39, 41, 42, 50, 53, 62 .

Data elements

Data elements are the individual fields carrying the transaction information. There are up to 128 data elements specified in the original ISO 8583:1987 standard, and up to 192 data elements in later releases. The 1993 revision added new definitions, deleted some, while leaving the message format itself unchanged.

While each data element has a specified meaning and format, the standard also includes some general purpose data elements and system- or country-specific data elements which vary enormously in use and form from implementation to implementation.

Each data element is described in a standard format which defines the permitted content of the field (numeric, binary, etc.) and the field length (variable or fixed), according to the following table: