All Projects → devnied → Emv Nfc Paycard Enrollment

devnied / Emv Nfc Paycard Enrollment

Licence: apache-2.0
A Java library used to read and extract data from NFC EMV credit cards (Android/PCSC).

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Emv Nfc Paycard Enrollment

Smarthotel360 Mobile
SmartHotel360 Mobile
Stars: ✭ 535 (-46.98%)
Mutual labels:  nfc
Open Home Automation
Open Home Automation with Home Assistant, ESP8266/ESP32 and MQTT
Stars: ✭ 820 (-18.73%)
Mutual labels:  nfc
Checkout Sdk Node
Checkout.com SDK for Node.js. Documentation here:
Stars: ✭ 28 (-97.22%)
Mutual labels:  credit-card
Vue Interactive Paycard
Credit card form with smooth and sweet micro-interactions
Stars: ✭ 5,451 (+440.24%)
Mutual labels:  credit-card
Swipeablecard
A simple implementation of swipe card like StreetView
Stars: ✭ 812 (-19.52%)
Mutual labels:  credit-card
Proxmark3
RRG / Iceman repo, the most totally wicked repo around if you are into Proxmark3
Stars: ✭ 901 (-10.7%)
Mutual labels:  nfc
Ios Nfc Example
📱 Example showing how to use the Core NFC API in iOS
Stars: ✭ 480 (-52.43%)
Mutual labels:  nfc
Libnfc
Platform independent Near Field Communication (NFC) library
Stars: ✭ 997 (-1.19%)
Mutual labels:  nfc
Moyasar Php
Moyasar PHP client library
Stars: ✭ 5 (-99.5%)
Mutual labels:  credit-card
Didicallcar
这是我自己做的一个类似滴滴打车的Android出行项目,主要针对滴滴等出行平台一直饱受质疑的“人车不符”问题,以及当前越发火热的或计划和出海战略,给出行项目增加了下面几个功能: 1. RFID识别验证功能:在司机证件或者车内识别硬件嵌入RFID识别芯片,乘客使用手机读取到芯片信息,并且通过网络发送到出行平台数据库进行验证(我用JNI加了一个C语言的MD5加密算法对识别到的信息进行了加密)。如果不是合规的“人”或“车”,则不能完成订单并向平台或监管单位汇报当前位置。(为了方便读者测试,可以使用手机读取任何一个加密或非加密RFID芯片,比如银行卡、公交卡等,我在代码中的验证前阶段把芯片信息都换成我自己的司机信息,确保读者测试时可以收到服务器的回复) 2. 海外版功能:点击切换当前语言。 3. 司机证件号码识别功能:读取司机证件上的证件号码,也可以用来与出行平台数据库的接单司机信息进行。I complete this whole project on my own . Including Android application programming,web server ( Apache + PHP + MySQL), and UI. 1.Map route planing。You can use mobile phone choose pick up & destination address,application provide address name hint and draw optimized route for user , then call car for you. 2.RFID authentication function:User can use application to scan driver license or other RFID hardware, then use NDK MD5 algorithm encrypt RFID number, and send it to Web Server Database, check with driver information and authenticate ID number , if ID number coherent with driver info , send back driver information to User and continue call car order . record user location and alert if ID not coherent. 3.Driver License Number Recognition : Application can recognize driver license digit number ,and also can send to web server for authentication & feed back result to user.
Stars: ✭ 935 (-7.33%)
Mutual labels:  nfc
Android Submit Credit Card Flow
💳 implementation of credit card form in material design
Stars: ✭ 628 (-37.76%)
Mutual labels:  credit-card
Creditcardview
💳 CreditCardView is an Android library that allows developers to create the UI which replicates an actual Credit Card.
Stars: ✭ 744 (-26.26%)
Mutual labels:  credit-card
Omnipay Pagarme
Pagar.Me driver for the Omnipay PHP payment processing library
Stars: ✭ 22 (-97.82%)
Mutual labels:  credit-card
Card.io Android Source
The open-source code for the card.io-Android-SDK: provides fast, easy credit card scanning in mobile apps
Stars: ✭ 549 (-45.59%)
Mutual labels:  credit-card
React Native Felica
React Native Felica module for Android
Stars: ✭ 31 (-96.93%)
Mutual labels:  nfc
Homepwn
HomePwn - Swiss Army Knife for Pentesting of IoT Devices
Stars: ✭ 526 (-47.87%)
Mutual labels:  nfc
Credit card type detector
A Dart package that detects credit card types based on their prefixes
Stars: ✭ 19 (-98.12%)
Mutual labels:  credit-card
Pycard
A simple credit card validation Python library with no dependencies
Stars: ✭ 40 (-96.04%)
Mutual labels:  credit-card
Desfire Tools For Android
Open source MIFARE DESFire EV1 NFC library for Android
Stars: ✭ 38 (-96.23%)
Mutual labels:  nfc
Wirecard
A PHP library for making payments through the Wirecard payment gateway
Stars: ✭ 25 (-97.52%)
Mutual labels:  credit-card

EMV NFC Paycard Enrollment CI Coverage Status Maven Central License

Description

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

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 {

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

  @Override
  public byte[] getAt() {
     // implement this to get card ATR (Answer To Reset) or ATS (Answer To Select)
  }

}

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
		.build();
		
// Read card
EMVCard card = parser.readEmvCard();

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

Android usage

For android, you can create a provider with IsoDep class:

public class Provider implements IProvider {

	private IsoDep mTagCom;

	@Override
	public byte[] transceive(final byte[] pCommand) throws CommunicationException {
		
		byte[] response;
		try {
			// send command to emv card
			response = mTagCom.transceive(pCommand);
		} catch (IOException e) {
			throw new CommunicationException(e.getMessage());
		}

		return response;
	}

	@Override
	public byte[] getAt() {
        // For NFC-A
		return mTagCom.getHistoricalBytes();
		// For NFC-B
        // return mTagCom.getHiLayerResponse();
	}


	public void setmTagCom(final IsoDep mTagCom) {
		this.mTagCom = mTagCom;
	}

}

Screens

Sample demo

Download

Maven

<dependency>
  <groupId>com.github.devnied.emvnfccard</groupId>
  <artifactId>library</artifactId>
  <version>3.0.1</version>
</dependency>

Gradle

dependencies {
	compile 'com.github.devnied.emvnfccard:library:3.0.1'
}

JAR

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

Dependencies

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.

Build

To build the project launch:

mvn clean install

Bugs

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

Author

Millau Julien

Copyright and license

Copyright 2020 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:

http://www.apache.org/licenses/LICENSE-2.0

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].