![]() |
IDTech Windows SDK Guide
1.2.172.2
API reference for UniPay 1.5
|
Public Member Functions | |
RETURN_CODE | config_getSerialNumber (ref string response) |
RETURN_CODE | device_getDRS (ref byte[] codeDRS) |
RETURN_CODE | device_sendPAE (string command, ref string response, int timeout, string ip="") |
RETURN_CODE | device_getFirmwareVersion (ref string response) |
RETURN_CODE | device_selfCheck () |
RETURN_CODE | device_sendDataCommand (string cmd, bool calcLRC, ref byte[] response) |
RETURN_CODE | device_sendDataCommand_ext (string cmd, bool calcLRC, ref byte[] response, int timeout, bool noResponse) |
RETURN_CODE | msr_switchUSBInterfaceMode (bool bIsUSBKeyboardMode) |
RETURN_CODE | msr_startMSRSwipe (int timeout) |
RETURN_CODE | msr_cancelMSRSwipe () |
RETURN_CODE | emv_cancelTransaction () |
RETURN_CODE | emv_startTransaction (double amount, double amtOther, int exponent, int type, int timeout, byte[] tags, bool forceOnline, bool isFastEMV=false) |
RETURN_CODE | emv_activateTransaction (int timeout, byte[] tags, bool forceOnline, bool isFastEMV=false) |
RETURN_CODE | device_startTransaction (double amount, double amtOther, int exponent, int type, int timeout, byte[] tags, bool forceOnline, bool isFastEMV=false) |
RETURN_CODE | device_activateTransaction (int timeout, byte[] tags, bool forceOnline, bool isFastEMV=false) |
RETURN_CODE | emv_authenticateTransaction (byte[] updatedTLV) |
RETURN_CODE | emv_completeTransaction (bool commError, byte[] authCode, byte[] iad, byte[] tlvScripts, byte[] tlv) |
RETURN_CODE | emv_callbackResponseLCD (EMV_LCD_DISPLAY_MODE type, byte selection) |
RETURN_CODE | emv_callbackResponsePIN (EMV_PIN_MODE type, byte[] KSN, byte[] PIN) |
RETURN_CODE | emv_callbackResponseMSR (byte[] MSR) |
RETURN_CODE | emv_getEMVKernelVersion (ref string response) |
RETURN_CODE | emv_retrieveTransactionResult (byte[] tags, ref IDTTransactionData tlv) |
RETURN_CODE | emv_removeApplicationData (byte[] AID) |
RETURN_CODE | emv_removeAllApplicationData () |
RETURN_CODE | emv_removeCAPK (byte[] capk) |
RETURN_CODE | emv_removeAllCAPK () |
RETURN_CODE | emv_removeCRL (byte[] crlList) |
RETURN_CODE | emv_removeAllCRL () |
RETURN_CODE | emv_retrieveApplicationData (byte[] AID, ref byte[] tlv) |
RETURN_CODE | emv_retrieveAIDList (ref byte[][] response) |
RETURN_CODE | emv_retrieveCAPK (byte[] capk, ref byte[] key) |
RETURN_CODE | emv_retrieveCAPKList (ref byte[] keys) |
RETURN_CODE | emv_retrieveCRLList (ref byte[] list) |
RETURN_CODE | emv_retrieveTerminalData (ref byte[] tlv) |
RETURN_CODE | emv_removeTerminalData () |
RETURN_CODE | emv_setApplicationData (byte[] name, byte[] tlv) |
RETURN_CODE | emv_setCAPK (byte[] key) |
RETURN_CODE | emv_setCRL (byte[] list) |
RETURN_CODE | emv_setTerminalData (byte[] tlv) |
RETURN_CODE | emv_setTerminalMajorConfiguration (int configuration) |
RETURN_CODE | device_pingDevice () |
RETURN_CODE | device_sendVivoCommandP2 (byte command, byte subCommand, byte[] data, ref byte[] response) |
RETURN_CODE | device_sendVivoCommandP2_ext (byte command, byte subCommand, byte[] data, ref byte[] response, int timeout, bool noResponse) |
RETURN_CODE | device_startRKI () |
RETURN_CODE | device_setTerminalData (byte[] tlv) |
RETURN_CODE | device_retrieveTerminalData (ref byte[] tlv) |
RETURN_CODE | device_setBurstMode (byte mode) |
RETURN_CODE | device_setPollMode (byte mode) |
RETURN_CODE | icc_getICCReaderStatus (ref byte status) |
RETURN_CODE | icc_powerOffICC () |
RETURN_CODE | icc_powerOnICC (ref byte[] ATR) |
RETURN_CODE | icc_exchangeAPDU (string c_APDU, ref byte[] response) |
RETURN_CODE | device_enablePassThrough (bool enablePassThrough) |
RETURN_CODE | emv_getEMVKernelCheckValue (ref string response) |
RETURN_CODE | emv_getEMVConfigurationCheckValue (ref string response) |
string | device_getResponseCodeString (RETURN_CODE eCode) |
RETURN_CODE | device_SymmetricRKI (int type) |
Static Public Member Functions | |
static int | getCommandTimeout () |
static void | setCommandTimeout (int milliseconds) |
static void | setCallback (CallBack my_Callback) |
static void | setCallback (IntPtr my_Callback, SynchronizationContext context) |
static String | SDK_Version () |
static void | emv_autoAuthenticate (bool authenticate) |
static void | emv_autoAuthenticate (bool authenticate, byte[] tags) |
static void | emv_allowFallback (bool allow) |
static RETURN_CODE | device_updateDeviceFirmware (byte[] firmwareData) |
static void | lcd_retrieveMessage (DisplayMessages.DISPLAY_MESSAGE_LANGUAGE lang, DisplayMessages.DISPLAY_MESSAGE_IDENTIFIER id, ref string line1, ref string line2) |
Properties | |
static IDT_UniPayI_V | SharedController [get] |
Class for UniPayI_V MSR/ICC reader
RETURN_CODE IDTechSDK.IDT_UniPayI_V.config_getSerialNumber | ( | ref string | response | ) |
Polls device for Serial Number
response | Returns Serial Number |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.device_activateTransaction | ( | int | timeout, |
byte[] | tags, | ||
bool | forceOnline, | ||
bool | isFastEMV = false |
||
) |
Start EMV Transaction Request
Authorizes the EMV transaction for an ICC card
The tags will be returned in the callback routine.
timeout | Timeout value in seconds. |
tags | The tags to be included in the request. Passed as TLV Data. Example, tag 9F02 with amount 0x000000000100 would be 0x9F0206000000000100 |
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 |
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 |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.device_enablePassThrough | ( | bool | enablePassThrough | ) |
Enable Pass Through
Enables Pass Through Mode for direct communication with L1 interface (power on icc, send apdu, etc).
enablePassThrough | true = pass through ON, false = pass through OFF |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.device_getDRS | ( | ref byte[] | codeDRS | ) |
Get DRS Status
Gets the status of DRS(Destructive Reset). For TTK Version Only.
codeDRS | the data format is [DRS SourceBlk Number] [SourceBlk1] … [SourceBlkN] [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] |
[SourceID] [SourceLen] [SourceData] 00 1 01 – Application Error 01 1 01 – Application Error 02 1 0x01 – EMV L2 Configuration Check Value Error 0x02 – Future Key Check Value Error 10 1 01 – Battery Error 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) Bit 5– Tamper Switch 6 (0-No, 1-Error)
12 1 01 –TemperatureHigh or Low 13 1 01 –Voltage High or Low 1F 4 Reg31~24bits, Reg23~16bits, Reg15~8bits, Reg7~0bits
RETURN_CODE IDTechSDK.IDT_UniPayI_V.device_getFirmwareVersion | ( | ref string | response | ) |
Polls device for Firmware Version
response | Response returned of Firmware Version |
string IDTechSDK.IDT_UniPayI_V.device_getResponseCodeString | ( | RETURN_CODE | eCode | ) |
Get the description of response result.
eCode | the response result. |
the | string for description of response result |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.device_pingDevice | ( | ) |
Ping Device
Pings the reader. If connected, returns success. Otherwise, returns timeout.
RETURN_CODE IDTechSDK.IDT_UniPayI_V.device_retrieveTerminalData | ( | ref byte[] | tlv | ) |
Retrieve Terminal Data
Retrieves the Terminal Data for CTLS. This is configuration group 0 (Tag FFEE - > FFEE0100). The terminal data can also be retrieved by ctls_getConfiguraitonGroup(0).
tlv | Response returned as a TLV |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.device_selfCheck | ( | ) |
Self check for TTK If Self-Test 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.
RETURN_CODE IDTechSDK.IDT_UniPayI_V.device_sendDataCommand | ( | string | cmd, |
bool | calcLRC, | ||
ref byte[] | response | ||
) |
Send a data command to the device
Sends a command to the device.
cmd | String representation of command to execute |
calcLRC | If TRUE , this will wrap command with start/length/lrc/sum/end: '{STX}{Len_Low}{Len_High} data {CheckLRC} {CheckSUM} {ETX}' |
response | Response data |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.device_sendDataCommand_ext | ( | string | cmd, |
bool | calcLRC, | ||
ref byte[] | response, | ||
int | timeout, | ||
bool | noResponse | ||
) |
Send a data command to the device - extended
Sends a command to the device.
cmd | String representation of command to execute |
calcLRC | If TRUE , this will wrap command as NGA with start/length/lrc/sum/end: '{STX}{Len_Low}{Len_High} data {CheckLRC} {CheckSUM} {ETX}' |
response | Response data |
timeout | Timeout value waiting for response, in milliseconds (1000 = 1 second) |
noResponse | if TRUE, this will not wait for a response and immediately return SUCCESS |
calcITP | If TRUE , this will wrap command as ITP with start/end/lrc: '{STX} data {ETX}{CheckLRC}' |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.device_sendPAE | ( | string | command, |
ref string | response, | ||
int | timeout, | ||
string | ip = "" |
||
) |
Send Payment Application Engine Command
Executes a PAE command
command | ASCII command string, should start with "*PAE" |
response | command response |
timeout | timeout waiting for PAE response |
ip | Optional IP address when connected via TCP/IP |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.device_sendVivoCommandP2 | ( | byte | command, |
byte | subCommand, | ||
byte[] | data, | ||
ref byte[] | response | ||
) |
Send Vivo Command Protocol 2
Sends a protocol 2 command to Vivo readers (IDG/NEO)
command | Command |
subCommand | Sub-Command |
data | Data. May be null |
response | Response |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.device_sendVivoCommandP2_ext | ( | byte | command, |
byte | subCommand, | ||
byte[] | data, | ||
ref byte[] | response, | ||
int | timeout, | ||
bool | noResponse | ||
) |
Send Vivo Command Protocol 2 Extended
Sends a protocol 2 command to Vivo readers (IDG/NEO)
command | Command |
subCommand | Sub-Command |
data | Data. May be null |
response | Response |
timeout | Timeout, in milliseconds (3000 = 3 seconds) |
noResponse | TRUE = don't wait for response, FALSE = wait for response defined by timeout |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.device_setBurstMode | ( | byte | mode | ) |
Send Burst Mode
Sets the burst mode forthe device.
mode | 0 = OFF, 1 = Always On, 2 = Auto Exit |
NOTE: USB-KB mode is identical to USB-HID mode except for the following:
RETURN_CODE IDTechSDK.IDT_UniPayI_V.device_setPollMode | ( | byte | mode | ) |
Send Poll Mode
Sets the poll mode forthe device. Auto Poll keeps reader active, Poll On Demand only polls when requested by terminal
mode | 0 = Auto Poll, 1 = Poll On Demand |
NOTE: USB-KB mode is identical to USB-HID mode except for the following:
RETURN_CODE IDTechSDK.IDT_UniPayI_V.device_setTerminalData | ( | byte[] | tlv | ) |
Set Terminal Data
Sets the Terminal Data for CTLS as specified by the TLV. The first TLV must be Configuration Group Number (Tag FFE4). The terminal global data is group 0, so the first TLV would be FFE40100. Other groups can be defined using this method (1 or greater), and those can be retrieved with emv_getConfigurationGroup(int group), and deleted with emv_removeConfigurationGroup(int group). You cannot delete group 0.
tlv | TerminalData configuration data |
RETURN_CODE | Return codes listed as typedef enum in IDTCommon:RETURN_CODE. Values can be parsed with IDT_BTPay::device_getResponseCodeString:() |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.device_startRKI | ( | ) |
Start Remote Key Injection
Starts a remote key injection request with IDTech RKI servers.
RETURN_CODE IDTechSDK.IDT_UniPayI_V.device_startTransaction | ( | double | amount, |
double | amtOther, | ||
int | exponent, | ||
int | type, | ||
int | timeout, | ||
byte[] | tags, | ||
bool | forceOnline, | ||
bool | isFastEMV = false |
||
) |
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) |
exponent | Number of characters after decimile point |
type | Transaction type (tag value 9C). |
timeout | Timeout value in seconds. |
tags | Any other tags to be included in the request. Passed as TLV Data. Example, tag 9F02 with amount 0x000000000100 would be 0x9F0206000000000100 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 |
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 |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.device_SymmetricRKI | ( | int | type | ) |
Start Remote Key Injection
Starts a remote key injection request with IDTech Symmetric RKI servers. Set/Get RKI url with IDT_Device.RKI_URL.
type | 0 = Type A Demo 1 = Type A Production 2 = Type B Demo 3 = Type B Production |
|
static |
Update Firmware
Updates the firmware .
firmwareData | Signed binary data of a firmware file provided by IDTech |
After you pass the firmwareData file, a new thread will start to execute the firmware download. You will receive status of the progress through callbacks to the IDTechSDK.Callback() delegate. The following parameters will be passed back:
Example code starting a firmware update
Example monitoring firmware update status / success
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_activateTransaction | ( | int | timeout, |
byte[] | tags, | ||
bool | forceOnline, | ||
bool | isFastEMV = false |
||
) |
Start EMV Transaction Request
Authorizes the EMV transaction for an ICC card
The tags will be returned in the callback routine.
timeout | Timeout value in seconds. |
tags | The tags to be included in the request. Passed as TLV Data. Example, tag 9F02 with amount 0x000000000100 would be 0x9F0206000000000100 |
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 |
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 |
|
static |
Allow fallback for EMV transactions. Default is TRUE
allow | TRUE = allow fallback, FALSE = don't allow fallback |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_authenticateTransaction | ( | byte[] | updatedTLV | ) |
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.
@param updatedTLV TLV stream that can be used to update the following values: - 9F02: Amount - 9F03: Other amount - 9C: Transaction type - 5F57: Account type In addition tag DFEE1A can be sent to specify tag list to include in results. Example four tags 9F02, 9F36, 95, 9F37 to be included in response = DFEE1A079F029F369f9F37 @return RETURN_CODE: Values can be parsed with device_getResponseCodeString
|
static |
Enables authenticate for EMV transactions. If a startEMVTranaction results in code 0x0010 (start transaction success), then emv_authenticateEMVTransaction can automatically execute if parameter is set to TRUE
authenticate | TRUE = auto authenticate, FALSE = manually authenticate |
|
static |
Enables authenticate for EMV transactions. If a startEMVTranaction results in code 0x0010 (start transaction success), then emv_authenticateEMVTransaction can automatically execute if parameter is set to TRUE
authenticate | TRUE = auto authenticate, FALSE = manually authenticate |
tags | Tags to pass during authentication stage; |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_callbackResponseLCD | ( | EMV_LCD_DISPLAY_MODE | type, |
byte | selection | ||
) |
Callback Response LCD Display
Provides menu selection responses to the kernel after a callback was received with DeviceState.EMVCallback, and callbackType = EMV_CALLBACK_TYPE.EMV_CALLBACK_TYPE_LCD, and lcd_displayMode = EMV_LCD_DISPLAY_MODE_MENU, EMV_LCD_DISPLAY_MODE_PROMPT, or EMV_LCD_DISPLAY_MODE_LANGUAGE_SELECT
type | If Cancel key pressed during menu selection, then value is EMV_LCD_DISPLAY_MODE_CANCEL. Otherwise, value can be EMV_LCD_DISPLAY_MODE_MENU, EMV_LCD_DISPLAY_MODE_PROMPT, or EMV_LCD_DISPLAY_MODE_LANGUAGE_SELECT |
selection | If type = EMV_LCD_DISPLAY_MODE_MENU or EMV_LCD_DISPLAY_MODE_LANGUAGE_SELECT, provide the selection ID line number. Otherwise, if type = EMV_LCD_DISPLAY_MODE_PROMPT supply either 0x43 ('C') for Cancel, or 0x45 ('E') for Enter/accept |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_callbackResponseMSR | ( | byte[] | MSR | ) |
Callback Response MSR Entry
Provides MSR information to kernel after a callback was received with DeviceState.EMVCallback, and callbackType = EMV_CALLBACK_MSR
MSR | Swiped track data |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_callbackResponsePIN | ( | EMV_PIN_MODE | type, |
byte[] | KSN, | ||
byte[] | PIN | ||
) |
Callback Response PIN Entry
Provides (or cancels) PIN entry information to kernel after a callback was received with DeviceState.EMVCallback, and callbackType = EMV_CALLBACK_TYPE_PINPAD
type | If Cancel key pressed during PIN entry, then value is EMV_PIN_MODE_CANCEL. Otherwise, value can be EMV_PIN_MODE_ONLINE_DUKPT, EMV_PIN_MODE_ONLINE_MKSK, or EMV_PIN_MODE_OFFLINE |
KSN | If enciphered PIN, this is either the PIN DUKPT Key (EMV_PIN_MODE_ONLINE_DUKPT) or PIN Session Key (EMV_PIN_MODE_ONLINE_MKSK), or PIN Pairing DUKPT key (EMV_PIN_MODE_OFFLINE) |
PIN | If encipherd PIN, this is encrypted PIN block. If device does not implement pairing function, this is plaintext PIN |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_cancelTransaction | ( | ) |
Cancel Transaction
Cancels the currently executing EMV transaction.
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_completeTransaction | ( | bool | commError, |
byte[] | authCode, | ||
byte[] | iad, | ||
byte[] | tlvScripts, | ||
byte[] | tlv | ||
) |
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 |
tlv | Additional TVL data to return with transaction results (if any) |
NOTE: There are three possible outcomes for Authorization Code: Approval, Refer To Bank, Decline. The kernel maps these three outcomes to valid authorization response codes using tag DFEE1B through 8 bytes: {2 bytes Approval Code}{2 bytes Referral Code}{2 bytes Decline Code}{2 bytes RFU} If your gateway uses "00" for Approval, "01" for Referral, and "05" for Decline, then DFEE1B 08 3030 3031 3035 0000 If you use an authorization code value that that is not defined in DFEE1B, the kernel will use the DECLINE value of DFEE1B by default.
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_getEMVConfigurationCheckValue | ( | ref string | response | ) |
Polls device for EMV Configuration Check Value
response | Response returned of Check Value of Configuration |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_getEMVKernelCheckValue | ( | ref string | response | ) |
Polls device for EMV Kernel Check Value
response | Response returned of Check Value of Kernel |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_getEMVKernelVersion | ( | ref string | response | ) |
Polls device for EMV Kernel Version
response | Response returned of Kernel Version |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_removeAllApplicationData | ( | ) |
Remove All Application Data
Removes all the Application Data for EMV Kernel
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_removeAllCAPK | ( | ) |
Remove All Certificate Authority Public Key
Removes all the CAPK for EMV Kernel
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_removeAllCRL | ( | ) |
Remove All Certificate Revocation List Entries
Removes all CRLEntry entries
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_removeApplicationData | ( | byte[] | AID | ) |
Remove Application Data by AID
Removes the Application Data for EMV Kernel as specified by the AID name passed as a parameter
AID | Name of ApplicationID Must be between 5 and 16 bytes |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_removeCAPK | ( | byte[] | capk | ) |
Remove Certificate Authority Public Key
Removes the CAPK for EMV Kernel as specified by the RID/Index
capk | 6 byte CAPK = 5 bytes RID + 1 byte INDEX |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_removeCRL | ( | byte[] | crlList | ) |
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] |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_removeTerminalData | ( | ) |
Remove Terminal Data
Removes the Terminal Data
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_retrieveAIDList | ( | ref byte | response[][] | ) |
Retrieve AID list
Returns all the AID names installed on the terminal for EMV Kernel.
response | array of AID name byte arrays |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_retrieveApplicationData | ( | byte[] | AID, |
ref byte[] | tlv | ||
) |
Retrieve Application Data by AID
Retrieves the Application Data for EMV Kernel as specified by the AID name passed as a parameter.
AID | Name of ApplicationID. Must be between 5 and 16 bytes |
tlv | The TLV elements of the requested AID |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_retrieveCAPK | ( | byte[] | capk, |
ref byte[] | key | ||
) |
Retrieve Certificate Authority Public Key
Retrieves the CAPK for EMV Kernel as specified by the RID/Index passed as a parameter.
capk | 6 bytes CAPK = 5 bytes RID + 1 byte Index |
key | Response returned as a 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:
|
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_retrieveCAPKList | ( | ref byte[] | keys | ) |
Retrieve the Certificate Authority Public Key list
Returns all the CAPK RID and Index installed on the terminal for EMV Kernel.
keys | [key1][key2]...[keyn], each key 6 bytes where key = 5 bytes RID + 1 byte index |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_retrieveCRLList | ( | ref byte[] | list | ) |
Retrieve the Certificate Revocation List
Returns the CRL entries on the terminal.
list | [CRL1][CRL2]...[CRLn], each CRL 9 bytes where CRL = 5 bytes RID + 1 byte index + 3 bytes serial number |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_retrieveTerminalData | ( | ref byte[] | tlv | ) |
Retrieve Terminal Data
Retrieves the Terminal Data for EMV Kernel.
tlv | Response returned as a TLV |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_retrieveTransactionResult | ( | byte[] | tags, |
ref IDTTransactionData | tlv | ||
) |
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 TLV data in IDDTransactionData object |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_setApplicationData | ( | byte[] | name, |
byte[] | tlv | ||
) |
Set Application Data by AID
Sets the Application Data for EMV Kernel 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 |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_setCAPK | ( | byte[] | key | ) |
Set Certificate Authority Public Key
Sets the CAPK for EMV Kernel 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:
|
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_setCRL | ( | byte[] | list | ) |
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] |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_setTerminalData | ( | byte[] | tlv | ) |
Set Terminal Data
Sets the Terminal Data for EMV Kernel
tlv | TerminalData configuration data |
RETURN_CODE | Return codes listed as typedef enum in IDTCommon:RETURN_CODE. Values can be parsed with IDT_BTPay::device_getResponseCodeString:() |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_setTerminalMajorConfiguration | ( | int | configuration | ) |
Set Terminal Major Configuration
Sets the Terminal Data Major Configuration setting
configuration | The configuration to set (1-5) |
RETURN_CODE | Return codes listed as typedef enum in IDTCommon:RETURN_CODE. Values can be parsed with IDT_BTPay::device_getResponseCodeString:() |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.emv_startTransaction | ( | double | amount, |
double | amtOther, | ||
int | exponent, | ||
int | type, | ||
int | timeout, | ||
byte[] | tags, | ||
bool | forceOnline, | ||
bool | isFastEMV = false |
||
) |
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) |
exponent | Number of characters after decimile point |
type | Transaction type (tag value 9C). |
timeout | Timeout value in seconds. |
tags | Any other tags to be included in the request. Passed as TLV Data. Example, tag 9F02 with amount 0x000000000100 would be 0x9F0206000000000100 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 |
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 |
|
static |
Get Command Timeout
Gets the default timeout (in milliseconds) waiting for a blocking command response
time | Time |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.icc_exchangeAPDU | ( | string | c_APDU, |
ref byte[] | response | ||
) |
Exchange APDU
Sends an APDU packet to the ICC. If successful, response is returned in APDUResult class instance in response parameter.
c_APDU | APDU data packet |
response | Unencrypted/encrypted parsed APDU response |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.icc_getICCReaderStatus | ( | ref byte | status | ) |
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 |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.icc_powerOffICC | ( | ) |
Power Off ICC
Powers down the ICC
If Success, empty If Failure, ASCII encoded data of error string
RETURN_CODE IDTechSDK.IDT_UniPayI_V.icc_powerOnICC | ( | ref byte[] | ATR | ) |
Power On ICC
Power up the currently selected microprocessor card in the ICC reader
|
static |
Retrieve LCD Message
Returns the string value for a message ID returned for LCD messaging
lang | Language. |
id | Message ID |
line1 | Line 1 string value |
line2 | Line 2 string value |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.msr_cancelMSRSwipe | ( | ) |
Disable MSR Swipe Cancels MSR swipe request.
RETURN_CODE IDTechSDK.IDT_UniPayI_V.msr_startMSRSwipe | ( | int | timeout | ) |
Enable MSR Swipe
Enables MSR, waiting for swipe to occur.
timeout | Swipe Timeout Value |
RETURN_CODE IDTechSDK.IDT_UniPayI_V.msr_switchUSBInterfaceMode | ( | bool | bIsUSBKeyboardMode | ) |
Switch the USB interface mode between USB HID and USB KB mode.
bIsUSBKeyboardMode | USB interface mode
|
|
static |
SDK Version
Returns the current version of SDK
|
static |
Set Callback
Sets the class callback
|
static |
Set Callback
Sets the class callback
my_Callback | The callback function to receive the response message from device. defined as follows. public unsafe delegate void MFCCallBack(Parameters parameters); |
context | The context of the UI thread |
|
static |
Set Command Timeout
Sets the default timeout (in milliseconds) waiting for a blocking command response
milliseconds | Time |
|
staticget |
Singleton Instance
Establishes an singleton instance of IDT_UniPayI_V class.