← Payment Reference GuidesProtocol Reference
ISO 8583
The foundational financial transaction message standard used by ATMs, POS terminals, card switches, and payment gateways worldwide. Every card payment you make passes through this protocol.
Data Elements Reference
ISO 8583 defines up to 128 data elements (DEs). The table below covers the most commonly used fields across authorization, financial, and clearing messages. Private-use DEs (DE48, DE104-DE107) vary by network.
Core Transaction Fields
| DE# | Name | Format | Max Len | Notes |
|---|---|---|---|---|
DE2 | Primary Account Number | n LLVAR | 19 | The cardholder's PAN. Masked in logs as first 6 + last 4. |
DE3 | Processing Code | n 6 | 6 | 6-digit code: 2 digits transaction type + 2 from account + 2 to account. E.g., 000000=purchase. |
DE4 | Amount, Transaction | n 12 | 12 | Transaction amount in minor currency units (cents). Right-justified, zero-padded. |
DE7 | Transmission Date & Time | n 10 | 10 | MMDDhhmmss format. Used for duplicate detection. |
DE11 | Systems Trace Audit Number | n 6 | 6 | STAN — unique per transaction per day per terminal. Used to match request/response. |
DE12 | Local Transaction Time | n 6 | 6 | hhmmss at the terminal's local time. |
DE13 | Local Transaction Date | n 4 | 4 | MMDD at the terminal's local date. |
DE14 | Expiration Date | n 4 | 4 | YYMM format. Used in authorization validation. |
DE18 | Merchant Type | n 4 | 4 | MCC (Merchant Category Code) — ISO 18245. E.g., 5411=grocery stores. |
DE22 | POS Entry Mode | n 3 | 3 | First 2 digits: how PAN was captured (01=manual, 05=chip, 07=contactless, 90=magnetic stripe). Last digit: PIN entry capability. |
DE25 | POS Condition Code | n 2 | 2 | Describes transaction conditions: 00=normal, 08=mail/phone, 59=ecommerce. |
Terminal & Merchant Data
| DE# | Name | Format | Max Len | Notes |
|---|---|---|---|---|
DE32 | Acquiring Institution ID | n LLVAR | 11 | BIN of the acquiring bank. Identifies who submitted the transaction to the network. |
DE35 | Track 2 Data | z LLVAR | 37 | Magnetic stripe track 2 data: PAN + separator + expiry + service code + discretionary data. |
DE37 | Retrieval Reference Number | an 12 | 12 | RRN — assigned by acquirer. Used to match transactions in dispute resolution. |
DE38 | Authorization Code | an 6 | 6 | 6-character code assigned by issuer on approval. Printed on receipts. |
DE39 | Response Code | an 2 | 2 | 00=approved, 05=do not honor, 51=insufficient funds, 14=invalid card number. Critical field. |
DE41 | Card Acceptor Terminal ID | ans 8 | 8 | Terminal ID assigned by acquirer. Identifies the physical or virtual terminal. |
DE42 | Card Acceptor ID Code | ans 15 | 15 | Merchant ID (MID) assigned by acquirer. Links transactions to a merchant account. |
DE43 | Card Acceptor Name/Location | ans 40 | 40 | Merchant name and location. Format: Name (25) + City (13) + Country (2). |
DE49 | Currency Code, Transaction | n 3 | 3 | ISO 4217 numeric currency code. E.g., 840=USD, 978=EUR, 826=GBP. |
Security & EMV Fields
| DE# | Name | Format | Max Len | Notes |
|---|---|---|---|---|
DE48 | Additional Data (Private) | ans LLLVAR | 999 | Network-specific subelements. Used extensively by Visa and Mastercard for additional transaction context. |
DE52 | Personal Identification Number Data | b 8 | 8 | Encrypted PIN block (8 bytes). Format varies by PIN block format (ISO 0, 1, 3, 4). |
DE55 | Integrated Circuit Card Data | b LLLVAR | 255 | EMV chip data TLV structure. Contains ARQC, AIP, ATC, TVR, unpredictable number, and other chip-generated data. |
Settlement & Network Fields
| DE# | Name | Format | Max Len | Notes |
|---|---|---|---|---|
DE70 | Network Management Information Code | n 3 | 3 | Used in 0800/0810 messages: 001=sign-on, 002=sign-off, 301=echo, 161=key exchange. |
DE90 | Original Data Elements | n 42 | 42 | Original MTI + STAN + date/time + acquiring ID. Required in reversal (0400) messages. |
DE95 | Replacement Amounts | n 42 | 42 | Used in partial reversal to indicate the actual amounts after reversal. |
DE102 | Account Identification 1 | ans LLVAR | 28 | From account identifier. Used in transfer and account-specific transactions. |
Visa Private Use
| DE# | Name | Format | Notes |
|---|---|---|---|
DE104 | Transaction Description | ans LLLVAR | Visa private use. Transaction narrative or additional descriptor. |
DE105 | Credits, Number | ans LLLVAR | Visa private use. Used in reconciliation messages. |
DE106 | Credits, Reversal Number | ans LLLVAR | Visa private use. Credit reversal count in reconciliation. |
DE107 | Debits, Number | ans LLLVAR | Visa private use. Debit count in reconciliation messages. |