Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to Read EMV based smart VISA card details

Tags:

emv

I am trying to read the credit card data from the VISA card but could not able to make a success.As in the internet resources I have found that for the MASTER card we can select the PSE directory using 1PAY.SYS.DDF01 file and then read the records. But for VISA its not mandatory and when I use the following file using SELECT command for getting the PSE directory I get the response as '6A82'.Which means its is not supported by the file system. I looked for the Error in the EMV 4.2 Book 1(EMV specification) and it says that we have to use a "List of AIDs". It says "The terminal issues another SELECT command using the next AID in its list". I am unable to understand this and proceed further.

Any help on how to get the PSE for the VISA card or the AID to get the credit card details?

Thanks, Shekhar

like image 371
Shekhar Joshi Avatar asked Jun 28 '11 08:06

Shekhar Joshi


People also ask

Is EMV card a smart card?

EMV cards are smart cards (also called chip cards or IC cards) that store their data on integrated circuits in addition to magnetic stripes (for backward compatibility).

What is EMV smartcard?

EMV is short for Europay, MasterCard, and Visa, the 1994 founders. It's a secure software for payments and commonly refers to a credit card with a smart chip. The EMV standard is a security technology used worldwide for all payments done with credit, debit, and prepaid EMV smart cards.

How are EMV chips read?

EMV chips transmit data just as magnetic strips on cards transmit data. However, payment terminals don't read EMV chips the same way they read magnetic strips. A card with an EMV chip typically must be inserted into the slot of a payment terminal, which then reads the chip's data and verifies the card as authentic.


1 Answers

First of all PPSE applet is nothing specific for VISA nor for MasterCard. It is defined by EMV, and it is used as you correctly noticed for listing the AIDs of the available payment applications on the card. But if it is not there the terminals try all the supported AIDs to build the candidate list.

If you want to select the VISA applet, but you do not know the complete AID you can use partial selection. Since all the VISA AIDs begin with the VISA's RID: A0 00 00 00 03. You can try to send this command:

This will return the first instance:

00 A4 04 00 05 A0 00 00 00 03 00

and this will give you more if you have on your card:

00 A4 04 02 05 A0 00 00 00 03 00

like image 56
Kamen Goranchev Avatar answered Oct 22 '22 03:10

Kamen Goranchev