Visit GitHub RepoNFC

EMV NFC Paycard Enrollment Build Status Coverage Status License


Java library used to read and extract public data from NFC EMV credit cards.
Maven Central

Android sample app available on Play store.

Get it on Google Play

Getting started

First you need to create a custom Provider to exchange APDU with an NFC EMV credit card (sample here.

public class YourProvider implements IProvider {

  public byte[] transceive(final byte[] pCommand) {
	 // implement this

After that, create an instance of a parser and read the card.

// Create provider
IProvider provider = new YourProvider();
// Define config
Config config = EmvTemplate.Config()
		.setContactLess(true) // Enable contact less reading (default: true)
		.setReadAllAids(true) // Read all aids in card (default: true)
		.setReadTransactions(true) // Read all transactions (default: true)
		.setReadCPLC(false) // Read and extract CPCLC data (default: false)
		.setRemoveDefaultParsers(false) // Remove default parsers for GeldKarte and EmvCard (default: false)
		.setReadAt(true) // Read and extract ATR/ATS and description
// Create Parser
EmvTemplate parser = EmvTemplate.Builder() //
		.setProvider(provider) // Define provider
		.setConfig(config) // Define config
		//.setTerminal(terminal) (optional) you can define a custom terminal implementation to create APDU
// Read card
EMVCard card = parser.readEmvCard();

card object contains all data read (Aid, card number, expiration date, card type, transactions history)


Sample demo





dependencies {
	compile 'com.github.devnied.emvnfccard:library:3.0.0'


You can download this library on Maven central or in Github release tab


If you are not using Maven or some other dependency management tool that can understand Maven repositories, the list below is what you need to run EMV-NFC-Paycard-Enrollment.

Runtime Dependencies

  • commons-lang3 3.4
  • bit-lib4j 1.5.0
  • commons-io 2.4
  • commons-collections4 4.1


To build the project launch:

mvn clean install


Please report bugs and feature requests to the GitHub issue tracker.
Forks and Pull Requests are also welcome.


Millau Julien

Copyright and license

Copyright 2014 Millau Julien.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:


Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


Become a better Android Developer
Millions of developers are learning at MindOrks

Online Training Program

Featured Blogs

Our Team

MindOrks is Certainly one of the best online blog to stay on top of all the Android development news, coding and design patterns. Finally a blog I can count on to keep myself updated with latest and greatest things happening in Android world.

Vipul Shah
Android Developer

Become Pro in Android by watching videos