
Application Group 0x04 - Magnetic Stripe Reader (MSR) Messages
Command 0x04::0x09 - Read MSR Data
The host uses this command to arm the device’s MSR to read magnetic stripe data after the device reports an EMV transaction using a chip card has failed. The command is intended to be used to implement fallback when Command 0x07::0x80 - EMV L2 Transaction Status or Notification 0x07::0x8A - EMV L2 Transaction Status report statuses EMV Error - Card Blocked or Empty Candidate List. If the host wishes to fall back to reading MSR data upon receiving those status reports, it must invoke this command while the card is still inserted, and the device will read the magnetic stripe when the cardholder removes the card from the slot, then send its response to the host to return the requested data.
Although this command is intended to be used after EMV transaction failure, if the host calls it outside the context of an EMV transaction, the command will function the same: The MSR reader will continue to be armed, and the device will return MSR card data in the response upon card removal.
Table - Message Structure for Command 0x04::0x09 - Read MSR Data
Tag
Len
Value(s) / Description
C0
01
01
Message Type Data Object (Tag C0) = 0x01 Command
C1
01
04
Application ID Data Object (Tag C1) = 0x04 MSR Messages
C2
01
09
Command ID Data Object (Tag C2) = 0x09 Read MSR Data
Table - Response to Command 0x04::0x09 - Read MSR Data
Tag
Len
Value(s) / Description
C0
01
02
Message Type Data Object (Tag C0) = 0x02 Response
C1
01
04
Application ID Data Object (Tag C1) = 0x04 MSR Messages
C2
01
09
Command ID Data Object (Tag C2) = 0x09 Read MSR Data
C3
01
00
Result Code Data Object (Tag C3) = 0x00 OK / Done
C4
Calculated
Data Field Data Object (Tag C4 or E0) =
If Result Code is OK / Done, this contains magnetic stripe data as documented in Data Object F4 - Magnetic Stripe Reader Card Data, otherwise the response will not include data object C4.
Notification 0x04::0x11 - MSR Card Data Available
When a cardholder swipes a magnetic stripe card, the device sends this notification to inform the host that card data is available. After receiving this notification, the host should call Command 0x04::0x12 - Request MSR Card Data to get the data.
Table - Message Structure for Notification 0x04::0x11 - MSR Card Data Available
Tag
Len
Value(s) / Description
C0
01
03
Message Type Data Object (Tag C0) = 0x03 Notification
C1
01
04
Application ID Data Object (Tag C1) = 0x04 MSR Messages
C2
01
11
Command ID Data Object (Tag C2) = 0x11 MSR Card Data Available
C4
03
Data Field Data Object (Tag C4 or E0) = Byte 0 Card type
0x00 = Other 0x01 = ISO
0x02 = AAMVA
0x99 = MSR_OPERATION_ERROR
Byte 1 Account Data whitelist comparison result (see Command 0x03::0x80 - Read PAN Whitelist / Account Data Whitelist)
0x00 = The card does not match any rule in the Account Data whitelist, device will send data encrypted.
0x01 = The card matches one or more rules in the Account Data whitelist, device will send data unencrypted.
0x99 = MSR_OPERATION_ERROR
Byte 2 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.
0x99 = MSR_OPERATION_ERROR
Command 0x04::0x12 - Request MSR Card Data
The host uses this command to request MSR data after receiving Notification 0x04::0x11 - MSR Card Data Available.
Table - Message Structure for Command 0x04::0x12 - Request MSR Card Data
Tag
Len
Value(s) / Description
C0
01
01
Message Type Data Object (Tag C0) = 0x01 Command
C1
01
04
Application ID Data Object (Tag C1) = 0x04 MSR Messages
C2
01
12
Command ID Data Object (Tag C2) = 0x12 Request MSR Card Data
Table - Response to Command 0x04::0x12 - Request MSR Card Data
Tag
Len
Value(s) / Description
C0
01
02
Message Type Data Object (Tag C0) = 0x02 Response
C1
01
04
Application ID Data Object (Tag C1) = 0x04 MSR Messages
C2
01
12
Command ID Data Object (Tag C2) = 0x12 Request MSR Card Data
C3
01
00
Result Code Data Object (Tag C3) = 0x00 OK / Done
C4
Calculated
Data Field Data Object (Tag C4 or E0) =
If Result Code is OK / Done (0x00), this contains magnetic stripe data as documented in Data Object F4 - Magnetic Stripe Reader Card Data, otherwise the response includes a 1-byte error code.
Last updated

