- ISO 8583
ISO 8583 Standard for Financial Transaction Card Originated Messages - Interchange message specifications is the
International Organization for Standardizationstandard for systems that exchange electronic transactions made by cardholders using payment cards.
A card-based transaction typically travels from a transaction acquiring device, such as a
point-of-sale terminalor an 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 account number), the terminal (e.g., the merchant number), the transaction (e.g., the amount), together with other data which may be generated dynamically or added by intervening systems. The card issuing system will either authorize or decline the transaction and generate a response message which must be delivered back to the terminal in a timely manner.
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 MasterCardand 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, each network adapts the standard for its own use with custom fields and custom usages.
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. As of writing, ISO 8583:2003 has yet to achieve wide acceptance.
An ISO 8583 message is made of the following parts:
* Message Type Indicator (MTI)
* One or more bitmaps, indicating which data elements are present
* Data elements, the fields of the message
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, the Message Function and the Message Origin, each described briefly in the following sections.
0xxx -> version of ISO 8583 (1987 version) x1xx -> class of the Message (Authorization Message) xx1x -> function of the Message (Request Response) xxx0 -> who began the communication (Acquirer)
ISO 8583 Version
Position one of the MTI specifies the versions of the ISO 8583 standard which is being used to transmit the message.
Position four of the MTI defines the location of the message source within the payment chain.
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:
* [http://www.amarshall.com/resix/iso8583.html ISO 8583 overview]
* [http://www.oscarsanderson.com/iso-8583/ DL-ISO-8583] Open-source implementation, written in C
* [http://sourceforge.net/projects/multixtpm GPL'd ISO8583 Framework]
* [http://niso8583.sourceforge.net/ .NET ISO-8583 Framework]
* [http://jpos.org/ jPOS ISO-8583 Framework in Java]
* [http://www.cogeban.it/ufficiotecnico/inside.asp?id=25&show=11&id_ramo=11 ISO-8583 '93 based POS Terminal - HOST protocol (in Italian)]
* [http://iso8583.info iso8583.info] FREE OnLine ISO 8583:1987 & ISO 8583:1993 messages [http://iso8583.info/coder/ encoder] and [http://iso8583.info/decoder/ decoder]
Wikimedia Foundation. 2010.