![]() |
IDTech Android SDK Guide
1.00.077
API reference for UniPay 1.5
|
Public Member Functions | |
IDT_UniPayI_V (OnReceiverListener callback, Context context) | |
boolean | device_setDeviceType (ReaderInfo.DEVICE_TYPE deviceType) |
IDT_UniPayI_V (OnReceiverListener callback, Context context, boolean isTTK) | |
boolean | device_setDeviceType (ReaderInfo.DEVICE_TYPE deviceType, boolean isTTK) |
boolean | device_isTTK () |
int | device_getDRS (ResDataStruct respData) |
int | device_selfCheck () |
int | device_rebootDevice () |
void | setIDT_Device (FirmwareUpdateTool fwTool) |
DEVICE_TYPE | device_getDeviceType () |
void | registerListen () |
void | unregisterListen () |
void | release () |
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 () |
void | config_setXMLFileNameWithPath (String path) |
boolean | config_loadingConfigurationXMLFile (boolean updateAutomatically) |
boolean | device_connectWithProfile (StructConfigParameters profile) |
int | emv_getEMVKernelVersion (StringBuilder version) |
int | emv_getEMVKernelCheckValue (ResDataStruct respData) |
int | emv_getEMVConfigurationCheckValue (ResDataStruct respData) |
void | device_ConnectWithoutValidation (boolean noValidate) |
boolean | device_connect () |
boolean | device_isConnected () |
int | device_startRKI () |
int | autoConfig_start (String strXMLFilename) |
void | autoConfig_stop () |
int | device_getFirmwareVersion (StringBuilder version) |
int | device_ReviewAudioJackSetting (ResDataStruct respData) |
int | config_getSerialNumber (StringBuilder serialNumber) |
int | config_getModelNumber (StringBuilder modNumber) |
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 | icc_getICCReaderStatus (ICCReaderStatusStruct ICCStatus) |
int | icc_powerOnICC (ResDataStruct atrPPS) |
int | icc_powerOffICC (ResDataStruct respData) |
int | icc_passthroughOnICC () |
int | icc_passthroughOffICC () |
int | icc_exchangeAPDU (byte[] dataAPDU, ResDataStruct response) |
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_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 | device_reviewAllSetting (ResDataStruct respData) |
int | msr_defaultAllSetting () |
int | msr_getSingleSetting (byte funcID, byte[] response) |
int | msr_setSingleSetting (byte funcID, byte setData) |
int | msr_cancelMSRSwipe () |
int | msr_startMSRSwipe () |
int | ctls_startTransaction () |
int | ctls_cancelTransaction () |
Static Public Member Functions | |
static void | useUSBIntentFilter () |
static IDT_Device | getIDT_Device () |
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_UniPayI_V.IDT_UniPayI_V | ( | OnReceiverListener | callback, |
Context | context | ||
) |
It is the constructor of the main class IDT_UniPayI_V. When it is called, the SDK will create the Instance for IDT_UniPayI_V device. The interface OnReceiverListner needs to be implemented in the application.
callback | OnReceiverListener callback |
context | Application context |
com.idtechproducts.device.IDT_UniPayI_V.IDT_UniPayI_V | ( | OnReceiverListener | callback, |
Context | context, | ||
boolean | isTTK | ||
) |
It is the constructor of the main class IDT_UniPayI_V. When it is called, the SDK will create the Instance for IDT_UniPayI_V device. The interface OnReceiverListner needs to be implemented in the application.
callback | OnReceiverListener callback |
context | Application context |
isTTK | True if TTK device |
int com.idtechproducts.device.IDT_UniPayI_V.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_UniPayI_V.autoConfig_stop | ( | ) |
stop Auto Config.
int com.idtechproducts.device.IDT_UniPayI_V.config_getModelNumber | ( | StringBuilder | modNumber | ) |
Get the model number of device.
modNumber | returns Model Number string. |
String com.idtechproducts.device.IDT_UniPayI_V.config_getSDKVersion | ( | ) |
READER CONFIG API LIST Get the version of SDK.
sdkVersion | for version string. |
int com.idtechproducts.device.IDT_UniPayI_V.config_getSerialNumber | ( | StringBuilder | serialNumber | ) |
Get the serial number of device.
serialNumber | returns Serial Number string. |
String com.idtechproducts.device.IDT_UniPayI_V.config_getXMLVersionInfo | ( | ) |
Get XML configuration version.
boolean com.idtechproducts.device.IDT_UniPayI_V.config_loadingConfigurationXMLFile | ( | boolean | updateAutomatically | ) |
Load XML Configuration File.
xmlFilename,XML | Configuration File Name. |
void com.idtechproducts.device.IDT_UniPayI_V.config_setXMLFileNameWithPath | ( | String | path | ) |
set XML Configuration File Name with the full path.
xmlFilename,XML | Configuration File Name. |
int com.idtechproducts.device.IDT_UniPayI_V.ctls_cancelTransaction | ( | ) |
Cancel CTLS Transaction
Cancels the currently executing CTLS transaction.
int com.idtechproducts.device.IDT_UniPayI_V.ctls_startTransaction | ( | ) |
Enable CTLS interface. Returns encrypted data by call back function.
The function swipeMSRData in interface OnReceiverListener will be called if contactless data received.
boolean com.idtechproducts.device.IDT_UniPayI_V.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_UniPayI_V.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.
validate | TRUE = no validation, FALSE = validate (normal operation) |
boolean com.idtechproducts.device.IDT_UniPayI_V.device_connectWithProfile | ( | StructConfigParameters | profile | ) |
connect the device with Profile.
profile,the | profile is the one which is the result from Auto config. |
DEVICE_TYPE com.idtechproducts.device.IDT_UniPayI_V.device_getDeviceType | ( | ) |
Gets type of device
int com.idtechproducts.device.IDT_UniPayI_V.device_getDRS | ( | ResDataStruct | respData | ) |
Get DRS
respData.resData | Response Body is <DRS sourceblk="" number>=""> <SourceBlk1> … [<SourceBlkN>] Where: DRS –Destructive Reset <DRS sourceblk="" number>=""> is 2 bytes, format is NumL NumH. It is Number of <SourceBlkX> <SourceBlkX> is n bytes, Format is <SourceID> <SourceLen> <SourceData> <SourceID> is 1 byte <SourceLen> is 1 byte, it is length of <SourceData> Item | SourceID | SourceLen | SourceData |
Korea Self-Test Error | 02 | 1 | 0x01 – EMV L2 Configuration Check Value Error
Tamper Switch | 11 | 1 | Bit 0 – Tamper Switch 1 (0-No, 1-Error) | | | Bit 1 – Tamper Switch 2 (0-No, 1-Error) | | | Bit 2 – Tamper Switch 3 (0-No, 1-Error) | | | Bit 3 – Tamper Switch 4 (0-No, 1-Error) | | | Bit 4 – Tamper Switch 5 (0-No, 1-Error)
Other | 1F | 4 | Reg31~24bits, Reg23~16bits, | | | Reg15~8bits, Reg7~0bits
int com.idtechproducts.device.IDT_UniPayI_V.device_getFirmwareVersion | ( | StringBuilder | version | ) |
DEVICE INFO API Get the firmware version of device.
version | for version string. |
int com.idtechproducts.device.IDT_UniPayI_V.device_getKSN | ( | ResDataStruct | ksn | ) |
Get the Account DUKPT Key KSN of device.
10-byte | KSN |
int com.idtechproducts.device.IDT_UniPayI_V.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_UniPayI_V.device_getResponseCodeString | ( | int | errorCode | ) |
Get Response Code String
Interpret a response code and return string description.
errorCode | Error code, range 0x0000 - 0xFFFF, example 0x0300 |
boolean com.idtechproducts.device.IDT_UniPayI_V.device_isConnected | ( | ) |
get the status if the device connected.
boolean com.idtechproducts.device.IDT_UniPayI_V.device_isTTK | ( | ) |
Check if the device is TTK
int com.idtechproducts.device.IDT_UniPayI_V.device_rebootDevice | ( | ) |
Reboot device.The device will restart and need to reconnect device if success.
int com.idtechproducts.device.IDT_UniPayI_V.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_UniPayI_V.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_UniPayI_V.device_selfCheck | ( | ) |
Self check for TTK If Self-Check function Failed, then work into De-activation State. If device work into De-activation State, All Sensitive Data will be erased and it need be fixed in Manufacture.
int com.idtechproducts.device.IDT_UniPayI_V.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_UniPayI_V.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 |
boolean com.idtechproducts.device.IDT_UniPayI_V.device_setDeviceType | ( | ReaderInfo.DEVICE_TYPE | deviceType | ) |
Defines connection USB or Audio Jack
deviceType | DEVICE_TYPE.DEVICE_UNIPAY_I_V or DEVICE_TYPE.DEVICE_UNIPAY_I_V_USB |
boolean com.idtechproducts.device.IDT_UniPayI_V.device_setDeviceType | ( | ReaderInfo.DEVICE_TYPE | deviceType, |
boolean | isTTK | ||
) |
Defines connection USB or Audio Jack
deviceType | DEVICE_TYPE.DEVICE_UNIPAY_I_V or DEVICE_TYPE.DEVICE_UNIPAY_I_V_USB |
isTTK | True if TTK device |
int com.idtechproducts.device.IDT_UniPayI_V.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. |
int com.idtechproducts.device.IDT_UniPayI_V.device_startRKI | ( | ) |
Start remote key injection.
int com.idtechproducts.device.IDT_UniPayI_V.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_UniPayI_V.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_UniPayI_V.emv_cancelTransaction | ( | ResDataStruct | respData | ) |
Cancel EMV Transaction
Cancels the currently executing EMV transaction.
int com.idtechproducts.device.IDT_UniPayI_V.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 TVL 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_UniPayI_V.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_UniPayI_V.emv_getEMVKernelCheckValue | ( | ResDataStruct | respData | ) |
Get EMV Kernel check value info
response | Response returned of Kernel check value info |
int com.idtechproducts.device.IDT_UniPayI_V.emv_getEMVKernelVersion | ( | StringBuilder | version | ) |
Polls device for EMV Kernel Version
response | Response returned of Kernel Version |
void com.idtechproducts.device.IDT_UniPayI_V.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_UniPayI_V.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_UniPayI_V.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_UniPayI_V.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_UniPayI_V.emv_removeTerminalData | ( | ResDataStruct | respData | ) |
Remove Terminal Data
Removes the Terminal Data.
respData | Status Code in ResDataStruct.statusCode. |
int com.idtechproducts.device.IDT_UniPayI_V.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_UniPayI_V.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_UniPayI_V.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_UniPayI_V.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_UniPayI_V.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_UniPayI_V.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_UniPayI_V.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_UniPayI_V.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_UniPayI_V.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_UniPayI_V.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_UniPayI_V.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_UniPayI_V.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 9F0C with amount 0x000000000100 would be "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. |
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_UniPayI_V.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_UniPayI_V.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_UniPayI_V.icc_passthroughOffICC | ( | ) |
Disables pass through mode for ICC. Required when executing transactions (start EMV, start MSR, authenticate transaction)
int com.idtechproducts.device.IDT_UniPayI_V.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_UniPayI_V.icc_powerOffICC | ( | ResDataStruct | respData | ) |
Power Off ICC
Powers down the ICC
int com.idtechproducts.device.IDT_UniPayI_V.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_UniPayI_V.log_deleteLogs | ( | ) |
delete the log in the root path of SD card.
void com.idtechproducts.device.IDT_UniPayI_V.log_setSaveLogEnable | ( | boolean | enable | ) |
Enable/Disable save the log into the root path of SD card.
enableShowLog,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_UniPayI_V.log_setVerboseLoggingEnable | ( | boolean | enable | ) |
Enable/Disable Verbose Logging show in the logcat view window.
enableShowLog,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_UniPayI_V.msr_cancelMSRSwipe | ( | ) |
Disable MSR swipe card.
Cancels MSR swipe request.
int com.idtechproducts.device.IDT_UniPayI_V.msr_defaultAllSetting | ( | ) |
Default all setting of Mask and Encryption.
int com.idtechproducts.device.IDT_UniPayI_V.msr_getSingleSetting | ( | byte | funcID, |
byte[] | response | ||
) |
Get single setting of Mask and Encryption by Function ID.
funcID | function ID. 0x49:Leading PAN digits to display(0x00~0x06). 0x4A:Last PAN digits to display(0x00~0x04). 0x4B:Mask ASCII code track data(0x20~0x7E). 0x4C:Encryption type ('1'-'2'). '1' 3DES, '2' AES. 0x50:Mask or display expiration date(0x30 or 0x31);0x31:don't mask expiration date. 0x7E:Security Level ID. 0x84:Encryption Option (Forced encryption or not) Bit 0 : T1 force encrypt Bit 1 : T2 force encrypt Bit 2 : T3 force encrypt Bit 3 : T3 force encrypt when card type is 0 |
0x86:Masked / clear data sending option Bit 0 : T1 mask allowed
Bit 1 : T2 mask allowed
Bit 2 : T3 mask allowed
NOTE:
UniPay support 0x49,0x50,0x4C,0x7E,0x84 and 0x86.
UniPay II support 0x49,0x50,0x4A, 0x4B, 0x4C,0x7E,0x84 and 0x86.
response | response[0] for setting data. |
int com.idtechproducts.device.IDT_UniPayI_V.msr_setSingleSetting | ( | byte | funcID, |
byte | setData | ||
) |
Set single setting of Mask and Encryption by Function ID.
funcID | function ID. 0x49:Leading PAN digits to display(0x00~0x06). 0x4A:Last PAN digits to display(0x00~0x04). 0x4B:Mask ASCII code track data(0x20~0x7E). 0x4C:Encryption type ('1'-'2'). '1' 3DES, '2' AES. 0x50:Mask or display expiration date(0x30 or 0x31);0x31:don't mask expiration date. 0x7E:Security Level ID. 0x84:Encryption Option (Forced encryption or not) Bit 0 : T1 force encrypt Bit 1 : T2 force encrypt Bit 2 : T3 force encrypt Bit 3 : T3 force encrypt when card type is 0 |
0x86:Masked / clear data sending option Bit 0 : T1 mask allowed
Bit 1 : T2 mask allowed
Bit 2 : T3 mask allowed
NOTE:
UniPay support 0x49,0x50,0x4C,0x7E,0x84 and 0x86.
UniPay II support 0x49,0x50,0x4A, 0x4B, 0x4C,0x7E,0x84 and 0x86.
setData | for setting data. |
int com.idtechproducts.device.IDT_UniPayI_V.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.
String com.idtechproducts.device.IDT_UniPayI_V.phone_getInfoManufacture | ( | ) |
Get manufacture version.
String com.idtechproducts.device.IDT_UniPayI_V.phone_getInfoModel | ( | ) |
Get phones's model number information.
void com.idtechproducts.device.IDT_UniPayI_V.registerListen | ( | ) |
General API:registerListen.
registerListen to enable SDK detect the phone jack plug in/off notification
void com.idtechproducts.device.IDT_UniPayI_V.release | ( | ) |
release, make the SDK in the idle status.
void com.idtechproducts.device.IDT_UniPayI_V.setIDT_Device | ( | FirmwareUpdateTool | fwTool | ) |
For System Use Only
fwTool | Parameter for firmware update |
void com.idtechproducts.device.IDT_UniPayI_V.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