IDTech Windows SDK Guide  3.2.4.393
API reference for Visual Studio .Net
Main Transaction Commands

The methods below are provided as a reference to the main commands needed to execute an EMV transaction.

EMV Methods

Start EMV Transaction
IDTechSDK::IDT_NEO2::emv_startTransaction()

Begins an amount authorization request with the ICC. Returns authorization decision (approved, denied, or go online) in callback method.


Authenticate EMV Transaction
IDTechSDK::IDT_NEO2::emv_authenticateTransaction()

By default, auto-authenticate is ON and this step does not need to be performed. If auto-authenticate is OFF (IDTechSDK::IDT_NEO2::emv_autoAuthenticate), when the results to IDTechSDK::IDT_NEO2::emv_startTransaction() come back as EMV_RESULT_CODE.EMV_RESULT_CODE_AUTHENTICATE_TRANSACTION, this method must be called to continue the EMV transaction.


Complete Online EMV Transaction
IDTechSDK::IDT_NEO2::emv_completeTransaction()

After receiving a host response, pass host tags (minimum 8A Authorization Response Code) as a parameter.

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


Terminal Configuration
IDTechSDK::IDT_NEO2::emv_retrieveTerminalData()
IDTechSDK::IDT_NEO2::emv_setTerminalData()

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


AID Management
IDTechSDK::IDT_NEO2::emv_retrieveApplicationData
IDTechSDK::IDT_NEO2::emv_removeApplicationData()
IDTechSDK::IDT_NEO2::emv_removeAllApplicationData()
IDTechSDK::IDT_NEO2::emv_setApplicationData()
IDTechSDK::IDT_NEO2::emv_retrieveAIDList()

Methods for AID management. 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 2 dimensional byte array


CAPK Management
IDTechSDK::IDT_NEO2::emv_retrieveCAPK()
IDTechSDK::IDT_NEO2::emv_removeCAPK()
IDTechSDK::IDT_NEO2::emv_removeAllCAPK()
IDTechSDK::IDT_NEO2::emv_setCAPK()
IDTechSDK::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
IDTechSDK::IDT_NEO2::emv_removeCRL()
IDTechSDK::IDT_NEO2::emv_removeAllCRL()
IDTechSDK::IDT_NEO2::emv_retrieveCRLList()
IDTechSDK::IDT_NEO2::emv_setCRL:()

Methods for Certificate Revocation List management.


Kernel Version
IDTechSDK::IDT_NEO2::emv_getEMVKernelVersion()

Method to retrieve kernel version. Valued returned in IDTResult.data


APDU Communication

IDTechSDK::IDT_NEO2::device_setPassThroughMode:()
IDTechSDK::IDT_NEO2::icc_powerOnICC:()
IDTechSDK::IDT_NEO2::icc_powerOffICC:()

IDTechSDK::IDT_NEO2::icc_exchangeAPDU:()
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
IDTechSDK::IDT_NEO2::msr_startMSRSwipe()
IDTechSDK::IDT_NEO2::ctls_startTransaction()
Both methods perform identical operation. Enables MSR to receive Swipe and CTLS to receive tap.
Cancel Swipe or Tap
IDTechSDK::IDT_NEO2::msr_cancelMSRSwipe()
IDTechSDK::IDT_NEO2::ctls_cancelTransaction()
Both methods perform identical operation. Cancels the Swipe/Tap request.

All Interfaces

Request any interface (Swipe, Tap, Insert)
IDTechSDK::IDT_NEO2::device_startTransaction()
This method will allow any interface to capture data.