EMV stands for Europay, MasterCard and VISA, a global standard for inter-operation of integrated circuit cards (ICC or "chip cards") and ICC capable point of sale (POS) terminals and automated teller machines (ATMs), for authenticating credit and debit card transactions. It's the application structure inside your smart card that handles requests for protected data and communicates with the issuing bank to confirm the authenticity of the card user.
Questions tagged [emv]
380 questions
16
votes
2 answers
How to implement NFC payments?
I want to add NFC payment to an Android application I'm working on to allow the users to pay directly to a POS. I'm interested in supporting as much POS as possible.
I was wondering if it's really possible or it depends on propietary…

angudu
- 183
- 1
- 2
- 6
15
votes
5 answers
How to Read EMV based smart VISA card details
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.…

Shekhar Joshi
- 171
- 1
- 2
- 5
13
votes
2 answers
EMV application development Questions
I am new to EMV, currently I have an emergency EMV application development project, anybody could help me answer the below questions:
what is EMV L2 application kernel? Is an API or just an executable EMV application?
During an EMV payment…

Bo Huang
- 365
- 5
- 14
12
votes
1 answer
Generate "GET PROCESSING OPTIONS" (GPO) for EMV card (APDU) by PDOL
GPO Command is defined like this as an APDU command:
CLA INS P1 P2 Lc Data Le
80 A8 00 00 Lc Data 00
So the missing parts is Lc & Data which we have to compute from the PDOL (if it is given). If it is not given, we can use:
80 A8 00 00 02 8300…

Steffan
- 704
- 1
- 11
- 25
11
votes
6 answers
How do I read the PAN from an EMV SmartCard from Java
I need to read account number from Maestro/Mastercard with smart card reader. I am using Java 1.6 and its javax.smartcardio package. I need to send APDU command which will ask EMV application stored on card's chip for PAN number. Problem is, I…
asabo
10
votes
2 answers
How to store modulus, public exponent and private exponent securely on Android?
I have given modulus, public exponent and private exponent and I need to store those values securely on Android. How can I achieve that?
Most examples are creating public and private keys without getting n,d,e parameters. I have given those n,e,d…

Figen Güngör
- 12,169
- 14
- 66
- 108
9
votes
5 answers
reading EMV card using PPSE and not PSE
I'm trying to read the data off a contactless Visa Paywave card.
For the Paywave, I have to submit a SELECT using PPSE (2PAY.SYS.DDF01) instead of PSE (1PAY.SYS.DDF01).
The EMV book 1, section 11.3.4, table 43 only describes how to interpret the…

9999bao
- 191
- 1
- 2
- 5
7
votes
2 answers
MasterCard PIN change issuer script fails, Thales HSM used for MAC generation. EMV
I use Thales Payshield 9000 HSM. So far, all commands has worked and everything has been achieved what i wanted.
Now the problem is when trying to change pin in ATM. Pin change script is generated and format looks like is OK when checking MasterCard…

Gntvls
- 230
- 4
- 16
7
votes
1 answer
EMV Tag 91 Issuer Authentication Data - How to Determine Format of Tag in Response
If present, EMV Tag 91 Issuer Authentication Data can have several different formats when returned in a transaction response. From my (limited) understanding, this may be determined by the card brand.
For example
MasterCard Tag 91 includes Card…

jabreu
- 71
- 1
- 1
- 3
7
votes
2 answers
Parse CV Rule from CVM List for EMV
I have succesfully retrieved the CVM List from EMV card.
0000 0000 0000 0000 4103 4203 1E03 1F02
From the EMV specification book 3, the first 4 bytes and second 4 bytes are amount and rest is CV rules. Making these the CV Rule 4103 4203 1E03…

unknown
- 207
- 3
- 9
7
votes
1 answer
Parsing PDOL for GET PROCESSING OPTIONS command in EMV transaction
I am trying to build a correctly formatted GET PROCESSING OPTIONS command to be sent to a contactless EMV card. This post has been very helpful but I just need to know a little more detail.
When parsing the PDOL, is it safe to assume that each tag…

Scott Condron
- 1,902
- 16
- 20
7
votes
5 answers
Why is data duplicated in EMV card?
I am working in EMV card and my new task is to compare Magstripe data with chip data. Data that should be common in Mag and chip is:-
PAN, Card Holder Name, Expiry date.
Here I don't understand the following:-
A single data like PAN is present in…

Arjun
- 3,491
- 4
- 25
- 47
6
votes
3 answers
Contactless Payments: Detect Mobile Device or Card
I'm trying to detect whether a contactless enabled smartcard or a mobile device equipped with ApplePay, Google Pay, or Samsung Pay was used for a contactless EMV transaction.
I have been researching via the EMV books, and there seems to be a tag…

raydowe
- 1,285
- 1
- 16
- 31
6
votes
1 answer
How to receive payment using NFC reader in mobile phones
There are multiple solutions for paying a merchant using NFC in your phone. Is it possible to, as a merchant, receive a contactless payment using only a mobile phone as a terminal?
It seems that additional reader is required (such as Square), why…

Money_Badger
- 537
- 1
- 5
- 24
6
votes
2 answers
Why real POS-terminals don't using PSE (2PAY or 1PAY)?
I experimented with two real terminals, via EMV contact (not contactless) way, and no one using PSE or PPSE to obtain a AID, as defined in EMV specification.
Both terminals just directly trying a set of AIDs with SELECT command until ICC will answer…

user9638219
- 63
- 3