EMV tags · Kernel 2 and Kernel 8
DF8129 9F8210 Outcome Parameter Set
| Tag | DF8129 – Kernel 29F8210 – Kernel 8 |
|---|---|
| Name | Outcome Parameter Set |
| Format and length | b 8 |
| Source | Kernel, sent to the terminal at the end of processing |
| Where you see it | In 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):
1APPROVED,2DECLINED,3ONLINE REQUEST,4END APPLICATION,5SELECT NEXT,6TRY ANOTHER INTERFACE,7TRY AGAIN,FN/A. - Byte 2, Start: where Entry Point restarts if a restart is needed.
0A (pre-processing),1B (protocol activation),2C (combination selection),3D (kernel activation),FN/A. - Byte 3, Online Response Data:
FN/A in both kernels. - Byte 4, CVM:
0NO CVM,1OBTAIN SIGNATURE,2ONLINE PIN,3CONFIRMATION CODE VERIFIED (the cardholder was verified on a phone),FN/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:
1contact chip,2magnetic stripe,FN/A. - Byte 7, Field Off Request:
FFN/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
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.