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

Appendix C Transaction Result Message - Batch Data Format (EMV Only)

This section gives the format of the data the device uses for Notification 0x07::0x84 - EMV L2 Transaction Result.

  • When the card does not match any rule in the device’s Account Data Whitelist, the TLV data object contains the data defined in Table 4-126.

  • When the card matches one or more rules in the device’s Account Data Whitelist, the TLV data object contains the data defined in Table 4-128.

Table - EMV Batch Data, 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

/DFDF25

var

Device Serial Number (IFD Serial Number)

B

R

/FA

var

Container for generic data

T

R

//F0

var

Transaction Results

T

R

///F1

var

Container for Status Data

T

R

////DFDF1 A

01

Transaction Status

· 0x00 = Approved

· 0x01 = Declined

· 0x02 = Error

· 0x10 = Canceled by Host

· 0x1E = Manual Selection Canceled by Host

· 0x1F = Mnanual Selection Timeout

B

R

Tag

Len

Value / Description

Typ

Req

Default

· 0x21 = Waiting for Card, Canceled by Host

· 0x22 = Waiting for Card, Timeout

· 0x23 = Canceled by Card Swipe

· 0xFF = Unknown

///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-127 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

· 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

////DFDF58

01

Number of Padding Bytes

Number of bytes added to DFDF59 value to force its length to a multiple of 8 bytes.

B

R

///F7

var

Container for Merchant Data

T

R

////5F25

03

Application Effective Date

N

O

////5F24

03

Application Expiration Date

N

O

////5F2A

02

Transaction Currency Code

N

R

////9F02

06

Amount Authorized, numeric

N

R

////9F03

06

Amount Other, numeric

N

O

////9F06

var

Application AID

B

O

////9F12

var

Application Preferred Name

AN

O

////9F1C

08

Teminal ID

AN

O

////9F39

01

POS Entry Mode

B

O

////9C

01

Transaction Type

B

O

////9F34

03

CVM Results

B

O

////5F57

01

Account Type

B

O

Tag

Len

Value / Description

Typ

Req

Default

////5F20

var

Cardholder Name

AN

O

////DFDF4 D

var

Masked Track 2 ICC Data

AN

O

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. 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 Batch Data 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 configured by TLV data object DFDF17 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

/DF4F

var

Issuer Script Results

B

O

/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 Batch Data, 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

//F0

var

Transaction Results

T

R

///F1

var

Container for Status Data

T

R

////DFDF1 A

01

Transaction Status

· 0x00 = Approved

· 0x01 = Declined

· 0x02 = Error

· 0x10 = Canceled by Host

· 0x1E = Manual Selection Canceled by Host

· 0x1F = Mnanual Selection Timeout

· 0x21 = Waiting for Card, Canceled by Host

· 0x22 = Waiting for Card, Timeout

· 0x23 = Canceled by Card Swipe

· 0xFF = Unknown

B

R

Tag

Len

Value / Description

Typ

Req

Default

///F2

var

Container for Batch Data

T

R

////var

var

List of Data Objects configured by terminal setting DFDF17 that can reported in the transaction

///F3

var

Container for Reversal Data

T

O

////var

var

List of Data Objects configured by terminal setting DFDF05 that can reported in the transaction

///F7

var

Container for Merchant Data

T

R

////5F25

03

Application Effective Date

N

O

////5F24

03

Application Expiration Date

N

O

////5F2A

02

Transaction Currency Code

N

R

////9F02

06

Amount Authorized, numeric

N

R

////9F03

06

Amount Other, numeric

N

O

////9F06

var

Application AID

B

O

////9F12

var

Application Preferred Name

AN

O

////9F1C

08

Teminal ID

AN

O

////9F39

01

POS Entry Mode

B

O

////9C

01

Transaction Type

B

O

////9F34

03

CVM Results

B

O

////5F57

01

Account Type

B

O

////5F20

var

Cardholder Name

AN

O

////DFDF4 D

var

Masked Track 2 ICC Data

AN

O

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.

Last updated