ISO 8583
From Wikipedia, the free encyclopedia
ISO 8583 Standard for Financial Transaction Card Originated Messages - Interchange message specifications is the International Organization for Standardization standard for systems that exchange electronic transactions made by cardholders using payment cards.
Contents |
[edit] Introduction
A card-based transaction typically needs to travel between a number of systems. For example, a purchase made in a store may travel from the merchant terminal, through an acquirer network or networks, to the issuing bank where the cardholder's account is held. The transaction carries information about the type of transaction, the card used, the merchant, the transaction amount, security information, and so on. The response, authorizing or declining the transaction, needs to be returned via the same route to the terminal.
ISO 8583 defines a message format and a communication flow so that different systems can exchange these transactions. The vast majority of transactions made at Automated Teller Machines use ISO 8583 at some point in the communication chain, as do transactions made when a customer uses a card to make a payment in a store. In particular, both the MasterCard and Visa networks base their transactions on the ISO 8583 standard, as do many other institutions and networks.
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.
Although ISO 8583 defines a common standard, it is not typically used directly by systems or networks. Instead, there are a number of different standards in use on different transaction networks, all based on ISO 8583 but with proprietary variations.
[edit] Message structure
An ISO 8583 message is made of the following parts:
- Message Type Indicator
- Bitmap(s), indicating which data elements are present
- Data Elements, the fields of the message
[edit] Message Type Indicator (MTI)
This is a 4 digit numeric field which classifies the high level function of the message. A Message Type Indicator includes the ISO 8583 version, the Message Class, and Message Sub-class.
[edit] ISO 8583 Version
Different versions of the ISO 8583 standard are indicated in the first position of the Message Type Indicator.
- 0xxx - ISO 8583-1:1987 version
- 1xxx - ISO 8583-2:1993 version
- 2xxx - ISO 8583-1:2003 version
Note that the placement of fields in different versions of the standard varies; for example, the currency elements of the 1987 and 1993 versions are no longer used in the 2003 version, which holds currency as a sub-element of any financial amount element.
[edit] Message Class
- x1xx class - Authorization Message
- x2xx class - Financial Message
- x3xx class - File Actions Message
- x4xx class - Reversal Message
- x5xx class - Reconciliation Message
- x6xx class - Administrative Message
- x8xx class - Network Management Message
[edit] Message Sub-class
- xx00 for a request, requiring approval
- xx10 for a response to a request
- xx20 for an advice of an action that has already been taken, not requiring approval but still requiring a response
- xx30 for a response to an advice
Incrementing the fourth position by one indicates a repeat request (except in x300 messages). For example: 1100 = Authorization Request; 1101 Authorization Request Repeat.
[edit] Bitmaps(s)
A bitmap is an indexing technique used in an ISO 8583 message to indicate which Data Elements are present.
A message contains at least one bitmap called the Primary Bitmap, indicating the presence of Data Elements 1 up to 64.
A Secondary Bitmap may be located at Data Element one, and hence the first bit in Primary Bitmap tells us whether there is a secondary bitmap or not. The secondary bitmap indicates the presence of Data Elements 65 up to 128.
A message can contain up to three bitmaps in the latest version of the ISO 8583 standard.
The bitmap may be transmitted as 8 bytes (binary), or sometimes with the 8 bytes unpacked into 16 hexadecimal characters 0-9, A-F (ASCII).
[edit] Data Elements
Data Elements are fields carrying the information of the transaction itself. There are up to 128 Data Elements in the original ISO 8583 (1987) standard, and up to 192 Data Elements in later releases.
Each Data Element has a specified meaning and format. ISO 8583 also includes some general purpose Data Elements and system-specific Data Elements that are used in different ways by different standards derived from ISO 8583.
[edit] Data element format
Each Data Element has a standard format. This consists of the allowed content of the field (numeric, binary, etc) as well as the allowed length. This is indicated by the convention of Allowed content followed by Length as described in the following sections.
[edit] Field Type Attributes
Abbreviation | Meaning |
a | Alpha, including Blanks |
n | Numeric Values only |
s | Special Characters only |
an | Alphanumeric |
as | Alpha & Special Characters only |
ns | Numeric and Special Chars only |
ans | Alphabetic, numeric and special characters. |
b | Binary Data |
z | Tracks 2 and 3 code set as defined in IS0 4909 and IS0 7813. |
[edit] Field Length
A Data Element may have a fixed or variable length. A variable length field in a message is preceded by a length indicator.
[edit] Fixed Length Data Element
Fixed-length Data Elements have a defined length in the ISO 8583 standard, and no length indicator is required in the message.
Fixed length fields are indicated by including the length after the allowed content.
e.g Data Element 3 has format 'n6', which means a fixed-length field of 6 numeric digits.
[edit] Variable Length Data Element
Other data elements may have variable length, and a length indicator is included before the data element in the message. The length indicator itself has a defined length: for example, a 1-digit length indicator is only sufficient for a variable-length field with a length from 1 up to 9, while a 3-digit length indicator can support field values up to 999.
Variable length fields are indicated by two dots '..' followed by the maximum length of the field. The length indicator is represented by a number of 'L' characters corresponding to the length of the length indicator followed by 'VAR'.
e.g Data Element 2 has format n..19, LLVAR which means a field with a maximum of 19 numeric digits with a 2-digit length indicator.
[edit] Definitions
[edit] Message Type
n4 - 4 Digits Numeric Value
This Field is required for all ISO 8583 messages in order to identify the message class.
The Message Type can be one of the following values:
Not complete...
MTI | Description |
x100 | Authorization Request |
x101 | Repeat Authorization Request |
x110 | Authorization Response |
x120 | Authorization Advice |
x130 | Authorization Advice Response |
x200 | Financial Request |
x210 | Financial Response |
x220 | Financial Advice |
x230 | Financial Advice Response |
x300 | Acquirer File Update Request |
x302 | Issuer File Update Request |
x310 | Acquirer File Update Response |
x312 | Issuer File Update Response |
x320 | Acquirer File Update Advice |
x322 | Issuer File Update Advice |
x330 | Acquirer File Update Advice Response |
x332 | Issuer File Update Advice Response |
x400 | Acquirer Reversal Request |
x402 | Issuer Reversal Request |
x410 | Acquirer Reversal Request Response |
x412 | Issuer Reversal Request Response |
x420 | Acquirer Reversal Advice |
x422 | Issuer Reversal Advice |
x430 | Acquirer Reversal Advice Response |
x432 | Issuer Reversal Advice Response |
x5xx | Reconciliation Request Messages |
x6xx | Administrative Request Messages |
x800 | Network Management Request |
x810 | Network Management Request Response |