This message occurs when the state of the device is changed.
Parameter
Description
Obj
MTConnectionState value indicating the state of the device:
Disconnected Connecting Connected Disconneting
This message occurs when the state of the card information is changed.
This message occurs when card information is received from the device.
This message occurs when a response is received from the device.
This message occurs when transaction status update is received from the EMV device.
This message occurs when the EMV device has display message to present to the user.
This message occurs when the EMV device has user selection message to present to the user.
This message occurs when ARQC is received from the EMV device.
This message occurs when transaction result is received from the EMV device.
This message occurs when an EMV command result is received from the EMV device.
Result Code Description
0x0000 = Success 0x0001 = Failure
0x0381 = Failure, DUKPT scheme is not loaded
0x0382 = Failure, DUKPT scheme is loaded but all of its keys have been used
This one byte field indicates the current processing stage for the transaction: 0x00 = No transaction in progress
0x01 = waiting for user to insert card 0x02 = powering up the card
0x03 = selecting the application
0x04 = waiting user language selection 0x05 = waiting user application selection 0x06 = initiating application
0x07 = reading application data 0x08 = offline data authentication 0x09 = process restrictions
0x0A = card holder verification 0x0B = terminal risk management 0x0C = terminal action analysis
0x0D = generating first application cryptogram 0x0E = card action analysis
0x0F = online processing
3-4
Final Status
TBD
2
Menu Items
This field is variable length and is a collection of “C” style zero terminated strings (maximum 17 strings). The maximum length of each string is 20 characters, not including a Line Feed (0x0A) character that may be in the string. The last string may not have the Line Feed character.
The first string is a title and should not be considered for selection.
It is expected that the receiver of the notification will display the menu items and return (in the User Selection Result request) the number of the item the user selects. The minimum value of the Selection Result should be 1 (the first item, #0, was a title line only). The maximum value of the Selection Result is based on the number of items displayed.
3
Batch Data
Byte array containing the Batch Data. For details about the batch data format, see the Programmer's Manual (COMMANDS) for the specific device you are communicating with..
0x0384 = Invalid Total Transaction Time field
0x0385 = Invalid Card Type field 0x0386 = Invalid Options field
0x0387 = Invalid Amount Authorized field
0x0388 = Invalid Transaction Type field
0x0389 = Invalid Cash Back field
0x038A = Invalid Transaction Currency Code field
0x038B = Invalid Selection Status
0x038C = Invalid Selection Result
0x038D = Failure, no transaction currently in progress
0x038E = Invalid Reporting Option
0x038F = Failure, transaction already in progress 0x0390 = Device Has No Keys
0x0391 = Invalid Device Serial Number
0x0392 = Invalid Type of MAC field
0x0393 = Invalid Slot Number field
0x0394 = Invalid Operation field
0x0395 = Invalid Database Selector field
0x0396 = Invalid System Date and Time
0x0396 = Invalid Objects to Write field
0x0396 = Invalid Tags to Read field
0x0396 = Invalid Date / Time data (Date / Time has not been set yet)
0x0397 = Invalid MAC
0x0398 = No Slots Available
0x0399 = Object Write Protected
0x039B = Invalid CAPK Checksum
0x039C = Invalid Configuration Identifier
Parameter
Description
obj
MTCardDataState value indicating the state of the card data:
DataNotReady DataReady DataError
Parameter
Description
obj
IMTCardData value containing the card data received.
Parameter
Description
obj
String containing the response data received from the device.
Parameter
Description
obj
Byte array containing the data received from the device. See table below for descriptions of the data.
Offset
Field Name
Value
0
Event
Indicates the event that triggered this notification: 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 Cancelled Transaction 0x08 = Card Removed
1
Current Transaction Time remaining
Parameter
Description
obj
Byte array containing the display message. If the length is zero, the request to clear the display.
Parameter
Description
obj
Byte array containing the data received from the device. See table below for descriptions of the data.
Offset
Field Name
Value
0
Selection Type
This field specifies what kind of selection request this is: 0x00 = Application Selection
0x01 = Language Selection
1
Timeout
Parameter
Description
Obj
Byte array containing the data received from the device. See table below for descriptions of the data.
Offset
Field Name
Value
0
Message Length
Two byte binary, most significant byte first. This gives the total length of the ARQC message that follows.
2
ARQC
Message
Parameter
Description
Obj
Byte array containing the data received from the device. See table below for descriptions of the data.
Offset
Field Name
Value
0
Signature Required
This field indicates whether a card holder signature is required to complete the transaction:
0x00 = No signature required 0x01 = Signature required
If a signature is required, it is expected that the host will acquire the signature from the card holder as part of the transaction data.
1
Batch Data Length
Indicates the remaining time available, in seconds, for the transaction to complete. If the transaction does not complete within this time it will be aborted.
Specifies the maximum time, in seconds, allowed to complete the selection process. If this time is exceeded, the host should send the User Selection Result command with transaction will be aborted and an appropriate Transaction Status will be available. Value 0 is not allowed.
Byte array containing the ARQC Message. For details about the ARQC format, see the Programmer's Manual (COMMANDS) for the specific device you are communicating with.
Two byte binary, most significant byte first. This gives the total length of the Batch Data that follows.
2
Current Transaction Progress Indicator
0x10 = waiting online processing response 0x11 = transaction completion
0x12 = transaction error 0x13 = transaction approved 0x14 = transaction declined
This message occurs when an extended response is received from the device.
Parameter
Description
obj
Byte array containing the extended response data received from the device. The first two bytes represent the result codes for the extended command.
The next two bytes (most significant byte first) indicate the total length of the following data in bytes.
This message occurs when the device changes state.
The bits of Session State mean the following:
Pwr Chg:
1 = Power Change Occurred (occurs on Power up or after a USB resume)
Card Data:
0 = Certificate does not exist in the device
1 = Certificate exists in the device
This message occurs when the card status has changed.
This message occurs when the device sends card data.
This message occurs when the device sends the response to a PIN request.
This message occurs when the signature state has change.
This message occurs when the device sends the response to a signature request.
This message occurs when the encrypted data state has changed.
This message occurs when the device returns encrypted data.
1
Session State
Pwr Chg
RFU
RFU
RFU
Card Data
MSRP AN
EXPAN
Amt
MSR PAN:
1 = PAN Parsed from Card
EXPAN:
1 = External PAN Sent
Amt:
1 = Amount sent
3
Device Certificate Status
MSR CRL
PIN CRL
TLS (RSA)C
ert
Manufa cturer Unbind
MSR
Key Loader CA
Device CA
Device CA
2
Card Type
2
PIN BLOCK
Encryption Type
0xxx xxxx = Fixed key
1xxx xxxx = DUKPT key
xx00 xxxx = TDES
xx01 xxxx = AES128
xx10 xxxx = AES256
xxxx xx00 = Data variant
xxxx xx01 = PIN variant
xxxx xx10 = MAC variant
3 - 14
PIN KSN.
PIN KSN.
If fixed PIN Key is used, KSN is all zeroes.
14 - 21
EPB
Encrypted PIN Block (EPB). If PIN entry was successful, this contains the PIN data, encrypted using the PIN variant of the current PIN DUKPT working key. Format after decryption depends on the PIN Option the host specified, and on the device’s Session State:
If the Session State indicates there is no PAN available (from card swipe or sent via command), the device creates the EPB using ISO Format 1.
If there is a PAN, the device creates the EPB using the PIN Option the host specified in the command.
2
Signature length (low byte)
3
Signature length (high byte)
2
Input Data length (low byte)
3
Input Data length (high byte)
11 - n
Encrypted Input Data
The encrypted data encrypted using the DATA variant of the current DATA DUKPT working key.
Parameter
Description
obj
Byte array containing the data received from the device.
Offset
Field Name
Value
0
Device State
0x00 = Idle 0x01 = Session
0x02 = Wait For Card 0x03 = Wait For PIN
0x04 = Wait For Selection
0x05 = Displaying Message
0x06 = Test (Reserved for future use)
0x07 = Manual Card Entry
0x08 = Wait for Signature Capture (SC-S Only | SC-F Only)
0x09 = Wait Cardholder Entry
0x0A = Chip Card
0x0B = ICC Kernel Test
0x0C = EMV Transaction
0x0D = Show PAN
Offset
Field Name
Bit 7
6
5
4
3
2
1
Offset
Field Name
Value
2
Device Status
0x00 = OK. Otherwise, the possible values are listed below:
Bit 7 = Device Error Status:
1 = Device Error
Bit 6 = Authentication Status:
0 = Not Authenticated
1 = Authenticated
Bit 5 = 0
Bit 4 = Tamper:
0 = Normal
1 = Tamper Detected
Bits [3,2] = MSR Key Status:
00 = MSR Key OK
01 = MSR Key Exhausted
10 = No MSR Key
11 = MSR Key Not Bound
Bits [1,0] = PIN Key Status:
00 = PIN Key OK
01 = PIN Key Exhausted
10 = No PIN Key
11 = PIN Key Not Bound
Offset
Field Name
Bit 7
6
5
4
3
2
1
Parameter
Description
obj
Byte array containing the data received from the device.
Offset
Field Name
Value
0
Operation Status
1
Card Status
Parameter
Description
obj
Byte array containing the data received from the device.
Parameter
Description
obj
Byte array containing the data received from the device.
Offset
Field Name
Value
0
Operation Status
1
PIN BLOCK
Format
Parameter
Description
obj
Byte array containing the data received from the device.
Offset
Field Name
Value
0
Operation Status
1
Reserved
Parameter
Description
obj
Byte array containing the data received from the device.
Offset
Field Name
Value
0
Message
This Signature is an array of bytes.
Parameter
Description
obj
Byte array containing the data received from the device.
Offset
Field Name
Value
0
Operation Status
1
Reserved
Parameter
Description
obj
Byte array containing the data received from the device.
Offset
Field Name
Value
0
Operation Status
1 - 10
KSN.
0
0
0000 0000 = ISO Format 0 (PAN Required)
0000 0001 = ISO Format 1 (No PAN Required)
0000 0011 = ISO Format 3 (PAN Required)
0000 0100 = ISO Format 4 (Not Supported)
KSN.
If fixed Key is used, KSN is all zeroes.
F8<len> /*container tag for encryption */
DFDF59(Encrypted Data Primitive)<len><Encrypted Data val (Decrypt data to read tags)>
DFDF56(Encrypted Transaction Data KSN)<len><val>
DFDF57(Encrypted Transaction Data Encryption Type)<val>
DFDF58(# of bytes of padding in DFDF59)<len><val>
FC<len> /*container tag for encrypted generic data */
F4<len>/* container tag for encrypted MSR data */
DFDF36 <EncT1status><len><val>
DFDF37 <EncT1data><len><val>
DFDF38 <EncT2status><len><val>
DFDF39 <EncT2data><len><val>
DFDF3A <EncT3status><len><val>
DFDF3B <EncT3data><len><val>
DFDF3C <Encrypted Magneprint Data><len><val>
DFDF43 <Magneprint Status Data><len><val>
DFDF50(MSR KSN Data)<len><val> /*sent in the clear*/
DFDF51(MSR EncryptionType)<len><val>