How to Understand the Basics of ISO 8583 Message Structure

Understanding the basics of the ISO 8583 message structure can initially be daunting due to its technical nature, but breaking it down into its components makes it much easier to comprehend.

What is ISO 8583?

ISO 8583 is a standard widely used in financial transaction card-based systems (like ATMs and Point of Sale systems). It specifies how financial transaction messages are formatted, transmitted, and structured between systems. Each message represents a specific financial transaction—like a card authorization request or a fund transfer.

Basic Structure of an ISO 8583 Message

An ISO 8583 message is organized into components called Message Type Indicators (MTI), bitmaps, and data elements. Let’s explore these components in detail:


1. Message Type Indicator (MTI)

The MTI is the first part of an ISO 8583 message and is 4 digits long. It identifies the type of financial transaction being processed. These digits represent the following:

  • Digit 1 (Version): Specifies the version of ISO 8583 being used (e.g., 0 for ISO 8583:1987, 1 for ISO 8583:1993).
  • Digit 2 (Message Class): Indicates the type of message (e.g., 1 for authorization message, 2 for financial messages).
  • Digit 3 (Message Function): Determines the message’s purpose (e.g., 0 for a request, 1 for a response).
  • Digit 4 (Transaction Origin): Represents the message’s origin type (e.g., 0 for a system, 2 for an acquirer).

For example, 0200 indicates an authorization request for a transaction.


2. Bitmap

A bitmap is essentially a binary map that indicates which Data Elements (DEs) are present in the message. Each bit in the bitmap corresponds to a specific data element:

  • Primary Bitmap (64 bits): Always present, indicating whether the first 64 data elements are used.
  • Secondary Bitmap (optional, 64 bits): If the primary bitmap’s first bit is “1”, this indicates the use of an additional secondary bitmap for data elements 65–128.

For example, a bitmap like 7230000008020000 in hexadecimal shows which data elements are present and active in the message.


3. Data Elements (DEs)

Data elements hold the transaction-specific data like the amount, account number, date, time, and more. There are 128 standard data elements, organized as follows:

  • Mandatory Elements: These include crucial components such as transaction amount, processing code, etc.
  • Optional Elements: Acquired conditionally and depend on the transaction scenario.

Each data element has two key properties:

  • Data Type (e.g., numeric, alphanumeric): Specifies the type and content.
  • Length (fixed or variable): Defines the format of the element (e.g., fixed length of 10 digits or variable length preceded by a length prefix).
Examples of Common Data Elements:
DE Description Type Length
DE 3 Processing Code Numeric Fixed (6)
DE 4 Transaction Amount Numeric Fixed (12)
DE 7 Transmission Date & Time Numeric Fixed (10)
DE 37 Retrieval Reference Number Alphanumeric Fixed (12)
DE 41 Card Acceptor Terminal ID Alphanumeric Fixed (8)

Message Example Breakdown

Let’s take an example of an ISO 8583 authorization request message:

MTI         : 0200
Primary BMP : 7230000008020000
DE 3        : 001000
DE 4        : 000000010000
DE 7        : 1127220000
DE 11       : 123456
DE 41       : TERM001
DE 49       : USD

This means the message is:
1. MTI (0200): Authorization request.
2. Bitmap: Specifies that DE 3, 4, 7, 11, 41, and 49 are active.
3. Data Elements:

  • Processing Code (DE 3): 001000
  • Amount (DE 4): $100.00
  • Transmission Date & Time (DE 7): 11/27 at 22:00
  • System Trace Audit Number (DE 11): 123456
  • Terminal ID (DE 41): TERM001
  • Currency (DE 49): USD

Steps to Analyze an ISO 8583 Message

  1. Interpret MTI: Understand the type of transaction the message represents.
  2. Decode Bitmap: Identify which data elements are used in the message.
  3. Read Data Elements: Extract and interpret data elements based on the bitmap and structure.

Conclusion

ISO 8583 messages follow a structured yet flexible format. By understanding the key components like the MTI, bitmap, and data elements, you can analyze and process ISO 8583 messages effectively. Tools like parsers or libraries for your preferred programming language can simplify the heavy lifting when working with ISO 8583 in real-world applications.

Wayan

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.