devnied / EMV-NFC-Paycard-Enrollment

A Java library used to read and extract data from NFC EMV credit cards (Android/PCSC).
Apache License 2.0
1.48k stars 593 forks source link

Formation of the response template CLA=80, INS=A6 #80

Open IvanTomshin opened 2 years ago

IvanTomshin commented 2 years ago

Hi! I'm looking into your source code, it's very good. However, there are cards that require instead of GET PROCESSING CLA=80, INS=A8. Execute command CLA=80 INS=A6. How to generate a template for this command? This affects mobile payment applications.

Best regards, Ivan.

devnied commented 2 years ago

Hi, Thanks for your feedback. You can create or override an existing parser to change the Get processing command.

EmvTemplate parser = EmvTemplate.Builder() //
                .setConfig(EmvTemplate.Config())
.build();
parser.addParsers(new CustomParser());
EmvCard card = parser.readEmvCard();

You custom parser can extends EmvParser and override getGetProcessingOptions with your custom implementation.

In with case and for which kind of cards you need to send a command 80 A6 ? (I don't find this case in the EMV Book documentation).

Regards,

IvanTomshin commented 2 years ago

Thanks for the answer.   I came across the fact that the Russians have created a mobile payment application that answers AID A000000658101000, the MIR system.   I make a request 80 A8 00 00 XX 83 ... And I get the answer 6D 00.   When I began to understand, I discovered the following algorithm:   standard queries

Select PPSE

Select AID

unknown instruction

send 80 A6 00 00 1B A8 82 00 00 00 00 45 00 00 00 00 00 00 00 06 43 06 43 22 05 25 00 C5 78 83 32 22 00   I did not find a description in iso 7816 CLA=80 INS=A6   Maybe ISO 7816 refers to payment cards, but in this case we are considering a mobile payment application for android whose commands are extended by other ISOs? Have you heard about this?   Or did the Russians make their instruction 80 A6, which is not in ISO?   Regards, Ivan  

Четверг, 26 мая 2022, 20:52 +05:00 от Julien Millau @.***>:     Hi, Thanks for your feedback. You can create or override an existing parser to change the Get processing command. EmvTemplate parser = EmvTemplate.Builder() // .setConfig(EmvTemplate.Config()) .build(); parser.addParsers(new CustomParser()); EmvCard card = parser.readEmvCard();

You custom parser can extends EmvParser and override getGetProcessingOptions with your custom implementation. In with case and for which kind of cards you need to send a command 80 A6 ? (I don't find this case in the EMV Book documentation). Regards, — Reply to this email directly, view it on GitHub , or unsubscribe . You are receiving this because you authored the thread. Message ID: <devnied/EMV-NFC-Paycard-Enrollment/issues/80/1138724655 @ github . com>     Ivan