
Application Group 0x07 - EMV L2 Contact Messages (Chip Card L2 Mode Only) - 16 - 30
Command 0x07::0x11 - Read EMV L2 Terminal Capabilities Configuration
The host uses this command to read the device’s EMV L2 Terminal Capabilities Configuration set by Command 0x07::0x10 - Modify EMV L2 Terminal Capabilities Configuration. Descriptions of the tags can be found in EMV Integrated Circuit Card Specifications for Payment Systems v4.3 .
Table - Message Structure for Command 0x07::0x11 - Read EMV L2 Terminal Capabilities Configuration
Tag
Len
Value(s) / Description
C0
01
01
Message Type Data Object (Tag C0) = 0x01 Command
C1
01
07
Application ID Data Object (Tag C1) = 0x07 EMV L2 Contact Messages
C2
01
11
Command ID Data Object (Tag C2) = 0x11 Read EMV L2 Terminal Capabilities Configuration
C4
Calculated
Byte 0: Database Selector 0x00 = EMV Contact L2
Table - Response to Command 0x07::0x11 - Read EMV L2 Terminal Capabilities Configuration
Tag
Len
Value(s) / Description
C0
01
02
Message Type Data Object (Tag C0) = 0x02 Response
C1
01
07
Application ID Data Object (Tag C1) = 0x07 EMV L2 Contact Messages
C2
01
11
Command ID Data Object (Tag C2) = 0x11 Read EMV L2 Terminal Capabilities Configuration
C3
01
Result Code Data Object (Tag C3) = 0x00 = Success, the read completed
0x95 = Failure, invalid Database Selector field 0x9A = Internal Error, Database Corruption 0x9C = Invalid Configuration Identifier
C4
15
Byte 0: Configuration Identifier
One byte field containing the Configuration Identifier parameter the host set using
Command 0x07::0x10 - Modify EMV L2 Terminal Capabilities Configuration.
Bytes 1..21: Current Configuration SHA-1 value, a 20 byte SHA-1 hash of the configuration
required in the devices device’s Implementation Conformance Statement (ICS).
Command 0x07::0x12 - Read EMV L2 Configuration Check Values
The host can use this command to retrieve check values (CVs) for a number of device configuration settings. Use this command after finishing configuring a device to obtain baseline values, then use it again at any time and compare the check values to the baseline values to quickly determine whether any changes have occurred. A changed Master CV indicates a configuration change has occurred. The individual check values can help determine which configuration section has changed. Merchant data in tags 9F16, 9F1C, and 9F4E are not included in any check value calculations.
Table - Message Structure for Command 0x07::0x12 - Read EMV L2 Configuration Check Values
Tag
Len
Value(s) / Description
C0
01
01
Message Type Data Object (Tag C0) = 0x01 Command
C1
01
07
Application ID Data Object (Tag C1) = 0x07 EMV L2 Contact Messages
C2
01
0E
Command ID Data Object (Tag C2) = 0x12 Read EMV L2 Configuration Check Values
Table - Response to Command 0x07::0x12 - Read EMV L2 Configuration Check Values
Tag
Len
Value(s) / Description
C0
01
02
Message Type Data Object (Tag C0) = 0x02 Response
C1
01
07
Application ID Data Object (Tag C1) = 0x07 EMV L2 Contact Messages
C2
01
0E
Command ID Data Object (Tag C2) = 0x12 EMV L2 Configuration Check Values
C3
01
Result Code Data Object (Tag C3) = 0x00 = Success
C4
14
Check Values (CV)
Bytes 0..3 Master CV, combines all individual CVs (captures any changes)
Bytes 4..7 EMV Terminal Configuration CV
· Read the corresponding configurations using Command 0x07::0x11 - Read EMV L2 Terminal Capabilities Configuration and Command 0x07::0x06 - EMV L2 Get Contact Terminal Configuration
· Modify the corresponding configurations using Command 0x07::0x10 - Modify EMV L2 Terminal Capabilities Configuration and Command 0x07::0x05 - EMV L2 Modify Contact Terminal Configuration
Bytes 8..11 EMV Application Configuration CV Includes all non-empty EMV Application slots
· Read the corresponding configurations using Command 0x07::0x08 - EMV L2 Get Contact Application Configuration
· Modify the corresponding configurations using Command 0x07::0x07 - EMV L2 Modify Contact Application Configuration
Bytes 12..15 Device Configuration CV
· Read the corresponding configurations using Command 0x03::0x72
- Get Device Configuration · Modify the corresponding configurations using Command 0x07::0x10 - Modify EMV L2 Terminal Capabilities Configuration and Command 0x03::0x70 - Set Chip Card Support
Bytes 16..19 CAPK CV
Includes all non-empty CAPK slots
· Read the corresponding configurations using Command 0x07::0x0A - EMV L2 Get CA Public Key
· Modify the corresponding configurations using Command 0x07::0x09 - EMV L2 Modify CA Public Key
Command 0x07::0x13 - EMV L2 Continue Action
If the host has called Command 0x07::0x00 - EMV L2 Start Transaction with the Transaction Options specifying Continue Mode Enabled, Wait, the host uses this command to tell the device how to proceed with the transaction after receiving Notification 0x07::0x8C - EMV L2 Continue Notification. The host can cancel the transaction or modify the transaction amount here.
Table - Message Structure for Command 0x07::0x13 - EMV L2 Continue Action
Tag
Len
Value(s) / Description
C0
01
01
Message Type Data Object (Tag C0) = 0x01 Command
C1
01
07
Application ID Data Object (Tag C1) = 0x07 EMV L2 Contact Messages
C2
01
02
Command ID Data Object (Tag C2) = 0x13 EMV L2 Continue Action
E0
Calculated
Data Field Data Object (Tag C4 or E0) = (optional - No tags mean proceed)
Action <DF45> <1><value>
· 0x00 = Proceed with transaction
· 0x01 = Cancel transaction
New Transaction Amount <9F02><06><value>
This optional parameter changes the transaction amount. The value is in EMV format.
If an error occurs, the device will terminate the command and report the error using an ACK Response containing the result code. For a full list of error codes, see 2.4.4 Result Code Data Object (Tag C3). If no error occurs, the device responds as follows:
Table - Response to Command 0x07::0x13 - EMV L2 Continue Action
Tag
Len
Value(s) / Description
C0
01
02
Message Type Data Object (Tag C0) = 0x02 Response
C1
01
07
Application ID Data Object (Tag C1) = 0x07 EMV L2 Contact Messages
C2
01
88
Command ID Data Object (Tag C2) = 0x13 EMV L2 Continue Action
C3
01
Result Code Data Object (Tag C3) =
0x00 = OK / Done
0x02 = Invalid Parameter 0x08 = Not in Continue state
Command 0x07::0x14 - EMV L2 Offline PIN CVM Result
The host uses this command to send offline PIN data to the device in response to Notification 0x07::0x8B - EMV L2 Offline PIN CVM Request. The response from the EPP when reading the PIN includes the PIN block and sequence number needed for this command (DF53 and DFDF41).
Table - Message Structure for Command 0x07::0x14 - EMV L2 Offline PIN CVM Result
Tag
Len
Value(s) / Description
C0
01
01
Message Type Data Object (Tag C0) = 0x01 Command
C1
01
07
Application ID Data Object (Tag C1) = 0x07 EMV L2 Contact Messages
C2
01
02
Command ID Data Object (Tag C2) = 0x14 EMV L2 Offline PIN CVM Result
E0
Calculated
Data Field Data Object (Tag C4 or E0) =
<DF45(operation result)> <1><value> DF45 indicates the operation result as: 0x00 = Operation successful
0x01 = General failure
0x02 = User canceled operation. 0x03 = Operation timed out 0x04 = CVM failed
0x05 = PIN Bypass selected
<DF53><8><Offline encrypted PIN Block>
<DFDF41><8><EPP PIN Sequence Number>
If an error occurs, the device will terminate the command and report the error using an ACK Response containing the result code. For a full list of error codes, see 2.4.4 Result Code Data Object (Tag C3). If no error occurs, the device responds as follows:
Table - Response to Command 0x07::0x14 - EMV L2 Offline PIN CVM Result
Tag
Len
Value(s) / Description
C0
01
02
Message Type Data Object (Tag C0) = 0x02 Response
C1
01
07
Application ID Data Object (Tag C1) = 0x07 EMV L2 Contact Messages
C2
01
88
Command ID Data Object (Tag C2) = 0x14 EMV L2 Offline PIN CVM Result
C3
01
Result Code Data Object (Tag C3) =
0x00 = OK / Done
0x02 = Invalid Parameter
0x08 = No offline PIN CVM in progress
Command 0x07::0x80 - EMV L2 Transaction Status
The host uses this command to get the ongoing status of a transaction it has initiated using Command 0x07::0x00 - EMV L2 Start Transaction. The host may opt to call this command during an EMV transaction to monitor progress, or it may subscribe to notifications using Command 0x01::0x50 - Subscribe to Notifications and the device will send status reports proactively using Notification 0x07::0x8A - EMV L2 Transaction Status.
Table - Message Structure for Command 0x07::0x80 - EMV L2 Transaction Status
Tag
Len
Value(s) / Description
C0
01
01
Message Type Data Object (Tag C0) = 0x01 Command
C1
01
07
Application ID Data Object (Tag C1) = 0x07 EMV L2 Contact Messages
C2
01
80
Command ID Data Object (Tag C2) = 0x80 EMV L2 Transaction Status
If an error occurs, the device will terminate the command and report the error using an ACK Response containing the result code. For a full list of error codes, see 2.4.4 Result Code Data Object (Tag C3). If no error occurs, the device responds as follows:
Table - Response to Command 0x07::0x80 - EMV L2 Transaction Status
Tag
Len
Value(s) / Description
C0
01
02
Message Type Data Object (Tag C0) = 0x02 Response
C1
01
07
Application ID Data Object (Tag C1) = 0x07 EMV L2 Contact Messages
C2
01
80
Command ID Data Object (Tag C2) = 0x80 EMV L2 Transaction Status
C3
01
Result Code Data Object (Tag C3) = 0x00 OK / Done
C4
05
Data Field Data Object (Tag C4 or E0) =
Byte 0 indicates the current major state of the transaction:
0x00 = No events since start of transaction 0x01 = Card Inserted
0x02 = Card Error
0x03 = Transaction Progress Change 0x04 = Waiting for User Response 0x05 = Timed Out
0x06 = Transaction Terminated 0x07 = Host Canceled Transaction 0x08 = Card Removed
Byte 1 indicates the remaining time available, in seconds, for the indicated operation to complete. The timeout is set by the host when calling Command 0x07::0x00 - EMV L2 Start Transaction.
Byte 2 indicates the progress within the major transaction state: 0x00 = No transaction in progress
0x01 = Waiting for cardholder to insert card 0x02 = Powering up the card
0x03 = Selecting the application
0x04 = Waiting for user language selection
0x05 = Waiting for user application selection
0x06 = Initiating application
0x07 = Reading application data
0x08 = Offline data authentication 0x09 = Process restrictions
0x0A = Cardholder verification 0x0B = Terminal risk management 0x0C = Terminal action analysis
0x0D = Generating first application cryptogram 0x0E = Card action analysis
0x0F = Online processing
0x10 = Waiting online processing response 0x11 = Transaction complete
0x12 = Transaction error 0x13 = Transaction approved 0x14 = Transaction declined
0x15 = Transaction canceled by MSR swipe 0x16 = EMV error - Conditions Not Satisfied 0x17 = EMV error - Card Blocked
0x18 = Application selection failed 0x19 = EMV error - Card Not Accepted 0x1A = Empty Candidate List
0x1B = Application Blocked
Bytes 3..4 are reserved
Notification 0x07::0x81 - EMV L2 Display Message Request
The device sends this notification to request that the host display a message to the operator or cardholder. The host should display the message exactly as received. If the message is too long to fit on a single line it may be split to multiple lines if the host wishes. Messages are limited to 1024 bytes. If the message is zero length, this is a request for the host to clear the display.
Table - Message Structure for Notification 0x07::0x81 - EMV L2 Display Message Request
Tag
Len
Value(s) / Description
C0
01
03
Message Type Data Object (Tag C0) = 0x03 Notification
C1
01
07
Application ID Data Object (Tag C1) = 0x07 EMV L2 Contact Messages
C2
01
81
Command ID Data Object (Tag C2) = 0x81 Display Message Request
C4
Calculated
Data Field Data Object (Tag C4 or E0) =
A string of data up to 1024 bytes containing message to be displayed on the host
Notification 0x07::0x82 - EMV L2 User Selection Request
The device uses this notification to inform the host that a cardholder must enter a selection before the device can continue with the transaction. This can include:
The host needs the cardholder to select a language.
The host and card have more than one mutually supported application in common.
The host and card have only one mutually supported application in common, but the host called Command 0x07::0x00 - EMV L2 Start Transaction with the Transaction Options parameter specifying Enhanced App Select Mode Enabled.
In response, the host should prompt the cardholder to select an item from the menu, then send Command 0x07::0x02 - EMV L2 User Selection Result to provide the selection result and inform the device to continue the transaction.
Table - Message Structure for Notification 0x07::0x82 - EMV L2 User Selection Request
Tag
Len
Value(s) / Description
C0
01
03
Message Type Data Object (Tag C0) = 0x03 Notification
C1
01
07
Application ID Data Object (Tag C1) = 0x07 EMV L2 Contact Messages
C2
01
82
Command ID Data Object (Tag C2) = 0x82 EMV L2 User Selection Request
C4
Calculated
Data Field Data Object (Tag C4 or E0) =
Byte 0 Selection Type specifies what kind of selection request this is: 0x00 = Payment Brand Application Selection
0x01 = Language Selection
Byte 1 Timeout specifies the maximum time, in seconds, allowed to complete the selection process. If this time is exceeded, the host should send Command 0x07::0x02 - EMV L2 User Selection Result with the Selection Status field set to 0x02 (User Selection Request aborted, timeout), after which the transaction will be aborted and an appropriate Transaction Status will be available. Value 0 (User Selection Request completed) is not allowed in this case.
Bytes 2..n Menu Items is a variable length a collection of null-terminated strings (maximum 16 strings). The maximum length of each string is 64 characters. The first string is a title and should not be considered for selection. It is expected that the host will display the menu items to the cardholder, then, after the cardholder makes a selection, call Command 0x07::0x02 - EMV L2 User Selection Result to return the number of the item the cardholder selected.
When using the Selection Type Payment Brand Application Selection, each string below the list title includes the Application Identifier (AID) in ASCII and the Application Name. The format for the strings is as follows:
Select Application<NULL>
<ASCII AID Value 1>|<Application Name 1><NULL>
<ASCII AID Value 2>|<Application Name 2><NULL> If the host has enabled Enhanced App Selection mode using the Transaction Options parameter of Command 0x07::0x00 - EMV L2 Start Transaction, the device adds tags (in ASCII form) found on the card after the application name to allow the host to make informed decisions about application selection. If the device finds any of tags 5F55, 5F56, 42, 50, 87, or 9F0C on the card, it includes them here. The device also sends this notification even if only one application selection is available.
<ASCII AID Value 1>|<Application Name 1>|<TLV>|<TLV>|..<NULL
<ASCII AID Value 2>|<Application Name 2>|<TLV>|<TLV>|..<NULL
e.g. A0000000000010|VISA|5F55025555|4203480110|870101
Notification 0x07::0x83 - EMV L2 ARQC Message
The device uses this notification to send ARQC data for the host to process. After the host processes the ARQC data, it should send Command 0x07::0x03 - EMV L2 Online Processing Result / Acquirer Response to inform the device it can proceed with the transaction.
Table - Message Structure for Notification 0x07::0x83 - EMV L2 ARQC Message
Tag
Len
Value(s) / Description
C0
01
03
Message Type Data Object (Tag C0) = 0x03 Notification
C1
01
07
Application ID Data Object (Tag C1) = 0x07 EMV L2 Contact Messages
C2
01
83
Command ID Data Object (Tag C2) = 0x83 ARQC Message
C4
Calculated
Data Field Data Object (Tag C4 or E0) =
Bytes 0..1 ARQC Data Length. Two byte binary, most significant byte first. This gives the total length of the ARQC Data message that follows, excluding padding and CBC-MAC.
Bytes 2..n ARQC Message
If the card does not match any rule in the device’s Account Data Whitelist (see Command 0x03::0x80 - Read PAN Whitelist / Account Data Whitelist), the ARQC Message is a TLV data object with the contents shown in Table 4-114 - EMV ARQC Type - Account Data Not In Whitelist, otherwise the ARQC message is a TLV data object with the contents shown in Table 4-116 - EMV ARQC Type Account Data in Whitelist.
Table - EMV ARQC Type - Account Data Not In Whitelist
Tag
Len
Value / Description
Typ
Req
Default
F9
var
Container for MAC structure and generic data
T
R
/DFDF0B
03
Message Data Information Byte 0 Data Type
· 0x00 = Reserved
· 0x01 = EMV Contact L2 Data
Byte 1 Encryption
· 0x00 = Data is encrypted
· 0x00 = Data is clear Text
Byte 2 - Reserved
B
R
/DFDF54
var
MAC KSN
B
R
/DFDF55
01
MAC Encryption Type
· 0xxx xxxx = Fixed Key (Not used)
· 1xxx xxxx = DUKPT Key
· xx00 xxxx = TDES
· xx01 xxxx = AES128
· xx10 xxxx = AES 256
· xxxx xx00 = Data Variant
· xxxx xx01 = PIN Variant
· xxxx xx10 = MAC Variant
B
R
Tag
Len
Value / Description
Typ
Req
Default
/DFDF25
var
Device Serial Number (IFD Serial Number)
B
R
/FA
var
Container for generic data
T
R
//70
var
Container for ARQC
T
R
///DFDF53
01
Fallback Indicator
· 0x00 = No Fallback
· 0x01 = Technical Fallback
· 0x81 = MSR Fallback
B
R
///5F20
var
Cardholder Name
AN S
O
///5F30
02
Service Code
B
O
///DFDF4D
var
Masked Track 2 ICC Data
If the payment method presented by the cardholder provides it
AN
O
///DFDF52
01
Card Type
· 0x00 = Other
· 0x01 = Magnetic Stripe ISO/ABA Financial (MSR)
· 0x02 = Magnetic Stripe AAMVA (MSR)
· 0x03 = Manual Entry
· 0x04 = Unknown
· 0x05 = Contact Chip Card (ICC)
· 0x06 = Contactless Chip Card (PICC), EMV
· 0x07 = MSR Financial and Contact Chip Card (ICC)
· 0x08 = Contactless PICC, Magnetic Stripe Data (MSD)
B
R
///F8
var
Container for Encrypted Data
T
R
////DFDF59
var
Encrypted Data Primitive
Decrypt the value of this TLV data object using the algorithm and variant specified in the Encrypted Transaction Data KSN (DFDF56) parameter and the Encrypted Transaction Data Encryption Type (DFDF57) parameter to read its contents. See Table 4-115 for the data structure as it should appear after decryption.
B
R
////DFDF56
var
Encrypted Transaction Data KSN
B
R
////DFDF57
01
Encrypted Transaction Data Encryption Type
· 1xxx xxxx = DUKPT Key
· xx00 xxxx = TDES
· xxxx xx00 = Data Variant
· xxxx xx01 = PIN Variant
B
R
////DFDF58
01
Number of Padding Bytes
Number of bytes added to DFDF59 value to force its length to a multiple of 8 bytes for TDES.
B
R
Padding to ensure the length of data, starting with the message length at the very beginning, and ending with any additional padding, is a multiple of 8 bytes. This is a requirement of using the CBC-MAC algorithm.
Four byte CBC-MAC. To calculate the MAC include the F9 tag, length, and contents, and pad it with zeroes to make overall length a multiple of 8. Use the DUKPT MAC variant of the transaction key (DUKPT MAC variant constant = 0000 0000 0000 FF00 0000 0000 0000 FF00) with the CBC-MAC algorithm, and use the first 4 bytes of the 8.
Table - EMV ARQC DFDF59 Decrypted Contents
Tag
Len
Value / Description
Typ
Req
Default
FC
var
Decrypted Data Container
Inside this container, the device inserts all EMV TLV data objects specified by TLV data object DFDF02 in EMV Contact Terminal Settings and Defaults. For definitions of possible values for standard EMV TLV data objects, see EMV 4.3 Book 3. MagTek custom TLV data objects not defined in that specification are defined in the following rows of this table.
T
R
/DF8120
05
Terminal Action Code - Default
For a list of possible values, see EMV 4.3 Book 3 values for TLV object 95 Terminal Verification Results.
B
O
/DF8121
05
Terminal Action Code - Denial
For a list of possible values, see EMV 4.3 Book 3 values for TLV object 95 Terminal Verification Results.
B
O
/DF8122
05
Terminal Action Code - Online
For a list of possible values, see EMV 4.3 Book 3 values for TLV object 95 Terminal Verification Results.
B
O
/F4
var
Container for encrypted MSR data
See Data Object F4 - Magnetic Stripe Reader Card Data for details
T
O
/F5
var
Container for encrypted PIN Data
T
O
//99
var
Encrypted PIN Block Data
B
O
//DFDF41
var
Encrypted PIN Block KSN
B
O
//DFDF42
var
PIN Block Encryption Type
· 0xxx xxxx = Fixed Key (Not used)
· 1xxx xxxx = DUKPT Key
· xx00 xxxx = TDES
· xx01 xxxx = AES128
· xx10 xxxx = AES 256
· xxxx xx00 = Data Variant
· xxxx xx01 = PIN Variant
· xxxx xx10 = MAC Variant
B
O
Padding to force DFDF59 plus padding to be a multiple of 8 bytes
Table - EMV ARQC Type Account Data in Whitelist
Tag
Len
Value / Description
Typ
Req
Default
F9
var
Container for MAC structure and generic data
T
R
/DFDF0B
03
Message Data Information Byte 0 Data Type
· 0x00 = Reserved
· 0x01 = EMV Contact L2 Data
Byte 1 Encryption
· 0x00 = Data is encrypted
· 0x00 = Data is clear Text
Byte 2 - Reserved
B
R
/DFDF54
var
MAC KSN
B
R
/DFDF55
01
MAC Encryption Type
· 0xxx xxxx = Fixed Key (Not used)
· 1xxx xxxx = DUKPT Key
· xx00 xxxx = TDES
· xx01 xxxx = AES128
· xx10 xxxx = AES 256
· xxxx xx00 = Data Variant
· xxxx xx01 = PIN Variant
· xxxx xx10 = MAC Variant
B
R
/DFDF25
var
Device Serial Number (IFD Serial Number)
B
R
/FA
var
Container for generic data
T
R
//70
var
Container for ARQC
T
R
///DFDF53
01
Fallback Indicator
· 0x00 = No Fallback
· 0x01 = Technical Fallback
· 0x81 = MSR Fallback
B
R
///5F20
var
Cardholder Name
AN S
O
///5F30
02
Service Code
B
O
///DFDF4D
var
Masked Track 2 ICC Data
If the payment method presented by the cardholder provides it
AN
O
Tag
Len
Value / Description
Typ
Req
Default
///DFDF52
01
Card Type
· 0x00 = Other
· 0x01 = Magnetic Stripe ISO/ABA Financial (MSR)
· 0x02 = Magnetic Stripe AAMVA (MSR)
· 0x03 = Manual Entry
· 0x04 = Unknown
· 0x05 = Contact Chip Card (ICC)
· 0x06 = Contactless Chip Card (PICC), EMV
· 0x07 = MSR Financial and Contact Chip Card (ICC)
· 0x08 = Contactless PICC, Magnetic Stripe Data (MSD)
B
R
var
var
List of Data Objects configured by terminal setting DFDF02 that can reported in the transaction
Padding to ensure the length of data, starting with the message length at the very beginning, and ending with any additional padding, is a multiple of 8 bytes. This is a requirement of using the CBC-MAC algorithm.
Four byte CBC-MAC. To calculate the MAC include the F9 tag, length, and contents, and pad it with zeroes to make overall length a multiple of 8. Use the DUKPT MAC variant of the transaction key (DUKPT MAC variant constant = 0000 0000 0000 FF00 0000 0000 0000 FF00) with the CBC-MAC algorithm, and use the first 4 bytes of the 8.
If the card matches one or more rules in the device’s Account Data Whitelist (see Command 0x03::0x80 - Read PAN Whitelist / Account Data Whitelist), the ARQC Message is a TLV data object with the following contents:
Notification 0x07::0x84 - EMV L2 Transaction Result
The device sends this notification to provide the host with final information from the transaction. It will usually include batch data and an indication of whether a signature is required.
Table - Message Structure for Notification 0x07::0x84 - EMV L2 Transaction Result
Tag
Len
Value(s) / Description
C0
01
03
Message Type Data Object (Tag C0) = 0x01 Command
C1
01
07
Application ID Data Object (Tag C1) = 0x07 EMV L2 Contact Messages
C2
01
84
Command ID Data Object (Tag C2) = 0x84 EMV L2 Transaction Result
C4
Calculated
Data Field Data Object (Tag C4 or E0) =
Byte 0 Signature Required. This field indicates whether a cardholder signature is required to complete the transaction:
0x00 = No signature required
0x01 = Signature required. If a signature is required, the host should acquire the signature from the cardholder as part of the transaction data.
Bytes 1..2 Batch Data Length. Two byte binary, most significant byte first. This gives the total length of the Batch Data message that follows, excluding padding and CBC- MAC.
Byte 3 Batch Data:
See Appendix C Transaction Result Message - Batch Data Format (EMV Only). It is expected that the host will save this data as a record of the transaction.
Notification 0x07::0x87 - EMV L2 PIN Entry Show Prompt Request
The device uses this notification to request that the host display a PIN entry related prompt on the host’s display.
Table - Message Structure for Notification 0x07::0x87 - EMV L2 PIN Entry Show Prompt Request
Tag
Len
Value(s) / Description
C0
01
03
Message Type Data Object (Tag C0) = 0x03 Notification
C1
01
07
Application ID Data Object (Tag C1) = 0x07 EMV L2 Contact Messages
C2
01
87
Command ID Data Object (Tag C2) = 0x87 EMV L2 PIN Entry Show Prompt Request
C4
01
Data Field Data Object (Tag C4 or E0) =
Byte 0 Prompt ID specifies which prompt the device want the secure host to display: 0x01 = AMOUNT
0x02 = AMOUNT OK?
0x03 = APPROVED
0x04 = CALL YOUR BANK
0x05 = CANCEL OR ENTER
0x06 = CARD ERROR
0x07 = DECLINED
0x08 = ENTER AMOUNT
0x09 = ENTER PIN
0x0A = INCORRECT PIN
0x0B = INSERT CARD
0x0C = NOT ACCEPTED
0x0D = PIN OK
0x0E = PLEASE WAIT
0x0F = PROCESSING ERROR
0x10 = REMOVE CARD
0x11 = USE CHIP READER
0x12 = USE MAG STRIPE
0x13 = TRY AGAIN
Notification 0x07::0x88 - EMV L2 Online PIN CVM Request
The device uses this notification to request a online PIN block from the host.
Table - Message Structure for Notification 0x07::0x88 - EMV L2 Online PIN CVM Request
Tag
Len
Value(s) / Description
C0
01
03
Message Type Data Object (Tag C0) = 0x03 Notification
C1
01
07
Application ID Data Object (Tag C1) = 0x07 EMV L2 Contact Messages
C2
01
88
Command ID Data Object (Tag C2) = 0x88 PIN CVM Request Notification
C4
01
Data Field Data Object (Tag C4 or E0) =
Byte 0 PAN status (see Command 0x03::0x80 - Read PAN Whitelist / Account Data Whitelist)
0x00 = The card does not match any rule in the PAN whitelist. No PAN is available.
0x01 = The card matches one or more rules in the PAN whitelist. Full cleartext PAN for PIN block construction is available.
0x02 = The card matches one or more rules in the PAN whitelist. Partial cleartext PAN for PIN block construction is available.
0x03 = The card does not match any rule in the PAN whitelist, but an encrypted PAN is available for use with a paired Cryptera EPP.
Table - Response to Notification 0x07::0x88 - EMV L2 Online PIN CVM Request
Tag
Len
Value(s) / Description
C0
01
02
Message Type Data Object (Tag C0) = 0x02 Response
C1
01
07
Application ID Data Object (Tag C1) = 0x07 EMV L2 Contact Messages
C2
01
88
Command ID Data Object (Tag C2) = 0x88 PIN CVM Request Notification
C3
01
Result Code Data Object (Tag C3) =
0x00 = OK / Done
E0
Calculated
Data Field Data Object (Tag C4 or E0) =
<DF45(operation result)> <1><value> DF45 indicates the operation result as: 0x00 = Operation successful
0x01 = General failure
0x02 = User canceled operation. 0x03 = Operation timed out 0x04 = CVM failed
0x05 = PIN Bypass selected
<DF53><len><Encrypted Online PIN block>
<DFDF41><len><PIN Encryption KSN>
<DFDF42><len><PIN Encryption type>
Notification 0x07::0x89 - EMV L2 Language Selection Result
The device uses this notification to notify host the language selection result.
Table - Message Structure for Notification 0x07::0x89 - EMV L2 Language Selection Result
Tag
Len
Value(s) / Description
C0
01
03
Message Type Data Object (Tag C0) = 0x03 Notification
C1
01
07
Application ID Data Object (Tag C1) = 0x07 EMV L2 Contact Messages
C2
01
89
Command ID Data Object (Tag C2) = 0x89 PIN CVM Request Notification
C4
02
Data Field Data Object (Tag C4 or E0) = 2-byte language ID
0x656E = English 0x6465 = German
Notification 0x07::0x8A - EMV L2 Transaction Status
The host can use Command 0x01::0x50 - Subscribe to Notifications to subscribe to this notification to receive notifications of ongoing progress of an EMV transaction it has initiated using Command 0x07::0x00 - EMV L2 Start Transaction. It may also request some of this status information on demand using Command 0x07::0x80 - EMV L2 Transaction Status.
Table - Message Structure for Notification 0x07::0x8A - EMV L2 Transaction Status
Tag
Len
Value(s) / Description
C0
01
03
Message Type Data Object (Tag C0) = 0x03 Notification
C1
01
07
Application ID Data Object (Tag C1) = 0x07 EMV L2 Contact Messages
C2
01
8A
Command ID Data Object (Tag C2) = 0x8A EMV L2 Transaction Status
C4
05
Data Field Data Object (Tag C4 or E0) =
Byte 0 indicates the current major state of the transaction:
· 0x00 = No events since start of transaction
· 0x01 = Card Inserted
· 0x02 = Card Error
· 0x03 = Transaction Progress Change
· 0x04 = Waiting for User Response
· 0x05 = Timed Out
· 0x06 = Transaction Terminated
· 0x07 = Host Canceled Transaction
· 0x08 = Card Removed
Byte 1 indicates the remaining time available, in seconds, for the indicated major transaction state to complete. For information about specifying the timeout for cardholder interactions, see Command 0x07::0x00 - EMV L2 Start Transaction. For major states that do not involve cardholder interaction, the device sends 0x00.
Byte 2 indicates the progress within the major transaction state:
· 0x00 = No transaction in progress
· 0x01 = Waiting for cardholder to insert card
· 0x02 = Powering up the card
· 0x03 = Selecting the application
· 0x04 = Waiting for user language selection
· 0x05 = Waiting for user application selection
· 0x06 = Initiating application
· 0x07 = Reading application data
· 0x08 = Offline data authentication
· 0x09 = Process restrictions
· 0x0A = Cardholder verification
· 0x0B = Terminal risk management
· 0x0C = Terminal action analysis
· 0x0D = Generating first application cryptogram
· 0x0E = Card action analysis
· 0x0F = Online processing
· 0x10 = Waiting online processing response
· 0x11 = Transaction complete
· 0x12 = Transaction error
· 0x13 = Transaction approved
· 0x14 = Transaction declined
· 0x15 = Transaction canceled by MSR swipe
· 0x16 = EMV error - Conditions Not Satisfied
· 0x17 = EMV error - Card Blocked
· 0x18 = Application selection failed
· 0x19 = EMV error - Card Not Accepted
· 0x1A = Empty Candidate List
· 0x1B = Application Blocked
· 0x20 = Waiting for Continue Response
· 0x21 = Waiting for Offline PIN
Bytes 3..4 Reserved
Notification 0x07::0x8B - EMV L2 Offline PIN CVM Request
The device uses this notification to request am offline PIN block from the host. The host must request PIN entry from a paired Cryptera EPP, get the sequence number and encrypted PIN block, and send the data to the oDynamo using Command 0x07::0x14 - EMV L2 Offline PIN CVM Result.
Table - Message Structure for Notification 0x07::0x8B - EMV L2 Offline PIN CVM Request
Tag
Len
Value(s) / Description
C0
01
03
Message Type Data Object (Tag C0) = 0x03 Notification
C1
01
07
Application ID Data Object (Tag C1) = 0x07 EMV L2 Contact Messages
C2
01
8B
Command ID Data Object (Tag C2) = 0x8B EMV L2 Offline PIN CVM Request
Notification 0x07::0x8C - EMV L2 Continue Notification
If the host has called Command 0x07::0x00 - EMV L2 Start Transaction with the Transaction Options parameter specifying Continue Mode Enabled, Wait or Continue Mode Enabled, Continue, the device uses this notification to provide data to the host after state EMV Read Application Data (status progress code = 8) is complete. If the value of the Notification Flag TLV data object indicates Transaction Paused, the host should call Command 0x07::0x13 - EMV L2 Continue Action to proceed with the transaction.
Table - Message Structure for Notification 0x07::0x8C - EMV L2 Continue Notification
Tag
Len
Value(s) / Description
C0
01
03
Message Type Data Object (Tag C0) = 0x03 Notification
C1
01
07
Application ID Data Object (Tag C1) = 0x07 EMV L2 Contact Messages
C2
01
8C
Command ID Data Object (Tag C2) = 0x8C EMV L2 Continue Notification
C4
Calculated
Data Field Data Object (Tag C4 or E0) = Notification Flag <DF45><1><value>
· 0x00 = Transaction Continuing, no response required
· 0x01 = Transaction Paused, waiting for Command 0x07::0x13 - EMV L2 Continue Action
The device includes the following EMV TLV data objects as a block of bytes if found on the card: 0x9F06, 0x5A, 0x57, 0x9F02, 0x50, 0x5F24, 0x9F11, 0x9F12, 0xDF30, 0xDF32, 0xDF34, 0xDF35, 0xDF36, 0xDF37, 0xDF38, 0xDF40, 0xDF41, 0xDF43,
0xDF52, 0xDF53, 0xDF54, 0xDF55, 0xDF56, 0x9F4D, 0x9F6E. For example: DF4501015F24032410019F0206000000012345
Last updated

