DevLearn
Back to Payments & Banking
payments

ISO 8583

Card transaction message standard for authorization and settlement

ISO 8583 — Overview

Card transaction message standard for authorization and settlement

ISO 8583 is the global standard for financial transaction card-originated messages between acquirers, issuers, and networks. Every POS authorization, ATM withdrawal, and reversal uses ISO 8583 fields (MTI, bitmap, DE2 PAN, DE4 amount, DE11 STAN, DE39 response code).

// ISO 8583 MTI (Message Type Indicator)
// 0100 = Authorization Request
// 0110 = Authorization Response
// 0200 = Financial Request
// 0420 = Reversal

// Key Data Elements (DE)
DE2  Primary Account Number (PAN)
DE3  Processing Code (purchase, cash, refund)
DE4  Transaction Amount
DE7  Transmission Date/Time
DE11 Systems Trace Audit Number (STAN)
DE37 Retrieval Reference Number (RRN)
DE39 Response Code (00=approved, 05=declined)
DE41 Card Acceptor Terminal ID
DE42 Card Acceptor ID

// Spring Boot — parse ISO 8583 with jPOS
ISOMsg isoMsg = new ISOMsg();
isoMsg.setMTI("0100");
isoMsg.set(2, pan);
isoMsg.set(4, String.format("%012d", amount));
isoMsg.set(11, stan);
isoMsg.set(41, terminalId);
Tip: Always log DE11 STAN + DE37 RRN together for end-to-end tracing across acquirer, switch, and issuer.