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

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