I try to get payment data from my emv-card and use for it arduino + nfc modules. It's work fine, but I have some difficult to get SFI. I test it on VISA card. I get request from card (answer) like:
6F 42 84 07 A0 00 00 00 03 10 10 A5 37 50 0D 56 49 53 41 20 49 4E 46 49 4E 49 54 45 87 01 01 9F 38 0C 9F 66 04 9F 02 06 9F 37 04 5F 2A 02 5F 2D 08 75 6B 72 75 65 6E 64
so, it's wait from me:
9F66 04
9F02 06
9F37 04
5F2A 02
and I send:
9F66 (TTQ) - 0xF8, 0x00, 0x40, 0x00
9F02 (Amount) - 0x00, 0x00, 0x00, 0x00, 0x14, 0x00,
9F37 (Rand num) - 0x36, 0xD3, 0xEC, 0x39,
5F2A (currency code) - 0x09, 0x80
and I get answer (data from track2 was changed):
77 66 82 02 00 00 94 04 08 02 02 00 57 13 44 41 11 11 11 11 11 97 D2 99 02 01 17 32 43 14 00 00 0F 5F 34 01 00 9F 10 07 06 01 11 03 80 20 00 9F 26 08 C9 D9 34 2A 7D 58
From this data I get Application File Locator (AFL) and it:
08 02 02 00
I decode it to send apdu like:
0x00, 0xb2, 0x02, 0x0c, 0x00
and get answer:
70 0A 9F 07 02 C0 80 5F 28 02 08 04 90 00
And it's very minimalistic, and don't have any useful data/info (it's need create field 55). I was search AFL must have more then one record and it's need to make it loop, but I get only one. Maybe the TTQ is wrong? Please help! Thanks!