0
votes

This is something new and I've never done any coding related to online transaction or debit/credit cards. I was told to study about EMV(EuroPay Master Visa) card to implement it in Android App.

So far, I have collected info about

  • APDU
  • file structure
  • "APDU Command" is sent to get useful info from card.
  • APDU fields (CLA, INS, P1, P2, Lc, Data, Le)
  • "APDU response" is sent back from card to card reader.

All these processes happen between the card and the card reader. In my case, the card reader is attached to an android device. I may need to display card details to user in android app (Ex: Displaying last 4 digit of card number). My questions are

  1. what are the possible values in APDU command fields if i want to authenticate card.?
  2. How to communicate between card reader and device using Java.

PS: I don't need any codes. I just need a simple explanation, I will continue R&D once i understand the concept.

2
Why my question is down voted ? :/Darshn

2 Answers

1
votes

What you are asking for is an EMV course, that's a lot for a SO question.

As outlined by @kushal, you'll have to go through the EMV Specifications, they contain a lot of command samples, and will describe the sequence of commands required to complete a transaction.

But by doing so, what you're trying to achieve is to write an EMV Kernel, which is costly and time consuming, as outlined in this SO question. Count a couple of years of development for this, not taking into account the bank integration part... If what you want to achieve is just to process transactions, what you want to do is to buy an EMV kernel (ex : from level2kernel, verifone, Ingenico, etc.).

You can take a look to an example of a an Interac Flash transaction (contactless EMV) here, that will give you an overview of the complexity of the protocol.

0
votes

EMV Card SpecificationFirstly you have understand the EMV 4.2

Then You have to communicate with the reader to android device by the help of UsbManager Class. then send the specific APDU`s to the Card then the card give the Following information.