IDTech Android SDK Guide  1.00.133
API reference for Augusta
com.idtechproducts.device.IDT_Augusta Class Reference

Public Member Functions

 IDT_Augusta (OnReceiverListener callback, Context context, boolean isTTK, boolean isSRED, boolean isThales)
 
boolean device_setDeviceType (ReaderInfo.DEVICE_TYPE deviceType, boolean isTTK, boolean isSRED, boolean isThales)
 
boolean device_isTTK ()
 
boolean device_isThales ()
 
boolean device_isSRED ()
 
 IDT_Augusta (OnReceiverListener callback, Context context)
 
boolean device_setDeviceType (ReaderInfo.DEVICE_TYPE deviceType)
 
int device_getDRS (ResDataStruct respData)
 
int device_verifyBackdoorKey ()
 
int device_selfCheck ()
 
int device_rebootDevice ()
 
void setIDT_Device (FirmwareUpdateTool fwTool)
 
DEVICE_TYPE device_getDeviceType ()
 
void registerListen ()
 
void unregisterListen ()
 
void release ()
 
String config_getSDKVersion ()
 
String config_getXMLVersionInfo ()
 
String phone_getInfoManufacture ()
 
String phone_getInfoModel ()
 
void log_setVerboseLoggingEnable (boolean enable)
 
void log_setSaveLogEnable (boolean enable)
 
int log_deleteLogs ()
 
void config_setXMLFileNameWithPath (String path)
 
boolean config_loadingConfigurationXMLFile (boolean updateAutomatically)
 
boolean device_connectWithProfile (StructConfigParameters profile)
 
boolean device_isConnected ()
 
int device_startRKI ()
 
int device_startTransaction (double amount, double amtOther, int type, final int timeout, byte[] tags)
 
int device_startTransaction (double amount, double amtOther, int type, final int timeout, byte[] tags, boolean isFastEMV)
 
int autoConfig_start (String strXMLFilename)
 
void autoConfig_stop ()
 
int device_getFirmwareVersion (StringBuilder version)
 
int device_controlBeep (int index, int frequency, int duration)
 
int device_controlLED (byte indexLED, byte control, int intervalOn, int intervalOff)
 
int device_controlLED_ICC (int controlMode, int interval)
 
int device_setDateTime (byte[] mac)
 
int device_getKeyStatus (ResDataStruct respData)
 
int config_setBeeperController (boolean firmwareControlBeeper)
 
int config_setLEDController (boolean firmwareControlMSRLED, boolean firmwareControlICCLED)
 
int config_setEncryptionControl (byte Encryption)
 
int config_setEncryptionControl (boolean msr, boolean icc)
 
int config_getEncryptionControl (ResDataStruct respData)
 
int icc_setKeyTypeForICCDUKPT (byte encryption)
 
int icc_getKeyTypeForICCDUKPT (ResDataStruct respData)
 
int icc_setKeyFormatForICCDUKPT (byte encryption)
 
int icc_getKeyFormatForICCDUKPT (ResDataStruct respData)
 
int icc_enable (boolean withNotification)
 
int icc_disable ()
 
int icc_getFunctionStatus (ResDataStruct respData)
 
int emv_getEMVKernelVersion (StringBuilder version)
 
int emv_getEMVKernelCheckValue (ResDataStruct respData)
 
int emv_getEMVConfigurationCheckValue (ResDataStruct respData)
 
int emv_removeAllApplicationData ()
 
int emv_removeAllCAPK ()
 
int emv_removeAllCRL ()
 
int emv_retrieveTransactionResult (byte[] tags, Map< String, Map< String, byte[]>> retrievedTags)
 
int config_getSerialNumber (StringBuilder serialNumber)
 
int config_getModelNumber (StringBuilder modNumber)
 
int icc_getAPDU_KSN (byte KeyNameIndex, byte[] KeySlot, ResDataStruct resKSN)
 
String device_getResponseCodeString (int errorCode)
 
int device_sendDataCommand (String cmd, boolean calcLRC, String data, ResDataStruct respData, int timeout)
 
int device_sendDataCommand (String cmd, boolean calcLRC, String data, ResDataStruct respData)
 
int icc_getICCReaderStatus (ICCReaderStatusStruct ICCStatus)
 
int icc_powerOnICC (ResDataStruct atrPPS)
 
int icc_reviewAllSetting (ICCSettingStruct iccSetting)
 
int icc_passthroughOnICC ()
 
int icc_passthroughOffICC ()
 
int icc_powerOffICC (ResDataStruct respData)
 
int icc_exchangeAPDU (byte[] dataAPDU, APDUResponseStruct response)
 
int emv_retrieveApplicationData (String aid, ResDataStruct respData)
 
int emv_removeApplicationData (String aid, ResDataStruct respData)
 
int emv_setApplicationData (String aid, byte[] TLV, ResDataStruct respData)
 
int emv_retrieveTerminalData (ResDataStruct respData)
 
int emv_removeTerminalData (ResDataStruct respData)
 
int emv_setTerminalData (byte[] TLV, ResDataStruct respData)
 
int emv_retrieveAidList (ResDataStruct respData)
 
int emv_retrieveCAPK (byte[] data, ResDataStruct respData)
 
int emv_removeCAPK (byte[] capk, ResDataStruct respData)
 
int emv_setCAPK (byte[] key, ResDataStruct respData)
 
int emv_retrieveCAPKList (ResDataStruct respData)
 
int emv_retrieveCRL (ResDataStruct respData)
 
int emv_removeCRL (byte[] crlList, ResDataStruct respData)
 
int emv_setCRL (byte[] crlList, ResDataStruct respData)
 
int emv_startTransaction (double amount, double amtOther, int type, final int timeout, byte[] tags, boolean forceOnline)
 
int emv_cancelTransaction (ResDataStruct respData)
 
void emv_lcdControlResponse (byte mode, byte data)
 
int emv_authenticateTransaction (byte[] tags)
 
int emv_completeTransaction (boolean commError, byte[] authCode, byte[] iad, byte[] tlvScripts, byte[] tags)
 
int msr_reviewAllSetting (MSRSettingStruct msrSetting)
 
int msr_defaultAllSetting ()
 
int msr_getSingleSetting (byte funcID, byte[] response)
 
int msr_setSingleSetting (byte funcID, byte setData)
 
int msr_cancelMSRSwipe ()
 
int msr_startMSRSwipe ()
 
int msr_startMSRSwipe (int timeout)
 
int msr_setExpirationMask (boolean mask)
 
int msr_getExpirationMask (ResDataStruct respData)
 
int msr_setClearPANID (byte value)
 
int msr_getClearPANID (ResDataStruct respData)
 
int msr_getSwipeForcedEncryptionOption (ResDataStruct respData)
 
int msr_setSwipeForcedEncryptionOption (boolean track1, boolean track2, boolean track3, boolean track3card0)
 
int msr_getSwipeMaskOption (ResDataStruct respData)
 
int msr_setSwipeMaskOption (boolean track1, boolean track2, boolean track3)
 
int msr_getSetting (byte setting, ResDataStruct respData)
 
int msr_setSetting (byte setting, byte val)
 
int msr_setSwipeEncryption (byte encryption)
 
int msr_getSwipeEncryption (ResDataStruct respData)
 
int msr_enableBufferMode (boolean isBufferMode, boolean withNotification)
 
int msr_disable ()
 
int msr_setWhiteList (byte[] val)
 
int msr_RetrieveWhiteList (ResDataStruct respData)
 
int msr_getFunctionStatus (ResDataStruct respData)
 
int ctls_startTransaction ()
 
int ctls_cancelTransaction ()
 

Static Public Member Functions

static IDT_Device getSDKInstance ()
 
static void useUSBIntentFilter ()
 
static IDT_Device getIDT_Device ()
 
static void emv_allowFallback (boolean allow)
 
static void emv_setAutoAuthenticateTransaction (boolean auto)
 
static boolean emv_getAutoAuthenticateTransaction ()
 
static void emv_setAutoCompleteTransaction (boolean auto)
 
static boolean emv_getAutoCompleteTransaction ()
 

Constructor & Destructor Documentation

◆ IDT_Augusta() [1/2]

com.idtechproducts.device.IDT_Augusta.IDT_Augusta ( OnReceiverListener  callback,
Context  context,
boolean  isTTK,
boolean  isSRED,
boolean  isThales 
)

It is the constructor of the main class IDT_Augusta. When it is called, the SDK will create the Instance for IDT_Augusta device. The interface OnReceiverListner needs to be implemented in the application.

Parameters
callbackOnReceiverListener callback
contextApplication context
isTTKTrue if TTK device
isSREDTrue if SRED device
isThalesTrue if Thales device

◆ IDT_Augusta() [2/2]

com.idtechproducts.device.IDT_Augusta.IDT_Augusta ( OnReceiverListener  callback,
Context  context 
)

It is the constructor of the main class IDT_Augusta. When it is called, the SDK will create the Instance for IDT_Augusta device. The interface OnReceiverListner needs to be implemented in the application.

Parameters
callbackOnReceiverListener callback
contextApplication context

Member Function Documentation

◆ autoConfig_start()

int com.idtechproducts.device.IDT_Augusta.autoConfig_start ( String  strXMLFilename)

start Auto Config to search the profile.

Parameters
strXMLFilenameInput the customized XML file as the templates to search the profile.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ autoConfig_stop()

void com.idtechproducts.device.IDT_Augusta.autoConfig_stop ( )

stop Auto Config.

Returns
null.

◆ config_getEncryptionControl()

int com.idtechproducts.device.IDT_Augusta.config_getEncryptionControl ( ResDataStruct  respData)

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
respDataResponse Body is 78 01 07 02 <Option> <00> The Option is stored in the variable encryptionOption: -bit 0:
  • true: enabled MSR with Encryption,
  • false: disabled MSR with Encryption, -bit 1:
  • true: enabled ICC with Encryption,
  • false: disabled ICC with Encryption,
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ config_getModelNumber()

int com.idtechproducts.device.IDT_Augusta.config_getModelNumber ( StringBuilder  modNumber)

Get the model number of device.

Parameters
modNumberreturns Model Number string.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ config_getSDKVersion()

String com.idtechproducts.device.IDT_Augusta.config_getSDKVersion ( )

READER CONFIG API LIST Get the version of SDK.

Parameters
sdkVersionfor version string.
Returns
success or error code.
See also
ErrorCode

◆ config_getSerialNumber()

int com.idtechproducts.device.IDT_Augusta.config_getSerialNumber ( StringBuilder  serialNumber)

Get the serial number of device.

Parameters
serialNumberreturns Serial Number string.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ config_getXMLVersionInfo()

String com.idtechproducts.device.IDT_Augusta.config_getXMLVersionInfo ( )

Get XML configuration version.

Returns
the version info.

◆ config_loadingConfigurationXMLFile()

boolean com.idtechproducts.device.IDT_Augusta.config_loadingConfigurationXMLFile ( boolean  updateAutomatically)

Load XML Configuration File.

Parameters
xmlFilename,XMLConfiguration File Name.
Returns
none

◆ config_setBeeperController()

int com.idtechproducts.device.IDT_Augusta.config_setBeeperController ( boolean  firmwareControlBeeper)

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

Parameters
firmwareControlBeepertrue means firmware control the beeper, false means software control beeper.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ config_setEncryptionControl() [1/2]

int com.idtechproducts.device.IDT_Augusta.config_setEncryptionControl ( byte  Encryption)

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
Encryptionbit 0 msr:
  • true: enable MSR with Encryption,
  • false: disable MSR with Encryption, bit 1 icc:
  • true: enable ICC with Encryption,
  • false: disable ICC with Encryption,
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ config_setEncryptionControl() [2/2]

int com.idtechproducts.device.IDT_Augusta.config_setEncryptionControl ( boolean  msr,
boolean  icc 
)

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,
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ config_setLEDController()

int com.idtechproducts.device.IDT_Augusta.config_setLEDController ( boolean  firmwareControlMSRLED,
boolean  firmwareControlICCLED 
)

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
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ config_setXMLFileNameWithPath()

void com.idtechproducts.device.IDT_Augusta.config_setXMLFileNameWithPath ( String  path)

set XML Configuration File Name with the full path.

Parameters
xmlFilename,XMLConfiguration File Name.
Returns
none

◆ ctls_cancelTransaction()

int com.idtechproducts.device.IDT_Augusta.ctls_cancelTransaction ( )

Cancel CTLS Transaction

Cancels the currently executing CTLS transaction.

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ ctls_startTransaction()

int com.idtechproducts.device.IDT_Augusta.ctls_startTransaction ( )

Enable CTLS interface. Returns encrypted data by call back function.
The function swipeMSRData in interface OnReceiverListener will be called if contactless data received.

See also
OnReceiverListener
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_connectWithProfile()

boolean com.idtechproducts.device.IDT_Augusta.device_connectWithProfile ( StructConfigParameters  profile)

connect the device with Profile.

Parameters
profile,theprofile is the one which is the result from Auto config.
Returns
true: success, false: fail.

◆ device_controlBeep()

int com.idtechproducts.device.IDT_Augusta.device_controlBeep ( int  index,
int  frequency,
int  duration 
)

Retrieves Audio Jack setting.

Parameters
responseresponse[0]: baud rate of the device connected.
response[1]: level option of the device output signals.
response[2]: the number of prefix "55", and end with "66".
Returns
success or error code.
See also
ErrorCode Control beep of the device.
Parameters
indexthe value can only be 1.
frequencythe frequency of the beep.
durationthe duration of the beep.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_controlLED()

int com.idtechproducts.device.IDT_Augusta.device_controlLED ( byte  indexLED,
byte  control,
int  intervalOn,
int  intervalOff 
)

Control LED of the device.

Parameters
indexLEDthe value can only be 1.
controlthe led options.
intervalOnthe led on interval between 200ms and 2000ms.
intervalOffthe led off interval between 200ms and 2000ms.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_controlLED_ICC()

int com.idtechproducts.device.IDT_Augusta.device_controlLED_ICC ( int  controlMode,
int  interval 
)

Control LED of the device.

Parameters
controlMode0: Off, 1: Solid, 2: Blink.
intervalOnly valid while controlMode is 2. The value can be 500, 1000, or 1500ms.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_getDeviceType()

DEVICE_TYPE com.idtechproducts.device.IDT_Augusta.device_getDeviceType ( )

Gets type of device

◆ device_getDRS()

int com.idtechproducts.device.IDT_Augusta.device_getDRS ( ResDataStruct  respData)

Get DRS

Parameters
respData.resDataResponse Body is <DRS sourceblk="" number>=""> <SourceBlk1> … [<SourceBlkN>] Where: DRS –Destructive Reset <DRS sourceblk="" number>=""> is 2 bytes, format is NumL NumH. It is Number of <SourceBlkX> <SourceBlkX> is n bytes, Format is <SourceID> <SourceLen> <SourceData> <SourceID> is 1 byte <SourceLen> is 1 byte, it is length of <SourceData>

Item | SourceID | SourceLen | SourceData

Master Chip Check Value Error | 00 | 1 | 01 – Application Error

Slave Chip Check Value Error | 01 | 1 | 01 – Application Error

Korea Self-Test Error | 02 | 1 | 0x01 – EMV L2 Configuration Check Value Error

| | | 0x02 – Future Key Check Value Error

Battery | 10 | 1 | 01 – Battery Error

Tamper Switch | 11 | 1 | Bit 0 – Tamper Switch 1 (0-No, 1-Error) | | | Bit 1 – Tamper Switch 2 (0-No, 1-Error) | | | Bit 2 – Tamper Switch 3 (0-No, 1-Error) | | | Bit 3 – Tamper Switch 4 (0-No, 1-Error) | | | Bit 4 – Tamper Switch 5 (0-No, 1-Error)

| | | Bit 5 – Tamper Switch 6 (0-No, 1-Error)

Temperature | 12 | 1 | 01 –TemperatureHigh or Low

Voltage | 13 | 1 | 01 –Voltage High or Low

Other | 1F | 4 | Reg31~24bits, Reg23~16bits, | | | Reg15~8bits, Reg7~0bits

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_getFirmwareVersion()

int com.idtechproducts.device.IDT_Augusta.device_getFirmwareVersion ( StringBuilder  version)

DEVICE INFO API Get the firmware version of device.

Parameters
versionfor version string.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_getKeyStatus()

int com.idtechproducts.device.IDT_Augusta.device_getKeyStatus ( ResDataStruct  respData)

get key status of the device

Parameters
respData.resDataFor Augusta: Response Body is PIN DUKPT Status + PIN Master Key Status + PIN Session Key Status + Data encryption KeyStatus + Data encryption KeyStatus + RKI-KEK

Where:

Key | Status | Note

PIN DUKPT Key | 0: None. | | 1: Exist | Does not support this key. Always 0

| 0xFF: STOP |

PIN Master Key | 0: None |

| 1: At least Exist a Master Key | Does not support this key. Always 0

PIN Session Key | 0: None. |

| 1: Exist | Does not support this key. Always 0

Data encryption Key/MSRDUKPT Key | 0: None. | | 1: Exist |

| 0xFF: STOP |

Data encryption Key/ICC DUKPT Key | 0: None. | | 1: Exist |

| 0xFF: STOP |

RKI-KEK | 0: None. | | 1: Exist |

| 0xFF: STOP |

For Augusta S TTK <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 and <80000426-001 KeyNameIndex Database – V51.xls> <key slot>=""> is 2 bytes. Range is 0 – 9999 <key status>=""> is 1 byte. 0 – Not Exist 1 – Exist 0xFF – (Stop. Only Valid for DUKPT Key)

Support <Key index="" and="" key="" name>=""> Table

KeyNameIndex | Key Name | Definition | Key Slot

0x14 | LCL-KEK | Encrypt Other Keys | 0 0x02 | Data encryption Key | Encrypt ICC | 0 0x05 | MAC DUKPT Key | Host-Device – MAC Verification | 0 0x05 | MTK DUKPT Key | TTK Self-Test | 16 0x0C | RKI-KEK | Remote Key Injection | 0

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_getResponseCodeString()

String com.idtechproducts.device.IDT_Augusta.device_getResponseCodeString ( int  errorCode)

Get Response Code String

Interpret a response code and return string description.

Parameters
errorCodeError code, range 0x0000 - 0xFFFF, example 0x0300
Returns
Verbose error description

◆ device_isConnected()

boolean com.idtechproducts.device.IDT_Augusta.device_isConnected ( )

get the status if the device connected.

Returns
true: connected, false: disconnected

◆ device_isSRED()

boolean com.idtechproducts.device.IDT_Augusta.device_isSRED ( )

Check if the device is SRED

Returns
true if it is SRED, otherwise false.

◆ device_isThales()

boolean com.idtechproducts.device.IDT_Augusta.device_isThales ( )

Check if the device is Thales

Returns
true if it is Thales, otherwise false.

◆ device_isTTK()

boolean com.idtechproducts.device.IDT_Augusta.device_isTTK ( )

Check if the device is TTK

Returns
true if it is TTK, otherwise false.

◆ device_rebootDevice()

int com.idtechproducts.device.IDT_Augusta.device_rebootDevice ( )

Reboot device.The device will restart and need to reconnect device if success.

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_selfCheck()

int com.idtechproducts.device.IDT_Augusta.device_selfCheck ( )

Self check for TTK If Self-Check function Failed, then work into De-activation State. If device work into De-activation State, All Sensitive Data will be erased and it need be fixed in Manufacture.

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_sendDataCommand() [1/2]

int com.idtechproducts.device.IDT_Augusta.device_sendDataCommand ( String  cmd,
boolean  calcLRC,
String  data,
ResDataStruct  respData,
int  timeout 
)

Send a direct command to device

Sends a command represented by the provide string to the device.

Parameters
cmdNSData 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}'
dataIgnored. Not applicable for use with Augusta's NGA protocol
responseReturns response ResDataStruct.respData
timeoutCommand timeout in seconds
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_sendDataCommand() [2/2]

int com.idtechproducts.device.IDT_Augusta.device_sendDataCommand ( String  cmd,
boolean  calcLRC,
String  data,
ResDataStruct  respData 
)

Send a direct command to device

Sends a command represented by the provide string to the device.

Parameters
cmdNSData 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}'
dataIgnored. Not applicable for use with Augusta's NGA protocol
responseReturns response ResDataStruct.respData
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_setDateTime()

int com.idtechproducts.device.IDT_Augusta.device_setDateTime ( byte []  mac)

set date and time of the device

Parameters
mac<MAC data>=""> is: For Non-PCI device, Not Exist For PCI device, it is Fix30 bytes data: <MAC value="" length>=""> is 2 byte – Fix is 0x10 0x00 <MAC value>=""> is 16 bytes –Please refer to “Verification Algorithm” section.MAC value is MAC-HOST.The msgX is“78 53 01 50 <FunLen> <Date/Time Length> <Date/Time> <MAC length>=""> <MAC value="" length>="">” <MAC key="" ksn="" length>=""> is 2 byte – Fix is 0x0A 0x00 <MAC key="" ksn>=""> is 10 bytes – MAC DUKPT Key KSN
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_setDeviceType() [1/2]

boolean com.idtechproducts.device.IDT_Augusta.device_setDeviceType ( ReaderInfo.DEVICE_TYPE  deviceType,
boolean  isTTK,
boolean  isSRED,
boolean  isThales 
)

Defines connection USB

Parameters
deviceTypeDEVICE_TYPE.DEVICE_AUGUSTA
isTTKTrue if TTK device
isSREDTrue if SRED device
isThalesTrue if Thales device

◆ device_setDeviceType() [2/2]

boolean com.idtechproducts.device.IDT_Augusta.device_setDeviceType ( ReaderInfo.DEVICE_TYPE  deviceType)

Defines connection USB

Parameters
deviceTypeDEVICE_TYPE.DEVICE_AUGUSTA

◆ device_startRKI()

int com.idtechproducts.device.IDT_Augusta.device_startRKI ( )

Start remote key injection.

Returns
success or error code.
See also
ErrorCode

◆ device_startTransaction() [1/2]

int com.idtechproducts.device.IDT_Augusta.device_startTransaction ( double  amount,
double  amtOther,
int  type,
final int  timeout,
byte []  tags 
)

Start Device Transaction Request

Authorizes the MSR (or CTLS) or 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)
typeTransaction type (tag value 9C).
timeoutTimeout value in seconds.
tagsAny other tags to be included in the request. Passed as a string. Example, tag 9F02 with amount 0x000000000100 would be "9F0206000000000100" 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. 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
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_startTransaction() [2/2]

int com.idtechproducts.device.IDT_Augusta.device_startTransaction ( double  amount,
double  amtOther,
int  type,
final int  timeout,
byte []  tags,
boolean  isFastEMV 
)

Start Device Transaction Request

Authorizes the MSR (or CTLS) or 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)
typeTransaction type (tag value 9C).
timeoutTimeout value in seconds.
tagsAny other tags to be included in the request. Passed as a string. Example, tag 9F02 with amount 0x000000000100 would be "9F0206000000000100" 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. 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
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_verifyBackdoorKey()

int com.idtechproducts.device.IDT_Augusta.device_verifyBackdoorKey ( )

Verify Backdoor Key to Unlock Security

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_allowFallback()

static void com.idtechproducts.device.IDT_Augusta.emv_allowFallback ( boolean  allow)
static

Allow fallback for EMV transactions. Default is TRUE

Parameters
allowTRUE = allow fallback, FALSE = don't allow fallback

◆ emv_authenticateTransaction()

int com.idtechproducts.device.IDT_Augusta.emv_authenticateTransaction ( byte []  tags)

Authenticate EMV Transaction Request

Authenticates the EMV transaction for an ICC card. Execute this after receiving response with result code 0x10 to emv_startTransaction

The tags will be returned in the callback routine.

Parameters
tagsTLV 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
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_cancelTransaction()

int com.idtechproducts.device.IDT_Augusta.emv_cancelTransaction ( ResDataStruct  respData)

Cancel EMV Transaction

Cancels the currently executing EMV transaction.

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_completeTransaction()

int com.idtechproducts.device.IDT_Augusta.emv_completeTransaction ( boolean  commError,
byte []  authCode,
byte []  iad,
byte []  tlvScripts,
byte []  tags 
)

Complete EMV Transaction Request

Completes the EMV transaction for an ICC card when online authorization request is received from emv_authenticateTransaction

The tags will be returned in the callback routine.

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
tagsAdditional TVL data to return with transaction results (if any)
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_getAutoAuthenticateTransaction()

static boolean com.idtechproducts.device.IDT_Augusta.emv_getAutoAuthenticateTransaction ( )
static

Gets Auto Authentication for EMV Transactions Check the boolean value of Auto Authentication.

◆ emv_getAutoCompleteTransaction()

static boolean com.idtechproducts.device.IDT_Augusta.emv_getAutoCompleteTransaction ( )
static

Gets Auto Completion for EMV Transactions Check the boolean value of Auto Completion.

◆ emv_getEMVConfigurationCheckValue()

int com.idtechproducts.device.IDT_Augusta.emv_getEMVConfigurationCheckValue ( ResDataStruct  respData)

Get EMV Kernel configuration check value info

Parameters
responseResponse returned of Kernel configuration check value info
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_getEMVKernelCheckValue()

int com.idtechproducts.device.IDT_Augusta.emv_getEMVKernelCheckValue ( ResDataStruct  respData)

Get EMV Kernel check value info

Parameters
responseResponse returned of Kernel check value info
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_getEMVKernelVersion()

int com.idtechproducts.device.IDT_Augusta.emv_getEMVKernelVersion ( StringBuilder  version)

Polls device for EMV Kernel Version

Parameters
responseResponse returned of Kernel Version
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_lcdControlResponse()

void com.idtechproducts.device.IDT_Augusta.emv_lcdControlResponse ( byte  mode,
byte  data 
)

Callback Response LCD Display

Provides menu selection responses to the kernel after a callback was received lcdDisplay delegate.

Parameters
modeThe choices are as follows
  • 0x00 Cancel
  • 0x01 Menu Display
  • 0x02 Normal Display get Function Key supply either 0x43 ('C') for Cancel, or 0x45 ('E') for Enter/accept
  • 0x08 Language Menu Display
selectionLine number in hex (0x01, 0x02), or 'C'/'E' of function key
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString()

◆ emv_removeAllApplicationData()

int com.idtechproducts.device.IDT_Augusta.emv_removeAllApplicationData ( )

Remove all Application Data

Removes all the Application Data

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_removeAllCAPK()

int com.idtechproducts.device.IDT_Augusta.emv_removeAllCAPK ( )

Remove All Certificate Authority Public Key

Removes all CAPK

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_removeAllCRL()

int com.idtechproducts.device.IDT_Augusta.emv_removeAllCRL ( )

Remove All Certificate Revocation List Entries

Removes all CRLEntry entries

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_removeApplicationData()

int com.idtechproducts.device.IDT_Augusta.emv_removeApplicationData ( String  aid,
ResDataStruct  respData 
)

Remove Application Data

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

Parameters
aidAid file to remove.
respDataStatus Code in ResDataStruct.statusCode. If no application data exists, status code will be 0x60. Format error status code 0x05
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_removeCAPK()

int com.idtechproducts.device.IDT_Augusta.emv_removeCAPK ( byte []  capk,
ResDataStruct  respData 
)

Remove Certificate Authority Public Key

Removes the CAPK as specified by the RID/Index

Parameters
capk6 byte CAPK = 5 bytes RID + 1 byte INDEX
respDataStatus Code in ResDataStruct.statusCode.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_removeCRL()

int com.idtechproducts.device.IDT_Augusta.emv_removeCRL ( byte []  crlList,
ResDataStruct  respData 
)

Remove Certificate Revocation List Entries

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

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]
respDataStatus Code in ResDataStruct.statusCode.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_removeTerminalData()

int com.idtechproducts.device.IDT_Augusta.emv_removeTerminalData ( ResDataStruct  respData)

Remove Terminal Data

Removes the Terminal Data.

Parameters
respDataStatus Code in ResDataStruct.statusCode.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_retrieveAidList()

int com.idtechproducts.device.IDT_Augusta.emv_retrieveAidList ( ResDataStruct  respData)

Retrieve Aid List

Returns all the AID names installed on the terminal.

Parameters
respDataArray of AID string names passed back in ResDataStruct.stringArray. Status Code in ResDataStruct.statusCode. If no AIDs exists, status code will be 0x60
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_retrieveApplicationData()

int com.idtechproducts.device.IDT_Augusta.emv_retrieveApplicationData ( String  aid,
ResDataStruct  respData 
)

Retrieve Application Data

Retrieves the TLV values of a provide AID.

Parameters
aidAid file to retrieve.
respDataReturns TLV in ResDataStruct.resData. Status Code in ResDataStruct.statusCode. If no application data exists, status code will be 0x60
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_retrieveCAPK()

int com.idtechproducts.device.IDT_Augusta.emv_retrieveCAPK ( byte []  data,
ResDataStruct  respData 
)

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 in ResDataStruct.resData: [5 bytes RID][1 byte Index][1 byte Hash Algorithm][1 byte Encryption Algorithm][20 bytes HashValue][4 bytes Public Key Exponent][2 bytes Modulus Length][Variable bytes Modulus] Where:
  • 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
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_retrieveCAPKList()

int com.idtechproducts.device.IDT_Augusta.emv_retrieveCAPKList ( ResDataStruct  respData)

Retrieve the Certificate Authority Public Key list

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

Parameters
respDataResDataStruct.resData = [key1][key2]...[keyn], each key 6 bytes where key = 5 bytes RID + 1 byte index
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_retrieveCRL()

int com.idtechproducts.device.IDT_Augusta.emv_retrieveCRL ( ResDataStruct  respData)

Retrieve the Certificate Revocation List

Returns the CRL entries on the terminal.

Parameters
keyResponse returned in ResDataStruct.resData: list [CRL1][CRL2]...[CRLn], each CRL 9 bytes where CRL = 5 bytes RID + 1 byte index + 3 bytes serial number
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_retrieveTerminalData()

int com.idtechproducts.device.IDT_Augusta.emv_retrieveTerminalData ( ResDataStruct  respData)

Retrieve Terminal Data

Retrieves the TLV values of a the terminal.

Parameters
respDataReturns TLV in ResDataStruct.resData. Status Code in ResDataStruct.statusCode. If no terminal data exists, status code will be 0x60
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_retrieveTransactionResult()

int com.idtechproducts.device.IDT_Augusta.emv_retrieveTransactionResult ( byte []  tags,
Map< String, Map< String, byte[]>>  retrievedTags 
)

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 tags. The tlv Map will contain a Map with key "tags" that has the unencrypted tag data, a Map with the key "masked" that has the masked tag data, and a Map with the key "encrypted" that has the encrypted tag data
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString

◆ emv_setApplicationData()

int com.idtechproducts.device.IDT_Augusta.emv_setApplicationData ( String  aid,
byte []  TLV,
ResDataStruct  respData 
)

Set Application Data

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.
respDataStatus Code in ResDataStruct.statusCode. If AID list is full, status code will be 0x61. Format error status code 0x05
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_setAutoAuthenticateTransaction()

static void com.idtechproducts.device.IDT_Augusta.emv_setAutoAuthenticateTransaction ( boolean  auto)
static

Sets Auto Authentication for EMV Transactions Tells the SDK to automatically execute Authenticate Transaction after StartEMV Transaction. TRUE by default

◆ emv_setAutoCompleteTransaction()

static void com.idtechproducts.device.IDT_Augusta.emv_setAutoCompleteTransaction ( boolean  auto)
static

Sets Auto Completion for EMV Transactions Tells the SDK to automatically execute Complete Transaction after EMV Authentication. FALSE by default

◆ emv_setCAPK()

int com.idtechproducts.device.IDT_Augusta.emv_setCAPK ( byte []  key,
ResDataStruct  respData 
)

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][2 bytes MAC Length][Variable bytes MAC Data] 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.
  • MAC Length: LenL LenH Indicated the length of the next field. For Non-PCI device, it is 0x00 0x00. For PCI device, it is 0x1E 0x00.
  • MAC Data: For Non-PCI device, i does not exist. For PCI device, it is 30 bytes data consists of [2 bytes MAC Value Length][16 bytes MAC Value][2 bytes MAC Key KSN Length][10 bytes MAC Key KSN] Where:
    • MAC Value Length: 0x10 0x00
    • MAC value: MAC-HOST.
    • MAC Key KSN Length: 0x0A 0x00
    • MAC Key KSN: MAC DUKPT Key KSN
respDataStatus Code in ResDataStruct.statusCode.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_setCRL()

int com.idtechproducts.device.IDT_Augusta.emv_setCRL ( byte []  crlList,
ResDataStruct  respData 
)

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
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_setTerminalData()

int com.idtechproducts.device.IDT_Augusta.emv_setTerminalData ( byte []  TLV,
ResDataStruct  respData 
)

Set Terminal Data

Sets the Terminal Data as specified by the TerminalData structure passed as a parameter

Parameters
TLVTerminalData configuration file.
respDataStatus Code in ResDataStruct.statusCode. If Flash error, status code will be 0x62. Format error status code 0x05
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_startTransaction()

int com.idtechproducts.device.IDT_Augusta.emv_startTransaction ( double  amount,
double  amtOther,
int  type,
final int  timeout,
byte []  tags,
boolean  forceOnline 
)

Start EMV Transaction Request

Authorizes the EMV transaction for an ICC card

The tags will be returned in the callback routine.

Parameters
amountTransaction amount value (tag value 9F02)
amtOtherOther amount value, if any (tag value 9F03)
typeTransaction type (tag value 9C).
timeoutTimeout value in seconds.
tagsAny other tags to be included in the request. Passed as a string. Example, tag 9F02 with amount 0x000000000100 would be "9F0206000000000100" 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
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ getSDKInstance()

static IDT_Device com.idtechproducts.device.IDT_Augusta.getSDKInstance ( )
static

Returns an instance of the currently initialized IDT_Device class.

Returns
IDT_Device instance

◆ icc_disable()

int com.idtechproducts.device.IDT_Augusta.icc_disable ( )

ICC Function disable Disable ICC function

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ icc_enable()

int com.idtechproducts.device.IDT_Augusta.icc_enable ( boolean  withNotification)

ICC Function enable Enable ICC function with or without seated notification

Parameters
withNotification
  • true: with notification when ICC seated status changed,
  • false: without notification.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ icc_exchangeAPDU()

int com.idtechproducts.device.IDT_Augusta.icc_exchangeAPDU ( byte []  dataAPDU,
APDUResponseStruct  response 
)

Exchange APDU with plain text For Non-SRED Augusta Only

Sends an APDU packet to the ICC. If successful, response is the APDU data in response parameter.

Parameters
dataAPDUAPDU data packet
responseUnencrypted APDU response
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ icc_getAPDU_KSN()

int com.idtechproducts.device.IDT_Augusta.icc_getAPDU_KSN ( byte  KeyNameIndex,
byte []  KeySlot,
ResDataStruct  resKSN 
)

Get the Account DUKPT Key KSN of device.

Parameters
10-byteKSN
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode Get the current KSN for Smart card. * The KSN in the Response should be the KSN in the loop exchanging until ICC is powered off.
Parameters
KeyNameIndex1 byte value. See the table below.
KeySlot1 or 2 bytes value. See the table below.

KeyNameIndex | Key Slot (1 byte or 2 bytes) | Key Name (Usage)

0x14 | 0 | LCL-KEK 0x02 | 0 | Data encryption Key 0x0C | 0 | RKI-KEK 0x05 | 0 | MAC DUKPT Key (Verify commands)

0x05 | 16 | MTK DUKPT Key (TTK Self-Test)

Parameters
resKSNthe class for current KSN.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ icc_getFunctionStatus()

int com.idtechproducts.device.IDT_Augusta.icc_getFunctionStatus ( ResDataStruct  respData)

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

Parameters
respDataResponse Body is 72 01 11 01 <ICC reading="" characteristics>=""> <ICC reading="" characteristics>=""> is also stored in the variable functionStatus functionStatus: 0x30: ICC Function Off 0x31: ICC Function Enable & Notification Off 0x32: ICC Function Enable & Notification On
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ icc_getICCReaderStatus()

int com.idtechproducts.device.IDT_Augusta.icc_getICCReaderStatus ( ICCReaderStatusStruct  ICCStatus)

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
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ icc_getKeyFormatForICCDUKPT()

int com.idtechproducts.device.IDT_Augusta.icc_getKeyFormatForICCDUKPT ( ResDataStruct  respData)

Get key format for ICC DUKPT.

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

Parameters
respDataResponse Body is 78 01 03 01 <Option> The Option is stored in the variable encryptionOption encryptionOption:
  • '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.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ icc_getKeyTypeForICCDUKPT()

int com.idtechproducts.device.IDT_Augusta.icc_getKeyTypeForICCDUKPT ( ResDataStruct  respData)

Get key type for ICC DUKPT.

Specifies the key type used for ICC DUKPT encryption

Parameters
respDataResponse Body is 78 01 02 01 <Option> <Option> is also stored in keyType. keyType:
  • '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.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ icc_passthroughOffICC()

int com.idtechproducts.device.IDT_Augusta.icc_passthroughOffICC ( )

Disables pass through mode for ICC. Required when executing transactions (start EMV, start MSR, authenticate transaction)

Returns
success or error code.
See also
ErrorCode

◆ icc_passthroughOnICC()

int com.idtechproducts.device.IDT_Augusta.icc_passthroughOnICC ( )

Enables pass through mode for ICC. Required when direct ICC commands are required (power on/off ICC, exchange APDU)

Returns
success or error code.
See also
ErrorCode

◆ icc_powerOffICC()

int com.idtechproducts.device.IDT_Augusta.icc_powerOffICC ( ResDataStruct  respData)

Power Off ICC

Powers down the ICC

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode If Success, empty If Failure, ASCII encoded data of error string

◆ icc_powerOnICC()

int com.idtechproducts.device.IDT_Augusta.icc_powerOnICC ( ResDataStruct  atrPPS)

Power up the currently selected microprocessor card in the ICC reader. It follows the ISO7816-3 power up sequence and returns the ATR as its response.

Parameters
optionsthe options is optional.
please see PowerOnStructure class for more information.
See also
PowerOnStructure (not used for the UniPay II)
Parameters
atrPPSthe class for ATR string.
the ATR string is following:
  1. 2D01: Card Not Supported;
  2. 2D03: Card Not Supported, wants CRC;
  3. 690D: Command not supported on reader without ICC support;
  4. 8100: ICC error time out on power-up;
  5. 8200: invalid TS character received;
  6. 8500: PPS confirmation error;
  7. 8600: Unsupported F, D, or combination of F and D;
  8. 8700: protocol not supported EMV TD1 out of range;
  9. 8800: power not at proper level;
  10. 8900: ATR length too long;
  11. 8B01: EMV invalid TA1 byte value*;
  12. 8B02: EMV TB1 required*;
  13. 8B03: EMV Unsupported TB1 only 00 allowed*;
  14. 8B04: EMV Card Error, invalid BWI or CWI*;
  15. 8B06: EMV TB2 not allowed in ATR*;
  16. 8B07: EMV TC2 out of range*;
  17. 8B08: EMV TC2 out of range*;
  18. 8B09: per EMV96 TA3 must be > 0xF*;
  19. 8B10: ICC error on power-up;
  20. 8B11: EMV T=1 then TB3 required*;
  21. 8B12: Card Error, invalid BWI or CWI;
  22. 8B13: Card Error, invalid BWI or CWI;
  23. 8B17: EMV TC1/TB3 conflict*;
  24. 8B20: EMV TD2 out of range must be T=1*;
  25. 8C00: TCK error;
  26. A304: connector has no voltage setting;
  27. A305: ICC error on power-up invalid (SBLK(IFSD) exchange;
  28. E301: ICC error after session start
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ icc_reviewAllSetting()

int com.idtechproducts.device.IDT_Augusta.icc_reviewAllSetting ( ICCSettingStruct  iccSetting)

Review all setting of ICC status.

Parameters
iccSettingfor ICC setting. please see class ICCSettingStruct for more information. mainCardTypeOption: 0x00 ISO, 0xFF EMV timeout: default value 8 readingCharacteristics: 0x30 ICC Function Off, 0x31 ICC Function Enable & Notification Off, 0x32 ICC Function Enable & Notification On prePANIDLen: Default is 4 postPANIDLen: Default is 4 maskCharWithASCII: Default is 0x2A maskCharWithBCD: Default is 0x0C CTL2Interval: Default is 0x0C
See also
ICCSettingStruct
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ icc_setKeyFormatForICCDUKPT()

int com.idtechproducts.device.IDT_Augusta.icc_setKeyFormatForICCDUKPT ( byte  encryption)

Set Key Format for ICC DUKPT

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

Parameters
encryptionEncryption Type
  • 00: Encrypt with TDES
  • 01: Encrypt with AES
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ icc_setKeyTypeForICCDUKPT()

int com.idtechproducts.device.IDT_Augusta.icc_setKeyTypeForICCDUKPT ( byte  encryption)

Set Key Type for ICC DUKPT Key

Sets which key the data will be encrypted with, with either Data Key or PIN key (if DUKPT key loaded)

Parameters
encryptionEncryption Type
  • 00: Encrypt with Data Key
  • 01: Encrypt with PIN Key
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ log_deleteLogs()

int com.idtechproducts.device.IDT_Augusta.log_deleteLogs ( )

delete the log in the root path of SD card.

Returns
number of log files deleted
See also
log_setSaveLogEnable

◆ log_setSaveLogEnable()

void com.idtechproducts.device.IDT_Augusta.log_setSaveLogEnable ( boolean  enable)

Enable/Disable save the log into the root path of SD card.

Parameters
enableShowLog,trueenable save the log, the log includes the .txt text log and .wav signals file. false: disable save the log.
Returns
none
See also
deleteLogs

◆ log_setVerboseLoggingEnable()

void com.idtechproducts.device.IDT_Augusta.log_setVerboseLoggingEnable ( boolean  enable)

Enable/Disable Verbose Logging show in the logcat view window.

Parameters
enableShowLog,trueenable to show the log in the logcat view window. false: disable to show the log in the logcat view window.
Returns
none

◆ msr_cancelMSRSwipe()

int com.idtechproducts.device.IDT_Augusta.msr_cancelMSRSwipe ( )

Disable MSR swipe card.

Cancels MSR swipe request.

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_defaultAllSetting()

int com.idtechproducts.device.IDT_Augusta.msr_defaultAllSetting ( )

Default all setting of Mask and Encryption.

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_disable()

int com.idtechproducts.device.IDT_Augusta.msr_disable ( )

Disable MSR.

Returns
success or error code.
See also
ErrorCode

◆ msr_enableBufferMode()

int com.idtechproducts.device.IDT_Augusta.msr_enableBufferMode ( boolean  isBufferMode,
boolean  withNotification 
)

Get MSR enable buffer mode.

Parameters
isBufferModeset to true if in buffer mode, false if in auto mode
withNotificationset to true with notification, false otherwise
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_getClearPANID()

int com.idtechproducts.device.IDT_Augusta.msr_getClearPANID ( ResDataStruct  respData)

Get Clear PAN ID.

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

Parameters
respData4901 <Setting value>="">. The Setting Value is stored in the variable settingValue settingValue: Number of digits in clear. Values are char '0' - '6'
Returns
success or error code. Returns the number of digits that begin the PAN that will be in the clear
See also
ErrorCode

◆ msr_getExpirationMask()

int com.idtechproducts.device.IDT_Augusta.msr_getExpirationMask ( ResDataStruct  respData)

Get MSR expiration date mask.

Parameters
respData5001 <Setting value>="">. The Setting Value is stored in the variable settingValue settingValue: '0' = masked, '1' = not-masked
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_getFunctionStatus()

int com.idtechproducts.device.IDT_Augusta.msr_getFunctionStatus ( ResDataStruct  respData)

Get MSR function status.

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

Parameters
respData1A01 <Setting value>="">. The Setting Value is stored in the variable functionStatus functionStatus: 0x31: MSR Function enabled = true, in the buffer mode = false, without notification when swiped MSR Card 0x32: MSR Function enabled = true, in the buffer mode = true, without notification when swiped MSR Card 0x33: MSR Function enabled = true, in the buffer mode = true, with notification when swiped MSR Card
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_getSetting()

int com.idtechproducts.device.IDT_Augusta.msr_getSetting ( byte  setting,
ResDataStruct  respData 
)

Get Single MSR Setting value

Returns the encryption used for swipe data

Parameters
settingthe msr setting to retrieve.
respDatasetting 01 <Setting value>="">. The Setting Value is stored in the variable settingValue settingValue: MSR Setting value
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_getSingleSetting()

int com.idtechproducts.device.IDT_Augusta.msr_getSingleSetting ( byte  funcID,
byte []  response 
)

Get single setting of Mask and Encryption by Function ID.

Parameters
funcIDfunction ID.
0x49:Leading PAN digits to display(0x00~0x06).
0x4A:Last PAN digits to display(0x00~0x04).
0x4B:Mask ASCII code track data(0x20~0x7E).
0x4C:Encryption type ('1'-'2'). '1' 3DES, '2' AES.
0x50:Mask or display expiration date(0x30 or 0x31);0x31:don't mask expiration date.
0x7E:Security Level ID.
0x84:Encryption Option (Forced encryption or not)
Bit 0 : T1 force encrypt
Bit 1 : T2 force encrypt
Bit 2 : T3 force encrypt
Bit 3 : T3 force encrypt when card type is 0

0x86:Masked / clear data sending option Bit 0 : T1 mask allowed
Bit 1 : T2 mask allowed
Bit 2 : T3 mask allowed

NOTE:
UniPay support 0x49,0x50,0x4C,0x7E,0x84 and 0x86.
UniPay II support 0x49,0x50,0x4A, 0x4B, 0x4C,0x7E,0x84 and 0x86.

Parameters
responseresponse[0] for setting data.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_getSwipeEncryption()

int com.idtechproducts.device.IDT_Augusta.msr_getSwipeEncryption ( ResDataStruct  respData)

Get Swipe Data Encryption For Non-SRED Augusta Only Returns the encryption used for swipe data

Parameters
respData4C01 <Setting value>="">. The Setting Value is stored in the variable settingValue settingValue 1 = TDES, 2 = AES, 0 = NONE
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_getSwipeForcedEncryptionOption()

int com.idtechproducts.device.IDT_Augusta.msr_getSwipeForcedEncryptionOption ( ResDataStruct  respData)

Get MSR Swipe Forced Encryption Option.

Parameters
respData8401 <Setting value>="">. The Setting Value is stored in the variable encryptionOption option Byte using lower four bits as flags. 0 = Force Encryption Off, 1 = Force Encryption On bit0 = Track 1 bit1 = Track 2 bit2 = Track 3 bit4 = Track 3 Card Option 0
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_getSwipeMaskOption()

int com.idtechproducts.device.IDT_Augusta.msr_getSwipeMaskOption ( ResDataStruct  respData)

Get MSR Swipe Mask Option.

Gets the swipe mask/clear data sending option

Parameters
respData8601 <Setting value>="">. The Setting Value is stored in the variable settingValue settingValue Byte using lower three bits as flags. 0 = Mask Option Off, 1 = Mask Option On bit0 = Track 1 bit1 = Track 2 bit2 = Track 3 Example: Response 0x03 = Track1/Track2 Masked Option ON, Track3 Masked Option Off
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_RetrieveWhiteList()

int com.idtechproducts.device.IDT_Augusta.msr_RetrieveWhiteList ( ResDataStruct  respData)

Get MSR white list.

For Non-SRED Augusta Only

Parameters
respDataresponse data from reader. The return data is stored in respData.resData. respData.resData: the white list data which is ASN.1 Block format
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_reviewAllSetting()

int com.idtechproducts.device.IDT_Augusta.msr_reviewAllSetting ( MSRSettingStruct  msrSetting)

Review all setting of Mask and Encryption.

Parameters
msrSettingfor MSR setting. please see class MSRSettingStruct for more information
See also
MSRSettingStruct
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_setClearPANID()

int com.idtechproducts.device.IDT_Augusta.msr_setClearPANID ( byte  value)

Set Clear PAN ID.

Parameters
valueSet Clear PAN ID to value: Number of digits to show in clear. Range 0-6.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_setExpirationMask()

int com.idtechproducts.device.IDT_Augusta.msr_setExpirationMask ( boolean  mask)

Set Expiration Masking

Sets the flag to mask the expiration date

Parameters
maskTRUE = mask expiration
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_setSetting()

int com.idtechproducts.device.IDT_Augusta.msr_setSetting ( byte  setting,
byte  val 
)

Set MSR settings.

Parameters
settingthe msr setting to set.
valthe value to set to the msr setting.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_setSingleSetting()

int com.idtechproducts.device.IDT_Augusta.msr_setSingleSetting ( byte  funcID,
byte  setData 
)

Set single setting of Mask and Encryption by Function ID.

Parameters
funcIDfunction ID.
0x49:Leading PAN digits to display(0x00~0x06).
0x4A:Last PAN digits to display(0x00~0x04).
0x4B:Mask ASCII code track data(0x20~0x7E).
0x4C:Encryption type ('1'-'2'). '1' 3DES, '2' AES.
0x50:Mask or display expiration date(0x30 or 0x31);0x31:don't mask expiration date.
0x7E:Security Level ID.
0x84:Encryption Option (Forced encryption or not)
Bit 0 : T1 force encrypt
Bit 1 : T2 force encrypt
Bit 2 : T3 force encrypt
Bit 3 : T3 force encrypt when card type is 0

0x86:Masked / clear data sending option Bit 0 : T1 mask allowed
Bit 1 : T2 mask allowed
Bit 2 : T3 mask allowed

NOTE:
UniPay support 0x49,0x50,0x4C,0x7E,0x84 and 0x86.
UniPay II support 0x49,0x50,0x4A, 0x4B, 0x4C,0x7E,0x84 and 0x86.

Parameters
setDatafor setting data.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_setSwipeEncryption()

int com.idtechproducts.device.IDT_Augusta.msr_setSwipeEncryption ( byte  encryption)

Set MSR Swipe Forced Encryption Option.

For Non-SRED Augusta Only

Sets the swipe encryption method

Parameters
encryption1 = TDES, 2 = AES Set swipe encryption to encryption value.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_setSwipeForcedEncryptionOption()

int com.idtechproducts.device.IDT_Augusta.msr_setSwipeForcedEncryptionOption ( boolean  track1,
boolean  track2,
boolean  track3,
boolean  track3card0 
)

Set MSR Swipe Forced Encryption Option.

Parameters
tarck1Set track1 encryption to true or false.
tarck2Set track2 encryption to true or false.
tarck3Set track3 encryption to true or false.
tarck3card0Set track3 card0 encryption to true or false.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_setSwipeMaskOption()

int com.idtechproducts.device.IDT_Augusta.msr_setSwipeMaskOption ( boolean  track1,
boolean  track2,
boolean  track3 
)

Set MSR Swipe Mask Option.

Sets the swipe mask/clear data sending option

Parameters
tarck1Set track1 mask to true or false.
tarck2Set track2 mask to true or false.
tarck3Set track3 mask to true or false.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_setWhiteList()

int com.idtechproducts.device.IDT_Augusta.msr_setWhiteList ( byte []  val)

Set MSR white list.

For Non-SRED Augusta Only

Parameters
valthe white list data which is ASN.1 Block format.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_startMSRSwipe() [1/2]

int com.idtechproducts.device.IDT_Augusta.msr_startMSRSwipe ( )

Enable MSR swipe card. Returns encrypted MSR data or function key value by call back function. The function swipeMSRData in interface OnReceiverListener will be called if swiping card data received.

See also
OnReceiverListener
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_startMSRSwipe() [2/2]

int com.idtechproducts.device.IDT_Augusta.msr_startMSRSwipe ( int  timeout)

Enable MSR swipe card. Returns encrypted MSR data or function key value by call back function.
The function swipeMSRData in interface OnReceiverListener will be called if swiping card data received.

See also
OnReceiverListener
Parameters
timeoutSwipe Timeout Value timeout value in seconds; maximum value is 30 seconds. If it is 0, it will be set to 5 seconds.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ phone_getInfoManufacture()

String com.idtechproducts.device.IDT_Augusta.phone_getInfoManufacture ( )

Get manufacture version.

Returns
the manufacture info

◆ phone_getInfoModel()

String com.idtechproducts.device.IDT_Augusta.phone_getInfoModel ( )

Get phones's model number information.

Returns
the model number information.

◆ registerListen()

void com.idtechproducts.device.IDT_Augusta.registerListen ( )

General API:registerListen.

registerListen to enable SDK detect the phone jack plug in/off notification

◆ release()

void com.idtechproducts.device.IDT_Augusta.release ( )

release, make the SDK in the idle status.

◆ setIDT_Device()

void com.idtechproducts.device.IDT_Augusta.setIDT_Device ( FirmwareUpdateTool  fwTool)

For System Use Only

Parameters
fwToolParameter for firmware update

◆ unregisterListen()

void com.idtechproducts.device.IDT_Augusta.unregisterListen ( )

unregisterListen to disable the detect

◆ useUSBIntentFilter()

static void com.idtechproducts.device.IDT_Augusta.useUSBIntentFilter ( )
static

Use USB Intent Filter For USB Devices, you may opt to incorporate an Intent Filter that will automatically start your application when a specific USB device is attached. The SDK must be informed to bypass it's normal Enumeration of USB Devices when an Intent Filter is being use. This function MUST be called BEFORE device_setDeviceType() is executed if a USB Intent Filter is being utilized. https://developer.android.com/guide/topics/connectivity/usb/host.html


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