IDTech Android SDK Guide  1.00.175
API reference for NEO2
NEO2 Main Transaction Commands

The methods below are provided as a reference to the main commands needed to execute a contact or contactless EMV transaction, or collect MSR information from a swipe or tap.

Transaction Methods

Start Transaction
com.idtechproducts.device.IDT_NEO2.device_startTransaction()
com.idtechproducts.device.IDT_NEO2.emv_startTransaction()
com.idtechproducts.device.IDT_NEO2.ctls_startTransaction()
com.idtechproducts.device.IDT_NEO2.msr_startMSRSwipe()
  • device = start a transaction on any interface
  • emv = start a transaction contact interface ONLY
  • ctls = start a transaction on contactless/MSR interfaces ONLY
  • msr = start a transaction on contactless/MSR interfaces ONLY

com.idtechproducts.device.IDT_NEO2.emv_authenticateTransaction()

By default, auto-authenticate is ON and this step does not need to be performed. If auto-authenticate is OFF (com.idtechproducts.device.IDT_NEO2.emv_setAutoAuthenticateTransaction()), when the results come back as com.idtechproducts.device.IDTEMVData.START_TRANS_SUCCESS, this method must be called to continue the EMV transaction.


Complete Online EMV Transaction
com.idtechproducts.device.IDT_NEO2.emv_completeTransaction()

After receiving a host response, pass host response (minimum Authorization Response Code) through the methods parameter. EMV tags can be parsed returned pointer.

If there was a communication error with host, you must still finish the EMV transaction by passing "TRUE" for commError, and null for tags.


Terminal Configuration
com.idtechproducts.device.IDT_NEO2.emv_retrieveTerminalData()
com.idtechproducts.device.IDT_NEO2.emv_removeTerminalData()
com.idtechproducts.device.IDT_NEO2.emv_setTerminalData()

Methods for terminal configuration. When setting the terminal data, you pass tags as TLV .


AID Management
com.idtechproducts.device.IDT_NEO2.emv_retrieveApplicationData:response()
com.idtechproducts.device.IDT_NEO2.emv_removeApplicationData()
com.idtechproducts.device.IDT_NEO2.emv_setApplicationData:configData()
com.idtechproducts.device.IDT_NEO2.emv_retrieveAidList()

Methods for AID management on Contact EMV. When setting the AID, you pass tags in TLV format. When retrieving AID, you can receive the results as tags in TLV format. When retrieving the AID list, the list of AID Names/length can be retrieved from the String[] response


CAPK Management
com.idtechproducts.device.IDT_NEO2.emv_retrieveCAPK)
com.idtechproducts.device.IDT_NEO2.emv_removeCAPK()
com.idtechproducts.device.IDT_NEO2.emv_setCAPK()
com.idtechproducts.device.IDT_NEO2.emv_retrieveCAPKList()

Methods for Certificate Authority Public Key management. When setting the CAPK, you populate and pass the key as a sequence of ordered bytes. When specifying a CAPK to retrieve or remove, you populate the name in the byte[] parameter. When retrieving the CAPK list, the list of RID/Index can be retrieved from the ordered byte[] stream, 6 bytes each, bytes 1-5 RID, byte 6 index.


CRL Management
com.idtechproducts.device.IDT_NEO2.emv_retrieveCRL()
com.idtechproducts.device.IDT_NEO2.emv_removeCRL()
com.idtechproducts.device.IDT_NEO2.emv_setCRL()

Methods for Certificate Revocation List management.


APDU Communication
com.idtechproducts.device.IDT_NEO2.icc_passthroughOnICC()
com.idtechproducts.device.IDT_NEO2.icc_passthroughOffICC()
com.idtechproducts.device.IDT_NEO2.icc_powerOnICC:()
com.idtechproducts.device.IDT_NEO2.icc_powerOffICC:()

com.idtechproducts.device.IDT_NEO2.icc_exchangeAPDU:response:()
Allows the direct sending of APDU packets to ICC. Pass through mode must first be enabled. Then Power On needs to complete successfully. Then APDU packet exchange can take place

MSR/CTLS

Request Swipe or Tap
com.idtechproducts.device.IDT_NEO2.msr_startMSRSwipe()
com.idtechproducts.device.IDT_NEO2.ctls_startTransaction()
Both methods perform identical operation. Enables MSR to receive Swipe and CTLS to receive tap.
Cancel Swipe
com.idtechproducts.device.IDT_NEO2.msr_cancelMSRSwipe()
com.idtechproducts.device.IDT_NEO2.ctls_cancelTransaction()
Both methods perform identical operation. Cancels the Swipe/Tap request.