For the complete documentation index, see llms.txt. This page is also available as Markdown.
Page cover

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