
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

