![]() |
IDTech Android SDK Guide
1.00.173
API reference for VP3300 AJ
|
Public Member Functions | |
void | setGen2Callback (OnReceiverListenerGen2 callback) |
int | device_cancelGen2Transaction () |
IDT_VP3300 (OnReceiverListener callback, Context context) | |
IDT_VP3300 (OnReceiverListener callback, OnReceiverListenerPINRequest callback2, Context context) | |
boolean | device_setDeviceType (ReaderInfo.DEVICE_TYPE deviceType) |
void | setIDT_Device (FirmwareUpdateTool fwTool) |
DEVICE_TYPE | device_getDeviceType () |
void | registerListen () |
void | unregisterListen () |
void | release () |
boolean | device_disconnectBLE () |
int | device_enableBLESearch (DEVICE_TYPE type, String name, int timeout) |
String | getBTLEDeviceAddress () |
String | config_getSDKVersion () |
String | config_getXMLVersionInfo () |
String | phone_getInfoManufacture () |
String | phone_getInfoModel () |
void | log_setVerboseLoggingEnable (boolean enable) |
void | log_setSaveLogEnable (boolean enable) |
int | log_deleteLogs () |
int | emv_callbackResponsePIN (int mode, byte[] KSN, byte[] PIN) |
int | device_sendGen2Cmd (byte[] encPayload, byte[] payloadMac, Gen2DataStruct respData, int timeout) |
void | config_setXMLFileNameWithPath (String xmlFilename) |
boolean | config_loadingConfigurationXMLFile (boolean updateAutomatically) |
boolean | device_connectWithProfile (StructConfigParameters profile) |
void | device_ConnectWithoutValidation (boolean noValidate) |
int | device_pollForToken (int timeout, ResDataStruct respData) |
boolean | device_connect () |
boolean | device_isConnected () |
int | device_startRKI () |
int | device_startRKI (boolean isDemo) |
int | device_startRKI (String Key, boolean isDemo) |
int | device_startRKI (String Key) |
void | device_setSymmetric_RKI_URL (String srki_url) |
int | autoConfig_start (String strXMLFilename) |
void | autoConfig_stop () |
int | device_startTransaction (double amount, double amtOther, int type, final int timeout, byte[] tags) |
int | device_startTransaction (double amount, double amtOther, int type, final int timeout, byte[] tags, boolean isFastEMV) |
int | device_cancelTransaction () |
int | device_getFirmwareVersion (StringBuilder version) |
int | device_pingDevice () |
int | device_ReviewAudioJackSetting (ResDataStruct respData) |
int | config_getSerialNumber (StringBuilder serialNumber) |
int | device_getKSN (ResDataStruct ksn) |
int | device_setMerchantRecord (int index, boolean enabled, String merchantID, String merchantURL) |
int | device_getMerchantRecord (int index, ResDataStruct respData) |
String | device_getResponseCodeString (int errorCode) |
int | device_sendDataCommand (String cmd, boolean calcLRC, String data, ResDataStruct respData) |
int | device_sendDataCommand (String cmd, boolean calcLRC, String data, ResDataStruct respData, int timeout) |
int | device_updateFirmware (String[] commands) |
int | device_getTransactionResults (IDTMSRData cardData) |
int | device_setBurstMode (byte mode) |
int | device_setPollMode (byte mode) |
int | device_controlUserInterface (byte[] values) |
int | device_getRTCDateTime (byte[] dateTime) |
int | device_setRTCDateTime (byte[] dateTime) |
int | icc_getICCReaderStatus (ICCReaderStatusStruct ICCStatus) |
int | icc_powerOnICC (ResDataStruct atrPPS) |
int | icc_passthroughOnICC () |
int | icc_passthroughOffICC () |
int | icc_powerOffICC (ResDataStruct respData) |
int | icc_exchangeAPDU (byte[] dataAPDU, ResDataStruct response) |
int | emv_getEMVKernelVersion (StringBuilder version) |
int | emv_getEMVKernelCheckValue (ResDataStruct respData) |
int | emv_getEMVConfigurationCheckValue (ResDataStruct respData) |
int | emv_retrieveApplicationData (String aid, ResDataStruct respData) |
int | emv_removeApplicationData (String aid, ResDataStruct respData) |
int | emv_setApplicationData (String aid, byte[] TLV, ResDataStruct respData) |
int | emv_retrieveTerminalData (ResDataStruct respData) |
int | emv_removeTerminalData (ResDataStruct respData) |
int | emv_setTerminalData (byte[] TLV, ResDataStruct respData) |
int | emv_retrieveAidList (ResDataStruct respData) |
int | emv_retrieveCAPK (byte[] data, ResDataStruct respData) |
int | emv_removeCAPK (byte[] capk, ResDataStruct respData) |
int | emv_setCAPK (byte[] key, ResDataStruct respData) |
int | emv_retrieveCAPKList (ResDataStruct respData) |
int | emv_retrieveCRL (ResDataStruct respData) |
int | emv_removeCRL (byte[] crlList, ResDataStruct respData) |
int | emv_setCRL (byte[] crlList, ResDataStruct respData) |
int | emv_startTransaction (double amount, double amtOther, int type, final int timeout, byte[] tags, boolean forceOnline) |
int | emv_cancelTransaction (ResDataStruct respData) |
void | emv_setTransactionParameters (double amount, double amtOther, int type, final int timeout, byte[] tags) |
void | emv_lcdControlResponse (byte mode, byte data) |
int | emv_authenticateTransaction (byte[] tags) |
int | emv_completeTransaction (boolean commError, byte[] authCode, byte[] iad, byte[] tlvScripts, byte[] tags) |
int | emv_retrieveTransactionResult (byte[] tags, Map< String, Map< String, byte[]>> retrievedTags) |
int | emv_setTerminalMajorConfiguration (int configuration) |
int | device_reviewAllSetting (ResDataStruct respData) |
int | msr_defaultAllSetting () |
int | msr_cancelMSRSwipe () |
int | msr_startMSRSwipe () |
int | msr_startMSRSwipe (int timeout) |
int | ctls_retrieveApplicationData (String aid, ResDataStruct respData) |
int | ctls_removeApplicationData (String aid, ResDataStruct respData) |
int | ctls_setApplicationData (byte[] TLV, ResDataStruct respData) |
int | ctls_setConfigurationGroup (byte[] TLV, ResDataStruct respData) |
int | ctls_getConfigurationGroup (int group, ResDataStruct respData) |
int | ctls_getAllConfigurationGroups (ResDataStruct respData) |
int | ctls_removeConfigurationGroup (int group) |
int | ctls_retrieveTerminalData (ResDataStruct respData) |
int | ctls_setTerminalData (byte[] TLV, ResDataStruct respData) |
int | ctls_retrieveAidList (ResDataStruct respData) |
int | ctls_retrieveCAPK (byte[] data, ResDataStruct respData) |
int | ctls_removeCAPK (byte[] capk, ResDataStruct respData) |
int | ctls_setCAPK (byte[] key, ResDataStruct respData) |
int | ctls_retrieveCAPKList (ResDataStruct respData) |
int | ctls_removeAllApplicationData () |
int | ctls_removeAllCAPK () |
int | ctls_startTransaction (double amount, double amtOther, int type, final int timeout, byte[] tags) |
int | ctls_activateTransaction (final int timeout, byte[] tags) |
int | ctls_cancelTransaction () |
int | expireSessionKeys (Gen2DataStruct respData) |
int | removeEnrollment (Gen2DataStruct respData) |
int | getSessionKeyStatus (Gen2DataStruct respData) |
int | startVTRTPolling (byte timeout, Gen2DataStruct respData) |
int | cancelVTRTPolling (Gen2DataStruct respData) |
int | startVTRT (byte[] data, Gen2DataStruct respData) |
int | finalizeVTRT (byte[] data, Gen2DataStruct respData) |
int | startSession (byte[] data, Gen2DataStruct respData) |
int | finalizeSession (byte[] data, Gen2DataStruct respData) |
String | createFastEMVData (IDTEMVData emvData) |
int | wp_executeTransaction (IDT_VP3300 idt_device, WorldPay.WorldPayData data, WorldpayListener callback, boolean requestOnly) |
int | wp_forwardTransaction (WorldpayListener callback, String forwardID, String password, boolean bypassProcessing) |
int | wp_cancelTransaction () |
void | wp_setReturnRequest (boolean returnRequest) |
Static Public Member Functions | |
static IDT_Device | getSDKInstance () |
static void | useUSBIntentFilter () |
static IDT_Device | getIDT_Device () |
static void | device_setMonitorCtlsTransactionData (boolean monitor) |
static void | emv_allowFallback (boolean allow) |
static void | emv_setAutoAuthenticateTransaction (boolean auto) |
static boolean | emv_getAutoAuthenticateTransaction () |
static void | emv_setAutoCompleteTransaction (boolean auto) |
static boolean | emv_getAutoCompleteTransaction () |
com.idtechproducts.device.IDT_VP3300.IDT_VP3300 | ( | OnReceiverListener | callback, |
Context | context | ||
) |
It is the constructor of the main class IDT_VP3300. When it is called, the SDK will create the Instance for IDT_VP3300 device. The interface OnReceiverListner needs to be implemented in the application.
callback | OnReceiverListener callback |
context | Application context |
com.idtechproducts.device.IDT_VP3300.IDT_VP3300 | ( | OnReceiverListener | callback, |
OnReceiverListenerPINRequest | callback2, | ||
Context | context | ||
) |
It is the constructor of the main class IDT_VP3300. When it is called, the SDK will create the Instance for IDT_VP3300 device. The interface OnReceiverListner needs to be implemented in the application.
callback | OnReceiverListener callback |
context | Application context |
int com.idtechproducts.device.IDT_VP3300.autoConfig_start | ( | String | strXMLFilename | ) |
start Auto Config to search the profile.
strXMLFilename | Input the customized XML file as the templates to search the profile. |
void com.idtechproducts.device.IDT_VP3300.autoConfig_stop | ( | ) |
stop Auto Config.
int com.idtechproducts.device.IDT_VP3300.cancelVTRTPolling | ( | Gen2DataStruct | respData | ) |
Cancels CTLS polling for VTRT
respData.statusCode 0: VTC_SECURITY_RESULT_CODE_Success 1: VTC_SECURITY_RESULT_CODE_Failure 2: VTC_SECURITY_RESULT_CODE_No_Data_Found 3: VTC_SECURITY_RESULT_CODE_No_Authentication_Key 4: VTC_SECURITY_RESULT_CODE_No_Agreement_Key 5: VTC_SECURITY_RESULT_CODE_Invalid_Data 6: VTC_SECURITY_RESULT_CODE_Signature_Validation_Failed 7: VTC_SECURITY_RESULT_CODE_Nonce_Mismatch 8: VTC_SECURITY_RESULT_CODE_KC_MAC_Mismatch 9: VTC_SECURITY_RESULT_CODE_Session_Keys_Expired 10: VTC_SECURITY_RESULT_CODE_No_Session_Keys 11: VTC_SECURITY_RESULT_CODE_No_K_init_Key
String com.idtechproducts.device.IDT_VP3300.config_getSDKVersion | ( | ) |
READER CONFIG API LIST Get the version of SDK.
int com.idtechproducts.device.IDT_VP3300.config_getSerialNumber | ( | StringBuilder | serialNumber | ) |
Get the serial number of device.
serialNumber | returns Serial Number string. |
String com.idtechproducts.device.IDT_VP3300.config_getXMLVersionInfo | ( | ) |
Get XML configuration version.
boolean com.idtechproducts.device.IDT_VP3300.config_loadingConfigurationXMLFile | ( | boolean | updateAutomatically | ) |
Load XML Configuration File.
updateAutomatically |
void com.idtechproducts.device.IDT_VP3300.config_setXMLFileNameWithPath | ( | String | xmlFilename | ) |
set XML Configuration File Name with the full path.
xmlFilename,XML | Configuration File Name. |
String com.idtechproducts.device.IDT_VP3300.createFastEMVData | ( | IDTEMVData | emvData | ) |
Create Fast EMV Data
At the completion of a Fast EMV Transaction, after the final card decision is returned and the IDTEMVData object is provided, sending that emvData object to this method will return string data that represents the Fast EMV data that would be returned from and IDTech FastEMV over KB protocol
emvData | The IDTEMVData object populated with card data. |
int com.idtechproducts.device.IDT_VP3300.ctls_activateTransaction | ( | final int | timeout, |
byte [] | tags | ||
) |
Activate CTLS Transaction Request
Authorizes the CTLS (or MSR) transaction for an ICC card
The tags will be returned in the callback routine.
timeout | Timeout value in seconds. |
Tags | to be included in the request. Passed as a byte array. Example, tag 9F0C with amount 0x000000000100 would be the byte array "9F0C06000000000100" If tags 9F02 (amount),9F03 (other amount), or 9C (transaction type) are included, they will take priority over these values supplied as individual parameters to this method. Note: To request tags to be included in default response, use tag DFEE1A, and specify tag list. Example four tags 9F02, 9F36, 95, 9F37 to be included in response = DFEE1A079F029F36959F37 |
int com.idtechproducts.device.IDT_VP3300.ctls_cancelTransaction | ( | ) |
Cancel CTLS (or MSR) Transaction
Cancels the currently executing CTLS transaction (or MSR swipe request).
int com.idtechproducts.device.IDT_VP3300.ctls_getAllConfigurationGroups | ( | ResDataStruct | respData | ) |
Retrieve All Configuration Groups
Returns all the Configuration Groups installed on the terminal for CTLS.
respData | Returns TLV in ResDataStruct.resData. Status Code in ResDataStruct.statusCode. If no Application data exists, status code will be 0x60 |
int com.idtechproducts.device.IDT_VP3300.ctls_getConfigurationGroup | ( | int | group, |
ResDataStruct | respData | ||
) |
Get Configuration Group
Retrieves the Configuration for the specified Group.
group | Configuration Group |
respData | Returns TLV in ResDataStruct.resData. Status Code in ResDataStruct.statusCode. If no Application data exists, status code will be 0x60 |
int com.idtechproducts.device.IDT_VP3300.ctls_removeAllApplicationData | ( | ) |
Remove all Application Data
Removes all the Application Data
int com.idtechproducts.device.IDT_VP3300.ctls_removeAllCAPK | ( | ) |
Remove All Certificate Authority Public Key
Removes all CAPK
int com.idtechproducts.device.IDT_VP3300.ctls_removeApplicationData | ( | String | aid, |
ResDataStruct | respData | ||
) |
Remove Application Data
Removes the Application Data as specified by the AID name passed as a parameter
aid | Aid file to remove. |
respData | Status Code in ResDataStruct.statusCode. If no application data exists, status code will be 0x60. Format error status code 0x05 |
int com.idtechproducts.device.IDT_VP3300.ctls_removeCAPK | ( | byte [] | capk, |
ResDataStruct | respData | ||
) |
Remove Certificate Authority Public Key
Removes the CAPK as specified by the RID/Index
capk | 6 byte CAPK = 5 bytes RID + 1 byte INDEX |
respData | Status Code in ResDataStruct.statusCode. |
int com.idtechproducts.device.IDT_VP3300.ctls_removeConfigurationGroup | ( | int | group | ) |
Remove Configuration Group
Removes the Configuration as specified by the Group. Must not by group 0
group | Configuration Group |
int com.idtechproducts.device.IDT_VP3300.ctls_retrieveAidList | ( | ResDataStruct | respData | ) |
Retrieve Aid List
Returns all the AID names installed on the terminal.
respData | Array of AID string names passed back in ResDataStruct.stringArray. Status Code in ResDataStruct.statusCode. If no AIDs exists, status code will be 0x60 |
int com.idtechproducts.device.IDT_VP3300.ctls_retrieveApplicationData | ( | String | aid, |
ResDataStruct | respData | ||
) |
Retrieve Application Data
Retrieves the TLV values of a provide AID.
aid | Aid file to retrieve. |
respData | Returns TLV in ResDataStruct.resData. Status Code in ResDataStruct.statusCode. If no application data exists, status code will be 0x60 |
int com.idtechproducts.device.IDT_VP3300.ctls_retrieveCAPK | ( | byte [] | data, |
ResDataStruct | respData | ||
) |
Retrieve Certificate Authority Public Key
Retrieves the CAPK as specified by the RID/Index passed as a parameter.
capk | 6 bytes CAPK = 5 bytes RID + 1 byte Index |
key | Response returned in ResDataStruct.resData: [5 bytes RID][1 byte Index][1 byte Hash Algorithm][1 byte Encryption Algorithm][20 bytes HashValue][4 bytes Public Key Exponent][2 bytes Modulus Length][Variable bytes Modulus] Where:
|
int com.idtechproducts.device.IDT_VP3300.ctls_retrieveCAPKList | ( | ResDataStruct | respData | ) |
Retrieve the Certificate Authority Public Key list
Returns all the CAPK RID and Index installed on the terminal.
respData | ResDataStruct.resData = [key1][key2]...[keyn], each key 6 bytes where key = 5 bytes RID + 1 byte index |
int com.idtechproducts.device.IDT_VP3300.ctls_retrieveTerminalData | ( | ResDataStruct | respData | ) |
Retrieve Terminal Data
Retrieves the TLV values of a the terminal.
respData | Returns TLV in ResDataStruct.resData. Status Code in ResDataStruct.statusCode. If no terminal data exists, status code will be 0x60 |
int com.idtechproducts.device.IDT_VP3300.ctls_setApplicationData | ( | byte [] | TLV, |
ResDataStruct | respData | ||
) |
Set Application Data by AID
Sets the Application Data for CTLS as specified by the TLV data
tlv | Application data in TLV format The first tag of the TLV data must be the group number (FFE4). The second tag of the TLV data must be the AID (9F06) |
Example valid TLV, for Group #2, AID a0000000035010: "ffe401029f0607a0000000051010ffe10101ffe50110ffe30114ffe20106"
int com.idtechproducts.device.IDT_VP3300.ctls_setCAPK | ( | byte [] | key, |
ResDataStruct | respData | ||
) |
Set Certificate Authority Public Key
Sets the CAPK as specified by the CAKey structure
key | CAKey format: [5 bytes RID][1 byte Index][1 byte Hash Algorithm][1 byte Encryption Algorithm][20 bytes HashValue][4 bytes Public Key Exponent][2 bytes Modulus Length][Variable bytes Modulus] Where:
|
respData | Status Code in ResDataStruct.statusCode. |
int com.idtechproducts.device.IDT_VP3300.ctls_setConfigurationGroup | ( | byte [] | TLV, |
ResDataStruct | respData | ||
) |
Set Configuration Data for AID Group
Sets the Configuration Data for CTLS as specified by the TLV data
tlv | Configuration data in TLV format The first tag of the TLV data must be the group number (FFE4). A second tag must exisdt |
int com.idtechproducts.device.IDT_VP3300.ctls_setTerminalData | ( | byte [] | TLV, |
ResDataStruct | respData | ||
) |
Set Terminal Data
Sets the Terminal Data as specified by the TerminalData structure passed as a parameter
TLV | TerminalData configuration file. |
respData | Status Code in ResDataStruct.statusCode. If Flash error, status code will be 0x62. Format error status code 0x05 |
int com.idtechproducts.device.IDT_VP3300.ctls_startTransaction | ( | double | amount, |
double | amtOther, | ||
int | type, | ||
final int | timeout, | ||
byte [] | tags | ||
) |
Start CTLS (or MSR) Transaction Request
Authorizes the CTLS (or MSR) transaction for an ICC card
The tags will be returned in the callback routine.
amount | Transaction amount value (tag value 9F02) |
amtOther | Other amount value, if any (tag value 9F03) |
type | Transaction type (tag value 9C). |
timeout | Timeout value in seconds. |
tags | Any other tags to be included in the request. Passed as a string. Example, tag 9F02 with amount 0x000000000100 would be "9F0206000000000100" If tags 9F02 (amount),9F03 (other amount), or 9C (transaction type) are included, they will take priority over these values supplied as individual parameters to this method. Note: To request tags to be included in default response, use tag DFEE1A, and specify tag list. Example four tags 9F02, 9F36, 95, 9F37 to be included in response = DFEE1A079F029F369f9F37 For SmartTap, pass the tag FFEE08 with the value 0200 For Apple VAS, pass the tag FFEE06 with the value 9F220201009F2604000000009F2B050100000000DF010101 |
int com.idtechproducts.device.IDT_VP3300.device_cancelGen2Transaction | ( | ) |
Cancel Gen2 Device Transaction
Cancels the currently executing Gen2 Transaction.
int com.idtechproducts.device.IDT_VP3300.device_cancelTransaction | ( | ) |
Cancel Device Transaction
Cancels the currently executing Device transaction.
boolean com.idtechproducts.device.IDT_VP3300.device_connect | ( | ) |
Connect the device.
This will attempt to connect to reader. For audio connection: it will first attempt to set the IDTech reader to the correct baud rate compatible with the Android Audio hardware Then it will attempt to recognize the reader that is attached by polling for model information
void com.idtechproducts.device.IDT_VP3300.device_ConnectWithoutValidation | ( | boolean | noValidate | ) |
Set connection mode to connect to the device without validation
This will tell the SDK to connect to a reader with supplied device type For audio connection: it will not attempt to set the IDTech reader to the correct baud rate compatible with the Android Audio hardware and will assume the hardware baud rate is correct. It will not attempt to validate an IDTech reader is connected. It will assume an IDTech reader is connected and charged
NOTE: It is left to the integrator to make the decision to validate the reader is connected. One method is execute device_getFirmware and evaluate the response. If there is a response, then a reader from IDTech. If it is an expected response (known firmware string), then the specific reader model can be verified.
noValidate | TRUE = no validation, FALSE = validate (normal operation) |
boolean com.idtechproducts.device.IDT_VP3300.device_connectWithProfile | ( | StructConfigParameters | profile | ) |
connect the device with Profile.
profile,the | profile is the one which is the result from Auto config. |
int com.idtechproducts.device.IDT_VP3300.device_controlUserInterface | ( | byte [] | values | ) |
Control User Interface
Controls the User Interface: Display, Beep, LED
values | Four bytes to control the user interface Byte[0] = LCD Message Messages 00-07 are normally controlled by the reader.
|
boolean com.idtechproducts.device.IDT_VP3300.device_disconnectBLE | ( | ) |
Disconnect from BLE -
Will disconnect from existing BLE connection.
int com.idtechproducts.device.IDT_VP3300.device_enableBLESearch | ( | DEVICE_TYPE | type, |
String | name, | ||
int | timeout | ||
) |
Searches for Bluetooth Device
type | Device Type to search for |
name | Bluetooth Device Name or MAC Address |
timeout | Scanning timeout, in milliseconds |
DEVICE_TYPE com.idtechproducts.device.IDT_VP3300.device_getDeviceType | ( | ) |
Gets type of device
int com.idtechproducts.device.IDT_VP3300.device_getFirmwareVersion | ( | StringBuilder | version | ) |
DEVICE INFO API Get the firmware version of device.
version | for version string. |
int com.idtechproducts.device.IDT_VP3300.device_getKSN | ( | ResDataStruct | ksn | ) |
Get the Account DUKPT Key KSN of device.
10-byte | KSN |
int com.idtechproducts.device.IDT_VP3300.device_getMerchantRecord | ( | int | index, |
ResDataStruct | respData | ||
) |
Get Merchant Record
Sets the burst mode for the device.
respData | response data from reader. Merchant Record Index: 1 byte enabled: 1 byte Merchant ID: 32 bytes Length of Merchant URL: 1 byte Merchant URL: 64 bytes |
String com.idtechproducts.device.IDT_VP3300.device_getResponseCodeString | ( | int | errorCode | ) |
Get Response Code String
Interpret a response code and return string description.
errorCode | Error code, range 0x0000 - 0xFFFF, example 0x0300 |
int com.idtechproducts.device.IDT_VP3300.device_getRTCDateTime | ( | byte [] | dateTime | ) |
get RTC date and time of the device
dateTime | <dateTime data>=""> is: 6 byte data for yyMMddHHmmss in hex. For example 0x171003102543 stands for 2017 Oct 3rd 10:25:43 |
int com.idtechproducts.device.IDT_VP3300.device_getTransactionResults | ( | IDTMSRData | cardData | ) |
Get Transaction Results Gets the transaction results when the reader is functioning in "Auto Poll" mode
cardData | The transaction results |
boolean com.idtechproducts.device.IDT_VP3300.device_isConnected | ( | ) |
get the status if the device connected.
int com.idtechproducts.device.IDT_VP3300.device_pingDevice | ( | ) |
Ping Device
Pings the reader. If connected, returns success. Otherwise, returns timeout.
int com.idtechproducts.device.IDT_VP3300.device_pollForToken | ( | int | timeout, |
ResDataStruct | respData | ||
) |
Poll for Token
Polls for a PICC
timeout | timeout in milliseconds, must be multiple of 10 milliseconds. 30, 120, 630, or 1150 for example. |
respData | Response data will be stored in respData. 1 byte of card type, and the Serial Number (or the UID) of the PICC if available. |
int com.idtechproducts.device.IDT_VP3300.device_reviewAllSetting | ( | ResDataStruct | respData | ) |
Review All Configuration Settings
it returns the current values for all the parameters that can be set using the Set Configuration command. Each parameter is returned as a TLV data object.
respData | Returns TLV in ResDataStruct.resData. Status Code in ResDataStruct.statusCode. |
int com.idtechproducts.device.IDT_VP3300.device_ReviewAudioJackSetting | ( | ResDataStruct | respData | ) |
Retrieves Audio Jack setting.
response | response[0]: baud rate of the device connected. response[1]: level option of the device output signals. response[2]: the number of prefix "55", and end with "66". |
int com.idtechproducts.device.IDT_VP3300.device_sendDataCommand | ( | String | cmd, |
boolean | calcLRC, | ||
String | data, | ||
ResDataStruct | respData | ||
) |
Sends a Direct Command Sends a NEO IDG ViVOtech 2.0 command
command | Two bytes command (including subCommand) as per NEO IDG Reference Guide (UniPayIII) |
calcLRC | Not used for IDG devices |
data | Command data (if applicable) for IDG devices |
response | Returns response ResDataStruct.resData. Status Code in ResDataStruct.statusCode |
int com.idtechproducts.device.IDT_VP3300.device_sendDataCommand | ( | String | cmd, |
boolean | calcLRC, | ||
String | data, | ||
ResDataStruct | respData, | ||
int | timeout | ||
) |
Sends a Direct Command Sends a NEO IDG ViVOtech 2.0 command
command | Two bytes command (including subCommand) as per NEO IDG Reference Guide (UniPayIII) |
calcLRC | Not used for IDG devices |
data | Command data (if applicable) for IDG devices |
response | Returns response ResDataStruct.resData. Status Code in ResDataStruct.statusCode |
timeout | Command timeout in seconds |
int com.idtechproducts.device.IDT_VP3300.device_sendGen2Cmd | ( | byte [] | encPayload, |
byte [] | payloadMac, | ||
Gen2DataStruct | respData, | ||
int | timeout | ||
) |
Send Gen2 Command
Informs SDK to format command for EMV Gen2 Device Communication
encPayload | Encrypted Payload. |
payloadMac | Encrypted 8-byte MAC. |
respData | Status Code in ResDataStruct.statusCode. If Flash error, status code will be 0x62. Format error status code 0x05 |
timeout | Timeout parameter. |
int com.idtechproducts.device.IDT_VP3300.device_setBurstMode | ( | byte | mode | ) |
Set Burst Mode
Sets the burst mode for the device.
mode | 0 = OFF, 1 = Always On, 2 = Auto Exit |
boolean com.idtechproducts.device.IDT_VP3300.device_setDeviceType | ( | ReaderInfo.DEVICE_TYPE | deviceType | ) |
Defines connection Bluetooth, USB or Audio Jack
deviceType | DEVICE_TYPE.DEVICE_VP3300_AJ, DEVICE_TYPE.DEVICE_VP3300_AJ_USB, DEVICE_TYPE.DEVICE_VP3300_USB, DEVICE_TYPE.DEVICE_VP3300_BT, or DEVICE_TYPE.DEVICE_VP3300_BT_USB |
int com.idtechproducts.device.IDT_VP3300.device_setMerchantRecord | ( | int | index, |
boolean | enabled, | ||
String | merchantID, | ||
String | merchantURL | ||
) |
Set Merchant Record
Sets the burst mode for the device.
index | Merchant Record Index. The valid value is 1–6. |
enabled | 1: The Merchant ID is valid, 0: The Merchant ID is not valid. |
merchantID | The tag is 9F25. |
merchantURL | The tag is 9F29. |
|
static |
Sets Monitor card data for CTLS Transactions when auto poll is on and burst mode is off Tells the SDK to monitor CTLS Transaction data when auto poll is on and burst mode is off. FALSE by default
int com.idtechproducts.device.IDT_VP3300.device_setPollMode | ( | byte | mode | ) |
Set Poll Mode
Sets the poll mode for the device. Auto Poll keeps reader active, Poll On Demand only polls when requested by terminal
mode | 0 = Auto Poll, 1 = Poll On Demand |
int com.idtechproducts.device.IDT_VP3300.device_setRTCDateTime | ( | byte [] | dateTime | ) |
set RTC date and time of the device
dateTime | <dateTime data>=""> is: 6 byte data for yyMMddHHmmss in hex. For example 0x171003102543 stands for 2017 Oct 3rd 10:25:43 |
void com.idtechproducts.device.IDT_VP3300.device_setSymmetric_RKI_URL | ( | String | srki_url | ) |
Use Gen2 or Gen4 server.
isGen2 | TRUR: use Gen2 URL, FALSE: use Gen4 URL Set symmetric RKI URL. |
srki_url | The URL for symmetric RKI |
int com.idtechproducts.device.IDT_VP3300.device_startRKI | ( | ) |
Start remote key injection.
int com.idtechproducts.device.IDT_VP3300.device_startRKI | ( | boolean | isDemo | ) |
Start remote key injection.
isDemo | TRUE: for demo unit, FALSE: for production unit. |
int com.idtechproducts.device.IDT_VP3300.device_startRKI | ( | String | Key, |
boolean | isDemo | ||
) |
Start remote key injection with Selectable Key.
Key | Selectable Key. |
isDemo | TRUE: for demo unit, FALSE: for production unit. |
int com.idtechproducts.device.IDT_VP3300.device_startRKI | ( | String | Key | ) |
Start remote key injection with Selectable Key.
int com.idtechproducts.device.IDT_VP3300.device_startTransaction | ( | double | amount, |
double | amtOther, | ||
int | type, | ||
final int | timeout, | ||
byte [] | tags | ||
) |
Start Device Transaction Request
Authorizes the MSR (or CTLS) or EMV transaction for an ICC card
The tags will be returned in the callback routine.
amount | Transaction amount value (tag value 9F02) |
amtOther | Other amount value, if any (tag value 9F03) |
type | Transaction type (tag value 9C). |
timeout | Timeout value in seconds. |
tags | Any other tags to be included in the request. Passed as a string. Example, tag 9F02 with amount 0x000000000100 would be "9F0206000000000100" If tags 9F02 (amount),9F03 (other amount), or 9C (transaction type) are included, they will take priority over these values supplied as individual parameters to this method. Note: To request tags to be included in default response, use tag DFEE1A, and specify tag list. Example four tags 9F02, 9F36, 95, 9F37 to be included in response = DFEE1A079F029F369f9F37 |
int com.idtechproducts.device.IDT_VP3300.device_startTransaction | ( | double | amount, |
double | amtOther, | ||
int | type, | ||
final int | timeout, | ||
byte [] | tags, | ||
boolean | isFastEMV | ||
) |
Start Device Transaction Request
Authorizes the MSR (or CTLS) or EMV transaction for an ICC card
The tags will be returned in the callback routine.
amount | Transaction amount value (tag value 9F02) |
amtOther | Other amount value, if any (tag value 9F03) |
type | Transaction type (tag value 9C). |
timeout | Timeout value in seconds. |
tags | Any other tags to be included in the request. Passed as a string. Example, tag 9F02 with amount 0x000000000100 would be "9F0206000000000100" If tags 9F02 (amount),9F03 (other amount), or 9C (transaction type) are included, they will take priority over these values supplied as individual parameters to this method. Note: To request tags to be included in default response, use tag DFEE1A, and specify tag list. Example four tags 9F02, 9F36, 95, 9F37 to be included in response = DFEE1A079F029F369f9F37 |
isFastEMV | If TRUE, it will populate the IDTTransactionData.fastEMV with ASCII data similar to IDTech FastEMV KB output, after performing an auto-authenticate and auto-complete with ResultCode = Could Not Contact Host |
int com.idtechproducts.device.IDT_VP3300.device_updateFirmware | ( | String [] | commands | ) |
DEVICE INFO API Update the firmware of device.
commands | for all the lines/commands of the firmware text file. |
|
static |
Allow fallback for EMV transactions. Default is TRUE
allow | TRUE = allow fallback, FALSE = don't allow fallback |
int com.idtechproducts.device.IDT_VP3300.emv_authenticateTransaction | ( | byte [] | tags | ) |
Authenticate EMV Transaction Request
Authenticates the EMV transaction for an ICC card. Execute this after receiving response with result code 0x10 to emv_startTransaction
The tags will be returned in the callback routine.
tags | TLV stream that can be used to update the following values:
|
int com.idtechproducts.device.IDT_VP3300.emv_callbackResponsePIN | ( | int | mode, |
byte [] | KSN, | ||
byte [] | PIN | ||
) |
Callback Response PIN Request
Provides PIN data to the kernel after a callback was received pinRequest delegate.
mode | PIN Mode:
|
KSN | Key Serial Number. If no pairing and PIN is plaintext, value is nil |
PIN | PIN data, encrypted. If no pairing, PIN will be sent plaintext |
int com.idtechproducts.device.IDT_VP3300.emv_cancelTransaction | ( | ResDataStruct | respData | ) |
Cancel EMV Transaction
Cancels the currently executing EMV transaction.
int com.idtechproducts.device.IDT_VP3300.emv_completeTransaction | ( | boolean | commError, |
byte [] | authCode, | ||
byte [] | iad, | ||
byte [] | tlvScripts, | ||
byte [] | tags | ||
) |
Complete EMV Transaction Request
Completes the EMV transaction for an ICC card when online authorization request is received from emv_authenticateTransaction
The tags will be returned in the callback routine.
commError | Communication error with host. Set to TRUE if host was unreachable, or FALSE if host response received. If Communication error, authCode, iad, tlvScripts can be null. |
authCode | Authorization code from host. Two bytes. Example 0x3030. (Tag value 8A). Required |
iad | Issuer Authentication Data, if any. Example 0x11223344556677883030 (tag value 91). |
tlvScripts | 71/72 scripts, if any |
tags | Additional TLV data to return with transaction results (if any) |
|
static |
Gets Auto Authentication for EMV Transactions Check the boolean value of Auto Authentication.
|
static |
Gets Auto Completion for EMV Transactions Check the boolean value of Auto Completion.
int com.idtechproducts.device.IDT_VP3300.emv_getEMVConfigurationCheckValue | ( | ResDataStruct | respData | ) |
Get EMV Kernel configuration check value info
response | Response returned of Kernel configuration check value info |
int com.idtechproducts.device.IDT_VP3300.emv_getEMVKernelCheckValue | ( | ResDataStruct | respData | ) |
Get EMV Kernel check value info
response | Response returned of Kernel check value info |
int com.idtechproducts.device.IDT_VP3300.emv_getEMVKernelVersion | ( | StringBuilder | version | ) |
Polls device for EMV Kernel Version
response | Response returned of Kernel Version |
void com.idtechproducts.device.IDT_VP3300.emv_lcdControlResponse | ( | byte | mode, |
byte | data | ||
) |
Callback Response LCD Display
Provides menu selection responses to the kernel after a callback was received lcdDisplay delegate.
mode | The choices are as follows
|
selection | Line number in hex (0x01, 0x02), or 'C'/'E' of function key |
int com.idtechproducts.device.IDT_VP3300.emv_removeApplicationData | ( | String | aid, |
ResDataStruct | respData | ||
) |
Remove Application Data
Removes the Application Data as specified by the AID name passed as a parameter
aid | Aid file to remove. |
respData | Status Code in ResDataStruct.statusCode. If no application data exists, status code will be 0x60. Format error status code 0x05 |
int com.idtechproducts.device.IDT_VP3300.emv_removeCAPK | ( | byte [] | capk, |
ResDataStruct | respData | ||
) |
Remove Certificate Authority Public Key
Removes the CAPK as specified by the RID/Index
capk | 6 byte CAPK = 5 bytes RID + 1 byte INDEX |
respData | Status Code in ResDataStruct.statusCode. |
int com.idtechproducts.device.IDT_VP3300.emv_removeCRL | ( | byte [] | crlList, |
ResDataStruct | respData | ||
) |
Remove Certificate Revocation List Entries
Removes CRLEntries as specified by the RID and Index and serial number passed as 9 bytes
crlList | containing the list of CRL to remove: [CRL1][CRL2]...[CRLn] where each [CRL] is 9 bytes: [5 bytes RID][1 byte CAPK Index][3 bytes serial number] |
respData | Status Code in ResDataStruct.statusCode. |
int com.idtechproducts.device.IDT_VP3300.emv_removeTerminalData | ( | ResDataStruct | respData | ) |
Remove Terminal Data
Removes the Terminal Data.
respData | Status Code in ResDataStruct.statusCode. |
int com.idtechproducts.device.IDT_VP3300.emv_retrieveAidList | ( | ResDataStruct | respData | ) |
Retrieve Aid List
Returns all the AID names installed on the terminal.
respData | Array of AID string names passed back in ResDataStruct.stringArray. Status Code in ResDataStruct.statusCode. If no AIDs exists, status code will be 0x60 |
int com.idtechproducts.device.IDT_VP3300.emv_retrieveApplicationData | ( | String | aid, |
ResDataStruct | respData | ||
) |
Retrieve Application Data
Retrieves the TLV values of a provide AID.
aid | Aid file to retrieve. |
respData | Returns TLV in ResDataStruct.resData. Status Code in ResDataStruct.statusCode. If no application data exists, status code will be 0x60 |
int com.idtechproducts.device.IDT_VP3300.emv_retrieveCAPK | ( | byte [] | data, |
ResDataStruct | respData | ||
) |
Retrieve Certificate Authority Public Key
Retrieves the CAPK as specified by the RID/Index passed as a parameter.
capk | 6 bytes CAPK = 5 bytes RID + 1 byte Index |
key | Response returned in ResDataStruct.resData: [5 bytes RID][1 byte Index][1 byte Hash Algorithm][1 byte Encryption Algorithm][20 bytes HashValue][4 bytes Public Key Exponent][2 bytes Modulus Length][Variable bytes Modulus] Where:
|
int com.idtechproducts.device.IDT_VP3300.emv_retrieveCAPKList | ( | ResDataStruct | respData | ) |
Retrieve the Certificate Authority Public Key list
Returns all the CAPK RID and Index installed on the terminal.
respData | ResDataStruct.resData = [key1][key2]...[keyn], each key 6 bytes where key = 5 bytes RID + 1 byte index |
int com.idtechproducts.device.IDT_VP3300.emv_retrieveCRL | ( | ResDataStruct | respData | ) |
Retrieve the Certificate Revocation List
Returns the CRL entries on the terminal.
key | Response returned in ResDataStruct.resData: list [CRL1][CRL2]...[CRLn], each CRL 9 bytes where CRL = 5 bytes RID + 1 byte index + 3 bytes serial number |
int com.idtechproducts.device.IDT_VP3300.emv_retrieveTerminalData | ( | ResDataStruct | respData | ) |
Retrieve Terminal Data
Retrieves the TLV values of a the terminal.
respData | Returns TLV in ResDataStruct.resData. Status Code in ResDataStruct.statusCode. If no terminal data exists, status code will be 0x60 |
int com.idtechproducts.device.IDT_VP3300.emv_retrieveTransactionResult | ( | byte [] | tags, |
Map< String, Map< String, byte[]>> | retrievedTags | ||
) |
Retrieve Transaction Results
Retrieves specified EMV tags from the currently executing transaction.
tags | Tags to be retrieved. Example 0x9F028A will retrieve tags 9F02 and 8A |
tlv | All requested tags returned as unencrypted, encrypted and masked tags. The tlv Map will contain a Map with key "tags" that has the unencrypted tag data, a Map with the key "masked" that has the masked tag data, and a Map with the key "encrypted" that has the encrypted tag data |
int com.idtechproducts.device.IDT_VP3300.emv_setApplicationData | ( | String | aid, |
byte [] | TLV, | ||
ResDataStruct | respData | ||
) |
Set Application Data
Sets the Application Data as specified by the application name and TLV data
name | Application name, 10-32 ASCII hex characters representing 5-16 bytes Example "a0000000031010" |
tlv | Application data in TLV format. |
respData | Status Code in ResDataStruct.statusCode. If AID list is full, status code will be 0x61. Format error status code 0x05 |
|
static |
Sets Auto Authentication for EMV Transactions Tells the SDK to automatically execute Authenticate Transaction after StartEMV Transaction. TRUE by default
|
static |
Sets Auto Completion for EMV Transactions Tells the SDK to automatically execute Complete Transaction after EMV Authentication. FALSE by default
int com.idtechproducts.device.IDT_VP3300.emv_setCAPK | ( | byte [] | key, |
ResDataStruct | respData | ||
) |
Set Certificate Authority Public Key
Sets the CAPK as specified by the CAKey structure
key | CAKey format: [5 bytes RID][1 byte Index][1 byte Hash Algorithm][1 byte Encryption Algorithm][20 bytes HashValue][4 bytes Public Key Exponent][2 bytes Modulus Length][Variable bytes Modulus][2 bytes MAC Length][Variable bytes MAC Data] Where:
|
respData | Status Code in ResDataStruct.statusCode. |
int com.idtechproducts.device.IDT_VP3300.emv_setCRL | ( | byte [] | crlList, |
ResDataStruct | respData | ||
) |
Set Certificate Revocation List
Sets the CRL
list | CRL Entries containing the RID, Index, and serial numbers to set [CRL1][CRL2]...[CRLn] where each [CRL] is 9 bytes: [5 bytes RID][1 byte CAPK Index][3 bytes serial number] |
int com.idtechproducts.device.IDT_VP3300.emv_setTerminalData | ( | byte [] | TLV, |
ResDataStruct | respData | ||
) |
Set Terminal Data
Sets the Terminal Data as specified by the TerminalData structure passed as a parameter
TLV | TerminalData configuration file. |
respData | Status Code in ResDataStruct.statusCode. If Flash error, status code will be 0x62. Format error status code 0x05 |
int com.idtechproducts.device.IDT_VP3300.emv_setTerminalMajorConfiguration | ( | int | configuration | ) |
Sets the terminal major configuration in ICS .
configuration | A configuration value, range 1-23
|
void com.idtechproducts.device.IDT_VP3300.emv_setTransactionParameters | ( | double | amount, |
double | amtOther, | ||
int | type, | ||
final int | timeout, | ||
byte [] | tags | ||
) |
Set EMV Transaction Parameters
Set the parameters to be used on EMV transactions for an ICC card when Auto Poll is on and Burst Mode is off
The tags will be returned in the callback routine.
amount | Transaction amount value (tag value 9F02) |
amtOther | Other amount value, if any (tag value 9F03) |
type | Transaction type (tag value 9C). |
timeout | Timeout value in seconds. |
tags | Any other tags to be included in the request. Passed as a string. Example, tag 9F02 with amount 0x000000000100 would be "9F0206000000000100" If tags 9F02 (amount),9F03 (other amount), or 9C (transaction type) are included, they will take priority over these values supplied as individual parameters to this method. Note: To request tags to be included in default response, use tag DFEE1A, and specify tag list. Example four tags 9F02, 9F36, 95, 9F37 to be included in response = DFEE1A079F029F369f9F37 |
int com.idtechproducts.device.IDT_VP3300.emv_startTransaction | ( | double | amount, |
double | amtOther, | ||
int | type, | ||
final int | timeout, | ||
byte [] | tags, | ||
boolean | forceOnline | ||
) |
Start EMV Transaction Request
Authorizes the EMV transaction for an ICC card
The tags will be returned in the callback routine.
amount | Transaction amount value (tag value 9F02) |
amtOther | Other amount value, if any (tag value 9F03) |
type | Transaction type (tag value 9C). |
timeout | Timeout value in seconds. |
tags | Any other tags to be included in the request. Passed as a string. Example, tag 9F02 with amount 0x000000000100 would be "9F0206000000000100" If tags 9F02 (amount),9F03 (other amount), or 9C (transaction type) are included, they will take priority over these values supplied as individual parameters to this method. |
forceOnline | TRUE = do not allow offline approval, FALSE = allow ICC to approve offline if terminal capable Note: To request tags to be included in default response, use tag DFEE1A, and specify tag list. Example four tags 9F02, 9F36, 95, 9F37 to be included in response = DFEE1A079F029F369f9F37 |
int com.idtechproducts.device.IDT_VP3300.expireSessionKeys | ( | Gen2DataStruct | respData | ) |
Expire Session Keys
Sets Session Keys to expired state
respData.statusCode 0: VTC_SECURITY_RESULT_CODE_Success 1: VTC_SECURITY_RESULT_CODE_Failure 2: VTC_SECURITY_RESULT_CODE_No_Data_Found 3: VTC_SECURITY_RESULT_CODE_No_Authentication_Key 4: VTC_SECURITY_RESULT_CODE_No_Agreement_Key 5: VTC_SECURITY_RESULT_CODE_Invalid_Data 6: VTC_SECURITY_RESULT_CODE_Signature_Validation_Failed 7: VTC_SECURITY_RESULT_CODE_Nonce_Mismatch 8: VTC_SECURITY_RESULT_CODE_KC_MAC_Mismatch 9: VTC_SECURITY_RESULT_CODE_Session_Keys_Expired 10: VTC_SECURITY_RESULT_CODE_No_Session_Keys 11: VTC_SECURITY_RESULT_CODE_No_K_init_Key
int com.idtechproducts.device.IDT_VP3300.finalizeSession | ( | byte [] | data, |
Gen2DataStruct | respData | ||
) |
Finalize Session Key
jwsCMD | JWS command in xxxxx.yyyyy.zzzzz Base64URL format, where xxxxxx = header indicating alg: ES256 yyyyyy = payload [ Session_Expiration || Session_MAC_TAG] zzzzzz = xxxxx.yyyyy signed with Private TC Auth Key |
respData.statusCode 0: VTC_SECURITY_RESULT_CODE_Success 1: VTC_SECURITY_RESULT_CODE_Failure 2: VTC_SECURITY_RESULT_CODE_No_Data_Found 3: VTC_SECURITY_RESULT_CODE_No_Authentication_Key 4: VTC_SECURITY_RESULT_CODE_No_Agreement_Key 5: VTC_SECURITY_RESULT_CODE_Invalid_Data 6: VTC_SECURITY_RESULT_CODE_Signature_Validation_Failed 7: VTC_SECURITY_RESULT_CODE_Nonce_Mismatch 8: VTC_SECURITY_RESULT_CODE_KC_MAC_Mismatch 9: VTC_SECURITY_RESULT_CODE_Session_Keys_Expired 10: VTC_SECURITY_RESULT_CODE_No_Session_Keys 11: VTC_SECURITY_RESULT_CODE_No_K_init_Key
int com.idtechproducts.device.IDT_VP3300.finalizeVTRT | ( | byte [] | data, |
Gen2DataStruct | respData | ||
) |
Finalize VTRT from provided data
data | [AES_GCM (K_init, SPTC_Auth, || Seed_TC || SHA-256 (KiC_Reader_ID || TC_Reader_Init_ID))] |
respData.statusCode 0: VTC_SECURITY_RESULT_CODE_Success 1: VTC_SECURITY_RESULT_CODE_Failure 2: VTC_SECURITY_RESULT_CODE_No_Data_Found 3: VTC_SECURITY_RESULT_CODE_No_Authentication_Key 4: VTC_SECURITY_RESULT_CODE_No_Agreement_Key 5: VTC_SECURITY_RESULT_CODE_Invalid_Data 6: VTC_SECURITY_RESULT_CODE_Signature_Validation_Failed 7: VTC_SECURITY_RESULT_CODE_Nonce_Mismatch 8: VTC_SECURITY_RESULT_CODE_KC_MAC_Mismatch 9: VTC_SECURITY_RESULT_CODE_Session_Keys_Expired 10: VTC_SECURITY_RESULT_CODE_No_Session_Keys 11: VTC_SECURITY_RESULT_CODE_No_K_init_Key
|
static |
Returns an instance of the currently initialized IDT_Device class.
int com.idtechproducts.device.IDT_VP3300.getSessionKeyStatus | ( | Gen2DataStruct | respData | ) |
Get Session Key Status
respData.statusCode 0: VTC_SECURITY_RESULT_CODE_Success 1: VTC_SECURITY_RESULT_CODE_Failure 2: VTC_SECURITY_RESULT_CODE_No_Data_Found 3: VTC_SECURITY_RESULT_CODE_No_Authentication_Key 4: VTC_SECURITY_RESULT_CODE_No_Agreement_Key 5: VTC_SECURITY_RESULT_CODE_Invalid_Data 6: VTC_SECURITY_RESULT_CODE_Signature_Validation_Failed 7: VTC_SECURITY_RESULT_CODE_Nonce_Mismatch 8: VTC_SECURITY_RESULT_CODE_KC_MAC_Mismatch 9: VTC_SECURITY_RESULT_CODE_Session_Keys_Expired 10: VTC_SECURITY_RESULT_CODE_No_Session_Keys 11: VTC_SECURITY_RESULT_CODE_No_K_init_Key
int com.idtechproducts.device.IDT_VP3300.icc_exchangeAPDU | ( | byte [] | dataAPDU, |
ResDataStruct | response | ||
) |
Exchange APDU
Sends an APDU packet to the ICC. If successful, response is returned in APDUResult class instance in response parameter.
dataAPDU | APDU data packet |
response | Unencrypted/encrypted parsed APDU response |
int com.idtechproducts.device.IDT_VP3300.icc_getICCReaderStatus | ( | ICCReaderStatusStruct | ICCStatus | ) |
Get Reader Status
Returns the reader status
status | Pointer that will return with the ICCReaderStatus results. bit 0: 0 = ICC Power Not Ready, 1 = ICC Powered bit 1: 0 = Card not seated, 1 = card seated |
int com.idtechproducts.device.IDT_VP3300.icc_passthroughOffICC | ( | ) |
Disables pass through mode for ICC. Required when executing transactions (start EMV, start MSR, authenticate transaction)
int com.idtechproducts.device.IDT_VP3300.icc_passthroughOnICC | ( | ) |
Enables pass through mode for ICC. Required when direct ICC commands are required (power on/off ICC, exchange APDU)
int com.idtechproducts.device.IDT_VP3300.icc_powerOffICC | ( | ResDataStruct | respData | ) |
Power Off ICC
Powers down the ICC
int com.idtechproducts.device.IDT_VP3300.icc_powerOnICC | ( | ResDataStruct | atrPPS | ) |
Power up the currently selected microprocessor card in the ICC reader. It follows the ISO7816-3 power up sequence and returns the ATR as its response.
options | the options is optional. please see PowerOnStructure class for more information. |
atrPPS | the class for ATR string. the ATR string is following:
|
int com.idtechproducts.device.IDT_VP3300.log_deleteLogs | ( | ) |
delete the log in the root path of SD card.
void com.idtechproducts.device.IDT_VP3300.log_setSaveLogEnable | ( | boolean | enable | ) |
Enable/Disable save the log into the root path of SD card.
enable | true: enable save the log, the log includes the .txt text log and .wav signals file. false: disable save the log. |
void com.idtechproducts.device.IDT_VP3300.log_setVerboseLoggingEnable | ( | boolean | enable | ) |
Enable/Disable Verbose Logging show in the logcat view window.
enable,true | enable to show the log in the logcat view window. false: disable to show the log in the logcat view window. |
int com.idtechproducts.device.IDT_VP3300.msr_cancelMSRSwipe | ( | ) |
Disable MSR swipe card.
Cancels MSR swipe request.
int com.idtechproducts.device.IDT_VP3300.msr_defaultAllSetting | ( | ) |
Default all setting of Mask and Encryption.
int com.idtechproducts.device.IDT_VP3300.msr_startMSRSwipe | ( | ) |
Enable MSR swipe card. Returns encrypted MSR data or function key value by call back function. The function swipeMSRData in interface OnReceiverListener will be called if swiping card data received.
int com.idtechproducts.device.IDT_VP3300.msr_startMSRSwipe | ( | int | timeout | ) |
Enable MSR swipe card. Returns encrypted MSR data or function key value by call back function.
The function swipeMSRData in interface OnReceiverListener will be called if swiping card data received.
timeout | Swipe Timeout Value timeout value in seconds; maximum value is 255 seconds. If it is 0, it will be set to 5 seconds. |
String com.idtechproducts.device.IDT_VP3300.phone_getInfoManufacture | ( | ) |
Get manufacture version.
String com.idtechproducts.device.IDT_VP3300.phone_getInfoModel | ( | ) |
Get phones's model number information.
void com.idtechproducts.device.IDT_VP3300.registerListen | ( | ) |
General API:registerListen.
registerListen to enable SDK detect the phone jack plug in/off notification
void com.idtechproducts.device.IDT_VP3300.release | ( | ) |
release, make the SDK in the idle status.
int com.idtechproducts.device.IDT_VP3300.removeEnrollment | ( | Gen2DataStruct | respData | ) |
Remove Enrollment
Removes all enrollment data from device (Auth Keys, Session Keys)
respData.statusCode 0: VTC_SECURITY_RESULT_CODE_Success 1: VTC_SECURITY_RESULT_CODE_Failure 2: VTC_SECURITY_RESULT_CODE_No_Data_Found 3: VTC_SECURITY_RESULT_CODE_No_Authentication_Key 4: VTC_SECURITY_RESULT_CODE_No_Agreement_Key 5: VTC_SECURITY_RESULT_CODE_Invalid_Data 6: VTC_SECURITY_RESULT_CODE_Signature_Validation_Failed 7: VTC_SECURITY_RESULT_CODE_Nonce_Mismatch 8: VTC_SECURITY_RESULT_CODE_KC_MAC_Mismatch 9: VTC_SECURITY_RESULT_CODE_Session_Keys_Expired 10: VTC_SECURITY_RESULT_CODE_No_Session_Keys 11: VTC_SECURITY_RESULT_CODE_No_K_init_Key
void com.idtechproducts.device.IDT_VP3300.setGen2Callback | ( | OnReceiverListenerGen2 | callback | ) |
Sets the OnReceiverListenerGen2 callback
callback | OnReceiverListenerGen2 callback |
void com.idtechproducts.device.IDT_VP3300.setIDT_Device | ( | FirmwareUpdateTool | fwTool | ) |
For System Use Only
fwTool | Parameter for firmware update |
int com.idtechproducts.device.IDT_VP3300.startSession | ( | byte [] | data, |
Gen2DataStruct | respData | ||
) |
Start Session Key
data | JWS command in xxxxx.yyyyy.zzzzz Base64URL format, where xxxxxx = header indicating alg: ES256 yyyyyy = payload [ TC_Session || EPTC_Agr ] zzzzzz = xxxxx.yyyyy signed with Private TC Auth Key |
respData | JWS command in xxxxx.yyyyy.zzzzz Base64URL format, where xxxxxx = header indicating alg: ES256 yyyyyy = payload [EPR_Agr || TC_Session || KC_MAC_Tag ] zzzzzz = xxxxx.yyyyy signed with Private Reader Auth Key |
respData.statusCode 0: VTC_SECURITY_RESULT_CODE_Success 1: VTC_SECURITY_RESULT_CODE_Failure 2: VTC_SECURITY_RESULT_CODE_No_Data_Found 3: VTC_SECURITY_RESULT_CODE_No_Authentication_Key 4: VTC_SECURITY_RESULT_CODE_No_Agreement_Key 5: VTC_SECURITY_RESULT_CODE_Invalid_Data 6: VTC_SECURITY_RESULT_CODE_Signature_Validation_Failed 7: VTC_SECURITY_RESULT_CODE_Nonce_Mismatch 8: VTC_SECURITY_RESULT_CODE_KC_MAC_Mismatch 9: VTC_SECURITY_RESULT_CODE_Session_Keys_Expired 10: VTC_SECURITY_RESULT_CODE_No_Session_Keys 11: VTC_SECURITY_RESULT_CODE_No_K_init_Key
int com.idtechproducts.device.IDT_VP3300.startVTRT | ( | byte [] | data, |
Gen2DataStruct | respData | ||
) |
Start VTRT from provided data
data | [AES_GCM ( K_init, TC_Reader_Init_ID || Nonce_TC) || IV] |
respData | [AES_GCM (K_init, SPR_Auth || KiC_Reader_ID || Nonce_TC)]] |
respData.statusCode 0: VTC_SECURITY_RESULT_CODE_Success 1: VTC_SECURITY_RESULT_CODE_Failure 2: VTC_SECURITY_RESULT_CODE_No_Data_Found 3: VTC_SECURITY_RESULT_CODE_No_Authentication_Key 4: VTC_SECURITY_RESULT_CODE_No_Agreement_Key 5: VTC_SECURITY_RESULT_CODE_Invalid_Data 6: VTC_SECURITY_RESULT_CODE_Signature_Validation_Failed 7: VTC_SECURITY_RESULT_CODE_Nonce_Mismatch 8: VTC_SECURITY_RESULT_CODE_KC_MAC_Mismatch 9: VTC_SECURITY_RESULT_CODE_Session_Keys_Expired 10: VTC_SECURITY_RESULT_CODE_No_Session_Keys 11: VTC_SECURITY_RESULT_CODE_No_K_init_Key
int com.idtechproducts.device.IDT_VP3300.startVTRTPolling | ( | byte | timeout, |
Gen2DataStruct | respData | ||
) |
Enables CTLS polling to start VTRT from CTLS AID
timeout | Value 1-255 seconds |
respData.statusCode 0: VTC_SECURITY_RESULT_CODE_Success 1: VTC_SECURITY_RESULT_CODE_Failure 2: VTC_SECURITY_RESULT_CODE_No_Data_Found 3: VTC_SECURITY_RESULT_CODE_No_Authentication_Key 4: VTC_SECURITY_RESULT_CODE_No_Agreement_Key 5: VTC_SECURITY_RESULT_CODE_Invalid_Data 6: VTC_SECURITY_RESULT_CODE_Signature_Validation_Failed 7: VTC_SECURITY_RESULT_CODE_Nonce_Mismatch 8: VTC_SECURITY_RESULT_CODE_KC_MAC_Mismatch 9: VTC_SECURITY_RESULT_CODE_Session_Keys_Expired 10: VTC_SECURITY_RESULT_CODE_No_Session_Keys 11: VTC_SECURITY_RESULT_CODE_No_K_init_Key
void com.idtechproducts.device.IDT_VP3300.unregisterListen | ( | ) |
unregisterListen to disable the detect
|
static |
Use USB Intent Filter For USB Devices, you may opt to incorporate an Intent Filter that will automatically start your application when a specific USB device is attached. The SDK must be informed to bypass it's normal Enumeration of USB Devices when an Intent Filter is being use. This function MUST be called BEFORE device_setDeviceType() is executed if a USB Intent Filter is being utilized. https://developer.android.com/guide/topics/connectivity/usb/host.html
int com.idtechproducts.device.IDT_VP3300.wp_cancelTransaction | ( | ) |
Cancel WorldPay Transaction
Cancels the currently executing WorldPay transaction.
int com.idtechproducts.device.IDT_VP3300.wp_executeTransaction | ( | IDT_VP3300 | idt_device, |
WorldPay.WorldPayData | data, | ||
WorldpayListener | callback, | ||
boolean | requestOnly | ||
) |
executeTransaction Requests 3 sets of public keys: encrypting Keys, signing/validating keys, signing/validating 3rd party apps
idt_device | the reader object |
data | WorldPay data object |
callback | WorldPay callback |
requestOnly |
|
int com.idtechproducts.device.IDT_VP3300.wp_forwardTransaction | ( | WorldpayListener | callback, |
String | forwardID, | ||
String | password, | ||
boolean | bypassProcessing | ||
) |
forwardTransaction Send the saved data to WorldPay and complete the transaction.
callback | callback is the callback to send the results. Should the the same as executeTransaction callback. |
forwardID | = ID, which could be either unique ID or Memo. |
password | = password. If null/blank, no password. |
bypassProcessing | = true means read the file from disk, but don't send to WorldPay, then delete the transaction as if you did send to WorldPay. The purpose of this is to allow them to delete transactions from the storage without sending to WorldPay. |
void com.idtechproducts.device.IDT_VP3300.wp_setReturnRequest | ( | boolean | returnRequest | ) |
Set retuen request for the WorldPay transaction
returnRequest | TRUE: the request packet will be returned with the response |