ไลบรารี Java ใช้เพื่ออ่านและดึงข้อมูลสาธารณะจากบัตรเครดิต NFC EMV
แอพตัวอย่าง Android มีอยู่ใน Play store
ขั้นแรก คุณต้องสร้างผู้ให้บริการที่กำหนดเองเพื่อแลกเปลี่ยน APDU กับบัตรเครดิต NFC EMV (ตัวอย่างที่นี่)
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)
}
}
หลังจากนั้น ให้สร้างอินสแตนซ์ของ parser และอ่านการ์ด
// 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 ();
ออบเจ็กต์การ์ดประกอบด้วยข้อมูลทั้งหมดที่อ่าน (ความช่วยเหลือ หมายเลขบัตร วันหมดอายุ ประเภทบัตร ประวัติการทำธุรกรรม)
สำหรับ Android คุณสามารถสร้างผู้ให้บริการด้วยคลาส IsoDep ได้:
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 ;
}
}
< dependency >
< groupId >com.github.devnied.emvnfccard</ groupId >
< artifactId >library</ artifactId >
< version >3.0.1</ version >
</ dependency >
dependencies {
compile ' com.github.devnied.emvnfccard:library:3.0.1 '
}
คุณสามารถดาวน์โหลดไลบรารีนี้ได้ที่ Maven central หรือในแท็บ Release Github
หากคุณไม่ได้ใช้ Maven หรือเครื่องมือการจัดการการขึ้นต่อกันอื่นๆ ที่สามารถเข้าใจพื้นที่เก็บข้อมูล Maven ได้ รายการด้านล่างนี้คือสิ่งที่คุณต้องใช้เพื่อเรียกใช้ EMV-NFC-Paycard-Enrollment
เพื่อสร้างการเปิดตัวโครงการ:
mvn clean install
กรุณารายงานข้อบกพร่องและการร้องขอคุณสมบัติไปยังเครื่องมือติดตามปัญหา GitHub
ยินดีต้อนรับคำขอ Forks และ Pull
มิโล จูเลียน
ลิขสิทธิ์ 2020 มิลโล จูเลียน
ได้รับอนุญาตภายใต้ Apache License เวอร์ชัน 2.0 ("ใบอนุญาต"); คุณไม่สามารถใช้งานนี้ได้เว้นแต่จะเป็นไปตามใบอนุญาต คุณอาจได้รับสำเนาใบอนุญาตในไฟล์ใบอนุญาตหรือที่:
http://www.apache.org/licenses/LICENSE-2.0
เว้นแต่กฎหมายที่ใช้บังคับกำหนดหรือตกลงเป็นลายลักษณ์อักษร ซอฟต์แวร์ที่เผยแพร่ภายใต้ใบอนุญาตนี้จะถูกแจกจ่าย "ตามที่เป็น" โดยไม่มีการรับประกันหรือเงื่อนไขใดๆ ทั้งโดยชัดแจ้งหรือโดยนัย ดูใบอนุญาตสำหรับภาษาเฉพาะที่ควบคุมการอนุญาตและข้อจำกัดภายใต้ใบอนุญาต