← 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. |
🧩 Check yourself
Can you get a chip payment from the counter to the card’s bank?
Next steps
ToolISO 8583 DE ReferenceAll 128 ISO 8583:1987 data elements — format, length and description, with a detail page per DE; usage notes, subfield layouts and examples for the common fields, Visa / Mastercard dialect notes where they diverge, and the main ISO 8583:1993 reassignments.Open the tool ToolPOS Entry Mode DecoderDecode ISO 8583 DE22 POS entry mode and EMV tag 9F39 — PAN capture method (chip, contactless, magstripe, manual, fallback) and PIN capability, with Visa and Mastercard values.Open the tool ToolMCC LookupLook up ISO 18245 Merchant Category Codes with the ISO description, the Visa and Mastercard titles, and which lists carry each code.Open the tool FlowCard authorization, end to endSee the animated message flow, step by step, between every party involved.Watch the flow
Related articles
MessagingISO 20022 for Payment EngineersMT103 vs pacs.008 field by field, pacs/pain/camt in a payment’s life, migration status per rail, structured addressesRead article Card RailsSettlement & ClearingClearing files, net settlement, dispute timelines, interchange economicsRead article Card RailsPayment TokenizationFPAN→DPAN lifecycle, VTS vs MDES, TAVV cryptogramsRead article Authentication3D Secure (EMV 3DS)Authentication flows, message types, ECI values, SCA exemptionsRead article