IDTech Windows SDK Guide  3.2.4.393
API reference for Visual Studio .Net
IDTechSDK.IDT_Augusta Class Reference

Public Member Functions

RETURN_CODE device_StartRKI (int type, string ident="")
 
RETURN_CODE emv_startTransaction (double amount, double amtOther, int exponent, int type, int timeout, byte[] tags, bool forceOnline, string ident="")
 
RETURN_CODE emv_activateTransaction (int timeout, byte[] tags, bool forceOnline, bool isFastEMV=false, string ident="")
 
RETURN_CODE device_startTransaction (double amount, double amtOther, int exponent, int type, int timeout, byte[] tags, bool forceOnline, bool isFastEMV=false, string ident="")
 
RETURN_CODE device_activateTransaction (int timeout, byte[] tags, bool forceOnline, bool isFastEMV=false, string ident="")
 
RETURN_CODE emv_authenticateTransaction (byte[] updatedTLV, string ident="")
 
RETURN_CODE emv_completeTransaction (bool commError, byte[] authCode, byte[] iad, byte[] tlvScripts, byte[] tlv, string ident="")
 
RETURN_CODE emv_callbackResponseLCD (EMV_LCD_DISPLAY_MODE type, byte selection, string ident="")
 
RETURN_CODE emv_callbackResponsePIN (EMV_PIN_MODE type, byte[] KSN, byte[] PIN, string ident="")
 
RETURN_CODE emv_callbackResponseMSR (byte[] MSR, string ident="")
 
RETURN_CODE emv_cancelTransaction (string ident="")
 
RETURN_CODE emv_getEMVKernelVersion (ref string response, string ident="")
 
RETURN_CODE emv_getEMVKernelCheckValue (ref string response, string ident="")
 
RETURN_CODE emv_getEMVConfigurationCheckValue (ref string response, string ident="")
 
RETURN_CODE emv_retrieveTransactionResult (byte[] tags, ref IDTTransactionData tlv, string ident="")
 
RETURN_CODE emv_removeApplicationData (byte[] AID, string ident="")
 
RETURN_CODE emv_removeAllApplicationData (string ident="")
 
RETURN_CODE emv_removeCAPK (byte[] capk, string ident="")
 
RETURN_CODE emv_removeAllCAPK (string ident="")
 
RETURN_CODE emv_removeCRL (byte[] crlList, string ident="")
 
RETURN_CODE emv_removeAllCRL (string ident="")
 
RETURN_CODE emv_removeTerminalData (string ident="")
 
RETURN_CODE emv_retrieveAIDList (ref byte[][] response, string ident="")
 
RETURN_CODE device_setQuickChipMode (bool turnON, string ident="")
 
RETURN_CODE device_getQuickChipMode (ref bool isOn, string ident="")
 
RETURN_CODE emv_retrieveApplicationData (byte[] AID, ref byte[] tlv, string ident="")
 
RETURN_CODE emv_retrieveCAPK (byte[] capk, ref byte[] key, string ident="")
 
RETURN_CODE emv_retrieveCAPKList (ref byte[] keys, string ident="")
 
RETURN_CODE emv_retrieveCRLList (ref byte[] list, string ident="")
 
RETURN_CODE emv_retrieveTerminalData (ref byte[] tlv, string ident="")
 
RETURN_CODE emv_setApplicationData (byte[] name, byte[] tlv, string ident="")
 
RETURN_CODE emv_setCAPK (byte[] key, string ident="")
 
RETURN_CODE emv_setCRL (byte[] list, string ident="")
 
RETURN_CODE emv_trySetTerminalData (byte[] tlv, ref byte[] rejectedTLV, ref byte[] convertedTLV, bool overwrite=false, string ident="")
 
RETURN_CODE emv_setTerminalData (byte[] tlv, string ident="")
 
RETURN_CODE emv_addTerminalData (byte[] tlv, string ident="")
 
RETURN_CODE emv_setTerminalMajorConfiguration (int configuration, string ident="")
 
RETURN_CODE config_getModelNumber (ref string response, string ident="")
 
RETURN_CODE config_getSerialNumber (ref string response, string ident="")
 
bool config_setCmdTimeOutDuration (int newTimeOut, string ident="")
 
RETURN_CODE config_setLEDController (bool firmwareControlMSRLED, bool firmwareControlICCLED=false, string ident="")
 
RETURN_CODE config_getLEDController (ref bool firmwareControlMSRLED, ref bool firmwareControlICCLED, string ident="")
 
RETURN_CODE config_setBeeperController (bool firmwareControlBeeper, string ident="")
 
RETURN_CODE config_getBeeperController (ref bool firmwareControlBeeper, string ident="")
 
RETURN_CODE device_controlLED_ICC (int controlMode, int interval, string ident="")
 
RETURN_CODE device_controlBeep (int index, int frequency, int duration, string ident="")
 
RETURN_CODE device_controlLED (byte indexLED, byte control, int intervalOn=500, int intervalOff=500, string ident="")
 
RETURN_CODE config_setEncryptionControl (bool msr, bool icc, string ident="")
 
RETURN_CODE config_getEncryptionControl (ref bool msr, ref bool icc, string ident="")
 
RETURN_CODE device_getKeyStatus (ref Boolean newFormat, ref byte[] status, string ident="")
 
RETURN_CODE device_setDateTime (string ident="")
 
RETURN_CODE device_startRKI (string ident="")
 
RETURN_CODE device_getDateTime (ref byte[] dateTime, string ident="")
 
RETURN_CODE device_getDRS (ref byte[] codeDRS, string ident="")
 
RETURN_CODE device_verifyBackdoorKey (string ident="")
 
RETURN_CODE device_selfCheck (string ident="")
 
RETURN_CODE device_getFirmwareVersion (ref string response, string ident="")
 
string device_getResponseCodeString (RETURN_CODE eCode)
 
RETURN_CODE device_rebootDevice (string ident="")
 
RETURN_CODE device_sendDataCommand (string cmd, bool calcLRC, ref byte[] response, string ident="")
 
RETURN_CODE device_getTransArmorID (ref string TID, string ident="")
 
RETURN_CODE device_setTransArmorID (string TID, string ident="")
 
RETURN_CODE device_getKeyTypeForICCDUKPT (ref byte type, string ident="")
 
RETURN_CODE device_getKeyFormatForICCDUKPT (ref byte format, string ident="")
 
RETURN_CODE device_sendPAE (string command, ref string response, int timeout, string ident="")
 
RETURN_CODE device_setTransArmorEncryption (byte[] cert, string ident="")
 
RETURN_CODE device_sendDataCommand_ext (string cmd, bool calcLRC, ref byte[] response, int timeout, bool noResponse, string ident="")
 
RETURN_CODE device_controlLED_MSR (byte control, int intervalOn=500, int intervalOff=500, string ident="")
 
RETURN_CODE icc_enable (bool withNotification, string ident="")
 
RETURN_CODE icc_disable (string ident="")
 
RETURN_CODE icc_getFunctionStatus (ref bool enabled, ref bool withNotification, string ident="")
 
RETURN_CODE icc_exchangeAPDU (string c_APDU, ref byte[] response, string ident="")
 
RETURN_CODE icc_exchangeEncryptedAPDU (string c_APDU, ref byte[] response, string ident="")
 
RETURN_CODE icc_getAPDU_KSN (ref byte[] ksn, string ident="")
 
RETURN_CODE icc_getICCReaderStatus (ref byte status, string ident="")
 
RETURN_CODE icc_getKeyFormatForICCDUKPT (ref byte format, string ident="")
 
RETURN_CODE icc_getKeyTypeForICCDUKPT (ref byte type, string ident="")
 
RETURN_CODE icc_powerOffICC (string ident="")
 
RETURN_CODE icc_powerOnICC (ref byte[] ATR, string ident="")
 
RETURN_CODE icc_setKeyFormatForICCDUKPT (byte encryption, string ident="")
 
RETURN_CODE icc_setKeyTypeForICCDUKPT (byte encryption, string ident="")
 
RETURN_CODE msr_captureMode (bool isBufferMode, bool withNotification=false, string ident="")
 
RETURN_CODE msr_disable (string ident="")
 
RETURN_CODE msr_getFunctionStatus (ref bool enabled, ref bool isBufferMode, ref bool withNotification, string ident="")
 
RETURN_CODE msr_switchUSBInterfaceMode (bool bIsUSBKeyboardMode)
 
RETURN_CODE msr_switchUSBInterfaceMode (bool bIsUSBKeyboardMode, ref string ident)
 
RETURN_CODE msr_getClearPANID (ref byte value, string ident="")
 
RETURN_CODE device_disableAugustaLED (bool disable, string ident="")
 
RETURN_CODE msr_getExpirationMask (ref byte value, string ident="")
 
RETURN_CODE msr_getSwipeEncryption (ref byte encryption, string ident="")
 
RETURN_CODE msr_getSwipeForcedEncryptionOption (ref byte option, string ident="")
 
RETURN_CODE msr_getSwipeMaskOption (ref byte option, string ident="")
 
RETURN_CODE msr_RetrieveWhiteList (ref byte[] value, string ident="")
 
RETURN_CODE icc_getSetting (byte setting, ref byte value, string ident="")
 
RETURN_CODE icc_getSettings (byte setting, ref byte[] value, string ident="")
 
RETURN_CODE icc_setSetting (byte setting, byte value, string ident="")
 
RETURN_CODE icc_setSetting (byte setting, byte[] value, string ident="")
 
RETURN_CODE msr_getSetting (byte setting, ref byte value, string ident="")
 
RETURN_CODE msr_getSettings (byte setting, ref byte[] value, string ident="")
 
RETURN_CODE msr_setSetting (byte setting, byte value, string ident="")
 
RETURN_CODE msr_setSettings (byte setting, byte[] value, string ident="")
 
RETURN_CODE msr_setClearPANID (byte val, string ident="")
 
RETURN_CODE msr_setExpirationMask (bool mask, string ident="")
 
RETURN_CODE msr_setSwipeEncryption (byte encryption, string ident="")
 
RETURN_CODE msr_setSwipeForcedEncryptionOption (bool track1, bool track2, bool track3, bool track3card0, string ident="")
 
RETURN_CODE msr_setSwipeMaskOption (bool track1, bool track2, bool track3, string ident="")
 
RETURN_CODE msr_setWhiteList (byte[] value, byte[] MAC, string ident="")
 
RETURN_CODE msr_setWhiteListFromBDK (byte[] val, byte[] BDK, string ident="")
 
RETURN_CODE msr_startMSRSwipe (int timeout, string ident="")
 
RETURN_CODE msr_cancelMSRSwipe (string ident="")
 
bool device_isSRED (string ident="")
 
bool createFastEMVData (ref IDTTransactionData cData, string ident="")
 
RETURN_CODE device_getRKIStatus (bool isProd, bool isMultiKey, ref string status, ref Dictionary< string, RKI_KEY_TYPE > keys, string ident="")
 
RETURN_CODE device_getAnyRKIStatus (bool isMultiKey, ref string status, ref Dictionary< string, RKI_KEY_TYPE > keys, string ident="")
 
RETURN_CODE device_updateFirmwareFromZip (byte[] zipfile, string ident="", bool isForeground=false)
 
RETURN_CODE device_sendConfigurationFromZip (byte[] zip, string filename, VC_OPERATION_TYPE type, bool matchFW, string ident="", bool isForeground=false)
 
RETURN_CODE device_sendConfiguration (string filename, VC_OPERATION_TYPE type, bool matchFW, string ident="", bool isForeground=false)
 
RETURN_CODE device_readConfigurationToMemory (string memo, Configs.InstallRules rules, List< Configs.DeviceCommand > cmds, string ident="", bool isForeground=false)
 
RETURN_CODE device_getConfigurationFromMemory (ref string json, string ident="")
 
RETURN_CODE device_RemoteKeyInjection (RKI_KEY_TYPE type, string keyName, string ident="", bool performOnForeground=false)
 

Static Public Member Functions

static void initSC ()
 
static int getCommandTimeout (string ident="")
 
static void setCommandTimeout (int milliseconds, string ident="")
 
static void setCallback (CallBack my_Callback)
 
static void setCallback (IntPtr my_Callback, SynchronizationContext context)
 
static void emv_autoAuthenticate (bool authenticate, string ident="")
 
static void emv_autoAuthenticateTags (bool authenticate, byte[] tags, string ident="")
 
static void emv_allowFallback (bool allow, string ident="")
 
static void lcd_retrieveMessage (DisplayMessages.DISPLAY_MESSAGE_LANGUAGE lang, DisplayMessages.DISPLAY_MESSAGE_IDENTIFIER id, ref string line1, ref string line2)
 
static RETURN_CODE device_updateDeviceFirmware (byte[] firmwareData, string ident="")
 
static String SDK_Version ()
 

Properties

static IDT_Augusta SharedController [get]
 

Detailed Description

Class for Augusta/AugustaSRED MSR/ICC reader

Member Function Documentation

RETURN_CODE IDTechSDK.IDT_Augusta.config_getBeeperController ( ref bool  firmwareControlBeeper,
string  ident = "" 
)

Get the Beeper Controller Status Set the Beeper controlled Status by software or firmware

Parameters
firmwareControlBeepertrue means firmware control the beeper, false means software control beeper.
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.config_getEncryptionControl ( ref bool  msr,
ref bool  icc,
string  ident = "" 
)

Get Encryption Control

Get Encryption Control to switch status between MSR and ICC/EMV function. Following Encryption status supported:

  • MSR ON, ICC/EMV ON,
  • MSR ON, ICC/EMV OFF,
  • MSR OFF, ICC/EMV OFF,
Parameters
msr
  • true: enabled MSR with Encryption,
  • false: disabled MSR with Encryption,
icc
  • true: enabled ICC with Encryption,
  • false: disabled ICC with Encryption,
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.config_getLEDController ( ref bool  firmwareControlMSRLED,
ref bool  firmwareControlICCLED,
string  ident = "" 
)

Get the LED Controller Status Get the MSR / ICC LED controlled status by software or firmware

Parameters
firmwareControlMSRLED
  • true: firmware control the MSR LED
  • false: software control the MSR LED
firmwareControlICCLED
  • true: firmware control the ICC LED
  • false: software control the ICC LED
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.config_getModelNumber ( ref string  response,
string  ident = "" 
)

Polls device for Model Number

Parameters
responseReturns Model Number
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.config_getSerialNumber ( ref string  response,
string  ident = "" 
)

Polls device for Serial Number

Parameters
responseReturns Serial Number
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.config_setBeeperController ( bool  firmwareControlBeeper,
string  ident = "" 
)

Set the Beeper Controller Set the Beeper controlled by software or firmware

Parameters
firmwareControlBeepertrue means firmware control the beeper, false means software control beeper.
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
bool IDTechSDK.IDT_Augusta.config_setCmdTimeOutDuration ( int  newTimeOut,
string  ident = "" 
)

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

Parameters
newTimeOutTimout value. Valid range 1 - 60 seconds
Returns
Success flag. Determines if value was set and in range.
RETURN_CODE IDTechSDK.IDT_Augusta.config_setEncryptionControl ( bool  msr,
bool  icc,
string  ident = "" 
)

Set Encryption Control

Set Encryption Control to switch status between MSR and ICC/EMV function. Following Encryption status supported:

  • MSR ON, ICC/EMV ON,
  • MSR ON, ICC/EMV OFF,
  • MSR OFF, ICC/EMV OFF,
Parameters
msr
  • true: enable MSR with Encryption,
  • false: disable MSR with Encryption,
icc
  • true: enable ICC with Encryption,
  • false: disable ICC with Encryption,
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.config_setLEDController ( bool  firmwareControlMSRLED,
bool  firmwareControlICCLED = false,
string  ident = "" 
)

Set the LED Controller Set the MSR / ICC LED controlled by software or firmware NOTE: The ICC LED always controlled by software.

Parameters
firmwareControlMSRLED
  • true: firmware control the MSR LED
  • false: software control the MSR LED
firmwareControlICCLED
  • true: firmware control the ICC LED
  • false: software control the ICC LED
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
bool IDTechSDK.IDT_Augusta.createFastEMVData ( ref IDTTransactionData  cData,
string  ident = "" 
)

Create Fast EMV Data

At the completion of a Fast EMV Transaction, after the final card decision is returned and the IDTTransactionData object is provided, sending that cData object to this method will populate the .fastEMV element with string data that represents the Fast EMV data that would be returned from and IDTech FastEMV over KB protocol

Parameters
cDataThe IDTTransactionData object populated with card data.
identDevice ID to send command to. If not specified, current SDK default device will be used.
RETURN_CODE IDTechSDK.IDT_Augusta.device_activateTransaction ( int  timeout,
byte[]  tags,
bool  forceOnline,
bool  isFastEMV = false,
string  ident = "" 
)

Start EMV Transaction Request

Authorizes the EMV transaction for an ICC card

The tags will be returned in the callback routine.

Parameters
timeoutTimeout value in seconds.
tagsThe 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
forceOnlineTRUE = 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
isFastEMVIf 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
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.device_controlBeep ( int  index,
int  frequency,
int  duration,
string  ident = "" 
)

Control Beep

Controls the Beeper

Parameters
indexFor Augusta, must be set to 1 (only one beeper)
frequencyFrequency, range 1000-20000 (suggest minimum 3000)
durationDuration, in milliseconds (range 1 - 65525)
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.device_controlLED ( byte  indexLED,
byte  control,
int  intervalOn = 500,
int  intervalOff = 500,
string  ident = "" 
)

Control MSR LED

Controls the LED for the MSR

Parameters
indexLEDFor Augusta, must be set to 1 (MSR LED)
controlLED Status:
  • 00: OFF
  • 01: RED Solid
  • 02: RED Blink
  • 11: GREEN Solid
  • 12: GREEN Blink
  • 21: BLUE Solid
  • 22: BLUE Blink
intervalOnBlink interval ON, in ms (Range 200 - 2000)
intervalOffBlink interval OFF, in ms (Range 200 - 2000)
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.device_controlLED_ICC ( int  controlMode,
int  interval,
string  ident = "" 
)

Control ICC LED

Controls the LED for the ICC card slot

Parameters
controlMode0 = off, 1 = solid, 2 = blink
intervalBlink interval, in ms (500 = 500 ms)
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.device_controlLED_MSR ( byte  control,
int  intervalOn = 500,
int  intervalOff = 500,
string  ident = "" 
)

Control the MSR LED

Controls the MSR / ICC LED This API not recommended to control ICC LED

Parameters
control
  • 0x00 = off,
  • 0x01 = RED Solid,
  • 0x02 = RED Blink,
  • 0x11 = GREEN Solid,
  • 0x12 = GREEN Blink,
  • 0x21 = BLUE Solid,
  • 0x22 = BLUE Blink,
intervalOnBlink interval on time last, in ms (500 = 500 ms, valid from 200 to 2000)
intervalOffBlink interval off time last, in ms (500 = 500 ms, valid from 200 to 2000)
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.device_disableAugustaLED ( bool  disable,
string  ident = "" 
)

Disable Augusta LED

Prevents the Augusta from receiving commands that can manipulate/change the LED status

Parameters
disableTRUE = don't allow LED commands to execute, FALSE = allow LED commmands to execute
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.device_getAnyRKIStatus ( bool  isMultiKey,
ref string  status,
ref Dictionary< string, RKI_KEY_TYPE >  keys,
string  ident = "" 
)

Get RKI Status Polls the RKI servers to validate device RKI eligiblity. Note: if device type is known in advance (production or demo device), it is more efficient to use device_getRKIStatus instead

Parameters
isMultiKeyTrue = MultiKey, False = SingleKey
statusRKI status returned as a string
keysReturns all available keys
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString(). When no data is available, return code = RETURN_CODE_NO_DATA_AVAILABLE
RETURN_CODE IDTechSDK.IDT_Augusta.device_getConfigurationFromMemory ( ref string  json,
string  ident = "" 
)

Read Device Configuration From Memory Retrieves the ViVOconfig configuration data from memory after a successful device_readConfigurationToMemory

Parameters
jsonReturns the .json file data that can be saved to disk
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString(). When no data is available, return code = RETURN_CODE_NO_DATA_AVAILABLE
RETURN_CODE IDTechSDK.IDT_Augusta.device_getDateTime ( ref byte[]  dateTime,
string  ident = "" 
)

Get Date Time

Gets current system date and time of the device.

Parameters
dateTimeThe date time returned as follows:
  • byte 0: Year 00-99
  • byte 1: Month 01-12
  • byte 2: Date 01-31
  • byte 3: Hour 00-23
  • byte 4: Minute 00-59
  • byte 5: Second 00-59
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.device_getDRS ( ref byte[]  codeDRS,
string  ident = "" 
)

Get DRS Status

Gets the status of DRS(Destructive Reset).

Parameters
codeDRSthe 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

Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString()
RETURN_CODE IDTechSDK.IDT_Augusta.device_getFirmwareVersion ( ref string  response,
string  ident = "" 
)

Polls device for Firmware Version

Parameters
responseResponse returned of Firmware Version
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.device_getKeyFormatForICCDUKPT ( ref byte  format,
string  ident = "" 
)

Get DUKPT Key Format

Parameters
formatFormat: 0 = TDES, 1 = AES
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.device_getKeyStatus ( ref Boolean  newFormat,
ref byte[]  status,
string  ident = "" 
)

Get Key Status

Gets the status of loaded keys

Parameters
statusnewFormat true: new format of key status false: reserved format for support previous device
statuswhen 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)

Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString()
RETURN_CODE IDTechSDK.IDT_Augusta.device_getKeyTypeForICCDUKPT ( ref byte  type,
string  ident = "" 
)

Get DUKPT Key Type

Parameters
typeType: 0 = Data, 1 = PIN
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.device_getQuickChipMode ( ref bool  isOn,
string  ident = "" 
)

Get QuickChip Mode

Returns the QuickChip Mode Setting.

Parameters
isOnTRUE = Quickchip Mode ON, FALSE = QuickChip Mode OFF
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
string IDTechSDK.IDT_Augusta.device_getResponseCodeString ( RETURN_CODE  eCode)

Get the description of response result.

Parameters
eCodethe response result.
Return values
thestring for description of response result
  • case 0: "no error, beginning task";
  • case 1: "no response from reader";
  • case 2: "invalid response data";
  • case 3: "time out for task or CMD";
  • case 4: "wrong parameter";
  • case 5: "SDK is doing MSR or ICC task";
  • case 6: "SDK is doing PINPad task";
  • case 7: "SDK is doing CTLS task";
  • case 8: "SDK is doing EMV task";
  • case 9: "SDK is doing Other task";
  • case 10: "err response or data";
  • case 11: "no reader attached";
  • case 12: "mono audio is enabled";
  • case 13: "did connection";
  • case 14: "audio volume is too low";
  • case 15: "task or CMD be canceled";
  • case 16: "UF wrong string format";
  • case 17: "UF file not found";
  • case 18: "UF wrong file format";
  • case 19: "Attempt to contact online host failed";
  • case 20: "Attempt to perform RKI failed";
  • case 0x300: "Key Type(TDES) of Session Key is not same as the related Master Key.";
  • case 0x400: "Related Key was not loaded.";
  • case 0x500: "Key Same.";
  • case 0x501: "Key is all zero";
  • case 0x502: "TR-31 format error";
  • case 0x702: "PAN is Error Key.";
  • case 0x705: "No Internal MSR PAN (or Internal MSR PAN is erased timeout)";
  • case 0X0C01: "Incorrect Frame Tag";
  • case 0X0C02: "Incorrect Frame Type";
  • case 0X0C03: "Unknown Frame Type";
  • case 0X0C04: "Unknown Command";
  • case 0X0C05: "Unknown Sub-Command";
  • case 0X0C06: "CRC Error";
  • case 0X0C07: "Failed";
  • case 0X0C08: "Timeout";
  • case 0X0C0A: "Incorrect Parameter";
  • case 0X0C0B: "Command Not Supported";
  • case 0X0C0C: "Sub-Command Not Supported";
  • case 0X0C0D: "Parameter Not Supported / Status Abort Command";
  • case 0X0C0F: "Sub-Command Not Allowed";
  • case 0X0D01: "Incorrect Header Tag";
  • case 0X0D02: "Unknown Command";
  • case 0X0D03: "Unknown Sub-Command";
  • case 0X0D04: "CRC Error in Frame";
  • case 0X0D05: "Incorrect Parameter";
  • case 0X0D06: "Parameter Not Supported";
  • case 0X0D07: "Mal-formatted Data";
  • case 0X0D08: "Timeout";
  • case 0X0D0A: "Failed / NACK";
  • case 0X0D0B: "Command not Allowed";
  • case 0X0D0C: "Sub-Command not Allowed";
  • case 0X0D0D: "Buffer Overflow (Data Length too large for reader buffer)";
  • case 0X0D0E: "User Interface Event";
  • case 0X0D11: "Communication type not supported, VT-1, burst, etc.";
  • case 0X0D12: "Secure interface is not functional or is in an intermediate state.";
  • case 0X0D13: "Data field is not mod 8";
  • case 0X0D14: "Pad 0x80 not found where expected";
  • case 0X0D15: "Specified key type is invalid";
  • case 0X0D1: "Could not retrieve key from the SAM(InitSecureComm)";
  • case 0X0D17: "Hash code problem";
  • case 0X0D18: "Could not store the key into the SAM(InstallKey)";
  • case 0X0D19: "Frame is too large";
  • case 0X0D1A: "Unit powered up in authentication state but POS must resend the InitSecureComm command";
  • case 0X0D1B: "The EEPROM may not be initialized because SecCommInterface does not make sense";
  • case 0X0D1C: "Problem encoding APDU";
  • case 0X0D20: "Unsupported Index(ILM) SAM Transceiver error – problem communicating with the SAM(Key Mgr)";
  • case 0X0D2: "Unexpected Sequence Counter in multiple frames for single bitmap(ILM) Length error in data returned from the SAM(Key Mgr)";
  • case 0X0D22: "Improper bit map(ILM)";
  • case 0X0D23: "Request Online Authorization";
  • case 0X0D24: "ViVOCard3 raw data read successful";
  • case 0X0D25: "Message index not available(ILM) ViVOcomm activate transaction card type(ViVOcomm)";
  • case 0X0D26: "Version Information Mismatch(ILM)";
  • case 0X0D27: "Not sending commands in correct index message index(ILM)";
  • case 0X0D28: "Time out or next expected message not received(ILM)";
  • case 0X0D29: "ILM languages not available for viewing(ILM)";
  • case 0X0D2A: "Other language not supported(ILM)";
  • case 0X0D41: "Unknown Error from SAM";
  • case 0X0D42: "Invalid data detected by SAM";
  • case 0X0D43: "Incomplete data detected by SAM";
  • case 0X0D44: "Reserved";
  • case 0X0D45: "Invalid key hash algorithm";
  • case 0X0D46: "Invalid key encryption algorithm";
  • case 0X0D47: "Invalid modulus length";
  • case 0X0D48: "Invalid exponent";
  • case 0X0D49: "Key already exists";
  • case 0X0D4A: "No space for new RID";
  • case 0X0D4B: "Key not found";
  • case 0X0D4C: "Crypto not responding";
  • case 0X0D4D: "Crypto communication error";
  • case 0X0D4E: "Module-specific error for Key Manager";
  • case 0X0D4F: "All key slots are full (maximum number of keys has been installed)";
  • case 0X0D50: "Auto-Switch OK";
  • case 0X0D51: "Auto-Switch failed";
  • case 0X0D90: "Account DUKPT Key not exist";
  • case 0X0D91: "Account DUKPT Key KSN exausted";
  • case 0x0D00: "This Key had been loaded.";
  • case 0x0E00: "Base Time was loaded.";
  • case 0x0F00: "Encryption Or Decryption Failed.";
  • case 0x1000: "Battery Low Warning (It is High Priority Response while Battery is Low.)";
  • case 0x1800: "Send “Cancel Command” after send “Get Encrypted PIN” &”Get Numeric “& “Get Amount”";
  • case 0x1900: "Press “Cancel” key after send “Get Encrypted PIN” &”Get Numeric “& “Get Amount”";
  • case 0x30FF: "Security Chip is not connect";
  • case 0x3000: "Security Chip is deactivation & Device is In Removal Legally State.";
  • case 0x3101: "Security Chip is activation & Device is In Removal Legally State.";
  • case 0x5500: "No Admin DUKPT Key.";
  • case 0x5501: "Admin DUKPT Key STOP.";
  • case 0x5502: "Admin DUKPT Key KSN is Error.";
  • case 0x5503: "Get Authentication Code1 Failed.";
  • case 0x5504: "Validate Authentication Code Error.";
  • case 0x5505: "Encrypt or Decrypt data failed.";
  • case 0x5506: "Not Support the New Key Type.";
  • case 0x5507: "New Key Index is Error.";
  • case 0x5508: "Step Error.";
  • case 0x5509: "KSN Error";
  • case 0x550A: "MAC Error.";
  • case 0x550B: "Key Usage Error.";
  • case 0x550C: "Mode Of Use Error.";
  • case 0x550F: "Other Error.";
  • case 0x6000: "Save or Config Failed / Or Read Config Error.";
  • case 0x6200: "No Serial Number.";
  • case 0x6900: "Invalid Command - Protocol is right, but task ID is invalid.";
  • case 0x6A01: "Unsupported Command – Protocol and task ID are right, but command is invalid – In this State";
  • case 0x6A00: "Unsupported Command - Protocol and task ID are right, but command is invalid.";
  • case 0x6B00: "Unknown parameter in command - Protocol task ID and command are right, but parameter is invalid.";
  • case 0x6C00: "Unknown parameter in command – Protocol task ID and command are right, but length is out of the requirement.";
  • case 0x7200: "Device is suspend (MKSK suspend or press password suspend).";
  • case 0x7300: "PIN DUKPT is STOP (21 bit 1).";
  • case 0x7400: "Device is Busy.";
  • case 0xE100: "Can not enter sleep mode";
  • case 0xE200: "File has existed";
  • case 0xE300: "File has not existed";
  • case 0xE313: "IO line low -- Card error after session start";
  • case 0xE400: "Open File Error";
  • case 0xE500: "SmartCard Error";
  • case 0xE600: "Get MSR Card data is error";
  • case 0xE700: "Command time out";
  • case 0xE800: "File read or write is error";
  • case 0xE900: "Active 1850 error!";
  • case 0xEA00: "Load bootloader error";
  • case 0xEF00: "Protocol Error- STX or ETX or check error.";
  • case 0xEB00: "Picture is not exist";
  • case 0x2C02: "No Microprocessor ICC seated";
  • case 0x2C06: "no card seated to request ATR";
  • case 0x2D01: "Card Not Supported,";
  • case 0x2D03: "Card Not Supported, wants CRC";
  • case 0x690D: "Command not supported on reader without ICC support";
  • case 0x8100: "ICC error time out on power-up";
  • case 0x8200: "invalid TS character received - Wrong operation step";
  • case 0x8300: "Decode MSR Error";
  • case 0x8400: "TriMagII no Response";
  • case 0x8500: "No Swipe MSR Card";
  • case 0x8510: "No Financial Card";
  • case 0x8600: "Unsupported F, D, or combination of F and D";
  • case 0x8700: "protocol not supported EMV TD1 out of range";
  • case 0x8800: "power not at proper level";
  • case 0x8900: "ATR length too long";
  • case 0x8B01: "EMV invalid TA1 byte value";
  • case 0x8B02: "EMV TB1 required";
  • case 0x8B03: "EMV Unsupported TB1 only 00 allowed";
  • case 0x8B04: "EMV Card Error, invalid BWI or CWI";
  • case 0x8B06: "EMV TB2 not allowed in ATR";
  • case 0x8B07: "EMV TC2 out of range";
  • case 0x8B08: "EMV TC2 out of range";
  • case 0x8B09: "per EMV96 TA3 must be > 0xF";
  • case 0x8B10: "ICC error on power-up";
  • case 0x8B11: "EMV T=1 then TB3 required";
  • case 0x8B12: "Card Error, invalid BWI or CWI";
  • case 0x8B13: "Card Error, invalid BWI or CWI";
  • case 0x8B17: "EMV TC1/TB3 conflict-";
  • case 0x8B20: "EMV TD2 out of range must be T=1";
  • case 0x8C00: "TCK error";
  • case 0xA304: "connector has no voltage setting";
  • case 0xA305: "ICC error on power-up invalid (SBLK(IFSD) exchange";
  • case 0xE301: "ICC error after session start";
  • case 0xFF00: "Request to go online";
  • case 0xFF01: "EMV: Accept the offline transaction";
  • case 0xFF02: "EMV: Decline the offline transaction";
  • case 0xFF03: "EMV: Accept the online transaction";
  • case 0xFF04: "EMV: Decline the online transaction";
  • case 0xFF05: "EMV: Application may fallback to magstripe technology";
  • case 0xFF06: "EMV: ICC detected tah the conditions of use are not satisfied";
  • case 0xFF07: "EMV: ICC didn't accept transaction";
  • case 0xFF08: "EMV: Transaction was cancelled";
  • case 0xFF09: "EMV: Application was not selected by kernel or ICC format error or ICC missing data error";
  • case 0xFF0A: "EMV: Transaction is terminated";
  • case 0xFF0B: "EMV: Other EMV Error";
  • case 0xFFFF: "NO RESPONSE";
  • case 0xF002: "ICC communication timeout";
  • case 0xF003: "ICC communication Error";
  • case 0xF00F: "ICC Card Seated and Highest Priority, disable MSR work request";
  • case 0xF200: "AID List / Application Data is not exist";
  • case 0xF201: "Terminal Data is not exist";
  • case 0xF202: "TLV format is error";
  • case 0xF203: "AID List is full";
  • case 0xF204: "Any CA Key is not exist";
  • case 0xF205: "CA Key RID is not exist";
  • case 0xF206: "CA Key Index it not exist";
  • case 0xF207: "CA Key is full";
  • case 0xF208: "CA Key Hash Value is Error";
  • case 0xF209: "Transaction format error";
  • case 0xF20A: "The command will not be processing";
  • case 0xF20B: "CRL is not exist";
  • case 0xF20C: "CRL number exceed max number";
  • case 0xF20D: "Amount,Other Amount,Trasaction Type are missing";
  • case 0xF20E: "The Identification of algorithm is mistake";
  • case 0xF20F: "No Financial Card";
  • case 0xF210: "In Encrypt Result state, TLV total Length is greater than Max Length";
  • case 0x1001: "INVALID ARG";
  • case 0x1002: "FILE_OPEN_FAILED";
  • case 0x1003: "FILE OPERATION_FAILED";
  • case 0x2001: "MEMORY_NOT_ENOUGH";
  • case 0x3002: "SMARTCARD_FAIL";
  • case 0x3003: "SMARTCARD_INIT_FAILED";
  • case 0x3004: "FALLBACK_SITUATION";
  • case 0x3005: "SMARTCARD_ABSENT";
  • case 0x3006: "SMARTCARD_TIMEOUT";
  • case 0x5001: "EMV_PARSING_TAGS_FAILED";
  • case 0x5002: "EMV_DUPLICATE_CARD_DATA_ELEMENT";
  • case 0x5003: "EMV_DATA_FORMAT_INCORRECT";
  • case 0x5004: "EMV_NO_TERM_APP";
  • case 0x5005: "EMV_NO_MATCHING_APP";
  • case 0x5006: "EMV_MISSING_MANDATORY_OBJECT";
  • case 0x5007: "EMV_APP_SELECTION_RETRY";
  • case 0x5008: "EMV_GET_AMOUNT_ERROR";
  • case 0x5009: "EMV_CARD_REJECTED";
  • case 0x5010: "EMV_AIP_NOT_RECEIVED";
  • case 0x5011: "EMV_AFL_NOT_RECEIVED";
  • case 0x5012: "EMV_AFL_LEN_OUT_OF_RANGE";
  • case 0x5013: "EMV_SFI_OUT_OF_RANGE";
  • case 0x5014: "EMV_AFL_INCORRECT";
  • case 0x5015: "EMV_EXP_DATE_INCORRECT";
  • case 0x5016: "EMV_EFF_DATE_INCORRECT";
  • case 0x5017: "EMV_ISS_COD_TBL_OUT_OF_RANGE";
  • case 0x5018: "EMV_CRYPTOGRAM_TYPE_INCORRECT";
  • case 0x5019: "EMV_PSE_NOT_SUPPORTED_BY_CARD";
  • case 0x5020: "EMV_USER_SELECTED_LANGUAGE";
  • case 0x5021: "EMV_SERVICE_NOT_ALLOWED";
  • case 0x5022: "EMV_NO_TAG_FOUND";
  • case 0x5023: "EMV_CARD_BLOCKED";
  • case 0x5024: "EMV_LEN_INCORRECT";
  • case 0x5025: "CARD_COM_ERROR";
  • case 0x5026: "EMV_TSC_NOT_INCREASED";
  • case 0x5027: "EMV_HASH_INCORRECT";
  • case 0x5028: "EMV_NO_ARC";
  • case 0x5029: "EMV_INVALID_ARC";
  • case 0x5030: "EMV_NO_ONLINE_COMM";
  • case 0x5031: "TRAN_TYPE_INCORRECT";
  • case 0x5032: "EMV_APP_NO_SUPPORT";
  • case 0x5033: "EMV_APP_NOT_SELECT";
  • case 0x5034: "EMV_LANG_NOT_SELECT";
  • case 0x5035: "EMV_NO_TERM_DATA";
  • case 0x6001: "CVM_TYPE_UNKNOWN";
  • case 0x6002: "CVM_AIP_NOT_SUPPORTED";
  • case 0x6003: "CVM_TAG_8E_MISSING";
  • case 0x6004: "CVM_TAG_8E_FORMAT_ERROR";
  • case 0x6005: "CVM_CODE_IS_NOT_SUPPORTED";
  • case 0x6006: "CVM_COND_CODE_IS_NOT_SUPPORTED";
  • case 0x6007: "NO_MORE_CVM";
  • case 0x6008: "PIN_BYPASSED_BEFORE";
  • case 0x7001: "PK_BUFFER_SIZE_TOO_BIG";
  • case 0x7002: "PK_FILE_WRITE_ERROR";
  • case 0x7003: "PK_HASH_ERROR";
  • case 0x8001: "NO_CARD_HOLDER_CONFIRMATION";
  • case 0x8002: "GET_ONLINE_PIN";
  • case 0xD000: "Data not exist";
  • case 0xD001: "Data access error";
  • case 0xD100: "RID not exist";
  • case 0xD101: "RID existed";
  • case 0xD102: "Index not exist";
  • case 0xD200: "Maximum exceeded";
  • case 0xD201: "Hash error";
  • case 0xD205: "System Busy";
  • case 0x0E01: "Unable to go online";
  • case 0x0E02: "Technical Issue";
  • case 0x0E03: "Declined";
  • case 0x0E04: "Issuer Referral transaction";
  • case 0x0F01: "Decline the online transaction";
  • case 0x0F02: "Request to go online";
  • case 0x0F03: "Transaction is terminated";
  • case 0x0F05: "Application was not selected by kernel or ICC format error or ICC missing data error";
  • case 0x0F07: "ICC didn't accept transaction";
  • case 0x0F0A: "Application may fallback to magstripe technology";
  • case 0x0F0C: "Transaction was cancelled";
  • case 0x0F0D: "Timeout";
  • case 0x0F0F: "Other EMV Error";
  • case 0x0F10: "Accept the offline transaction";
  • case 0x0F11: "Decline the offline transaction";
  • case 0x0F21: "ICC detected tah the conditions of use are not satisfied";
  • case 0x0F22: "No app were found on card matching terminal configuration";
  • case 0x0F23: "Terminal file does not exist";
  • case 0x0F24: "CAPK file does not exist";
  • case 0x0F25: "CRL Entry does not exist";
  • case 0x0FFE: "code when blocking is disabled";
  • case 0x0FFF: "code when command is not applicable on the selected device";
  • case 0xF005: "ICC Encrypted C-APDU Data Structure Length Error Or Format Error.";
  • case 0xBBE0: "CM100 Success";
  • case 0xBBE1: "CM100 Parameter Error";
  • case 0xBBE2: "CM100 Low Output Buffer";
  • case 0xBBE3: "CM100 Card Not Found";
  • case 0xBBE4: "CM100 Collision Card Exists";
  • case 0xBBE5: "CM100 Too Many Cards Exist";
  • case 0xBBE6: "CM100 Saved Data Does Not Exist";
  • case 0xBBE8: "CM100 No Data Available";
  • case 0xBBE9: "CM100 Invalid CID Returned";
  • case 0xBBEA: "CM100 Invalid Card Exists";
  • case 0xBBEC: "CM100 Command Unsupported";
  • case 0xBBED: "CM100 Error In Command Process";
  • case 0xBBEE: "CM100 Invalid Command";
  • case 0X9031: "Unknown command";
  • case 0X9032: "Wrong parameter (such as the length of the command is incorrect)";
  • case 0X9038: "Wait (the command couldn’t be finished in BWT)";
  • case 0X9039: "Busy (a previously command has not been finished)";
  • case 0X903A: "Number of retries over limit";
  • case 0X9040: "Invalid Manufacturing system data";
  • case 0X9041: "Not authenticated";
  • case 0X9042: "Invalid Master DUKPT Key";
  • case 0X9043: "Invalid MAC Key";
  • case 0X9044: "Reserved for future use";
  • case 0X9045: "Reserved for future use";
  • case 0X9046: "Invalid DATA DUKPT Key";
  • case 0X9047: "Invalid PIN Pairing DUKPT Key";
  • case 0X9048: "Invalid DATA Pairing DUKPT Key";
  • case 0X9049: "No nonce generated";
  • case 0X9949: "No GUID available. Perform getVersion first.";
  • case 0X9950: "MAC Calculation unsuccessful. Check BDK value.";
  • case 0X904A: "Not ready";
  • case 0X904B: "Not MAC data";
  • case 0X9050: "Invalid Certificate";
  • case 0X9051: "Duplicate key detected";
  • case 0X9052: "AT checks failed";
  • case 0X9053: "TR34 checks failed";
  • case 0X9054: "TR31 checks failed";
  • case 0X9055: "MAC checks failed";
  • case 0X9056: "Firmware download failed";
  • case 0X9060: "Log is full";
  • case 0X9061: "Removal sensor unengaged";
  • case 0X9062: "Any hardware problems";
  • case 0X9070: "ICC communication timeout";
  • case 0X9071: "ICC data error (such check sum error)";
  • case 0X9072: "Smart Card not powered up";
RETURN_CODE IDTechSDK.IDT_Augusta.device_getRKIStatus ( bool  isProd,
bool  isMultiKey,
ref string  status,
ref Dictionary< string, RKI_KEY_TYPE >  keys,
string  ident = "" 
)

Get RKI Status From Specified Server Polls the RKI server to validate device RKI eligiblity

Parameters
isProdTRUE = poll production RKI server, FALSE = poll demo RKI server
isMultiKeyTrue = MultiKey, False = SingleKey
statusRKI status returned as a string
keysReturns dictionary of available keys
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString(). When no data is available, return code = RETURN_CODE_NO_DATA_AVAILABLE
RETURN_CODE IDTechSDK.IDT_Augusta.device_getTransArmorID ( ref string  TID,
string  ident = "" 
)

Get TransArmor ID

Parameters
TIDTransArmor ID
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
bool IDTechSDK.IDT_Augusta.device_isSRED ( string  ident = "")

Check if the device support SRED feature.

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
Success flag. true is with SRED.
RETURN_CODE IDTechSDK.IDT_Augusta.device_readConfigurationToMemory ( string  memo,
Configs.InstallRules  rules,
List< Configs.DeviceCommand >  cmds,
string  ident = "",
bool  isForeground = false 
)

Read Device Configuration To Memory Executes a ViVOconfig read of device settings and stores the results in memory

Once a ViVOconfig read starts, all messages will be returned to the callback as DeviceState.ViVOconfig. The ViVOconfig operation is complete when the return code from a DeviceState.ViVOconfig message is one of the following values:

  • RETURN_CODE_SDK_VIVOCONFIG_READ_CONFIG_SUCCESS = Read process completed successfully. Execute device_getConfigurationFromMemory to retrieve the configuration data
  • RETURN_CODE_SDK_VIVOCONFIG_READ_CONFIG_FAILED = Read process FAILED.

    Parameters
    memoOptional: populates the memo field of the captured .json file
    rulesOptional: populates the .json file with available install rules
    cmdsOptional: populates the .json file with commands to execute
    identDevice ID to send command to. If not specified, current SDK default device will be used.
    isForegroundIf TRUE, will block program until update complete. Otherwise, FALSE performs update on background.
    Returns
    RETURN_CODE: Values can be parsed with errorCode.getErrorString(). When no data is available, return code = RETURN_CODE_NO_DATA_AVAILABLE
RETURN_CODE IDTechSDK.IDT_Augusta.device_rebootDevice ( string  ident = "")

Reboot Device

Executes a command to restart the device.

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.device_RemoteKeyInjection ( RKI_KEY_TYPE  type,
string  keyName,
string  ident = "",
bool  performOnForeground = false 
)

Remote Key Injection Performs a remote key injection for the device

Parameters
typeRemote Key Injection Type
keyNameName of key (optional)
identDevice ID to send command to. If not specified, current SDK default device will be used.
performOnForegroundTRUE = block during process (default is false)
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString(). When no data is available, return code = RETURN_CODE_NO_DATA_AVAILABLE
RETURN_CODE IDTechSDK.IDT_Augusta.device_selfCheck ( string  ident = "")

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.

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.device_sendConfiguration ( string  filename,
VC_OPERATION_TYPE  type,
bool  matchFW,
string  ident = "",
bool  isForeground = false 
)

Send Configuration Executes a ViVOconfig update or verify to a device

Once a ViVOconfig write or verify starts, all messages will be returned to the callback as DeviceState.ViVOconfig. The ViVOconfig operation is complete when the return code from a DeviceState.ViVOconfig message is one of the following values:

  • RETURN_CODE_SDK_VIVOCONFIG_VERIFY_SUCCESS = Verification process completed successfully. No differences found.
  • RETURN_CODE_SDK_VIVOCONFIG_VERIFY_SUCCESS_WITH_WARNING = Verification process completed with warnings.
  • RETURN_CODE_SDK_VIVOCONFIG_VERIFY_FAILED = Verification process FAILED
  • RETURN_CODE_SDK_VIVOCONFIG_WRITE_SUCCESS = Write process completed successfully.
  • RETURN_CODE_SDK_VIVOCONFIG_WRITE_SUCCESS_WITH_WARNING = Write process completed with warnings
  • RETURN_CODE_SDK_VIVOCONFIG_WRITE_FAILED = Write process FAILED

    Parameters
    filenameThe .json configuration file to update the device with NOTE: You can also use this parameter to pass the path of where the .json file is located at on local storage instead
    filenameThe name of the .json configuration file
    typeVC_OPERATION_TYPE
  • VC_OPERATION_TYPE_WRITE = Write File To Device, Hash must validate
  • VC_OPERATION_TYPE_VERIFY = Verify Device With File
  • VC_OPERATION_TYPE_WRITE_IGNORE_HASH = Write File To Device, Ignore Hash
  • VC_OPERATION_TYPE_WRITE_FIX_HASH = Write File To Device, Fix Hash If Necessary
    Parameters
    matchFWTRUE = Device FW must match file FW, FALSE = Don't validate device FW against file
    identDevice ID to send command to. If not specified, current SDK default device will be used.
    isForegroundIf TRUE, will block program until update complete. Otherwise, FALSE performs update on background.
    Returns
    RETURN_CODE: Values can be parsed with errorCode.getErrorString(). When no data is available, return code = RETURN_CODE_NO_DATA_AVAILABLE
RETURN_CODE IDTechSDK.IDT_Augusta.device_sendConfigurationFromZip ( byte[]  zip,
string  filename,
VC_OPERATION_TYPE  type,
bool  matchFW,
string  ident = "",
bool  isForeground = false 
)

Send Configuration From Zip Executes a ViVOconfig update or verify to a device using files from a .zip archive

Once a ViVOconfig write or update starts, all messages will be returned to the callback as DeviceState.ViVOconfig. The ViVOconfig operation is complete when the return code from a DeviceState.ViVOconfig message is one of the following values:

  • RETURN_CODE_SDK_VIVOCONFIG_VERIFY_SUCCESS = Verification process completed successfully. No differences found.
  • RETURN_CODE_SDK_VIVOCONFIG_VERIFY_SUCCESS_WITH_WARNING = Verification process completed with warnings.
  • RETURN_CODE_SDK_VIVOCONFIG_VERIFY_FAILED = Verification process FAILED
  • RETURN_CODE_SDK_VIVOCONFIG_WRITE_SUCCESS = Write process completed successfully.
  • RETURN_CODE_SDK_VIVOCONFIG_WRITE_SUCCESS_WITH_WARNING = Write process completed with warnings
  • RETURN_CODE_SDK_VIVOCONFIG_WRITE_FAILED = Write process FAILED

    Parameters
    zip.Zip archive containing the .json configuration file and also any associated image assets NOTE: You can also use this parameter to pass the path of where the .zip file is located at on local storage instead
    filenameThe name of the .json configuration file
    typeVC_OPERATION_TYPE
  • VC_OPERATION_TYPE_WRITE = Write File To Device, Hash must validate
  • VC_OPERATION_TYPE_VERIFY = Verify Device With File
  • VC_OPERATION_TYPE_WRITE_IGNORE_HASH = Write File To Device, Ignore Hash
  • VC_OPERATION_TYPE_WRITE_FIX_HASH = Write File To Device, Fix Hash If Necessary
    Parameters
    matchFWTRUE = Device FW must match file FW, FALSE = Don't validate device FW against file
    identDevice ID to send command to. If not specified, current SDK default device will be used.
    isForegroundIf TRUE, will block program until update complete. Otherwise, FALSE performs update on background.
    Returns
    RETURN_CODE: Values can be parsed with errorCode.getErrorString(). When no data is available, return code = RETURN_CODE_NO_DATA_AVAILABLE
RETURN_CODE IDTechSDK.IDT_Augusta.device_sendDataCommand ( string  cmd,
bool  calcLRC,
ref byte[]  response,
string  ident = "" 
)

Send a data command to the device

Sends a command to the device.

Parameters
cmdString representation of command to execute
calcLRCIf TRUE, this will wrap command with start/length/lrc/sum/end: '{STX}{Len_Low}{Len_High} data {CheckLRC} {CheckSUM} {ETX}'
responseResponse data
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.device_sendDataCommand_ext ( string  cmd,
bool  calcLRC,
ref byte[]  response,
int  timeout,
bool  noResponse,
string  ident = "" 
)

Send a data command to the device - extended

Sends a command to the device.

Parameters
cmdString representation of command to execute
calcLRCIf TRUE, this will wrap command as NGA with start/length/lrc/sum/end: '{STX}{Len_Low}{Len_High} data {CheckLRC} {CheckSUM} {ETX}'
responseResponse data
timeoutTimeout value waiting for response, in milliseconds (1000 = 1 second)
noResponseif TRUE, this will not wait for a response and immediately return SUCCESS
calcITPIf TRUE, this will wrap command as ITP with start/end/lrc: '{STX} data {ETX}{CheckLRC}'
identDevice ID to send command to. If not specified, current SDK default device will be used
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.device_sendPAE ( string  command,
ref string  response,
int  timeout,
string  ident = "" 
)

Send Payment Application Engine Command

Executes a PAE command

Parameters
commandASCII command string, should start with "*PAE"
responsecommand response
timeouttimeout waiting for PAE response
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.device_setDateTime ( string  ident = "")

Set Date Time

Set current system date and time to the device.

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.device_setQuickChipMode ( bool  turnON,
string  ident = "" 
)

Set QuickChip Mode

Sets QuickChip Mode. This tells the firmware to automatically complete a transaction with "Z3"

Parameters
turnONTRUE = Turn Quickchip Mode ON, FALSE = Turn QuickChip Mode OFF
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.device_setTransArmorEncryption ( byte[]  cert,
string  ident = "" 
)

Set TransArmor Encryption

Parameters
certCertificate in PEM format or DER format. PEM format must be string data (converted to binary) starting with "---". DER format is binary data
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.device_setTransArmorID ( string  TID,
string  ident = "" 
)

Set TransArmor ID

Parameters
TIDTransArmor ID
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.device_StartRKI ( int  type,
string  ident = "" 
)

Start Remote Key Injection

Starts a remote key injection request with IDTech RKI servers. Set/Get RKI url with IDT_Device.RKI_URL.

Parameters
type0 = Symmetric RKI Demo Unit 1 = Symmetric RKI Production Unit 2 = PKI-RKI Demo Unit 3 = PKI-RKI Production Unit
identDevice ID to send command to. If not specified, current SDK default device will be used
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.device_startRKI ( string  ident = "")

Start Remote Key Injection

Starts a remote key injection request with IDTech RKI servers.

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.device_startTransaction ( double  amount,
double  amtOther,
int  exponent,
int  type,
int  timeout,
byte[]  tags,
bool  forceOnline,
bool  isFastEMV = false,
string  ident = "" 
)

Start EMV Transaction Request

Authorizes the EMV transaction for an ICC card

The tags will be returned in the callback routine.

Parameters
amountTransaction amount value (tag value 9F02)
amtOtherOther amount value, if any (tag value 9F03)
exponentNumber of characters after decimile point
typeTransaction type (tag value 9C).
timeoutTimeout value in seconds.
tagsAny 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.
forceOnlineTRUE = 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
isFastEMVIf 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
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
static RETURN_CODE IDTechSDK.IDT_Augusta.device_updateDeviceFirmware ( byte[]  firmwareData,
string  ident = "" 
)
static

Update Firmware

Updates the firmware .

Parameters
firmwareDataSigned binary data of a firmware file provided by IDTech
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString()

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:

  • sender = IDT_DEVICE_Types.IDT_DEVICE_AUGUSTA
  • state = DeviceState.FirmwareUpdate
  • transactionResultCode = status of the firmware update (starting, entering bootloader, applying update, block success, firmware success)
  • data = File Progress. Four bytes, with bytes [0][1] = current block, and bytes [2][3] = total blocks. 0x00030010 = block 3 of 16

Example code starting a firmware update

OpenFileDialog diag = new OpenFileDialog();
diag.Filter = "NGA FW Files|*.fm";
if (diag.ShowDialog() == DialogResult.OK)
{
byte[] file = File.ReadAllBytes(diag.FileName);
RETURN_CODE rt = IDT_Device.SharedController.device_updateDeviceFirmware(file);
if (rt == RETURN_CODE.RETURN_CODE_DO_SUCCESS)
{
//Was a success
}
else
{
//Error starting firmware download
}
}

Example monitoring firmware update status / success

private void MessageCallBack(IDTechSDK.IDT_DEVICE_Types type, DeviceState state, byte[] data, IDTTransactionData cardData, EMV_Callback emvCallback, RETURN_CODE transactionResultCode)
{
switch (state)
{
case DeviceState.FirmwareUpdate:
switch (transactionResultCode)
{
case RETURN_CODE.RETURN_CODE_FW_STARTING_UPDATE:
SetOutputText("Starting Firmware Update\n");
break;
case RETURN_CODE.RETURN_CODE_DO_SUCCESS:
SetOutputText("Firmware Update Successful\n");
break;
case RETURN_CODE.RETURN_CODE_APPLYING_FIRMWARE_UPDATE:
SetOutputText("Applying Firmware Update....\n");
break;
case RETURN_CODE.RETURN_CODE_ENTERING_BOOTLOADER_MODE:
SetOutputText("Entering Bootloader Mode....\n");
break;
case RETURN_CODE.RETURN_CODE_BLOCK_TRANSFER_SUCCESS:
int start = data[0] * 0x100 + data[1];
int end = data[2] * 0x100 + data[3];
SetOutputText("Sent block " + start.ToString() + " of " + end.ToString() + "\n");
break;
default:
SetOutputText("Firmware Update Error Code: " + "0x" + String.Format("{0:X}", (ushort)transactionResultCode) + ": " + IDTechSDK.errorCode.getErrorString(transactionResultCode) + "\r\n");
break;
}
break;
}
}
RETURN_CODE IDTechSDK.IDT_Augusta.device_updateFirmwareFromZip ( byte[]  zipfile,
string  ident = "",
bool  isForeground = false 
)

Update Firmware From Zip

Performs one or more device firmware updates from firmware files passed as a compressed archive with a valid configuration file (.json format)

Parameters
zipfileZip file containing on or more firmware update files and a .json configuration file
identDevice ID to send command to. If not specified, current SDK default device will be used.
isForegroundIf TRUE, will block program until firmware update complete. Otherwise, FALSE performs FW update on background.
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString(string ident = "")
RETURN_CODE IDTechSDK.IDT_Augusta.device_verifyBackdoorKey ( string  ident = "")

Verify Backdoor Key to Unlock Security

For special firmware only (TTK)

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_activateTransaction ( int  timeout,
byte[]  tags,
bool  forceOnline,
bool  isFastEMV = false,
string  ident = "" 
)

Start EMV Transaction Request

Authorizes the EMV transaction for an ICC card

The tags will be returned in the callback routine.

Parameters
timeoutTimeout value in seconds.
tagsThe 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
forceOnlineTRUE = 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
isFastEMVIf 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
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_addTerminalData ( byte[]  tlv,
string  ident = "" 
)

Add Terminal Data

Adds to the exosting Terminal Data

Parameters
tlvTerminalData TLV Data
identOptional identifier
Return values
RETURN_CODEReturn codes listed as typedef enum in IDTCommon:RETURN_CODE. Values can be parsed with IDT_BTPay::device_getResponseCodeString:()
static void IDTechSDK.IDT_Augusta.emv_allowFallback ( bool  allow,
string  ident = "" 
)
static

Allow fallback for EMV transactions. Default is TRUE

Parameters
allowTRUE = allow fallback, FALSE = don't allow fallback
identDevice ID to send command to. If not specified, current SDK default device will be used.
RETURN_CODE IDTechSDK.IDT_Augusta.emv_authenticateTransaction ( byte[]  updatedTLV,
string  ident = "" 
)

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.

Parameters
updatedTLVTLV 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
identDevice ID to send command to. If not specified, current SDK default device will be used.
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
static void IDTechSDK.IDT_Augusta.emv_autoAuthenticate ( bool  authenticate,
string  ident = "" 
)
static

Enables authenticate for EMV transactions. If a startEMVTranaction results in code 0x0010 (start transaction success),

Parameters
authenticateTRUE = auto authenticate, FALSE = manually authenticate
identDevice ID to send command to. If not specified, current SDK default device will be used.
static void IDTechSDK.IDT_Augusta.emv_autoAuthenticateTags ( bool  authenticate,
byte[]  tags,
string  ident = "" 
)
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

Parameters
authenticateTRUE = auto authenticate, FALSE = manually authenticate
tagsTags to pass during authentication stage;
identDevice ID to send command to. If not specified, current SDK default device will be used.
RETURN_CODE IDTechSDK.IDT_Augusta.emv_callbackResponseLCD ( EMV_LCD_DISPLAY_MODE  type,
byte  selection,
string  ident = "" 
)

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

Parameters
typeIf 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
selectionIf 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
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_callbackResponseMSR ( byte[]  MSR,
string  ident = "" 
)

Callback Response MSR Entry

Provides MSR information to kernel after a callback was received with DeviceState.EMVCallback, and callbackType = EMV_CALLBACK_MSR

Parameters
MSRSwiped track data
identDevice ID to send command to. If not specified, current SDK default device will be used
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_callbackResponsePIN ( EMV_PIN_MODE  type,
byte[]  KSN,
byte[]  PIN,
string  ident = "" 
)

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

Parameters
typeIf 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
KSNIf 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)
PINIf encipherd PIN, this is encrypted PIN block. If device does not implement pairing function, this is plaintext PIN
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_cancelTransaction ( string  ident = "")

Cancel EMV Transaction

Cancels the currently executing EMV transaction.

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_completeTransaction ( bool  commError,
byte[]  authCode,
byte[]  iad,
byte[]  tlvScripts,
byte[]  tlv,
string  ident = "" 
)

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.

Parameters
commErrorCommunication 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.
authCodeAuthorization code from host. Two bytes. Example 0x3030. (Tag value 8A). Required
iadIssuer Authentication Data, if any. Example 0x11223344556677883030 (tag value 91).
tlvScripts71/72 scripts, if any
tlvAdditional 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.

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString

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,
string  ident = "" 
)

Get EMV Kernel configuration check value info

Parameters
responseResponse returned of Kernel configuration check value info
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_getEMVKernelCheckValue ( ref string  response,
string  ident = "" 
)

Get EMV Kernel check value info

Parameters
responseResponse returned of Kernel check value info
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_getEMVKernelVersion ( ref string  response,
string  ident = "" 
)

Polls device for EMV Kernel Version

Parameters
responseResponse returned of Kernel Version
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_removeAllApplicationData ( string  ident = "")

Remove All Application Data

Removes all the Application Data

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_removeAllCAPK ( string  ident = "")

Remove All Certificate Authority Public Key

Removes all the CAPK

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_removeAllCRL ( string  ident = "")

Remove All Certificate Revocation List Entries

Removes all CRLEntry entries

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_removeApplicationData ( byte[]  AID,
string  ident = "" 
)

Remove Application Data by AID

Removes the Application Data as specified by the AID name passed as a parameter

Parameters
AIDName of ApplicationID Must be between 5 and 16 bytes
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_removeCAPK ( byte[]  capk,
string  ident = "" 
)

Remove Certificate Authority Public Key

Removes the CAPK as specified by the RID/Index

Parameters
capk6 byte CAPK = 5 bytes RID + 1 byte INDEX
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_removeCRL ( byte[]  crlList,
string  ident = "" 
)

Remove Certificate Revocation List Entries

Removes CRLEntries as specified by the RID and Index and serial number passed as 9 bytes

Parameters
crlListcontaining 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]
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_removeTerminalData ( string  ident = "")

Remove Terminal Data

Removes the Terminal Data

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_retrieveAIDList ( ref byte  response[][],
string  ident = "" 
)

Retrieve AID list

Returns all the AID names installed on the terminal.

Parameters
responsearray of AID name byte arrays
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_retrieveApplicationData ( byte[]  AID,
ref byte[]  tlv,
string  ident = "" 
)

Retrieve Application Data by AID

Retrieves the Application Data as specified by the AID name passed as a parameter.

Parameters
AIDName of ApplicationID. Must be between 5 and 16 bytes
tlvThe TLV elements of the requested AID
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_retrieveCAPK ( byte[]  capk,
ref byte[]  key,
string  ident = "" 
)

Retrieve Certificate Authority Public Key

Retrieves the CAPK as specified by the RID/Index passed as a parameter.

Parameters
capk6 bytes CAPK = 5 bytes RID + 1 byte Index
keyResponse 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:
  • Hash Algorithm: The only algorithm supported is SHA-1.The value is set to 0x01
  • Encryption Algorithm: The encryption algorithm in which this key is used. Currently support only one type: RSA. The value is set to 0x01.
  • HashValue: Which is calculated using SHA-1 over the following fields: RID & Index & Modulus & Exponent
  • Public Key Exponent: Actually, the real length of the exponent is either one byte or 3 bytes. It can have two values: 3 (Format is 0x00 00 00 03), or 65537 (Format is 0x00 01 00 01)
  • Modulus Length: LenL LenH Indicated the length of the next field.
  • Modulus: This is the modulus field of the public key. Its length is specified in the field above.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_retrieveCAPKList ( ref byte[]  keys,
string  ident = "" 
)

Retrieve the Certificate Authority Public Key list

Returns all the CAPK RID and Index installed on the terminal.

Parameters
keys[key1][key2]...[keyn], each key 6 bytes where key = 5 bytes RID + 1 byte index
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_retrieveCRLList ( ref byte[]  list,
string  ident = "" 
)

Retrieve the Certificate Revocation List

Returns the CRL entries on the terminal.

Parameters
list[CRL1][CRL2]...[CRLn], each CRL 9 bytes where CRL = 5 bytes RID + 1 byte index + 3 bytes serial number
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_retrieveTerminalData ( ref byte[]  tlv,
string  ident = "" 
)

Retrieve Terminal Data

Retrieves the Terminal Data.

Parameters
tlvResponse returned as a TLV
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_retrieveTransactionResult ( byte[]  tags,
ref IDTTransactionData  tlv,
string  ident = "" 
)

Retrieve Transaction Results

Retrieves specified EMV tags from the currently executing transaction.

Parameters
tagsTags to be retrieved. Example 0x9F028A will retrieve tags 9F02 and 8A
tlvAll requested tags returned as unencrypted, encrypted and masked TLV data in IDDTransactionData object
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_setApplicationData ( byte[]  name,
byte[]  tlv,
string  ident = "" 
)

Set Application Data by AID

Sets the Application Data as specified by the application name and TLV data

Parameters
nameApplication name, 10-32 ASCII hex characters representing 5-16 bytes Example "a0000000031010"
tlvApplication data in TLV format
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_setCAPK ( byte[]  key,
string  ident = "" 
)

Set Certificate Authority Public Key

Sets the CAPK as specified by the CAKey structure

Parameters
keyCAKey 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:
  • Hash Algorithm: The only algorithm supported is SHA-1.The value is set to 0x01
  • Encryption Algorithm: The encryption algorithm in which this key is used. Currently support only one type: RSA. The value is set to 0x01.
  • HashValue: Which is calculated using SHA-1 over the following fields: RID & Index & Modulus & Exponent
  • Public Key Exponent: Actually, the real length of the exponent is either one byte or 3 bytes. It can have two values: 3 (Format is 0x00 00 00 03), or 65537 (Format is 0x00 01 00 01)
  • Modulus Length: LenL LenH Indicated the length of the next field.
  • Modulus: This is the modulus field of the public key. Its length is specified in the field above.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_setCRL ( byte[]  list,
string  ident = "" 
)

Set Certificate Revocation List

Sets the CRL

Parameters
listCRL 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]
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_setTerminalData ( byte[]  tlv,
string  ident = "" 
)

Set Terminal Data

Sets the Terminal Data

Parameters
tlvTerminalData TLV Data
identOptional identifier
Return values
RETURN_CODEReturn 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,
string  ident = "" 
)

Set Terminal Major Configuration

Sets the Terminal Data Major Configuration setting

Parameters
configurationThe configuration to set (1-5)
Return values
RETURN_CODEReturn 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,
string  ident = "" 
)

Start EMV Transaction Request

Authorizes the EMV transaction for an ICC card

The tags will be returned in the callback routine.

Parameters
amountTransaction amount value (tag value 9F02)
amtOtherOther amount value, if any (tag value 9F03)
exponentNumber of characters after decimile point
typeTransaction type (tag value 9C).
timeoutTimeout value in seconds.
tagsAny 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.
forceOnlineTRUE = 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
isFastEMVIf 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
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.emv_trySetTerminalData ( byte[]  tlv,
ref byte[]  rejectedTLV,
ref byte[]  convertedTLV,
bool  overwrite = false,
string  ident = "" 
)

Try to Set Terminal Data

Atempts to set the Terminal Data. Use this functions to attempt to set the terminal data to the device. This function will allow the cross-device tag compatible writing of IDTech Legacy/New tag definitions

Parameters
tlvTerminalData TLV Data
rejectedTLVContains the tags (if any) that were rejected by the firmware
convertedTLVContains the tags (if any) that were converted and accepted by the firmware
overwriteTRUE = add TLV to existing tags, FALSE = replace existing tags with TLV
identOptional identifier
Return values
RETURN_CODEReturn codes listed as typedef enum in IDTCommon:RETURN_CODE. Values can be parsed with IDT_BTPay::device_getResponseCodeString:()
static int IDTechSDK.IDT_Augusta.getCommandTimeout ( string  ident = "")
static

Get Command Timeout

Gets the default timeout (in milliseconds) waiting for a blocking command response

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Return values
timeTime
RETURN_CODE IDTechSDK.IDT_Augusta.icc_disable ( string  ident = "")

ICC Function enable/disable Disable ICC function

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.icc_enable ( bool  withNotification,
string  ident = "" 
)

ICC Function enable/disable Enable ICC function with or without seated notification

Parameters
withNotification
  • true: with notification when ICC seated status changed,
  • false: without notification.
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.icc_exchangeAPDU ( string  c_APDU,
ref byte[]  response,
string  ident = "" 
)

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.

Parameters
c_APDUAPDU data packet
responseUnencrypted APDU response
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.icc_exchangeEncryptedAPDU ( string  c_APDU,
ref byte[]  response,
string  ident = "" 
)

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.

Parameters
c_APDUKSN + 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:

  • m = 2 bytes Valid C-APDU Length + x bytes Valid C-APDU + y bytes Padding (0x00) Note: For TDES mode: 2+x should be multiple of 8. If it was not multiple of 8, unit should padded y bytes 0x00 automatically (2+x+y should be multiple of 8). For AES mode: 2+x should be multiple of 16. If it was not multiple of 16, unit should padded y bytes 0x00 automatically (2+x+y should be multiple of 16).
Parameters
responseencrypted APDU response. Can be three options:
  • [00] + [Plaintext R-APDU]
  • [01] + [0A] + [KSN] + [n bytes Encrypted R-APDU without Status Bytes] + [2 bytes Status Bytes]
  • [01] + [00] + [n bytes Encrypted R-APDU without Status Bytes] + [2 bytes Status Bytes]

    The KSN, when provided, will be 10 bytes. The KSN will only be provided when it has changed since the last provided KSN. Each card Power-On generates a new KSN. During a sequence of commands where the KSN is identical, the first response will have a KSN length set to [0x0A] followed by the KSN, while subsequent commands with the same KSN value will have a KSN length of [0x00] followed by the Encrypted R-APDU without Status Bytes.

identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.icc_getAPDU_KSN ( ref byte[]  ksn,
string  ident = "" 
)

Get APDU KSN

Retrieves the KSN used in ICC Encypted APDU usage

Parameters
ksnReturns the encrypted APDU packet KSN
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.icc_getFunctionStatus ( ref bool  enabled,
ref bool  withNotification,
string  ident = "" 
)

Get ICC Function status Get ICC Function status about enable/disable and with or without seated notification

Parameters
enabled
  • true: ICC Function enabled,
  • false: means disabled.
withNotificationtrue means with notification when ICC seated status changed. false means without notification.
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.icc_getICCReaderStatus ( ref byte  status,
string  ident = "" 
)

Get Reader Status

Returns the reader status

Parameters
statusPointer 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
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.icc_getKeyFormatForICCDUKPT ( ref byte  format,
string  ident = "" 
)

Get Key Format For ICC DUKPT

Specifies how data will be encrypted with Data Key or PIN key (if DUKPT key loaded)

Parameters
formatResponse returned from method:
  • 'TDES': Encrypted card data with TDES if DUKPT Key had been loaded.(default)
  • 'AES': Encrypted card data with AES if DUKPT Key had been loaded.
  • 'NONE': No Encryption.
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.icc_getKeyTypeForICCDUKPT ( ref byte  type,
string  ident = "" 
)

Get Key Type for ICC DUKPT

Specifies the key type used for ICC DUKPT encryption

Parameters
typeResponse returned from method:
  • 'DATA': Encrypted card data with Data Key DUKPT Key had been loaded.(default)
  • 'PIN': Encrypted card data with PIN Key if DUKPT Key had been loaded.
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.icc_getSetting ( byte  setting,
ref byte  value,
string  ident = "" 
)

Get Single ICC Setting value

Returns the encryption used for sweip data

Parameters
settingICC Setting to retrieve
valueICC Setting value
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.icc_getSettings ( byte  setting,
ref byte[]  value,
string  ident = "" 
)

Get Multi ICC Setting value

Returns the encryption used for sweip data

Parameters
settingICC Setting to retrieve
valueICC Setting value
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.icc_powerOffICC ( string  ident = "")

Power Off ICC

Powers down the ICC

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString

If Success, empty If Failure, ASCII encoded data of error string

RETURN_CODE IDTechSDK.IDT_Augusta.icc_powerOnICC ( ref byte[]  ATR,
string  ident = "" 
)

Power On ICC

Power up the currently selected microprocessor card in the ICC reader

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.icc_setKeyFormatForICCDUKPT ( byte  encryption,
string  ident = "" 
)

Set Key Format for ICC DUKPT

Sets how data will be encrypted, with either TDES or AES (if DUKPT key loaded)

Parameters
encryptionEncryption Type
  • 00: Encrypt with TDES
  • 01: Encrypt with AES
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.icc_setKeyTypeForICCDUKPT ( byte  encryption,
string  ident = "" 
)

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)

Parameters
encryptionEncryption Type
  • 00: Encrypt with Data Key
  • 01: Encrypt with PIN Key
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.icc_setSetting ( byte  setting,
byte  value,
string  ident = "" 
)

Set Single ICC Setting value

Parameters
settingICC Setting to set
valueICC Setting value
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.icc_setSetting ( byte  setting,
byte[]  value,
string  ident = "" 
)

Set Multi ICC Setting value

Parameters
settingICC Setting to set
valueICC Setting value
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
static void IDTechSDK.IDT_Augusta.lcd_retrieveMessage ( DisplayMessages.DISPLAY_MESSAGE_LANGUAGE  lang,
DisplayMessages.DISPLAY_MESSAGE_IDENTIFIER  id,
ref string  line1,
ref string  line2 
)
static

Retrieve LCD Message

Returns the string value for a message ID returned for LCD messaging

Parameters
langLanguage.
idMessage ID
line1Line 1 string value
line2Line 2 string value
identDevice ID to send command to. If not specified, current SDK default device will be used.
RETURN_CODE IDTechSDK.IDT_Augusta.msr_cancelMSRSwipe ( string  ident = "")

Disable MSR Swipe Cancels MSR swipe request.

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.msr_captureMode ( bool  isBufferMode,
bool  withNotification = false,
string  ident = "" 
)

Set MSR Capture Mode.

For Non-SRED Augusta Only

Switch between Auto mode and Buffer mode. Auto mode only available on KB interface

Parameters
isBufferMode
  • true: Enter into Buffer mode.
  • false: Enter into Auto mode. KB mode only. Swipes automatically captured and sent to keyboard buffer
withNotification
  • true: with notification when swiped MSR data.
  • false: without notification when swiped MSR data.
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.msr_disable ( string  ident = "")

Disable MSR function.

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.msr_getClearPANID ( ref byte  value,
string  ident = "" 
)

Get Clear PAN Digits

Returns the number of digits that begin the PAN that will be in the clear

Parameters
valueNumber of digits in clear. Values are char '0' - '6':
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.msr_getExpirationMask ( ref byte  value,
string  ident = "" 
)

Get Expiration Masking

Get the flag that determines if to mask the expiration date

Parameters
value'0' = masked, '1' = not-masked
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.msr_getFunctionStatus ( ref bool  enabled,
ref bool  isBufferMode,
ref bool  withNotification,
string  ident = "" 
)

Get MSR Function status Get MSR Function status about enable/disable and with or without seated notification

Parameters
enabled
  • true: MSR Function enabled.
  • false: MSR Function disabled.
isBufferMode
  • true: in the buffer mode.
  • false: in the auto mode.
withNotification
  • true: with notification when swiped MSR Card.
  • false: without notification when swiped MSR Card.
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.msr_getSetting ( byte  setting,
ref byte  value,
string  ident = "" 
)

Get Single MSR Setting value

Returns the encryption used for sweip data

Parameters
settingMSR Setting to retrieve
valueMSR Setting value
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.msr_getSettings ( byte  setting,
ref byte[]  value,
string  ident = "" 
)

Get Multi MSR Setting value

Returns the encryption used for sweip data

Parameters
settingMSR Setting to retrieve
valueMSR Setting value
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.msr_getSwipeEncryption ( ref byte  encryption,
string  ident = "" 
)

Get Swipe Data Encryption

For Non-SRED Augusta Only

Returns the encryption used for swipe data

Parameters
encryption1 = TDES, 2 = AES, 0 = NONE
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.msr_getSwipeForcedEncryptionOption ( ref byte  option,
string  ident = "" 
)

Get Swipe Data Encryption

Gets the swipe force encryption options

Parameters
optionByte 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

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.msr_getSwipeMaskOption ( ref byte  option,
string  ident = "" 
)

Get Swipe Mask Option

Gets the swipe mask/clear data sending option

Parameters
optionByte 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

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.msr_RetrieveWhiteList ( ref byte[]  value,
string  ident = "" 
)

Retrieve MSR White List

For Non-SRED Augusta Only

Parameters
valueis the white list data which is ASN.1 Block format
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.msr_setClearPANID ( byte  val,
string  ident = "" 
)

Set Clear PAN Digits

Sets the amount of digits shown in the clear (not masked) at the beginning of the returned PAN value

Parameters
valNumber of digits to show in clear. Range 0-6.
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.msr_setExpirationMask ( bool  mask,
string  ident = "" 
)

Set Expiration Masking

Sets the flag to mask the expiration date

Parameters
maskTRUE = mask expiration
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.msr_setSetting ( byte  setting,
byte  value,
string  ident = "" 
)

Set Single MSR Setting value

Parameters
settingMSR Setting to set
valueMSR Setting value
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.msr_setSettings ( byte  setting,
byte[]  value,
string  ident = "" 
)

Set Multi MSR Setting value

Parameters
settingMSR Setting to set
valueMSR Setting value
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.msr_setSwipeEncryption ( byte  encryption,
string  ident = "" 
)

Set Swipe Data Encryption

For Non-SRED Augusta Only

Sets the swipe encryption method

Parameters
encryption1 = TDES, 2 = AES
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.msr_setSwipeForcedEncryptionOption ( bool  track1,
bool  track2,
bool  track3,
bool  track3card0,
string  ident = "" 
)

Set Swipe Force Encryption

Sets the swipe force encryption options

Parameters
track1Force encrypt track 1
track2Force encrypt track 2
track3Force encrypt track 3
track3card0Force encrypt track 3 when card type is 0
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.msr_setSwipeMaskOption ( bool  track1,
bool  track2,
bool  track3,
string  ident = "" 
)

Set Swipe Mask Option

Sets the swipe mask/clear data sending option

Parameters
track1Mask track 1 allowed
track2Mask track 2 allowed
track3Mask track 3 allowed
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.msr_setWhiteList ( byte[]  value,
byte[]  MAC,
string  ident = "" 
)

Set MSR White List

For Non-SRED Augusta Only

Parameters
valuethe white list data which is ASN.1 Block format
MACMessage Authenticate Code. For non-PCI, use null
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.msr_setWhiteListFromBDK ( byte[]  val,
byte[]  BDK,
string  ident = "" 
)

Set MSR White List from BDK

For SRED Augusta Only

Parameters
valuethe white list data which is ASN.1 Block format
BDKThe Device BDK
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.msr_startMSRSwipe ( int  timeout,
string  ident = "" 
)

Enable MSR Swipe

Enables MSR, waiting for swipe to occur. Allows track selection. Returns IDTMSRData instance to deviceDelegate::swipeMSRData:()

Parameters
timeoutSwipe Timeout Value
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
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

Parameters
bIsUSBKeyboardModeUSB interface mode
  • true: Enter into USB Keyboard mode
  • false: Enter into USB HID mode
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_Augusta.msr_switchUSBInterfaceMode ( bool  bIsUSBKeyboardMode,
ref string  ident 
)

Switch the USB interface mode between USB HID and USB KB mode.

For Non-SRED Augusta Only

Parameters
bIsUSBKeyboardModeUSB interface mode
  • true: Enter into USB Keyboard mode
  • false: Enter into USB HID mode
identDevice ID to send command to.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
static String IDTechSDK.IDT_Augusta.SDK_Version ( )
static

SDK Version

  • All Devices

Returns the current version of SDK

Returns
Framework version
static void IDTechSDK.IDT_Augusta.setCallback ( CallBack  my_Callback)
static

Set Callback

Sets the class callback

Parameters
my_CallbackThe 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);
identDevice ID to send command to. If not specified, current SDK default device will be used.
static void IDTechSDK.IDT_Augusta.setCallback ( IntPtr  my_Callback,
SynchronizationContext  context 
)
static

Set Callback

Sets the class callback

Parameters
my_CallbackThe callback function to receive the response message from device. defined as follows. public unsafe delegate void MFCCallBack(Parameters parameters);
contextThe context of the UI thread
static void IDTechSDK.IDT_Augusta.setCommandTimeout ( int  milliseconds,
string  ident = "" 
)
static

Set Command Timeout

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.

Sets the default timeout (in milliseconds) waiting for a blocking command response

Parameters
millisecondsTime

Property Documentation

IDT_Augusta IDTechSDK.IDT_Augusta.SharedController
staticget

Singleton Instance

Establishes an singleton instance of IDT_Augusta class.

Returns
Instance of IDT_Augusta

The documentation for this class was generated from the following file: