4F AID, application identifier
Identification
The AID identifies the payment application on the chip: the first 5 bytes (RID) designate the network (Visa, Mastercard, CB…), the rest specifies the product. A French co-badged card typically carries two AIDs: CB and Visa or Mastercard.
50 Application Label
Identification
The application name as the card offers it for display (e.g. "CB", "VISA"). This is the label a terminal shows when it asks the customer to choose between the brands on a co-badged card.
57 Track 2 Equivalent Data
Identification
Reproduces the data from the old magnetic stripe: PAN, expiry date, service code. Separator "D". Present for compatibility with legacy systems, this is sensitive (PCI) data: never paste a real capture here.
5A PAN, card number
Identification
The card number encoded in BCD. Sensitive PCI data: in logs and tools it must always be masked or truncated (first 6 + last 4 digits at most).
61 Application Template
Structure
Container for one directory entry: a candidate application (AID + label + priority). In the PPSE of a co-badged card you'll see two 61 templates, one per brand. Order and tag 87 decide priority.
6F FCI Template, response to SELECT
Structure
The card's response to a SELECT command: it announces the selected file (84) and its metadata (A5). This is the starting point of every EMV transaction.
70 Record Template
Structure
Generic wrapper for records read via READ RECORD: the card's application data (PAN, dates, CVM lists, certificates…) live inside these records.
71 Issuer Script Template 1
Security
A command sent by the issuer to the card via the terminal, executed before the final GENERATE AC: block the application, reset the PIN try counter… This is the remote card-management channel.
72 Issuer Script Template 2
Security
Same principle as tag 71, but executed after the final GENERATE AC.
77 Response Template Format 2
Structure
TLV-explicit response format, typically the response to GENERATE AC: cryptogram (9F26), cryptogram type (9F27), ATC (9F36), IAD (9F10).
80 Response Template Format 1
Structure
Compact response format: values are concatenated WITHOUT TLV structure, in an order mandated by the command. Classic beginner trap: it doesn't parse like TLV, the order comes from the spec.
82 AIP, Application Interchange Profile
Decision
The card announces here what it can do: which offline authentications (SDA/DDA/CDA), whether it supports cardholder verification, issuer authentication… The terminal adapts the whole transaction to this profile. 2 bytes of flags.
What its bits carry (9)
Bit labels – the detailed bit-by-bit explanation is coming in a later pass.
| Byte 1 · bit 7 | SDA supported (static authentication) |
| Byte 1 · bit 6 | DDA supported (dynamic authentication) |
| Byte 1 · bit 5 | Cardholder verification supported (CVM) |
| Byte 1 · bit 4 | Terminal risk management to be performed |
| Byte 1 · bit 3 | Issuer authentication supported |
| Byte 1 · bit 2 | On-device cardholder verification (CDCVM) supported |
| Byte 1 · bit 1 | CDA supported (combined authentication) |
| Byte 2 · bit 8 | MSD mode supported (contactless, legacy) |
| Byte 2 · bit 2 | Relay resistance protocol supported (contactless, Kernel 2) |
84 DF Name, selected file name
Identification
Name of the selected directory or application. "2PAY.SYS.DDF01" = contactless selection directory (PPSE); otherwise it's generally the AID of the chosen application.
87 Application Priority Indicator
Identification
One byte that settles two things in the application directory (each candidate application is listed there in an Application Template, tag 61): the high-order bit (b8) indicates whether explicit cardholder confirmation is required before selecting this application (1 = yes); the 4 low-order bits give the priority rank, from 1 (highest priority) to 15, with 0 meaning the issuer expresses no preference among several applications. On a co-badged card in France, the merchant can configure its display preference, but the customer keeps the right to choose the brand (IFR regulation, art. 8).
88 SFI, Short File Identifier
Structure
Short identifier for the file where the directory's records are read. A plumbing detail of application selection, useful when stepping through a SELECT PSE by hand.
8A ARC, Authorisation Response Code
Decision
The verdict from the authorisation circuit, 2 characters: 00 = approved, 05 = declined… The Y1/Z1/Y3/Z3 codes are generated by the terminal itself when the transaction is decided offline. Don't confuse this with the cryptogram: the ARC is the verdict, the cryptogram is the proof.
8C CDOL1, Card Risk Management DOL 1
Decision
The card's shopping list for the first GENERATE AC: which terminal tags (amount, TVR, date, nonce…) it requires, and in what order. The terminal concatenates them WITHOUT tags, which is why you can't parse CDOL data as TLV.
8D CDOL2, Card Risk Management DOL 2
Decision
Same principle as CDOL1, for the second GENERATE AC (after the online authorisation result comes back): the card typically asks here for the ARC and the issuer authentication results.
8E CVM List, cardholder verification methods list
Cardholder
The cardholder verification policy, written into the card by the issuer: a sequence of "method + condition" rules evaluated in order. Typical example in France: enciphered offline PIN, else online PIN, else signature.
8F CA Public Key Index
Security
Index of the certificate authority's public key (per network) that the terminal must use to walk up the certificate chain. If the terminal doesn't have this key in store, offline authentication fails, the corresponding TVR bit is set.
90 Issuer Public Key Certificate
Security
Certificate for the issuer's public key, signed by the network's CA. The first link in the offline trust chain: CA → issuer → card.
91 Issuer Authentication Data
Security
Data returned by the issuer (ARPC + code) letting the card verify that the authorisation response genuinely came from it, authentication in the other direction.
92 Issuer Public Key Remainder
Security
The remainder of the issuer's public key that didn't fit in certificate 90. Concatenated to reconstruct the full key.
93 Signed Static Application Data
Security
The card's static data signed by the issuer, the core of SDA. Weak by design (replayable): this is why SDA was superseded by DDA/CDA.
94 AFL, Application File Locator
Structure
The card tells the terminal which records to read (file, range, and which ones take part in offline authentication). Read in groups of 4 bytes: SFI, first record, last record, number of records covered by signature.
95 TVR, Terminal Verification Results
Decision
The terminal's logbook: 5 bytes of flags, each recording a check that failed or an event (failed authentication, expired card, floor limit exceeded…). Cross-referenced with the TAC/IAC thresholds, THIS is what decides whether the transaction goes offline, online, or gets declined. The single most valuable tag in a transaction log.
What its bits carry (26)
Bit labels – the detailed bit-by-bit explanation is coming in a later pass.
| Byte 1 · bit 8 | Offline data authentication not performed |
| Byte 1 · bit 7 | SDA failed (static authentication) |
| Byte 1 · bit 6 | ICC data missing |
| Byte 1 · bit 5 | Card on terminal exception file |
| Byte 1 · bit 4 | DDA failed (dynamic authentication) |
| Byte 1 · bit 3 | CDA failed (combined authentication) |
| Byte 2 · bit 8 | ICC and terminal have different application versions |
| Byte 2 · bit 7 | Expired application |
| Byte 2 · bit 6 | Application not yet effective (future effective date) |
| Byte 2 · bit 5 | Requested service not allowed for card product |
| Byte 2 · bit 4 | New card (first use) |
| Byte 3 · bit 8 | Cardholder verification was not successful |
| Byte 3 · bit 7 | Unrecognised CVM |
| Byte 3 · bit 6 | PIN Try Limit exceeded |
| Byte 3 · bit 5 | PIN entry required but PIN pad not present or not working |
| Byte 3 · bit 4 | PIN entry required, PIN pad present, but PIN was not entered |
| Byte 3 · bit 3 | Online PIN entered |
| Byte 4 · bit 8 | Transaction exceeds floor limit |
| Byte 4 · bit 7 | Lower consecutive offline limit exceeded |
| Byte 4 · bit 6 | Upper consecutive offline limit exceeded |
| Byte 4 · bit 5 | Transaction selected randomly for online processing |
| Byte 4 · bit 4 | Merchant forced transaction online |
| Byte 5 · bit 8 | Default TDOL used |
| Byte 5 · bit 7 | Issuer authentication failed |
| Byte 5 · bit 6 | Script processing failed before final GENERATE AC |
| Byte 5 · bit 5 | Script processing failed after final GENERATE AC |
97 TDOL, Transaction Certificate DOL
Structure
List of data to include in the TC Hash calculation. Rare in practice, hence the TVR's "default TDOL used" bit.
98 TC Hash Value
Security
A hash of the transaction data, little used in modern deployments.
99 Transaction PIN Data
Cardholder
The PIN, enciphered in transit to the card for offline verification. Must NEVER appear in the clear in a log.
9A Transaction Date
Transaction
Date of the transaction on the terminal side (YYMMDD). Feeds into the cryptogram calculation, an inconsistent date and the cryptogram no longer verifies.
9B TSI, Transaction Status Information
Decision
TVR's companion: which steps were ATTEMPTED (authentication, cardholder verification, scripts…). The TVR says "what went wrong", the TSI says "what was done". Read the two together.
What its bits carry (6)
Bit labels – the detailed bit-by-bit explanation is coming in a later pass.
| Byte 1 · bit 8 | Offline data authentication performed |
| Byte 1 · bit 7 | Cardholder verification performed |
| Byte 1 · bit 6 | Card risk management performed |
| Byte 1 · bit 5 | Issuer authentication performed |
| Byte 1 · bit 4 | Terminal risk management performed |
| Byte 1 · bit 3 | Issuer script processing performed |
9C Transaction Type
Transaction
Type of operation (ISO 8583 processing code): 00 = purchase, 01 = cash withdrawal, 09 = purchase with cashback, 20 = refund…
9D DDF Name
Structure
Name of a directory file for directory-based selection (the legacy PSE method).
A5 FCI Proprietary Template
Structure
The "metadata" part of the SELECT response: labels, priority, PDOL, proprietary data (BF0C). This is where a co-badged card lists its applications.
5F20 Cardholder Name
Identification
The cardholder's name as embossed. Often filled with generic values on recent cards ("/" or spaces) to limit exposure of personal data.
5F24 Application Expiration Date
Identification
The application's expiry date (YYMMDD). This is what the terminal compares against today's date, the TVR's "expired application" bit comes from this check.
5F25 Application Effective Date
Identification
Start-of-validity date (YYMMDD). A card used before this date triggers the TVR's "application not yet effective" bit.
5F28 Issuer Country Code
Identification
Country of the issuing bank (ISO 3166 numeric). Used in particular to distinguish domestic from international transactions, which changes interchange and routing rules.
5F2A Transaction Currency Code
Transaction
Currency of the transaction (ISO 4217 numeric). 0978 = euro. If it differs from the card's currency, you're in dynamic currency conversion (DCC) territory.
5F2D Language Preference
Identification
The cardholder's preferred languages (ISO 639 codes), in order of preference. This tag is why a terminal shows "SAISISSEZ VOTRE CODE" rather than "ENTER PIN" to a French cardholder.
5F30 Service Code
Identification
A service code inherited from magnetic stripes (ISO/IEC 7813): interchange conditions, authorisation restrictions, PIN requirements. The chip has its own controls, but this code is still read by legacy systems.
5F34 PAN Sequence Number
Identification
Distinguishes multiple cards carrying the same PAN (reissue, primary/secondary card). Essential on the issuer side to look up the card's correct cryptographic keys.
5F36 Transaction Currency Exponent
Transaction
Number of decimal places for the transaction currency (2 for the euro: amounts travel in cents).
9F02 Amount, Authorised
Transaction
Transaction amount in BCD, in the currency's smallest unit (cents for the euro). 000000010000 = 100.00. The amount is part of the data signed inside the cryptogram.
9F03 Amount, Other
Transaction
A second amount, distinct from the main amount (9F02), whose exact meaning depends on terminal/issuer context: most often a cashback amount, but sometimes a service fee or a tip. Zero in the vast majority of French transactions.
9F06 AID (terminal)
Identification
The AID as seen on the terminal side (during selection). Same meaning as tag 4F on the card side.
9F07 Application Usage Control
Decision
Usage restrictions set by the issuer: is the card valid abroad? at ATMs? for cashback? The terminal checks these against context, a disallowed use sets the TVR's "service not allowed" bit.
9F08 Application Version Number (card)
Identification
Version of the application spec supported by the card. Compared against the terminal's (9F09), a mismatch sets a TVR bit, generally without blocking the transaction.
9F09 Application Version Number (terminal)
Terminal
Version of the application spec on the terminal kernel side.
9F0A ASRPD, Application Selection Registered Proprietary Data
Identification
An identifier registered with EMVCo (Spec Bulletin 175) letting a market or issuer expose a proprietary feature during application selection. The content depends on the entity that registered the ID, not decodable without their documentation.
9F0D IAC, Default
Decision
The issuer's fallback thresholds: if the transaction should have gone online but the terminal can't (offline), these bits say what to decline. Read as a mask applied to the TVR.
9F0E IAC, Denial
Decision
The issuer's hard-decline thresholds: any bit shared between this mask and the TVR means an immediate offline decline, without even attempting to go online. A cautious issuer would put, say, "expired card" here.
9F0F IAC, Online
Decision
The issuer's go-online thresholds: any bit shared with the TVR sends the transaction to online authorisation. In France almost all transactions go online anyway, so these masks matter most where offline is common.
9F10 IAD, Issuer Application Data
Security
Issuer-proprietary data returned with the cryptogram: card risk management results (CVR), internal counters… The exact format depends on the network and application profile, the most "black box" tag in a GENERATE AC response.
9F12 Application Preferred Name
Identification
The application's preferred display name, possibly in a dedicated character set (9F11). Takes precedence over tag 50 if the terminal can display it.
9F1A Terminal Country Code
Terminal
Country of the terminal (ISO 3166). Compared against the issuer country (5F28) to determine domestic vs international.
9F1E IFD Serial Number
Terminal
The reader's serial number. Physically identifies the device in logs, data to anonymise before sharing any capture.
9F21 Transaction Time
Transaction
Local time of the transaction (HHMMSS), a companion to tag 9A.
9F24 PAR, Payment Account Reference
Identification
A non-sensitive identifier (up to 29 alphanumeric characters) that links a tokenised PAN (mobile wallet, virtual card) back to its original PAN, without ever exposing that original PAN. A given PAR stays stable across all tokens issued from the same physical card, which lets a merchant or issuer reconcile a physical-card payment with a wallet payment with zero PCI exposure.
Spec reference : EMVCo, Payment Account Reference (PAR), public specification now maintained by the networks
Decode a real value
9F26 AC, Application Cryptogram
Security
THE cryptographic proof of the transaction: a MAC computed by the chip with its secret keys. The exact list of data feeding this calculation isn't fixed: the card itself chooses it, transaction by transaction, via the CDOL1 (8C) and CDOL2 (8D) tags, and it almost always includes the amount, the date and the TVR. In a stream that contains an 8C or an 8D, open it: you'll see the exact list this card requested for this cryptogram. Unforgeable without the card's key, the issuer verifies it to authenticate the transaction. Its type (ARQC/TC/AAC) is given by tag 9F27.
9F27 CID, Cryptogram Information Data
Decision
The type of cryptogram returned by the card, i.e. its decision: AAC = decline, TC = offline approval, ARQC = "ask the issuer". The card can be stricter than the terminal, never more lenient.
9F32 Issuer Public Key Exponent
Security
Public exponent of the issuer key (3 or 65537). Together with certificate 90 and remainder 92, it lets you reconstruct the full public key.
9F33 Terminal Capabilities
Terminal
What the terminal can do, in 3 bytes: card entry modes, supported CVMs, offline authentications. An ATM and a restaurant's card terminal don't share the same profile.
What its bits carry (12)
Bit labels – the detailed bit-by-bit explanation is coming in a later pass.
| Byte 1 · bit 8 | Manual key entry (terminal keypad) |
| Byte 1 · bit 7 | Magnetic stripe read |
| Byte 1 · bit 6 | Contact chip read |
| Byte 2 · bit 8 | Plaintext offline PIN verified by the card |
| Byte 2 · bit 7 | Enciphered PIN verified online |
| Byte 2 · bit 6 | Handwritten signature (paper) |
| Byte 2 · bit 5 | Enciphered offline PIN verified by the card |
| Byte 2 · bit 4 | No CVM required |
| Byte 3 · bit 8 | Static authentication (SDA) |
| Byte 3 · bit 7 | Dynamic authentication (DDA) |
| Byte 3 · bit 6 | Card capture possible |
| Byte 3 · bit 4 | Combined authentication (CDA) |
9F34 CVM Results
Cardholder
The result of cardholder verification: which method was applied (from CVM List 8E), under what condition, and whether it succeeded. An essential companion to the TVR for understanding a PIN-related decline.
9F35 Terminal Type
Terminal
A 2-digit code that crosses two axes: who controls the terminal (financial institution, merchant, cardholder) and its environment (attended or not, ability to go online). The vast majority of attended merchant terminals in France fall in the 21-23 range; the exact value depending on offline capability depends on the acquirer contract.
9F36 ATC, Application Transaction Counter
Security
A counter incremented by the chip on every transaction. It stops an intercepted transaction from being replayed as-is: since it feeds into the cryptogram calculation, no two transactions ever produce the same one. An abnormal jump in ATC is a fraud signal on the issuer side.
9F37 Unpredictable Number
Security
The terminal's nonce: randomness injected into the cryptogram calculation to prevent pre-computation and replay. A predictable UN has already broken the security of entire terminal fleets, a classic audit point.
9F38 PDOL, Processing Options DOL
Structure
The list of terminal data the card wants to receive right from GET PROCESSING OPTIONS. Same logic as the CDOLs: tag references, and the values then travel without structure.
9F40 Additional Terminal Capabilities
Terminal
Companion to tag 9F33: supported transaction types (cash, purchase, withdrawal…) and the terminal's display/entry capabilities.
What its bits carry (27)
Bit labels – the detailed bit-by-bit explanation is coming in a later pass.
| Byte 1 · bit 8 | Cash advance |
| Byte 1 · bit 7 | Goods |
| Byte 1 · bit 6 | Services |
| Byte 1 · bit 5 | Cashback |
| Byte 1 · bit 4 | Inquiry |
| Byte 1 · bit 3 | Transfer |
| Byte 1 · bit 2 | Payment |
| Byte 1 · bit 1 | Administrative |
| Byte 2 · bit 8 | Cash deposit |
| Byte 3 · bit 8 | Numeric keys |
| Byte 3 · bit 7 | Alphabetic and special-character keys |
| Byte 3 · bit 6 | Command keys |
| Byte 3 · bit 5 | Function keys |
| Byte 4 · bit 8 | Print, attendant |
| Byte 4 · bit 7 | Print, cardholder |
| Byte 4 · bit 6 | Display, attendant |
| Byte 4 · bit 5 | Display, cardholder |
| Byte 4 · bit 2 | Code table 10 |
| Byte 4 · bit 1 | Code table 9 |
| Byte 5 · bit 8 | Code table 8 |
| Byte 5 · bit 7 | Code table 7 |
| Byte 5 · bit 6 | Code table 6 |
| Byte 5 · bit 5 | Code table 5 |
| Byte 5 · bit 4 | Code table 4 |
| Byte 5 · bit 3 | Code table 3 |
| Byte 5 · bit 2 | Code table 2 |
| Byte 5 · bit 1 | Code table 1 |
9F41 Transaction Sequence Counter
Transaction
Transaction counter on the terminal side, the terminal's counterpart to the card's ATC.
9F42 Application Currency Code
Identification
The card application's reference currency (the one used by its internal offline counters).
9F44 Application Currency Exponent
Identification
Position of the decimal separator for the application's currency (2 for the euro).
9F45 Data Authentication Code
Security
Code produced by SDA authentication, stored for use in DOLs. Legacy, rare on modern cards.
9F46 ICC Public Key Certificate
Security
Certificate for the card's public key, signed by the issuer. The last link in the CA → issuer → card chain, used by DDA/CDA.
9F47 ICC Public Key Exponent
Security
Public exponent of the card's key.
9F48 ICC Public Key Remainder
Security
Remainder of the card's public key that didn't fit in certificate 9F46.
9F4A SDA Tag List
Security
List of extra tags included in the statically signed data, in practice almost always the AIP (82), to prevent it from being tampered with.
9F4B Signed Dynamic Application Data
Security
The dynamic signature produced by the card during DDA/CDA: it notably covers the terminal's nonce, proving the card is live and present, which SDA could never prove.
9F66 TTQ, Terminal Transaction Qualifiers
Terminal
In contactless: the terminal announces to the card what it supports and requires (EMV mode, online PIN, signature, CDCVM…). The first negotiation of a tap.
Spec reference : EMV Contactless Book A v2.11, Table 5-4 (Terminal Transaction Qualifiers), generic Entry Point baseline
Decode a real value
What its bits carry (12)
Bit labels – the detailed bit-by-bit explanation is coming in a later pass.
| Byte 1 · bit 8 | Mag-stripe mode supported |
| Byte 1 · bit 6 | EMV mode supported |
| Byte 1 · bit 5 | EMV contact chip supported |
| Byte 1 · bit 4 | Offline-only reader |
| Byte 1 · bit 3 | Online PIN supported |
| Byte 1 · bit 2 | Signature supported |
| Byte 1 · bit 1 | Offline Data Authentication for Online Authorizations supported |
| Byte 2 · bit 8 | Online cryptogram required |
| Byte 2 · bit 7 | CVM required |
| Byte 2 · bit 6 | (Contact Chip) Offline PIN supported |
| Byte 3 · bit 8 | Issuer Update Processing supported |
| Byte 3 · bit 7 | Consumer Device CVM supported |
9F6C CTQ, Card Transaction Qualifiers
Decision
The card's response to the TTQ in contactless: its own requirements (ask for online PIN, fall back to contact…).
9F6E FFI, Form Factor Indicator
Terminal
Outside the base EMV spec: its meaning depends on the network. At Visa, it's the Form Factor Indicator, 4 bytes describing the payment form factor (card, mobile, wearable…) and its capabilities. At Mastercard, the same tag carries Third Party Data, a variable-length format (country, identifier, form factor type). The tool detects the format from the value's length and decodes both.
Spec reference : Outside the base spec, network-defined: Visa Payment Technology Standards Manual (FFI) and Mastercard M/Chip documentation (Third Party Data), public sources
Decode a real value
BF0C FCI Issuer Discretionary Data
Structure
The issuer's discretionary area within the FCI, directory entries (61) live here, along with proprietary network or domestic tags (including some unpublished CB tags).
No match. Try a tag number (9F33) or a word from the label.