![]() |
IDTech Windows SDK Guide
1.2.177.8
API reference for Kiosk III
|
Public Member Functions | |
RETURN_CODE | config_getSerialNumber (ref string response) |
RETURN_CODE | device_retrieveAIDList (ref byte[][] response) |
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 | device_getFirmwareVersion (ref string response) |
RETURN_CODE | device_getMerchantRecord (int index, ref byte[] record) |
RETURN_CODE | device_getTransactionResults (ref IDTTransactionData results) |
RETURN_CODE | device_pingDevice () |
RETURN_CODE | device_controlUserInterface (byte[] values) |
RETURN_CODE | device_sendVivoCommandP2 (byte command, byte subCommand, byte[] data, ref byte[] response, string ip="") |
RETURN_CODE | device_sendVivoCommandP2_ext (byte command, byte subCommand, byte[] data, ref byte[] response, int timeout, bool noResponse, string ip="") |
RETURN_CODE | ctls_retrieveAIDList (ref byte[][] response) |
RETURN_CODE | ctls_getAllConfigurationGroups (ref byte[][] response) |
RETURN_CODE | ctls_retrieveApplicationData (byte[] AID, ref byte[] tlv) |
RETURN_CODE | ctls_removeApplicationData (byte[] AID) |
RETURN_CODE | ctls_setApplicationData (byte[] tlv) |
RETURN_CODE | ctls_setDefaultConfiguration () |
RETURN_CODE | ctls_setConfigurationGroup (byte[] tlv) |
RETURN_CODE | ctls_retrieveTerminalData (ref byte[] tlv) |
RETURN_CODE | ctls_setTerminalData (byte[] tlv) |
RETURN_CODE | ctls_getConfigurationGroup (int group, ref byte[] tlv) |
RETURN_CODE | ctls_removeConfigurationGroup (int group) |
RETURN_CODE | ctls_setCAPK (byte[] key) |
RETURN_CODE | ctls_retrieveCAPK (byte[] capk, ref byte[] key) |
RETURN_CODE | ctls_removeCAPK (byte[] capk) |
RETURN_CODE | ctls_removeAllCAPK () |
RETURN_CODE | ctls_retrieveCAPKList (ref byte[] keys) |
RETURN_CODE | device_startTransaction (double amount, double amtOther, int exponent, int type, int timeout, byte[] tags, bool isFastEMV=false) |
RETURN_CODE | device_activateTransaction (int timeout, byte[] tags, bool isFastEMV=false) |
RETURN_CODE | ctls_startTransaction (double amount, double amtOther, int exponent, int type, int timeout, byte[] tags, bool isFastEMV=false) |
RETURN_CODE | ctls_updateBalance (byte statusCode, byte[] authCode, byte[] date, byte[] time) |
RETURN_CODE | ctls_activateTransaction (int timeout, byte[] tags, bool isFastEMV=false) |
RETURN_CODE | ctls_cancelTransaction () |
RETURN_CODE | device_setBurstMode (byte mode) |
RETURN_CODE | device_setMerchantRecord (int index, bool enabled, string merchantID, string merchantURL) |
RETURN_CODE | device_pollForToken (byte seconds, ref byte card, ref byte[] serialNumber) |
RETURN_CODE | device_sendPAE (string command, ref string response, int timeout, string ip="") |
RETURN_CODE | device_setPollMode (byte mode) |
RETURN_CODE | device_startRKI () |
RETURN_CODE | device_SymmetricRKI (int type) |
RETURN_CODE | device_updateDeviceFirmware (byte[] firmwareData) |
RETURN_CODE | device_enablePassThrough (bool enablePassThrough) |
RETURN_CODE | felica_authentication (byte[] key, string ip="") |
RETURN_CODE | felica_readWithMac (int numBlocks, byte[] blockList, ref byte[] blocks, string ip="") |
RETURN_CODE | felica_writeWithMac (int blockNumber, byte[] data, string ip="") |
RETURN_CODE | felica_read (byte[] serviceCode, int numBlocks, byte[] blockList, ref byte[] blocks, string ip="") |
RETURN_CODE | felica_write (byte[] serviceCode, int blockCount, byte[] blockList, byte[] data, ref byte[] statusFlag, string ip="") |
RETURN_CODE | ctls_nfcCommand (byte[] nfcCmdPkt, ref byte[] response, string ip="") |
RETURN_CODE | felica_requestService (byte[] nodeCode, ref byte[] response, string ip="") |
Static Public Member Functions | |
static bool | useSerialPort (int port) |
static int | getCommandTimeout () |
static void | setCommandTimeout (int milliseconds) |
static bool | useSerialPort (int port, int baud) |
static bool | useUSB () |
static void | setCallback (CallBack my_Callback) |
static void | setCallback (IntPtr my_Callback, SynchronizationContext context) |
static String | SDK_Version () |
static void | lcd_retrieveMessage (DisplayMessages.DISPLAY_MESSAGE_LANGUAGE lang, DisplayMessages.DISPLAY_MESSAGE_IDENTIFIER id, ref string line1, ref string line2) |
Properties | |
static IDT_KioskIII | SharedController [get] |
Class for KioskIII and KioskIV ICC reader
RETURN_CODE IDTechSDK.IDT_KioskIII.config_getSerialNumber | ( | ref string | response | ) |
Polls device for Serial Number
response | Returns Serial Number |
RETURN_CODE IDTechSDK.IDT_KioskIII.ctls_activateTransaction | ( | int | timeout, |
byte[] | tags, | ||
bool | isFastEMV = false |
||
) |
Start CTLS Transaction Request
Authorizes the CTLS transaction
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 |
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 |
NOTE ON APPLEPAY VAS: To enable ApplePay VAS, first a merchant record must be defined in one of the six available index positions (1-6) using device_setMerchantRecord, then container tag FFEE06 must be sent as part of the additional tags parameter of ctls_startTransaction. Tag FFEE06 must contain tag 9F26 and 9F22, and can optionanally contain tags 9F2B and DFO1. Example FFEE06189F220201009F2604000000009F2B050100000000DF010101 9F22 = two bytes = ApplePay Terminal Applicaiton Version Number. Hard defined as 0100 for now. (required) 9F26 = four bytes = ApplePay Terminal Capabilities Information (required)
RETURN_CODE IDTechSDK.IDT_KioskIII.ctls_cancelTransaction | ( | ) |
Cancel EMV Transaction
Cancels the currently executing EMV transaction.
RETURN_CODE IDTechSDK.IDT_KioskIII.ctls_getAllConfigurationGroups | ( | ref byte | response[][] | ) |
Retrieve All Configuration Groups
Returns all the Configuration Groups installed on the terminal for CTLS
response | array of CTLS groups as TLV bytes |
RETURN_CODE IDTechSDK.IDT_KioskIII.ctls_getConfigurationGroup | ( | int | group, |
ref byte[] | tlv | ||
) |
Get Configuration Group
Retrieves the Configuration for the specified Group.
group | Configuration Group |
tlv | return data |
RETURN_CODE IDTechSDK.IDT_KioskIII.ctls_nfcCommand | ( | byte[] | nfcCmdPkt, |
ref byte[] | response, | ||
string | ip = "" |
||
) |
NFC Command
This command uses nfcCmdPkt[0] in command data field to implement different functions. This command should be used in Pass-Through mode and command with “Poll for a NFC Tag” data should be used first. Command with other data can only be used once the “Poll for a NFC Tag” command has indicated that a NFC tag is present.
nfcCmdPkt | System Code
|
response | Response as explained in FeliCA Lite-S User's Manual |
ip | IP Address of target device (optional) |
RETURN_CODE IDTechSDK.IDT_KioskIII.ctls_removeAllCAPK | ( | ) |
Remove All Certificate Authority Public Key
Removes all the CAPK for CTLS
RETURN_CODE IDTechSDK.IDT_KioskIII.ctls_removeApplicationData | ( | byte[] | AID | ) |
Remove Application Data by AID
Removes the Application Data for CTLS 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_KioskIII.ctls_removeCAPK | ( | byte[] | capk | ) |
Remove Certificate Authority Public Key
Removes the CAPK as specified by the RID/Index
capk | 6 byte CAPK = 5 bytes RID + 1 byte INDEX |
RETURN_CODE IDTechSDK.IDT_KioskIII.ctls_removeConfigurationGroup | ( | int | group | ) |
Remove Configuration Group
Removes the Configuration as specified by the Group. Must not by group 0
group | Configuration Group |
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_KioskIII.ctls_retrieveAIDList | ( | ref byte | response[][] | ) |
Retrieve AID list
Returns all the AID names and their assigned groups installed on the terminal for CTLS.
response | array of 2-tag TLV data objects: FFE4 (group name) followed by 9F06 (AID) |
RETURN_CODE IDTechSDK.IDT_KioskIII.ctls_retrieveApplicationData | ( | byte[] | AID, |
ref byte[] | tlv | ||
) |
Retrieve Application Data by AID
Retrieves the CTLS Application Data 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_KioskIII.ctls_retrieveCAPK | ( | byte[] | capk, |
ref byte[] | key | ||
) |
Retrieve Certificate Authority Public Key
Retrieves the CAPK for CTLS 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_KioskIII.ctls_retrieveCAPKList | ( | ref byte[] | keys | ) |
Retrieve the Certificate Authority Public Key list
Returns all the CAPK RID and Index installed on the terminal for CTLS.
keys | [key1][key2]...[keyn], each key 6 bytes where key = 5 bytes RID + 1 byte index |
RETURN_CODE IDTechSDK.IDT_KioskIII.ctls_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_getConfigurationGroup(0).
tlv | Response returned as a TLV |
RETURN_CODE IDTechSDK.IDT_KioskIII.ctls_setApplicationData | ( | byte[] | tlv | ) |
Set Application Data by AID
Sets the Application Data for CTLS as specified by 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"
RETURN_CODE IDTechSDK.IDT_KioskIII.ctls_setCAPK | ( | byte[] | key | ) |
Set Certificate Authority Public Key
Sets the CAPK for CTLS 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_KioskIII.ctls_setConfigurationGroup | ( | byte[] | tlv | ) |
Set Configuration Group
Sets the Configuration Group for CTLS as specified by the TLV data
tlv | Configuration Group Data in TLV format The first tag of the TLV data must be the group number (FFE4). A second tag must exist |
RETURN_CODE IDTechSDK.IDT_KioskIII.ctls_setDefaultConfiguration | ( | ) |
Set Default Configuration Group
Resets the device to default CTLS configuration group settings
RETURN_CODE IDTechSDK.IDT_KioskIII.ctls_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_KioskIII.ctls_startTransaction | ( | double | amount, |
double | amtOther, | ||
int | exponent, | ||
int | type, | ||
int | timeout, | ||
byte[] | tags, | ||
bool | isFastEMV = false |
||
) |
Start CTLS Transaction Request
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 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. |
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 |
NOTE ON APPLEPAY VAS: To enable ApplePay VAS, first a merchant record must be defined in one of the six available index positions (1-6) using device_setMerchantRecord, then container tag FFEE06 must be sent as part of the additional tags parameter of ctls_startTransaction. Tag FFEE06 must contain tag 9F26 and 9F22, and can optionanally contain tags 9F2B and DFO1. Example FFEE06189F220201009F2604000000009F2B050100000000DF010101 9F22 = two bytes = ApplePay Terminal Applicaiton Version Number. Hard defined as 0100 for now. (required) 9F26 = four bytes = ApplePay Terminal Capabilities Information (required)
RETURN_CODE IDTechSDK.IDT_KioskIII.ctls_updateBalance | ( | byte | statusCode, |
byte[] | authCode, | ||
byte[] | date, | ||
byte[] | time | ||
) |
Update Balance
This command is the authorization response sent by the issuer to the terminal including the Authorization Status (OK or NOT OK).
This command is also being used in some implementations (i.e. EMEA) to communicate the results of Issuer Authentication to the reader in order to display the correct LCD messages. With this command, the POS passes the authorization result (OK/NOT OK), and possibly the Authorization Code (Auth_Code)/Date/Time to the terminal.
statusCode | 00: OK, 01: NOT OK, 02: (ARC response 89 for Interac) |
authCode | Authorization code from host. Six bytes. Optional |
date | Transaction date. If null, uses current terminal date. 3 bytes compressed numeric YYMMDD (tag value 9A). |
time | Transaction time. If null, uses current terminal time. 3 bytes compressed numeric HHMMSS (tag value 9F21). |
RETURN_CODE IDTechSDK.IDT_KioskIII.device_activateTransaction | ( | int | timeout, |
byte[] | tags, | ||
bool | isFastEMV = false |
||
) |
Start CTLS Transaction Request
Authorizes the CTLS transaction
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 |
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 |
NOTE ON APPLEPAY VAS: To enable ApplePay VAS, first a merchant record must be defined in one of the six available index positions (1-6) using device_setMerchantRecord, then container tag FFEE06 must be sent as part of the additional tags parameter of ctls_startTransaction. Tag FFEE06 must contain tag 9F26 and 9F22, and can optionanally contain tags 9F2B and DFO1. Example FFEE06189F220201009F2604000000009F2B050100000000DF010101 9F22 = two bytes = ApplePay Terminal Applicaiton Version Number. Hard defined as 0100 for now. (required) 9F26 = four bytes = ApplePay Terminal Capabilities Information (required)
RETURN_CODE IDTechSDK.IDT_KioskIII.device_controlUserInterface | ( | byte[] | values | ) |
Control User Interface
Controls the User Interface: Display, Beep, LED
@param values Four bytes to control the user interface Byte[0] = LCD Message Messages 00-07 are normally controlled by the reader. - 00h: Idle Message (Welcome) - 01h: Present card (Please Present Card) - 02h: Time Out or Transaction cancel (No Card) - 03h: Transaction between reader and card is in the middle (Processing...) - 04h: Transaction Pass (Thank You) - 05h: Transaction Fail (Fail) - 06h: Amount (Amount $ 0.00 Tap Card) - 07h: Balance or Offline Available funds (Balance $ 0.00) Messages 08-0B are controlled by the terminal - 08h: Insert or Swipe card (Use Chip & PIN) - 09h: Try Again(Tap Again) - 0Ah: Tells the customer to present only one card (Present 1 card only) - 0Bh: Tells the customer to wait for authentication/authorization (Wait) - FFh: indicates the command is setting the LED/Buzzer only. Byte[1] = Beep Indicator - 00h: No beep - 01h: Single beep - 02h: Double beep - 03h: Three short beeps - 04h: Four short beeps - 05h: One long beep of 200 ms - 06h: One long beep of 400 ms - 07h: One long beep of 600 ms - 08h: One long beep of 800 ms Byte[2] = LED Number - 00h: LED 0 (Power LED) 01h: LED 1 - 02h: LED 2 - 03h: LED 3 - FFh: All LEDs Byte[3] = LED Status - 00h: LED Off - 01h: LED On
RETURN_CODE IDTechSDK.IDT_KioskIII.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_KioskIII.device_getFirmwareVersion | ( | ref string | response | ) |
Polls device for Firmware Version
response | Response returned of Firmware Version |
RETURN_CODE IDTechSDK.IDT_KioskIII.device_getMerchantRecord | ( | int | index, |
ref byte[] | record | ||
) |
Get Merchant Record Gets the merchant record for ApplePay VAS
index | Merchant Record index, valid values 1-6 |
record | Data returned containing 99 bytes: Byte 0 = Merchand Index Byte 1 = Merchant Enabled (1 = enabled) Byte 2 - 33 = Merchant Protocol Hash-256 value Byte 34 = Length of Merchant URL Bytes 35 - 99 = URL |
RETURN_CODE IDTechSDK.IDT_KioskIII.device_getTransactionResults | ( | ref IDTTransactionData | results | ) |
Get Transaction Results Gets the transaction results when the reader is functioning in "Auto Poll" mode
results | The transaction results |
RETURN_CODE IDTechSDK.IDT_KioskIII.device_pingDevice | ( | ) |
Ping Device
Pings the reader. If connected, returns success. Otherwise, returns timeout.
RETURN_CODE IDTechSDK.IDT_KioskIII.device_pollForToken | ( | byte | seconds, |
ref byte | card, | ||
ref byte[] | serialNumber | ||
) |
Poll for Token
Once Pass-Through Mode is started, ViVOpay will not poll for any cards until the “Poll for Token” command is received. This command tells ViVOpay to start polling for a Type A or Type B PICC until a PICC is detected or a timeout occurs.
This command automatically turns the RF Antenna on.
If a PICC is detected within the specified time limit, ViVOpay activates it and responds back to the terminal with card related data such as the Serial Number. If no PICC is detected within the specified time limit, ViVOpay stops polling and responds back indicating that no card was found. No card related data is returned in this case
timeout | Timeout, in seconds to wait for card to be detected |
card | Card Type:
|
serialNumber | Serial Number or the UID of the PICC |
RETURN_CODE IDTechSDK.IDT_KioskIII.device_retrieveAIDList | ( | ref byte | response[][] | ) |
Retrieve AID list
Returns all the AID names and their assigned groups installed on the terminal for CTLS/CONTACT.
response | array of TLV data objects: FFE4 (group name) followed by 9F06 (AID), and DFEE4F (Interface 01 = CTLS, 02 = CONTACT) |
RETURN_CODE IDTechSDK.IDT_KioskIII.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_KioskIII.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_KioskIII.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_KioskIII.device_sendVivoCommandP2 | ( | byte | command, |
byte | subCommand, | ||
byte[] | data, | ||
ref byte[] | response, | ||
string | ip = "" |
||
) |
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 |
ip | Optional IP |
RETURN_CODE IDTechSDK.IDT_KioskIII.device_sendVivoCommandP2_ext | ( | byte | command, |
byte | subCommand, | ||
byte[] | data, | ||
ref byte[] | response, | ||
int | timeout, | ||
bool | noResponse, | ||
string | ip = "" |
||
) |
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 |
ip | Optional IP |
RETURN_CODE IDTechSDK.IDT_KioskIII.device_setBurstMode | ( | byte | mode | ) |
Send Burst Mode
Sets the burst mode forthe device.
mode | 0 = OFF, 1 = Always On, 2 = Auto Exit |
RETURN_CODE IDTechSDK.IDT_KioskIII.device_setMerchantRecord | ( | int | index, |
bool | enabled, | ||
string | merchantID, | ||
string | merchantURL | ||
) |
Set Merchant Record Sets the merchant record for ApplePay VAS
index | Merchant Record index, valid values 1-6 |
enabled | Merchant Enabled/Valid flag |
merchantID | Merchant unique identifer registered with Apple. Example com.idtechproducts.applePay |
merchantURL | Merchant URL, when applicable |
RETURN_CODE IDTechSDK.IDT_KioskIII.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 |
RETURN_CODE IDTechSDK.IDT_KioskIII.device_startRKI | ( | ) |
Start Legacy Remote Key Injection
Starts a remote key injection request with IDTech RKI Legacy servers.
RETURN_CODE IDTechSDK.IDT_KioskIII.device_startTransaction | ( | double | amount, |
double | amtOther, | ||
int | exponent, | ||
int | type, | ||
int | timeout, | ||
byte[] | tags, | ||
bool | isFastEMV = false |
||
) |
Start CTLS Transaction Request
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 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. |
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 |
NOTE ON APPLEPAY VAS: To enable ApplePay VAS, first a merchant record must be defined in one of the six available index positions (1-6) using device_setMerchantRecord, then container tag FFEE06 must be sent as part of the additional tags parameter of ctls_startTransaction. Tag FFEE06 must contain tag 9F26 and 9F22, and can optionanally contain tags 9F2B and DFO1. Example FFEE06189F220201009F2604000000009F2B050100000000DF010101 9F22 = two bytes = ApplePay Terminal Applicaiton Version Number. Hard defined as 0100 for now. (required) 9F26 = four bytes = ApplePay Terminal Capabilities Information (required)
RETURN_CODE IDTechSDK.IDT_KioskIII.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 |
RETURN_CODE IDTechSDK.IDT_KioskIII.device_updateDeviceFirmware | ( | byte[] | firmwareData | ) |
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_KioskIII.felica_authentication | ( | byte[] | key, |
string | ip = "" |
||
) |
FeliCa Authentication
Provides a key to be used in a follow up FeliCa Read with MAC (3 blocks max) or Write with MAC (1 block max). This command must be executed before each Read w/MAC or Write w/MAC command
NOTE: The reader must be in Pass Through Mode for FeliCa commands to work.
key | 16 byte key used for MAC generation of Read or Write with MAC |
ip | IP Address of target device (optional) |
RETURN_CODE IDTechSDK.IDT_KioskIII.felica_read | ( | byte[] | serviceCode, |
int | numBlocks, | ||
byte[] | blockList, | ||
ref byte[] | blocks, | ||
string | ip = "" |
||
) |
FeliCa Read
Reads up to 4 blocks.
NOTE: The reader must be in Pass Through Mode for FeliCa commands to work.
serviceCode | Service Code List. Each service code in Service Code List = 2 bytes of data |
numBlocks | Number of blocks |
blockList | Blocks to read. Maximum 4 block requests |
blocks | Blocks read. Each block 16 bytes. |
ip | IP Address of target device (optional) |
RETURN_CODE IDTechSDK.IDT_KioskIII.felica_readWithMac | ( | int | numBlocks, |
byte[] | blockList, | ||
ref byte[] | blocks, | ||
string | ip = "" |
||
) |
FeliCa Read with MAC Generation
Reads up to 3 blocks with MAC Generation. FeliCa Authentication must be performed first
NOTE: The reader must be in Pass Through Mode for FeliCa commands to work.
numBlocks | Number of blocks |
blockList | Block to read. Each block in blockList Maximum 3 block requests |
blocks | Blocks read. Each block 16 bytes. |
ip | IP Address of target device (optional) |
RETURN_CODE IDTechSDK.IDT_KioskIII.felica_requestService | ( | byte[] | nodeCode, |
ref byte[] | response, | ||
string | ip = "" |
||
) |
FeliCa Request Service
Perform functions a Felica Request Service
NOTE: The reader must be in Pass Through Mode for FeliCa commands to work.
nodeCode | Node Code |
response | Response as explained in FeliCA Lite-S User's Manual |
RETURN_CODE IDTechSDK.IDT_KioskIII.felica_write | ( | byte[] | serviceCode, |
int | blockCount, | ||
byte[] | blockList, | ||
byte[] | data, | ||
ref byte[] | statusFlag, | ||
string | ip = "" |
||
) |
FeliCa Write
Writes a block
NOTE: The reader must be in Pass Through Mode for FeliCa commands to work.
serviceCode | Service Code list. Each service code must be be 2 bytes |
blockCount | Block Count |
blockList | Block list. |
data | Block to write. Must be 16 bytes. |
statusFlag | Status flag response as explained in FeliCA Lite-S User's Manual, Section 4.5 |
ip | IP Address of target device (optional) |
RETURN_CODE IDTechSDK.IDT_KioskIII.felica_writeWithMac | ( | int | blockNumber, |
byte[] | data, | ||
string | ip = "" |
||
) |
FeliCa Write with MAC Generation
Writes a block with MAC Generation. FeliCa Authentication must be performed first
NOTE: The reader must be in Pass Through Mode for FeliCa commands to work.
blockNumber | Number of block |
data | Block to write. Must be 16 bytes. |
ip | IP Address of target device (optional) |
|
static |
Get Command Timeout
Gets the default timeout (in milliseconds) waiting for a blocking command response
time | Time |
|
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 |
|
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 |
|
static |
Use Serial Port Interface
Instructs SDK to attempt to use the Serial Port for communication with Kiosk III/IV using default baud rate
port | Serial Port to use. Example COM1 = 1. |
|
static |
Use Serial Port Interface with baud rate
Instructs SDK to attempt to use the Serial Port for communication with Kiosk III/IV
port | Serial Port to use. Example COM1 = 1. |
baud | Baud rate to override default. Example 115200; |
|
static |
Use USB Interface
Instructs SDK to attempt to use USB for communication with Kiosk III/IV
|
staticget |
Singleton Instance
Establishes an singleton instance of IDT_KioskIII class.