ISO 8583 Parser
payments · learning path

An ISO 8583 Learning Path

ISO 8583 is the message format card payments run on: a message type, a bitmap saying which fields are present, and the fields themselves. Learning it out of order is what makes it feel hard — most people meet a chip tag before they can find the field it sits in.

This page is only an order. Every link below is an article or a tool that already exists on this site; nothing here is new material.

25 steps, about 2.5 hours of reading in total. You do not have to do it in one sitting, and you do not have to finish it — stages 1 to 3 already cover most of what a day-to-day payments job asks of you. Each step says what it is for, so you can skip anything you can already explain.

The path at a glance

Stage 1 Who is talking to whom ~4 min Stage 2 Cut one message apart by hand ~20 min Stage 3 Look it up instead of memorising it ~30 min Stage 4 Whole messages, and the paths that go wrong ~48 min Stage 5 Chip data: what is inside DE55 ~37 min Stage 6 After the message: clearing and reconciliation ~10 min

Stage 1Who is talking to whom

Two short reads. They cost four minutes and they supply the vocabulary every later article assumes you already have.

  1. How Credit Cards Work: The Four-Party Model

    Cardholder, merchant, acquirer, issuer, plus the network. Read this first and the institution-identifier fields later on stop looking like arbitrary numbers.

    ~2 min read
  2. The Transaction Lifecycle: Authorization → Clearing → Settlement

    Three separate events, often treated as one. Mixing them up is where most “the money doesn’t match” questions start.

    ~2 min read

Stage 2Cut one message apart by hand

This is the stage that decides whether you can read a dump at all. Do it in order: the bitmap tells you which fields are present, the format notation tells you where each one ends, the encoding tells you how many bytes that is.

  1. Reading ISO 8583: MTI, Bitmaps & Data Elements

    The two-minute map of the whole message. Everything in this stage is one of these three parts, in detail.

    ~2 min read
  2. ISO 8583 Bitmaps: How to Read and Build One by Hand

    The bitmap decides which fields exist. Read it wrong and every field after it lands at the wrong offset — which is what a “garbage output” parse usually is.

    ~7 min read
  3. Reading ISO 8583 Field Formats: n..19, ans...999, LLVAR

    The notation tells you how many length digits to read before the value. Miss those digits and you cut the message in the wrong place.

    ~3 min read
  4. EBCDIC to ASCII Table (CP500), Packed BCD and ISO 8583 Encodings

    The same value takes a different number of bytes in ASCII, packed BCD and EBCDIC. Until you know which one your dump uses, every offset you count is a guess.

    ~8 min read
Hands on · Practise now, before moving on:

Stage 3Look it up instead of memorising it

You can now split a message into fields. This stage is about turning those fields into meaning — and nobody memorises the tables, so treat these as pages you keep open.

  1. ISO 8583 Data Elements: Complete List of All 128 Fields

    Skim it once so you know what lives where, then keep it as the page you come back to. It is the only article here you are meant to re-open weekly.

    ~13 min read
  2. ISO 8583 MTI Codes: The Complete Message Type List

    The first four digits say what kind of message you are holding. Until you can read them, you cannot tell a request from a repeat of a request.

    ~8 min read
  3. ISO 8583 Processing Codes: The Full DE3 List

    The MTI says what kind of message; DE3 says what kind of transaction. Two different questions, two different fields.

    ~2 min read
  4. DE39 Response Codes: Full List

    The field you read first whenever something failed, and the one people quote at you without the message around it.

    ~2 min read
  5. POS Entry Mode Codes: The Full DE22 List

    How the card data was captured — chip, fallback, e-commerce. The same amount from the same card means different things depending on this field.

    ~3 min read
  6. STAN vs RRN (DE11 / DE37)

    Two trace numbers, constantly swapped for each other. Sorting them out here saves you an argument later, when you are matching records.

    ~2 min read

Stage 4Whole messages, and the paths that go wrong

Everything so far was one message that behaved. Real links have retries, timeouts and amounts that come back changed.

  1. ISO 8583 Message Examples: 8 Annotated Messages You Can Parse

    Your checkpoint for stages 1–3: if you can follow these eight field by field, the basics held.

    ~10 min read
  2. ISO 8583 Parse Failures: Two Root Causes and the Check Order

    The longest read on this path, and the one you will thank yourself for: what to rule out first when the output is wrong, including the failures that never raise an error.

    ~14 min read
  3. 0800 / 0810 Network Management: Sign-On, Echo Test and Key Exchange

    The messages that carry no money — and, in practice, the first ones you exchange when a new link is being brought up.

    ~7 min read
  4. Reversals, Timeouts & Repeats: The ISO 8583 Failure Paths

    What you owe the other side when a response never arrives — and how a retry becomes a double charge if you get it wrong.

    ~10 min read
  5. Partial Approval & DE 54: When the Approved Amount Isn’t What You Asked For

    An approval is not automatically an approval of your amount. Worth knowing before you write the code that assumes it is.

    ~7 min read
Hands on · Practise:
Also on the shelf

Read these when you start working with a specific scheme:

Stage 5Chip data: what is inside DE55

DE55 is not one more fixed field — it is a container of tags, so it needs its own reading order. Do not start here: the tags below are meaningless until you can locate DE55 in the first place.

  1. EMV Glossary: ARQC / TVR / AIP / CVM…

    The acronym wall, one line each. Read it first so the next five articles are not four unknowns per sentence.

    ~2 min read
  2. EMV Tag Reference: All 66 DE55 Tags

    The lookup table for the whole stage — length, format and meaning for the tags you actually meet in DE55.

    ~13 min read
  3. AIP vs TVR vs TSI: Which EMV Tag Answers Which Question

    Three tags that get quoted interchangeably and are not interchangeable. Sorting them out here keeps the next three articles straight.

    ~6 min read
  4. TVR Bits Explained: All 5 Bytes of EMV Tag 95

    The bit-level read of the tag you will be handed most often when someone asks why a chip transaction looks suspicious.

    ~3 min read
  5. ARQC vs TC vs AAC: Reading EMV Tag 9F27

    The card writes down its own verdict, and it is not the same field as the response code you have been reading since stage 3.

    ~5 min read
  6. How the Card Chooses PIN or Signature: Reading the CVM List (Tag 8E)

    The question users actually ask — why this payment wanted a PIN and that one did not — answered from the message.

    ~8 min read

Stage 6After the message: clearing and reconciliation

Authorization messages are only half the job. The other half arrives the next day as a file, in a different dictionary.

  1. Mastercard Authorization vs Clearing: Same Fact, Different Fields

    The same transaction, written down twice in two different dictionaries. This is the article that explains why your clearing record “missing” a field is not missing anything.

    ~5 min read
  2. Matching a Refund Back to Its Original Transaction: Five Candidate Keys

    Nothing in a refund says which purchase it reverses. Five candidate keys, who generates each, and where each one stops matching.

    ~5 min read
Hands on · The files themselves:

When you are through

There is no certificate at the end of this — you are done when you can take a message nobody annotated for you and say what it is, what it asks for and what came back. The full article index has everything on this site grouped by topic instead of by order, and the tools index lists all the decoders in one place.