ISO 8583
ISO 8583 ( Standard for Financial Transaction Card Originated Messages - Interchange message specifications , German for example "Standard for messages generated by financial transaction cards - Specifications of transmission messages") is a standard of the International Organization for Standardization (ISO), which specifies such as electronic payment cards - transactions between computer systems be replaced.
A card-based transaction usually has to be exchanged between several computer systems. For example, a payment carried out in a retail shop must be forwarded from the point of sale terminal at the merchant through one or more merchant networks to the issuing bank which manages the cardholder's account. The transaction transports information about its type, the card used, the merchant, the amount, security information, etc. The response confirming or rejecting the transaction must be returned to the POS terminal in the same way.
ISO 8583 defines a message format and a communication flow so that different systems can exchange these transactions with one another. The vast majority of ATM withdrawals use ISO 8583 at some point in the communication chain, as do card payments in stores. In particular, both Mastercard and VISA transactions are based on 8583, as are many other institutions and networks.
Transactions initiated by the cardholder include purchases , withdrawals , deposits , refunds , balance inquiries , withdrawals and transfers . ISO 8583 also defines system-to-system messages for secure key exchange , account reconciliation, and other administrative purposes.
Although ISO 8583 defines a general standard, it is usually not used directly by systems or networks. Instead, there are a number of implementations in different transaction networks, all of which are based on 8583, but each have made their own adjustments.
Message structure
An ISO-8583 message consists of the following parts:
- A message type indicator identifies the type of message.
- One or more bitmaps indicate which data elements are present.
- One or more data elements are the individual fields of the message.
Message Type Indicator (MTI)
The Message Type Indicator (MTI) is a four-digit numeric field that classifies the main function of the message. This identifier comprises the version of ISO 8583 used, a message class and a message subclass.
ISO-8583 version
Different versions of the ISO-8583 standard are identified in the first position of the message type identifier.
- 0xxx - version ISO 8583-1: 1987
- 1xxx - version ISO 8583-2: 1993
- 2xxx - version ISO 8583-1: 2003
The position of fields varies in different versions of the standard. For example, the currency elements of the 1987 and 1993 versions are no longer used in the 2003 version because it includes the currency as part of each amount.
Message class
ISO 8583 distinguishes between the following message classes.
Mark | class | meaning |
---|---|---|
x1xx | Authorization message | Authentication and authorization |
x2xx | Financial message | financial transactions (withdrawals, etc.) |
x3xx | File Actions Message | Exchange of files |
x4xx | Reversal message | Cancellations |
x5xx | Reconciliation Message | Data synchronization |
x6xx | Administrative message | internal messages for system administration |
x8xx | Network management message | internal messages for network administration |
Message subclasses
ISO 8583 divides the message classes further into the following subclasses.
- xx00 for requirements that must be approved
- xx10 for responses to requests
- xx20 for information on actions that have already been carried out. Doesn't need consent, but an answer.
- xx30 for replies to notices
The fourth digit is increased by 1 in repeated requests (except in x300 messages). For example, 1100 is an authorization request and 1101 is a retry.
Bitmaps
Bitmaps are an indexing technique used in ISO-8583 messages to indicate which data items are present.
A message contains at least one bitmap, the first bitmap ( primary bitmap ), which indicates the presence of data elements 1 to 64.
Data element 1 can contain a second bitmap, so the first bit in the first bitmap indicates whether a second bitmap exists. The second bitmap indicates the existence of data elements 65-128.
In the latest version of the ISO-8583 standard, a message can contain up to three bitmaps.
Data elements
Data elements ( data element ) contain the actual transaction data. The original 1987 standard defined up to 128 data elements, later editions up to 192.
The meaning and format are specified for each data element. ISO 8583 also contains some general-purpose and system-specific data elements that are used differently by derived standards.
Format of the data elements
Each data element has a standard format. This consists of the permitted content of the field (numeric, binary, etc.) and its permitted length. These are separately as "permitted content" ( allowed content ), followed by "Length" ( length ) is specified, as described in the following sections.
Attributes for the field type
abbreviation | meaning |
---|---|
a | Letters ( alpha ) including spaces |
n | numeric values only |
s | only special characters |
on | Alphanumeric (letters and numbers) |
as | only letters & special characters |
ns | only digits and special characters |
b | Binary data |
ans | Letters, numbers and special characters |
Field length
The length of a data element can be fixed or variable. Fields of variable length are preceded by a length indicator in a message .
Fixed-length data elements
The lengths of data elements of fixed length are specified in the standard, so no length identifier is required in the message.
Fixed-length fields are identified in the standard by adding the length to their type identifier.
For example, data element 3 has the format “n6”, which defines a number field of fixed length with 6 digits.
Data elements of variable length
Other data elements can have variable lengths, so they are preceded by a length identifier in the message. The length identifier itself has a defined length: For example, length identifier of length 1 is only sufficient for variable field lengths from 1 to 9. A length identifier of length 3 is sufficient for field lengths of up to 999.
Variable fields are defined in the standard by two dots ".." followed by the maximum length of the field. The length identifier is represented by a number of Ls that correspond to the length of the length identifier.
For example, data element 2 has the format “n..19, LLVAR”. This means that the field contains a maximum of 19 digits and has a two-digit length identifier.
Definitions
Some important data fields are described below.
Message type
The Message Type Indicator (MTI) is required for all ISO-8583 messages in order to determine the message class. It has the format "n4", so it is a natural decimal number of length 4.
The following table shows a selection of message types.
MTI | Message type | description |
---|---|---|
x100 | Authorization request | Request for authorization |
x101 | Repeat authorization request | Repeat the authorization request |
x110 | Authorization Response | Authorization response |
x120 | Authorization Advice | Note on authorization |
x130 | Authorization Advice Response | Response to a note on authorization |
x200 | Financial request | Request for a financial transaction |
x210 | Financial response | Answer to financial transaction |
x220 | Financial Advice | Note on a financial transaction |
x230 | Financial Advice Response | Reply to a note about a financial transaction |
x300 | Acquirer File Update Request | Request to update a buyer file (customer data) |
x302 | Issuer File Update Request | Request to update an issuer file (bank details) |
x310 | Acquirer File Update Response | Response to update a buyer file |
x312 | Issuer File Update Response | Response to update an issuer file |
x320 | Acquirer File Update Advice | Note on updating a buyer file |
x322 | Issuer File Update Advice | Note on updating an issuer file |
x330 | Acquirer File Update Advice Response | Response to a notice about updating a buyer file |
x332 | Issuer File Update Advice Response | Response to a note about updating an issuer file |
x400 | Acquirer Reversal Request | Cancellation request of the buyer (customer) |
x401 | Acquirer Reversal Request | Repetition of a cancellation request from the buyer (customer) |
x402 | Issuer Reversal Request | Cancellation request by the issuer (bank) |
x410 | Acquirer Reversal Request Response | Response to buyer's cancellation request |
x412 | Issuer Reversal Request Response | Response to the exhibitor's cancellation request |
x420 | Acquirer Reversal Advice | Notice of cancellation by the buyer |
x422 | Issuer Reversal Advice | Notice of cancellation by the exhibitor |
x430 | Acquirer Reversal Advice Response | Response to notice of cancellation by the buyer |
x432 | Issuer Reversal Advice Response | Reply to notice of cancellation by the exhibitor |
x5xx | Reconciliation Request Messages | Request for comparison |
x6xx | Administrative request messages | administrative message |
x800 | Network Management Request | Network management message |
x810 | Network Management Request Response | Network management answer |
Web links
- ISO 8583-1: 2003 (English / official but subject to a charge)
- Introduction to ISO 8583 (English)