Decoding Basic Structure of ISO8583 (MTI, Bitmap and Data Elements)


The way we speak in a certain language to make our life easier by communicating with each other, payments also have various languages. For Card Payment it is ISO8583. This language keeps the Card Payment world connected with each other.

Let us try to understand the basic structure of this beautiful language in the simplest form ever. 

Imagine an ISO8583 message as a structured sentence where different parts tell a story about a transaction. Each message is made up of

1/ MTI (Message Type Indicator) - Like a title it tells you what type of message it is (e.g. a payment request)
2/ Bitmap - A map that shows which parts of the message are included
3/ Data Elements - The actual details of the transaction like the card number, amount and date etc

Detailed Explanation

1/ Reading the MTI (Message Type Indicator)

The MTI is a 4 digit code that specifies the type of message. For example, 0200 indicates a financial transaction request (authorization)

1.1/ Breakdown of 0200:

  • 0 - Tells you which version of ISO8583 is used
  • 2 - Indicates this is a financial message
  • 0 - Specifies it's a request
  • 0 - Shows who sent the message (example the bank req for authorization)
2/ Understanding the Bitmap

Just after the MTI, BITMAP is present. It is like a checklist of Data Elements using 1 and 0. In simple words, 1 says this piece of data is included and 0 says this piece is not.

2.1/ For example if BITMAP starts with 10001000 it means 1st and 5th Data Element is included. 
2.2/ It is a 16-hexadecimal character (64 bits) or 32-hexadecimal character (128 bits) format.
2.3/ Primary bitmap (first 64 bits) - Mandatory for all messages.
2.4/ Secondary bitmap (next 64 bits) - Present if the first bit in the primary bitmap is 1.

3/ Extracting Data Elements

Data elements follow the bitmap and vary in length and type (fixed or variable). Following are a few example of Data Elements

3.1/ DE2 (Primary Account Number): Variable length, up to 19 digits (e.g. 1234567890123456)
3.2/ DE4 (Transaction Amount): Fixed length (12 characters), formatted as 000000010000 for an amount of 100.00
3.3/ DE7 (Transmission Date and Time): Fixed length formatted as MMDDhhmmss (e.g. 1107221800 for Nov 7, 22:18:00).

Example ISO8583 Message Structure



**

 

Comments

Post a Comment

Popular posts from this blog

3D Secure (Online / Card Not Present / eComm) Transaction Flow

Card Payments - Part 1 (Auth)