EMV NFC Paycard Enrollment
3.0.1
Java 程式庫用於從 NFC EMV 信用卡讀取和提取公共資料。
Android 範例應用程式可在 Play 商店中取得。
首先,您需要建立一個自訂提供者以與 NFC EMV 信用卡交換 APDU(範例請參閱此處)。
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)
}
}
之後,建立解析器的實例並讀取卡片。
// 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 中心或 Github 發布標籤中下載此庫
如果您不使用 Maven 或其他可以理解 Maven 儲存庫的依賴關係管理工具,以下的清單是執行 EMV-NFC-Paycard-Enrollment 所需的內容。
建置專案啟動:
mvn clean install
請向 GitHub 問題追蹤器回報錯誤和功能請求。
也歡迎分叉和請求請求。
米約·朱利安
版權所有 2020 米洛朱利安。
根據 Apache 許可證 2.0 版(“許可證”)獲得許可;除非遵守許可,否則您不得使用本作品。您可以在許可證文件中取得許可證的副本,或從以下位置取得:
http://www.apache.org/licenses/LICENSE-2.0
除非適用法律要求或書面同意,否則根據許可證分發的軟體均以「原樣」分發,不帶任何明示或暗示的保證或條件。請參閱許可證,了解許可證下管理權限和限制的特定語言。