About Track Data
After the host receives and decrypts EMV ARQC Type data or Merchant Data Container data from the device, it may need to parse each track into individual values embedded in the tracks. The device can read multiple card formats, which vary even between different issuers and payment brands using the same underlying standards. Describing all possible formats is beyond the scope of this document, but this section describes how to parse data from tracks 1, 2, and 3 in a generic ISO/ABA compliant format as an example.
Table 17 shows an example of ISO/ABA track data the device sends to the host, using unmasked placeholder numbers to make it easier to see the relative positions of the values embedded in the track data. It is important to note that some cards do not include Track 3 data. Manually entered data does not include Track 3.
Table - Example Generic ISO/ABA Track Data Format
Track 1 Data %75555555555555555^CARDHOLDER NAME/^33338880004444000006?
Track 2 Data ;5555555555555555=33338880004444006?
Track 3 Data ;5555555555555555=333388800044440000006?
The example track data in Table 17 can be interpreted as follows:
The %, ?, and ; are sentinels / delimiters, and are taken directly from the data on the card.
The first character at the beginning of Track 1 data is the card format code. For swiped credit / debit cards, this comes from the card and is generally B. Manually entered data uses M.
The string of 5s is the Account Number / License Number / PAN.
The carets (^) are standard ISO track 1 delimiters surrounding the Cardholder Name.
The string labeled CARDHOLDER NAME/ is the Cardholder Name. Manually entered data uses string literal MANUAL.
The string of 3s is the Expiration Date (YYMM).
The string of 8s is the Service Code. For swiped credit / debit cards, this comes from the card. Manually entered data uses 000.
The remaining characters ( 0s, 4s, and 6) are Discretionary Data. For swiped debit / credit cards this data is of varying length and content and comes from the card, and must be interpreted according to the standards established by issuers, payment brands, and so on. Manually entered track data uses a MagTek standard for Discretionary Data as follows:
The string of 4s is the CVV2 a cardholder or operator entered on the keypad. This may be 3 or 4 characters long and is not padded, so the host software must find it by using the fixed-length padding and sentinels that surround it.
The strings of 0s are literals of fixed length: Track 1 has three zeroes after the Service Code, and five zeroes after the CVV2; Track 2 has three zeroes after the Service Code, and two zeroes after CVV2.
The field option contains either a 0 or a 1. This Field Option tells what data is included in the track data, where:
0 = Acct, Date, CVV
1 = Name on Card, Acct, Date, CVV
Last updated

