![]() |
IDTech Windows SDK Guide
1.2.165.0
API reference for Augusta
|
Public Member Functions | |
RETURN_CODE | device_SymmetricRKI () |
RETURN_CODE | emv_startTransaction (double amount, double amtOther, int exponent, int type, int timeout, byte[] tags, bool forceOnline) |
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_cancelTransaction () |
RETURN_CODE | emv_getEMVKernelVersion (ref string response) |
RETURN_CODE | emv_getEMVKernelCheckValue (ref string response) |
RETURN_CODE | emv_getEMVConfigurationCheckValue (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_removeTerminalData () |
RETURN_CODE | emv_retrieveAIDList (ref byte[][] response) |
RETURN_CODE | emv_retrieveApplicationData (byte[] AID, ref byte[] tlv) |
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_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 | config_getModelNumber (ref string response) |
RETURN_CODE | config_getSerialNumber (ref string response) |
bool | config_setCmdTimeOutDuration (int newTimeOut) |
RETURN_CODE | config_setLEDController (bool firmwareControlMSRLED, bool firmwareControlICCLED=false) |
RETURN_CODE | config_getLEDController (ref bool firmwareControlMSRLED, ref bool firmwareControlICCLED) |
RETURN_CODE | config_setBeeperController (bool firmwareControlBeeper) |
RETURN_CODE | config_getBeeperController (ref bool firmwareControlBeeper) |
RETURN_CODE | device_controlLED_ICC (int controlMode, int interval) |
RETURN_CODE | device_controlBeep (int index, int frequency, int duration) |
RETURN_CODE | device_controlLED (byte indexLED, byte control, int intervalOn=500, int intervalOff=500) |
RETURN_CODE | config_setEncryptionControl (bool msr, bool icc) |
RETURN_CODE | config_getEncryptionControl (ref bool msr, ref bool icc) |
RETURN_CODE | device_getKeyStatus (ref Boolean newFormat, ref byte[] status) |
RETURN_CODE | device_setDateTime () |
RETURN_CODE | device_startRKI () |
RETURN_CODE | device_getDateTime (ref byte[] dateTime) |
RETURN_CODE | device_getDRS (ref byte[] codeDRS) |
RETURN_CODE | device_verifyBackdoorKey () |
RETURN_CODE | device_selfCheck () |
RETURN_CODE | device_getFirmwareVersion (ref string response) |
string | device_getResponseCodeString (RETURN_CODE eCode) |
RETURN_CODE | device_rebootDevice () |
RETURN_CODE | device_sendDataCommand (string cmd, bool calcLRC, ref byte[] response) |
RETURN_CODE | device_getTransArmorID (ref string TID) |
RETURN_CODE | device_setTransArmorID (string TID) |
RETURN_CODE | device_setTransArmorEncryption (byte[] cert) |
RETURN_CODE | device_sendDataCommand_ext (string cmd, bool calcLRC, ref byte[] response, int timeout, bool noResponse) |
RETURN_CODE | device_controlLED_MSR (byte control, int intervalOn=500, int intervalOff=500) |
RETURN_CODE | icc_enable (bool withNotification) |
RETURN_CODE | icc_disable () |
RETURN_CODE | icc_getFunctionStatus (ref bool enabled, ref bool withNotification) |
RETURN_CODE | icc_exchangeAPDU (string c_APDU, ref byte[] response) |
RETURN_CODE | icc_exchangeEncryptedAPDU (string c_APDU, ref byte[] response) |
RETURN_CODE | icc_getAPDU_KSN (ref byte[] ksn) |
RETURN_CODE | icc_getICCReaderStatus (ref byte status) |
RETURN_CODE | icc_getKeyFormatForICCDUKPT (ref byte format) |
RETURN_CODE | icc_getKeyTypeForICCDUKPT (ref byte type) |
RETURN_CODE | icc_powerOffICC () |
RETURN_CODE | icc_powerOnICC (ref byte[] ATR) |
RETURN_CODE | icc_setKeyFormatForICCDUKPT (byte encryption) |
RETURN_CODE | icc_setKeyTypeForICCDUKPT (byte encryption) |
RETURN_CODE | msr_captureMode (bool isBufferMode, bool withNotification=false) |
RETURN_CODE | msr_disable () |
RETURN_CODE | msr_getFunctionStatus (ref bool enabled, ref bool isBufferMode, ref bool withNotification) |
RETURN_CODE | msr_switchUSBInterfaceMode (bool bIsUSBKeyboardMode) |
RETURN_CODE | msr_getClearPANID (ref byte value) |
RETURN_CODE | msr_getExpirationMask (ref byte value) |
RETURN_CODE | msr_getSwipeEncryption (ref byte encryption) |
RETURN_CODE | msr_getSwipeForcedEncryptionOption (ref byte option) |
RETURN_CODE | msr_getSwipeMaskOption (ref byte option) |
RETURN_CODE | msr_RetrieveWhiteList (ref byte[] value) |
RETURN_CODE | msr_getSetting (byte setting, ref byte value) |
RETURN_CODE | msr_getSettings (byte setting, ref byte[] value) |
RETURN_CODE | msr_setSetting (byte setting, byte value) |
RETURN_CODE | msr_setSetting (byte setting, byte[] value) |
RETURN_CODE | msr_setClearPANID (byte val) |
RETURN_CODE | msr_setExpirationMask (bool mask) |
RETURN_CODE | msr_setSwipeEncryption (byte encryption) |
RETURN_CODE | msr_setSwipeForcedEncryptionOption (bool track1, bool track2, bool track3, bool track3card0) |
RETURN_CODE | msr_setSwipeMaskOption (bool track1, bool track2, bool track3) |
RETURN_CODE | msr_setWhiteList (byte[] value, byte[] MAC) |
RETURN_CODE | msr_startMSRSwipe (int timeout) |
RETURN_CODE | msr_cancelMSRSwipe () |
bool | device_isSRED () |
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 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 String | SDK_Version () |
Properties | |
static IDT_Augusta | SharedController [get] |
Class for Augusta/AugustaSRED MSR/ICC reader
RETURN_CODE IDTechSDK.IDT_Augusta.config_getBeeperController | ( | ref bool | firmwareControlBeeper | ) |
Get the Beeper Controller Status Set the Beeper controlled Status by software or firmware
firmwareControlBeeper | true means firmware control the beeper, false means software control beeper. |
RETURN_CODE IDTechSDK.IDT_Augusta.config_getEncryptionControl | ( | ref bool | msr, |
ref bool | icc | ||
) |
Get Encryption Control
Get Encryption Control to switch status between MSR and ICC/EMV function. Following Encryption status supported:
msr |
|
icc |
|
RETURN_CODE IDTechSDK.IDT_Augusta.config_getLEDController | ( | ref bool | firmwareControlMSRLED, |
ref bool | firmwareControlICCLED | ||
) |
Get the LED Controller Status Get the MSR / ICC LED controlled status by software or firmware
firmwareControlMSRLED |
|
firmwareControlICCLED |
|
RETURN_CODE IDTechSDK.IDT_Augusta.config_getModelNumber | ( | ref string | response | ) |
Polls device for Model Number
response | Returns Model Number |
RETURN_CODE IDTechSDK.IDT_Augusta.config_getSerialNumber | ( | ref string | response | ) |
Polls device for Serial Number
response | Returns Serial Number |
RETURN_CODE IDTechSDK.IDT_Augusta.config_setBeeperController | ( | bool | firmwareControlBeeper | ) |
Set the Beeper Controller Set the Beeper controlled by software or firmware
firmwareControlBeeper | true means firmware control the beeper, false means software control beeper. |
bool IDTechSDK.IDT_Augusta.config_setCmdTimeOutDuration | ( | int | newTimeOut | ) |
Command Acknowledgement Timout
Sets the amount of seconds to wait for an {ACK} to a command before a timeout. Responses should normally be received under one second. Default is 3 seconds
newTimeOut | Timout value. Valid range 1 - 60 seconds |
RETURN_CODE IDTechSDK.IDT_Augusta.config_setEncryptionControl | ( | bool | msr, |
bool | icc | ||
) |
Set Encryption Control
Set Encryption Control to switch status between MSR and ICC/EMV function. Following Encryption status supported:
msr |
|
icc |
|
RETURN_CODE IDTechSDK.IDT_Augusta.config_setLEDController | ( | bool | firmwareControlMSRLED, |
bool | firmwareControlICCLED = false |
||
) |
Set the LED Controller Set the MSR / ICC LED controlled by software or firmware NOTE: The ICC LED always controlled by software.
firmwareControlMSRLED |
|
firmwareControlICCLED |
|
RETURN_CODE IDTechSDK.IDT_Augusta.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 a 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 |
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_Augusta.device_controlBeep | ( | int | index, |
int | frequency, | ||
int | duration | ||
) |
Control Beep
Controls the Beeper
index | For Augusta, must be set to 1 (only one beeper) |
frequency | Frequency, range 1000-20000 (suggest minimum 3000) |
duration | Duration, in milliseconds (range 1 - 65525) |
RETURN_CODE IDTechSDK.IDT_Augusta.device_controlLED | ( | byte | indexLED, |
byte | control, | ||
int | intervalOn = 500 , |
||
int | intervalOff = 500 |
||
) |
Control MSR LED
Controls the LED for the MSR
indexLED | For Augusta, must be set to 1 (MSR LED) |
control | LED Status:
|
intervalOn | Blink interval ON, in ms (Range 200 - 2000) |
intervalOff | Blink interval OFF, in ms (Range 200 - 2000) |
RETURN_CODE IDTechSDK.IDT_Augusta.device_controlLED_ICC | ( | int | controlMode, |
int | interval | ||
) |
Control ICC LED
Controls the LED for the ICC card slot
controlMode | 0 = off, 1 = solid, 2 = blink |
interval | Blink interval, in ms (500 = 500 ms) |
RETURN_CODE IDTechSDK.IDT_Augusta.device_controlLED_MSR | ( | byte | control, |
int | intervalOn = 500 , |
||
int | intervalOff = 500 |
||
) |
Control the MSR LED
Controls the MSR / ICC LED This API not recommended to control ICC LED
control |
|
intervalOn | Blink interval on time last, in ms (500 = 500 ms, valid from 200 to 2000) |
intervalOff | Blink interval off time last, in ms (500 = 500 ms, valid from 200 to 2000) |
RETURN_CODE IDTechSDK.IDT_Augusta.device_getDateTime | ( | ref byte[] | dateTime | ) |
Get Date Time
Gets current system date and time of the device.
dateTime | The date time returned as follows:
|
RETURN_CODE IDTechSDK.IDT_Augusta.device_getDRS | ( | ref byte[] | codeDRS | ) |
Get DRS Status
Gets the status of DRS(Destructive Reset).
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_Augusta.device_getFirmwareVersion | ( | ref string | response | ) |
Polls device for Firmware Version
response | Response returned of Firmware Version |
RETURN_CODE IDTechSDK.IDT_Augusta.device_getKeyStatus | ( | ref Boolean | newFormat, |
ref byte[] | status | ||
) |
Get Key Status
Gets the status of loaded keys
status | newFormat true: new format of key status false: reserved format for support previous device |
status | when the newFormat is false, data format as follows. byte 0: PIN DUKPT Key, Does not support, always 0 byte 1: PIN Master Key, Does not support, always 0 byte 2: PIN Session Key, Does not support, always 0 byte 3: Account/MSR DUKPT Key, 1 Exists, 0 None, 0xFF STOP byte 4: Account/ICC DUKPT Key, 1 Exists, 0 None, 0xFF STOP byte 5: Admin DUKPT Key, 1 Exists, 0 None, 0xFF STOP |
when the newFormat is true, data format as follows. [Block Length] [KeyStatusBlock1] [KeyStatusBlock2] …[KeyStatusBlockN] Where: [Block Length] is 2 bytes, format is Len_L Len_H, is KeyStatusBlock Number [KeyStatusBlockX> is 4 bytes, format is [Key Index and Key Name] [key slot] [key status]: [Key Index and Key Name] is 1 byte. Please refer to following table 0x14 LCL-KEK to Encrypt Other Keys 0x02 Data encryption Key to Encrypt ICC/MSR 0x05 MAC DUKPT Key for Host-Device – MAC Verification 0x05 MTK DUKPT Key for TTK Self-Test 0x0C RKI-KEK for Remote Key Injection [key slot] is 2 bytes. Range is 0 – 9999 the MTK DUKPT Key slot is 16, the others are all 0 [key status] is 1 byte. 0 – Not Exist 1 – Exist 0xFF – (Stop. Only Valid for DUKPT Key)
string IDTechSDK.IDT_Augusta.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_Augusta.device_getTransArmorID | ( | ref string | TID | ) |
Get TransArmor ID
TID | TransArmor ID |
bool IDTechSDK.IDT_Augusta.device_isSRED | ( | ) |
Check if the device support SRED feature.
RETURN_CODE IDTechSDK.IDT_Augusta.device_rebootDevice | ( | ) |
Reboot Device
Executes a command to restart the device.
RETURN_CODE IDTechSDK.IDT_Augusta.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_Augusta.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_Augusta.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_Augusta.device_setDateTime | ( | ) |
Set Date Time
Set current system date and time to the device.
RETURN_CODE IDTechSDK.IDT_Augusta.device_setTransArmorEncryption | ( | byte[] | cert | ) |
Set TransArmor Encryption
cert | Certificate in PEM format |
RETURN_CODE IDTechSDK.IDT_Augusta.device_setTransArmorID | ( | string | TID | ) |
Set TransArmor ID
TID | TransArmor ID |
RETURN_CODE IDTechSDK.IDT_Augusta.device_startRKI | ( | ) |
Start Remote Key Injection
Starts a remote key injection request with IDTech RKI servers.
RETURN_CODE IDTechSDK.IDT_Augusta.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 a 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_Augusta.device_SymmetricRKI | ( | ) |
Start Remote Key Injection
Starts a remote key injection request with IDTech Symmetric RKI servers. Set/Get RKI url with IDT_Device.RKI_URL.
|
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_Augusta.device_verifyBackdoorKey | ( | ) |
Verify Backdoor Key to Unlock Security
For special firmware only (TTK)
RETURN_CODE IDTechSDK.IDT_Augusta.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 a 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 |
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_Augusta.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_Augusta.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_Augusta.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_Augusta.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_Augusta.emv_cancelTransaction | ( | ) |
Cancel EMV Transaction
Cancels the currently executing EMV transaction.
RETURN_CODE IDTechSDK.IDT_Augusta.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: sending tag DFEF51 with a value of 01 (DFEF510101) as and Additional TLV data will Supress the results. Used for QuickChip implementation.
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_Augusta.emv_getEMVConfigurationCheckValue | ( | ref string | response | ) |
Get EMV Kernel configuration check value info
response | Response returned of Kernel configuration check value info |
RETURN_CODE IDTechSDK.IDT_Augusta.emv_getEMVKernelCheckValue | ( | ref string | response | ) |
Get EMV Kernel check value info
response | Response returned of Kernel check value info |
RETURN_CODE IDTechSDK.IDT_Augusta.emv_getEMVKernelVersion | ( | ref string | response | ) |
Polls device for EMV Kernel Version
response | Response returned of Kernel Version |
RETURN_CODE IDTechSDK.IDT_Augusta.emv_removeAllApplicationData | ( | ) |
Remove All Application Data
Removes all the Application Data
RETURN_CODE IDTechSDK.IDT_Augusta.emv_removeAllCAPK | ( | ) |
Remove All Certificate Authority Public Key
Removes all the CAPK
RETURN_CODE IDTechSDK.IDT_Augusta.emv_removeAllCRL | ( | ) |
Remove All Certificate Revocation List Entries
Removes all CRLEntry entries
RETURN_CODE IDTechSDK.IDT_Augusta.emv_removeApplicationData | ( | byte[] | AID | ) |
Remove Application Data by AID
Removes the Application Data 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_Augusta.emv_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_Augusta.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_Augusta.emv_removeTerminalData | ( | ) |
Remove Terminal Data
Removes the Terminal Data
RETURN_CODE IDTechSDK.IDT_Augusta.emv_retrieveAIDList | ( | ref byte | response[][] | ) |
Retrieve AID list
Returns all the AID names installed on the terminal.
response | array of AID name byte arrays |
RETURN_CODE IDTechSDK.IDT_Augusta.emv_retrieveApplicationData | ( | byte[] | AID, |
ref byte[] | tlv | ||
) |
Retrieve Application Data by AID
Retrieves the 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_Augusta.emv_retrieveCAPK | ( | byte[] | capk, |
ref byte[] | key | ||
) |
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 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_Augusta.emv_retrieveCAPKList | ( | ref byte[] | keys | ) |
Retrieve the Certificate Authority Public Key list
Returns all the CAPK RID and Index installed on the terminal.
keys | [key1][key2]...[keyn], each key 6 bytes where key = 5 bytes RID + 1 byte index |
RETURN_CODE IDTechSDK.IDT_Augusta.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_Augusta.emv_retrieveTerminalData | ( | ref byte[] | tlv | ) |
Retrieve Terminal Data
Retrieves the Terminal Data.
tlv | Response returned as a TLV |
RETURN_CODE IDTechSDK.IDT_Augusta.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_Augusta.emv_setApplicationData | ( | byte[] | name, |
byte[] | tlv | ||
) |
Set Application Data by AID
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 |
RETURN_CODE IDTechSDK.IDT_Augusta.emv_setCAPK | ( | byte[] | key | ) |
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:
|
RETURN_CODE IDTechSDK.IDT_Augusta.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_Augusta.emv_setTerminalData | ( | byte[] | tlv | ) |
Set Terminal Data
Sets the Terminal Data as specified by the TerminalData structure passed as a parameter
tlv | TerminalData configuration file |
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_Augusta.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_Augusta.emv_startTransaction | ( | double | amount, |
double | amtOther, | ||
int | exponent, | ||
int | type, | ||
int | timeout, | ||
byte[] | tags, | ||
bool | 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) |
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 a 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_Augusta.icc_disable | ( | ) |
ICC Function enable/disable Disable ICC function
RETURN_CODE IDTechSDK.IDT_Augusta.icc_enable | ( | bool | withNotification | ) |
ICC Function enable/disable Enable ICC function with or without seated notification
withNotification |
|
RETURN_CODE IDTechSDK.IDT_Augusta.icc_exchangeAPDU | ( | string | c_APDU, |
ref byte[] | response | ||
) |
Exchange APDU with plain text For Non-SRED Augusta Only
Sends an APDU packet to the ICC. If successful, response is the APDU data in response parameter.
c_APDU | APDU data packet |
response | Unencrypted APDU response |
RETURN_CODE IDTechSDK.IDT_Augusta.icc_exchangeEncryptedAPDU | ( | string | c_APDU, |
ref byte[] | response | ||
) |
Exchange APDU with encrypted data For SRED Augusta Only
Sends an APDU packet to the ICC. If successful, response is the APDU data in response parameter.
c_APDU | KSN + encytpted APDU data packet, or no KSN (use last known KSN) + encrypted APDU data packet With KSN: [0A][KSN][Encrypted C-APDU] Without KSN: [00][Encrypted C-APDU] |
The format of Raw C-APDU Data Structure of [m-bytes Encrypted C-APDU] is below:
response | encrypted APDU response. Can be three options:
|
RETURN_CODE IDTechSDK.IDT_Augusta.icc_getAPDU_KSN | ( | ref byte[] | ksn | ) |
Get APDU KSN
Retrieves the KSN used in ICC Encypted APDU usage
ksn | Returns the encrypted APDU packet KSN |
RETURN_CODE IDTechSDK.IDT_Augusta.icc_getFunctionStatus | ( | ref bool | enabled, |
ref bool | withNotification | ||
) |
Get ICC Function status Get ICC Function status about enable/disable and with or without seated notification
enabled |
|
withNotification | true means with notification when ICC seated status changed. false means without notification. |
RETURN_CODE IDTechSDK.IDT_Augusta.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_Augusta.icc_getKeyFormatForICCDUKPT | ( | ref byte | format | ) |
Get Key Format For ICC DUKPT
Specifies how data will be encrypted with Data Key or PIN key (if DUKPT key loaded)
format | Response returned from method:
|
RETURN_CODE IDTechSDK.IDT_Augusta.icc_getKeyTypeForICCDUKPT | ( | ref byte | type | ) |
Get Key Type for ICC DUKPT
Specifies the key type used for ICC DUKPT encryption
type | Response returned from method:
|
RETURN_CODE IDTechSDK.IDT_Augusta.icc_powerOffICC | ( | ) |
Power Off ICC
Powers down the ICC
If Success, empty If Failure, ASCII encoded data of error string
RETURN_CODE IDTechSDK.IDT_Augusta.icc_powerOnICC | ( | ref byte[] | ATR | ) |
Power On ICC
Power up the currently selected microprocessor card in the ICC reader
RETURN_CODE IDTechSDK.IDT_Augusta.icc_setKeyFormatForICCDUKPT | ( | byte | encryption | ) |
Set Key Format for ICC DUKPT
Sets how data will be encrypted, with either TDES or AES (if DUKPT key loaded)
encryption | Encryption Type
|
RETURN_CODE IDTechSDK.IDT_Augusta.icc_setKeyTypeForICCDUKPT | ( | byte | encryption | ) |
Set Key Type for ICC DUKPT Key
Sets which key the data will be encrypted with, with either Data Key or PIN key (if DUKPT key loaded)
encryption | Encryption Type
|
RETURN_CODE IDTechSDK.IDT_Augusta.msr_cancelMSRSwipe | ( | ) |
Disable MSR Swipe Cancels MSR swipe request.
RETURN_CODE IDTechSDK.IDT_Augusta.msr_captureMode | ( | bool | isBufferMode, |
bool | withNotification = false |
||
) |
Set MSR Capture Mode.
For Non-SRED Augusta Only
Switch between Auto mode and Buffer mode. Auto mode only available on KB interface
isBufferMode |
|
withNotification |
|
RETURN_CODE IDTechSDK.IDT_Augusta.msr_disable | ( | ) |
Disable MSR function.
RETURN_CODE IDTechSDK.IDT_Augusta.msr_getClearPANID | ( | ref byte | value | ) |
Get Clear PAN Digits
Returns the number of digits that begin the PAN that will be in the clear
value | Number of digits in clear. Values are char '0' - '6': |
RETURN_CODE IDTechSDK.IDT_Augusta.msr_getExpirationMask | ( | ref byte | value | ) |
Get Expiration Masking
Get the flag that determines if to mask the expiration date
value | '0' = masked, '1' = not-masked |
RETURN_CODE IDTechSDK.IDT_Augusta.msr_getFunctionStatus | ( | ref bool | enabled, |
ref bool | isBufferMode, | ||
ref bool | withNotification | ||
) |
Get MSR Function status Get MSR Function status about enable/disable and with or without seated notification
enabled |
|
isBufferMode |
|
withNotification |
|
RETURN_CODE IDTechSDK.IDT_Augusta.msr_getSetting | ( | byte | setting, |
ref byte | value | ||
) |
Get Single MSR Setting value
Returns the encryption used for sweip data
setting | MSR Setting to retrieve |
value | MSR Setting value |
RETURN_CODE IDTechSDK.IDT_Augusta.msr_getSettings | ( | byte | setting, |
ref byte[] | value | ||
) |
Get Multi MSR Setting value
Returns the encryption used for sweip data
setting | MSR Setting to retrieve |
value | MSR Setting value |
RETURN_CODE IDTechSDK.IDT_Augusta.msr_getSwipeEncryption | ( | ref byte | encryption | ) |
Get Swipe Data Encryption
For Non-SRED Augusta Only
Returns the encryption used for swipe data
encryption | 1 = TDES, 2 = AES, 0 = NONE |
RETURN_CODE IDTechSDK.IDT_Augusta.msr_getSwipeForcedEncryptionOption | ( | ref byte | option | ) |
Get Swipe Data Encryption
Gets the swipe force encryption options
option | Byte using lower four bits as flags. 0 = Force Encryption Off, 1 = Force Encryption On bit0 = Track 1 bit1 = Track 2 bit2 = Track 3 bit4 = Track 3 Card Option 0 |
Example: Response 0x03 = Track1/Track2 Forced Encryption, Track3/Track3-0 no Forced Encryption
RETURN_CODE IDTechSDK.IDT_Augusta.msr_getSwipeMaskOption | ( | ref byte | option | ) |
Get Swipe Mask Option
Gets the swipe mask/clear data sending option
option | Byte using lower three bits as flags. 0 = Mask Option Off, 1 = Mask Option On bit0 = Track 1 bit1 = Track 2 bit2 = Track 3 |
Example: Response 0x03 = Track1/Track2 Masked Option ON, Track3 Masked Option Off
RETURN_CODE IDTechSDK.IDT_Augusta.msr_RetrieveWhiteList | ( | ref byte[] | value | ) |
Retrieve MSR White List
For Non-SRED Augusta Only
value | is the white list data which is ASN.1 Block format |
RETURN_CODE IDTechSDK.IDT_Augusta.msr_setClearPANID | ( | byte | val | ) |
Set Clear PAN Digits
Sets the amount of digits shown in the clear (not masked) at the beginning of the returned PAN value
val | Number of digits to show in clear. Range 0-6. |
RETURN_CODE IDTechSDK.IDT_Augusta.msr_setExpirationMask | ( | bool | mask | ) |
Set Expiration Masking
Sets the flag to mask the expiration date
mask | TRUE = mask expiration |
RETURN_CODE IDTechSDK.IDT_Augusta.msr_setSetting | ( | byte | setting, |
byte | value | ||
) |
Set Single MSR Setting value
setting | MSR Setting to set |
value | MSR Setting value |
RETURN_CODE IDTechSDK.IDT_Augusta.msr_setSetting | ( | byte | setting, |
byte[] | value | ||
) |
Set Multi MSR Setting value
setting | MSR Setting to set |
value | MSR Setting value |
RETURN_CODE IDTechSDK.IDT_Augusta.msr_setSwipeEncryption | ( | byte | encryption | ) |
Set Swipe Data Encryption
For Non-SRED Augusta Only
Sets the swipe encryption method
encryption | 1 = TDES, 2 = AES |
RETURN_CODE IDTechSDK.IDT_Augusta.msr_setSwipeForcedEncryptionOption | ( | bool | track1, |
bool | track2, | ||
bool | track3, | ||
bool | track3card0 | ||
) |
Set Swipe Force Encryption
Sets the swipe force encryption options
track1 | Force encrypt track 1 |
track2 | Force encrypt track 2 |
track3 | Force encrypt track 3 |
track3card0 | Force encrypt track 3 when card type is 0 |
RETURN_CODE IDTechSDK.IDT_Augusta.msr_setSwipeMaskOption | ( | bool | track1, |
bool | track2, | ||
bool | track3 | ||
) |
Set Swipe Mask Option
Sets the swipe mask/clear data sending option
track1 | Mask track 1 allowed |
track2 | Mask track 2 allowed |
track3 | Mask track 3 allowed |
RETURN_CODE IDTechSDK.IDT_Augusta.msr_setWhiteList | ( | byte[] | value, |
byte[] | MAC | ||
) |
Set MSR White List
For Non-SRED Augusta Only
value | the white list data which is ASN.1 Block format |
MAC | Message Authenticate Code. For non-PCI, use null |
RETURN_CODE IDTechSDK.IDT_Augusta.msr_startMSRSwipe | ( | int | timeout | ) |
Enable MSR Swipe
Enables MSR, waiting for swipe to occur. Allows track selection. Returns IDTMSRData instance to deviceDelegate::swipeMSRData:()
timeout | Swipe Timeout Value |
RETURN_CODE IDTechSDK.IDT_Augusta.msr_switchUSBInterfaceMode | ( | bool | bIsUSBKeyboardMode | ) |
Switch the USB interface mode between USB HID and USB KB mode.
For Non-SRED Augusta Only
bIsUSBKeyboardMode | USB interface mode
|
|
static |
SDK Version
Returns the current version of SDK
|
static |
Set Callback
Sets the class callback
my_Callback | The callback function to receive the response message from device. defined as follows. delegate void CallBack(IDT_DEVICE_Types sender, DeviceState state, byte[] data, IDTTransactionData card, EMV_Callback emvCallback, RETURN_CODE transactionResultCode); |
|
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_Augusta class.