EMV tags · Kernel 2 and Kernel 8

DF8129 9F8210 Outcome Parameter Set

TagDF8129 – Kernel 2
9F8210 – Kernel 8
NameOutcome Parameter Set
Format and lengthb 8
SourceKernel, sent to the terminal at the end of processing
Where you see itIn the kernel's outcome (OUT signal), with the Data Record and Discretionary Data

The Outcome Parameter Set is how a contactless kernel tells the terminal what happened and what to do next. It is 8 bytes long and travels with the kernel's outcome at the end of processing. Kernel 2 (Mastercard) uses tag DF8129, Kernel 8 uses 9F8210, and both follow the same layout, inherited from the generic outcome in EMV Contactless Book A.

Byte by byte

  • Byte 1, Status (high nibble): 1 APPROVED, 2 DECLINED, 3 ONLINE REQUEST, 4 END APPLICATION, 5 SELECT NEXT, 6 TRY ANOTHER INTERFACE, 7 TRY AGAIN, F N/A.
  • Byte 2, Start: where Entry Point restarts if a restart is needed. 0 A (pre-processing), 1 B (protocol activation), 2 C (combination selection), 3 D (kernel activation), F N/A.
  • Byte 3, Online Response Data: F N/A in both kernels.
  • Byte 4, CVM: 0 NO CVM, 1 OBTAIN SIGNATURE, 2 ONLINE PIN, 3 CONFIRMATION CODE VERIFIED (the cardholder was verified on a phone), F N/A.
  • Byte 5, flags: b8 UI Request on Outcome Present, b7 UI Request on Restart Present, b6 Data Record Present, b5 Discretionary Data Present, b4 Receipt.
  • Byte 6, Alternate Interface Preference: 1 contact chip, 2 magnetic stripe, F N/A.
  • Byte 7, Field Off Request: FF N/A, otherwise how long to turn the field off, in units of 100 ms.
  • Byte 8, Removal Timeout: in units of 100 ms.

The low nibbles of bytes 1 to 4 and 6, and bits b3–b1 of byte 5, are reserved.

How the terminal uses it

The status decides the next step: send the Data Record online for ONLINE REQUEST, complete or decline locally, prompt for another interface, or restart. When a restart is needed, Start tells Entry Point where to resume; TRY AGAIN, for example, usually restarts at B so the cardholder can present the card or phone again. The CVM nibble tells the terminal whether to collect online PIN or a signature. The flags tell it which other data came with the outcome: the User Interface Request Data to display, the Data Record for authorisation, and the Discretionary Data, which includes the Error Indication.

Example

30 F0 F0 20 A0 F0 FF 00: ONLINE REQUEST, no restart, ONLINE PIN, a UI request and a Data Record are present, no alternate interface, no field off request. The terminal displays the message, collects the PIN and sends the Data Record to the acquirer.

Kernel 8 specifics

In Kernel 8 the card chooses the CVM from the ones the kernel offers, and the kernel maps the card's Cardholder Verification Decision into the CVM nibble. For example, CDCVM becomes CONFIRMATION CODE VERIFIED, and a CV FAILED decision becomes N/A.

Common mistakes

  • Looking only at the status and ignoring the flags, so the UI request or the Data Record is lost.
  • Restarting from the wrong point, or not at all, after TRY AGAIN or an online response that needs a second tap.
  • Reading Field Off Request and Removal Timeout as seconds instead of units of 100 ms.
  • Logging the outcome without the Discretionary Data, which is the first thing you need when debugging a failure.

Decode a value

Open in the TLV parser

Related

Kernel 8 definitions follow EMV Contactless Book C-8 v1.0; Kernel 2 definitions follow EMV Contactless Book C-2. Always check the EMVCo and payment scheme specifications that apply to your project.