Message Structure
An ISO 8583 message consists of three main parts:
MTI (Message Type Indicator)
The MTI is a 4-digit code that identifies the message type:
Common MTIs:
Bitmap
The bitmap indicates which fields are present in the message. It’s a 64-bit (8-byte) or 128-bit (16-byte) field:- Primary Bitmap: Fields 1-64
- Secondary Bitmap: Fields 65-128 (if bit 1 is set)
Data Fields
ISO 8583 defines 128 standard fields. Each field has:- Field Number: 1-128
- Data Type: Numeric, Alpha, Alphanumeric, Binary
- Length: Fixed or Variable (LLVAR/LLLVAR)
Field Types
Fixed-Length Fields
Variable-Length Fields
Variable fields have a length prefix:- LLVAR: 2-digit length prefix (max 99 characters)
- LLLVAR: 3-digit length prefix (max 999 characters)
Key Fields
Response Codes (Field 39)
Processing Codes (Field 3)
The 6-digit processing code has three parts:
Transaction Types:
EMV Data (Field 55)
Field 55 contains chip card data in TLV (Tag-Length-Value) format:Card Networks
Different card networks have specific requirements:- VISA: Field 62 (VISA private data), specific response codes
- Mastercard: Field 48 (additional data), DE127 subfields
- AMEX: Different field formats, 15-digit PANs
- Discover: Similar to VISA
- JCB: Japan-specific requirements
- UnionPay: China-specific requirements
Next Steps
- Parser Guide - Parse ISO 8583 messages
- Builder Guide - Build messages
- EMV Data Guide - Work with chip card data