![]() |
IDTech Universal SDK
1.0.35.038
API reference for C++
|
VP8800 API. More...
#include <stdarg.h>
#include "IDTDef.h"
Go to the source code of this file.
Macros | |
#define | IN |
#define | OUT |
#define | IN_OUT |
Typedefs | |
typedef void(* | pMessageHotplug) (int, int) |
typedef void(* | pSendDataLog) (BYTE *, int) |
typedef void(* | pReadDataLog) (BYTE *, int) |
typedef void(* | pEMV_callBack) (int, int, BYTE *, int, IDTTransactionData *, EMV_Callback *, int) |
typedef void(* | pMSR_callBack) (int, IDTMSRData) |
typedef void(* | pMSR_callBackp) (int, IDTMSRData *) |
typedef void(* | pPIN_callBack) (int, IDTPINData *) |
typedef void(* | pCMR_callBack) (int, IDTCMRData *) |
typedef void(* | pCSFS_callBack) (BYTE status) |
typedef void(* | ftpComm_callBack) (int, int, int) |
typedef void(* | httpComm_callBack) (BYTE *, int) |
typedef void(* | v4Comm_callBack) (BYTE, BYTE, BYTE *, int) |
typedef void(* | pLog_callback) (BYTE, char *) |
Functions | |
void | registerHotplugCallBk (pMessageHotplug pMsgHotplug) |
void | registerLogCallBk (pSendDataLog pFSend, pReadDataLog pFRead) |
void | emv_registerCallBk (pEMV_callBack pEMVf) |
void | msr_registerCallBk (pMSR_callBack pMSRf) |
void | msr_registerCallBkp (pMSR_callBackp pMSRf) |
void | ctls_registerCallBk (pMSR_callBack pCTLSf) |
void | ctls_registerCallBkp (pMSR_callBackp pCTLSf) |
void | pin_registerCallBk (pPIN_callBack pPINf) |
void | device_registerCameraCallBk (pCMR_callBack pCMRf) |
void | device_registerCardStatusFrontSwitchCallBk (pCSFS_callBack pCSFSf) |
void | comm_registerHTTPCallback (httpComm_callBack cBack) |
void | comm_registerV4Callback (v4Comm_callBack cBack) |
char * | SDK_Version () |
int | setAbsoluteLibraryPath (const char *absoluteLibraryPath) |
int | device_init () |
int | device_setCurrentDevice (int deviceType) |
int | device_close () |
void | device_getIDGStatusCodeString (IN int returnCode, OUT char *despcrition) |
int | device_isConnected () |
int | device_isAttached (int deviceType) |
int | device_startTransaction (IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE *tags, IN int tagsLen) |
void | device_setTransactionExponent (int exponent) |
int | device_activateTransaction (IN const int _timeout, IN BYTE *tags, IN int tagsLen) |
int | device_cancelTransaction () |
int | device_getDriveFreeSpace (OUT int *free, OUT int *used) |
int | device_listDirectory (IN char *directoryName, IN int directoryNameLen, IN int recursive, IN int onSD, OUT char *directory, IN_OUT int *directoryLen) |
int | device_createDirectory (IN char *directoryName, IN int directoryNameLen) |
int | device_deleteDirectory (IN char *dirName, IN int dirNameLen) |
int | device_transferFile (IN char *fileName, IN int fileNameLen, IN BYTE *file, IN int fileLen) |
int | device_deleteFile (IN char *fileName, IN int fileNameLen) |
int | device_getFirmwareVersion (OUT char *firmwareVersion) |
int | device_getFirmwareVersion_Len (OUT char *firmwareVersion, IN_OUT int *firmwareVersionLen) |
int | device_pingDevice () |
int | device_controlUserInterface (IN BYTE *values) |
int | device_controlIndicator (IN int indicator, IN int enable) |
int | device_getCurrentDeviceType () |
int | device_SendDataCommandNEO (IN int cmd, IN int subCmd, IN BYTE *data, IN int dataLen, OUT BYTE *response, IN_OUT int *respLen) |
int | device_enablePassThrough (int enablePassThrough) |
int | device_enhancedPassthrough (IN BYTE *data, IN int dataLen) |
int | device_setMerchantRecord (int index, int enabled, char *merchantID, char *merchantURL) |
int | device_getMerchantRecord (IN int index, OUT BYTE *record) |
int | device_getMerchantRecord_Len (IN int index, OUT BYTE *record, IN_OUT int *recordLen) |
int | device_getTransactionResults (IDTMSRData *cardData) |
int | device_calibrateParameters (BYTE delta) |
int | config_getSerialNumber (OUT char *sNumber) |
int | config_getSerialNumber_Len (OUT char *sNumber, IN_OUT int *sNumberLen) |
int | device_getSDKWaitTime () |
void | device_setSDKWaitTime (int waitTime) |
int | device_getThreadStackSize () |
void | device_setThreadStackSize (int threadSize) |
int | ctls_startTransaction (IN double amount, IN double amtOther, IN int type, IN const int _timeout, IN BYTE *tags, IN int tagsLen) |
int | ctls_activateTransaction (IN const int _timeout, IN BYTE *tags, IN int tagsLen) |
int | ctls_cancelTransaction () |
int | ctls_retrieveApplicationData (IN BYTE *AID, IN int AIDLen, OUT BYTE *tlv, IN_OUT int *tlvLen) |
int | ctls_setApplicationData (IN BYTE *tlv, IN int tlvLen) |
int | ctls_removeApplicationData (IN BYTE *AID, IN int AIDLen) |
int | ctls_removeAllApplicationData () |
int | ctls_retrieveAIDList (OUT BYTE *AIDList, IN_OUT int *AIDListLen) |
int | ctls_retrieveTerminalData (OUT BYTE *tlv, IN_OUT int *tlvLen) |
int | ctls_setTerminalData (IN BYTE *tlv, IN int tlvLen) |
int | ctls_retrieveCAPK (IN BYTE *capk, IN int capkLen, OUT BYTE *key, IN_OUT int *keyLen) |
int | ctls_setCAPK (IN BYTE *capk, IN int capkLen) |
int | ctls_removeCAPK (IN BYTE *capk, IN int capkLen) |
int | ctls_removeAllCAPK () |
int | ctls_retrieveCAPKList (OUT BYTE *keys, IN_OUT int *keysLen) |
int | ctls_setConfigurationGroup (IN BYTE *tlv, IN int tlvLen) |
int | ctls_getConfigurationGroup (IN int group, OUT BYTE *tlv, OUT int *tlvLen) |
int | ctls_getAllConfigurationGroups (OUT BYTE *tlv, IN_OUT int *tlvLen) |
int | ctls_removeConfigurationGroup (int group) |
int | ctls_displayOnlineAuthResult (IN int statusCode, IN BYTE *TLV, IN int TLVLen) |
void | emv_allowFallback (IN int allow) |
void | emv_setAutoAuthenticateTransaction (IN int authenticate) |
void | emv_setAutoCompleteTransaction (IN int complete) |
int | emv_getAutoAuthenticateTransaction () |
int | emv_getAutoCompleteTransaction () |
int | emv_startTransaction (IN double amount, IN double amtOther, IN int exponent, IN int type, IN int timeout, IN BYTE *tags, IN int tagsLen, IN int forceOnline) |
int | emv_activateTransaction (IN int timeout, IN BYTE *tags, IN int tagsLen, IN int forceOnline) |
int | emv_authenticateTransaction (IN BYTE *updatedTLV, IN int updatedTLVLen) |
int | emv_authenticateTransactionWithTimeout (IN int timeout, IN BYTE *updatedTLV, IN int updatedTLVLen) |
int | emv_completeTransaction (IN int commError, IN BYTE *authCode, IN int authCodeLen, IN BYTE *iad, IN int iadLen, IN BYTE *tlvScripts, IN int tlvScriptsLen, IN BYTE *tlv, IN int tlvLen) |
int | emv_cancelTransaction () |
int | emv_retrieveApplicationData (IN BYTE *AID, IN int AIDLen, OUT BYTE *tlv, IN_OUT int *tlvLen) |
int | emv_setApplicationData (IN BYTE *name, IN int nameLen, IN BYTE *tlv, IN int tlvLen) |
int | emv_setApplicationDataTLV (IN BYTE *tlv, IN int tlvLen) |
int | emv_removeApplicationData (IN BYTE *AID, IN int AIDLen) |
int | emv_removeAllApplicationData () |
int | emv_retrieveAIDList (OUT BYTE *AIDList, IN_OUT int *AIDListLen) |
int | emv_retrieveTerminalData (OUT BYTE *tlv, IN_OUT int *tlvLen) |
int | emv_setTerminalData (IN BYTE *tlv, IN int tlvLen) |
int | emv_retrieveCAPK (IN BYTE *capk, IN int capkLen, OUT BYTE *key, IN_OUT int *keyLen) |
int | emv_setCAPK (IN BYTE *capk, IN int capkLen) |
int | emv_removeCAPK (IN BYTE *capk, IN int capkLen) |
int | emv_removeAllCAPK () |
int | emv_retrieveCAPKList (OUT BYTE *keys, IN_OUT int *keysLen) |
int | emv_retrieveExceptionList (OUT BYTE *exceptionList, IN_OUT int *exceptionListLen) |
int | emv_setException (IN BYTE *exception, IN int exceptionLen) |
int | emv_removeException (IN BYTE *exception, IN int exceptionLen) |
int | emv_removeAllExceptions () |
int | emv_retrieveExceptionLogStatus (OUT BYTE *exceptionLogStatus, IN_OUT int *exceptionLogStatusLen) |
int | emv_removeTransactionLog () |
int | emv_retrieveTransactionLogStatus (OUT BYTE *transactionLogStatus, IN_OUT int *transactionLogStatusLen) |
int | emv_retrieveTransactionLog (OUT BYTE *transactionLog, IN_OUT int *transactionLogLen, IN_OUT int *remainingTransactionLogLen) |
int | emv_getEMVKernelVersion (OUT char *version) |
int | emv_getEMVKernelVersion_Len (OUT char *version, IN_OUT int *versionLen) |
int | emv_getEMVKernelCheckValue (OUT BYTE *checkValue, IN_OUT int *checkValueLen) |
int | emv_getEMVConfigurationCheckValue (OUT BYTE *checkValue, IN_OUT int *checkValueLen) |
int | emv_retrieveCRL (OUT BYTE *list, IN_OUT int *lssLen) |
int | emv_setCRL (IN BYTE *list, IN int lsLen) |
int | emv_removeCRL (IN BYTE *list, IN int lsLen) |
int | emv_removeAllCRL () |
int | lcd_resetInitialState () |
int | lcd_customDisplayMode (IN int enable) |
int | lcd_setForeBackColor (IN BYTE *foreRGB, IN int foreRGBLen, IN BYTE *backRGB, IN int backRGBLen) |
int | lcd_clearDisplay (IN BYTE control) |
int | lcd_captureSignature (IN int timeout) |
int | lcd_startSlideShow (IN char *files, IN int filesLen, IN int posX, IN int posY, IN int posMode, IN int touchEnable, IN int recursion, IN int touchTerminate, IN int delay, IN int loops, IN int clearScreen) |
int | lcd_cancelSlideShow (OUT BYTE *statusCode, IN_OUT int *statusCodeLen) |
int | lcd_setDisplayImage (IN char *file, IN int fileLen, IN int posX, IN int posY, IN int posMode, IN int touchEnable, IN int clearScreen) |
int | lcd_setBackgroundImage (IN char *file, IN int fileLen, IN int enable) |
int | lcd_displayText (IN int posX, IN int posY, IN int displayWidth, IN int displayHeight, IN int fontDesignation, IN int fontID, IN int screenPosition, IN char *displayText, OUT BYTE *graphicsID) |
int | lcd_displayText_Len (IN int posX, IN int posY, IN int displayWidth, IN int displayHeight, IN int fontDesignation, IN int fontID, IN int screenPosition, IN char *displayText, OUT BYTE *graphicsID, IN_OUT int *graphicsIDLen) |
int | lcd_displayParagraph (IN int posX, IN int posY, IN int displayWidth, IN int displayHeight, IN int fontDesignation, IN int fontID, IN int displayProperties, IN char *displayText) |
int | lcd_displayButton (IN int posX, IN int posY, IN int buttonWidth, IN int buttonHeight, IN int fontDesignation, IN int fontID, IN int displayPosition, IN char *buttonLabel, IN int buttonTextColorR, IN int buttonTextColorG, IN int buttonTextColorB, IN int buttonBackgroundColorR, IN int buttonBackgroundColorG, IN int buttonBackgroundColorB, OUT BYTE *graphicsID) |
int | lcd_displayButton_Len (IN int posX, IN int posY, IN int buttonWidth, IN int buttonHeight, IN int fontDesignation, IN int fontID, IN int displayPosition, IN char *buttonLabel, IN int buttonTextColorR, IN int buttonTextColorG, IN int buttonTextColorB, IN int buttonBackgroundColorR, IN int buttonBackgroundColorG, IN int buttonBackgroundColorB, OUT BYTE *graphicsID, IN_OUT int *graphicsIDLen) |
int | lcd_createList (IN int posX, IN int posY, IN int numOfColumns, IN int numOfRows, IN int fontDesignation, IN int fontID, IN int verticalScrollArrowsVisible, IN int borderedListItems, IN int borderdScrollArrows, IN int touchSensitive, IN int automaticScrolling, OUT BYTE *graphicsID) |
int | lcd_createList_Len (IN int posX, IN int posY, IN int numOfColumns, IN int numOfRows, IN int fontDesignation, IN int fontID, IN int verticalScrollArrowsVisible, IN int borderedListItems, IN int borderdScrollArrows, IN int touchSensitive, IN int automaticScrolling, OUT BYTE *graphicsID, IN_OUT int *graphicsIDLen) |
int | lcd_addItemToList (IN BYTE *listGraphicsID, IN char *itemName, IN char *itemID, IN int selected) |
int | lcd_getSelectedListItem (IN BYTE *listGraphicsID, OUT char *itemID) |
int | lcd_getSelectedListItem_Len (IN BYTE *listGraphicsID, OUT char *itemID, IN_OUT int *itemIDLen) |
int | lcd_clearEventQueue () |
int | lcd_getInputEvent (IN int timeout, OUT int *dataReceived, OUT BYTE *eventType, OUT BYTE *graphicsID, OUT BYTE *eventData) |
int | lcd_getInputEvent_Len (IN int timeout, OUT int *dataReceived, OUT BYTE *eventType, IN_OUT int *eventTypeLen, OUT BYTE *graphicsID, IN_OUT int *graphicsIDLen, OUT BYTE *eventData, IN_OUT int *eventDataLen) |
int | lcd_createInputField (IN BYTE *specs, IN int specsLen, OUT BYTE *graphicId) |
int | lcd_createInputField_Len (IN BYTE *specs, IN int specsLen, OUT BYTE *graphicId, IN_OUT int *graphicIdLen) |
int | lcd_getInputFieldValue (IN BYTE *graphicId, OUT BYTE *retData, IN_OUT int *retDataLen) |
int | msr_cancelMSRSwipe () |
int | msr_startMSRSwipe (IN int _timeout) |
int | msr_flushTrackData () |
void | parseMSRData (IN BYTE *resData, IN int resLen, IN_OUT IDTMSRData *cardData) |
int | pin_getEncryptedOnlinePIN (IN int keyType, IN int timeout) |
int | pin_getPAN (IN int getCSC, IN int timeout) |
int | pin_promptCreditDebit (IN char *currencySymbol, IN int currencySymbolLen, IN char *displayAmount, IN int displayAmountLen, IN int timeout, OUT BYTE *retData, IN_OUT int *retDataLen) |
int | ws_requestCSR (OUT RequestCSR *csr) |
int | ws_loadSSLCert (IN char *name, IN int nameLen, IN char *dataDER, IN int dataDERLen) |
int | ws_revokeSSLCert (IN char *name, IN int nameLen) |
int | ws_deleteSSLCert (IN char *name, IN int nameLen) |
int | ws_getCertChainType (OUT int *type) |
int | ws_updateRootCertificate (IN char *name, IN int nameLen, IN char *dataDER, IN int dataDERLen, IN char *signature, IN int signatureLen) |
VP8800 API.
VP8800 Global API methods.
#define IN |
INPUT parameter.
#define IN_OUT |
INPUT / OUTPUT PARAMETER.
#define OUT |
OUTPUT parameter.
typedef void(* ftpComm_callBack) (int, int, int) |
Define the comm callback function to get FTP file transfer status
It should be passed as a parameter in a FTP request, Signature (int, int, int) = response code, current block, total blocks RESPONSE CODES: 100 = FILE DOWNLOAD STARTED 101 = FILE BLOCK XX OF XX RECEIVED 102 = FILE DOWNLOAD COMPLETED 103 = FILE DOWNLOAD TERMINATED PREMATURELY
typedef void(* httpComm_callBack) (BYTE *, int) |
Define the comm callback function to get the async url data
It should be registered using the comm_registerHTTPCallback
typedef void(* pCMR_callBack) (int, IDTCMRData *) |
Define the camera callback function to get the image data
It should be registered using the device_registerCameraCallBk,
typedef void(* pCSFS_callBack) (BYTE status) |
Define the card status and front switch callback function to get card and front switch status
It should be registered using the device_registerCardStatusFrontSwitchCallBk,
typedef void(* pEMV_callBack) (int, int, BYTE *, int, IDTTransactionData *, EMV_Callback *, int) |
Define the EMV callback function to get the transaction message/data/result.
It should be registered using the emv_registerCallBk,
typedef void(* pLog_callback) (BYTE, char *) |
Define the log callback function to receive log messages.
typedef void(* pMessageHotplug) (int, int) |
Define the USB hot-plug callback function to monitor the info when plug in/out the reader.
It should be registered using the registerHotplugCallBk, The first integer parameter is device type, and the second integer parameter is either 0: Device Plugged Out or 1: Device Plugged In
typedef void(* pMSR_callBack) (int, IDTMSRData) |
Define the MSR callback function to get the MSR card data
It should be registered using the msr_registerCallBk, this callback function is for backward compatibility
typedef void(* pMSR_callBackp) (int, IDTMSRData *) |
Define the MSR callback function to get pointer to the MSR card data
It should be registered using the msr_registerCallBk, this callback function is recommended instead of pMSR_callBack
typedef void(* pPIN_callBack) (int, IDTPINData *) |
Define the PINPad callback function to get the input PIN Pad data
It should be registered using the pin_registerCallBk,
typedef void(* pReadDataLog) (BYTE *, int) |
Define the read response callback function to monitor the reading response from the reader.
It should be registered using the registerLogCallBk,
typedef void(* pSendDataLog) (BYTE *, int) |
Define the send command callback function to monitor the sending command into the reader.
It should be registered using the registerLogCallBk,
typedef void(* v4Comm_callBack) (BYTE, BYTE, BYTE *, int) |
Define the comm callback function to receive the V4 Protocol packets received by the device from an external source (IP/USB/RS-232) It should be registered using the comm_registerV4Callback, Data callback will contain command, sub-command, and data from V4 packet
void comm_registerHTTPCallback | ( | httpComm_callBack | cBack | ) |
Register Comm HTTP Async Callback
cBack | ?�� HTTP Comm callback |
void comm_registerV4Callback | ( | v4Comm_callBack | cBack | ) |
Register External V4 Protocol commands Callback
cBack | ?�� V4 Protocol Comm callback |
int config_getSerialNumber | ( | OUT char * | sNumber | ) |
DEPRECATED : please use config_getSerialNumber_Len(OUT char* sNumber, IN_OUT int *sNumberLen)
Polls device for Serial Number
sNumber | Returns Serial Number; needs to have at least 64 bytes of memory |
Polls device for Serial Number
sNumber | Returns Serial Number |
sNumberLen | Length of Serial Number |
Start CTLS Transaction Request
Authorizes the CTLS transaction for an ICC card
The tags will be returned in the callback routine.
timeout | Timeout value in seconds. |
tags | The tags to be included in the request. Passed as TLV stream. Example, tag 9F0C with amount 0x000000000100 would be 0x9F0C06000000000100 |
tagsLen | The length of tags data buffer. |
>>>>>IMPORTANT: parameters for amount and amtOther MUST BE PASSED AS A DOUBLE VALUE WITH DECIMAL POINT. Example, do not pass 1, but instead pass 1.0 or 1.00. Otherwise, results will be unpredictable
NOTE ON APPLEPAY VAS: To enable ApplePay VAS, first a merchant record must be defined in one of the six available index positions (1-6) using device_setMerchantRecord, then container tag FFEE06 must be sent as part of the additional tags parameter of ctls_startTransaction. Tag FFEE06 must contain tag 9F26 and 9F22, and can optionanally contain tags 9F2B and DFO1. Example FFEE06189F220201009F2604000000009F2B050100000000DF010101 9F22 = two bytes = ApplePay Terminal Applicaiton Version Number. Hard defined as 0100 for now. (required) 9F26 = four bytes = ApplePay Terminal Capabilities Information (required)
int ctls_cancelTransaction | ( | ) |
Cancel EMV Transaction
Cancels the currently executing EMV transaction.
Display Online Authorization Result Use this command to display the status of an online authorization request on the reader's display (OK or NOT OK). Use this command after the reader sends an online request to the issuer. The SDK timeout of the command is set to 7 seconds.
statusCode | 1 = OK, 0 = NOT OK, 2 = ARC response 89 for Interac |
TLV | Optional TLV for AOSA |
TLVLen | TLV Length |
Retrieve All Configuration Groups
Returns all the Configuration Groups installed on the terminal for CTLS
tlv | The TLV elements data |
tlvLen | the length of tlv data buffer. |
Get Configuration Group
Retrieves the Configuration for the specified Group.
group | Configuration Group |
tlv | return data |
tlvLen | the length of tlv data buffer |
void ctls_registerCallBk | ( | pMSR_callBack | pCTLSf | ) |
To register the ctls callback function to get the MSR card data. (Pass NULL to disable the callback.)
void ctls_registerCallBkp | ( | pMSR_callBackp | pCTLSf | ) |
To register the ctls callback function to get the MSR card data pointer. (Pass NULL to disable the callback.)
int ctls_removeAllApplicationData | ( | ) |
Remove All Application Data
Removes all the Application Data
int ctls_removeAllCAPK | ( | ) |
Remove All Certificate Authority Public Key
Removes all the CAPK
Remove Application Data by AID Removes the Application Data for CTLS as specified by the AID name passed as a parameter
AID | Name of ApplicationID Must be between 5 and 16 bytes |
AIDLen | the length of AID data buffer |
Remove Certificate Authority Public Key
Removes the CAPK as specified by the RID/Index
capk | 6 byte CAPK = 5 bytes RID + 1 byte INDEX |
capkLen | the length of capk data buffer |
int ctls_removeConfigurationGroup | ( | int | group | ) |
Remove Configuration Group
Removes the Configuration as specified by the Group. Must not by group 0
group | Configuration Group |
RETURN_CODE | Values can be parsed with device_getIDGStatusCodeString() |
Retrieve AID list
Returns all the AID names installed on the terminal for CTLS. .
AIDList | array of AID name byte arrays |
AIDListLen | the length of AIDList array buffer |
int ctls_retrieveApplicationData | ( | IN BYTE * | AID, |
IN int | AIDLen, | ||
OUT BYTE * | tlv, | ||
IN_OUT int * | tlvLen | ||
) |
Retrieve Application Data by AID
Retrieves the Application Data as specified by the AID name passed as a parameter.
AID | Name of ApplicationID. Must be between 5 and 16 bytes |
AIDLen | the length of AID data buffer. |
tlv | The TLV elements of the requested AID |
tlvLen | the length of tlv data buffer. |
Retrieve Certificate Authority Public Key
Retrieves the CAPK for CTLS as specified by the RID/Index passed as a parameter.
capk | 6 bytes CAPK = 5 bytes RID + 1 byte Index |
capkLen | the length of capk data buffer |
key | Response returned as a CAKey format: [5 bytes RID][1 byte Index][1 byte Hash Algorithm][1 byte Encryption Algorithm] [20 bytes HashValue][4 bytes Public Key Exponent][2 bytes Modulus Length][Variable bytes Modulus] Where:
|
keyLen | the length of key data buffer |
Retrieve the Certificate Authority Public Key list
Returns all the CAPK RID and Index installed on the terminal.
keys | [key1][key2]...[keyn], each key 6 bytes where key = 5 bytes RID + 1 byte index |
keysLen | the length of keys data buffer |
Retrieve Terminal Data
Retrieves the Terminal Data for CTLS. This is configuration group 0 (Tag FFEE - > FFEE0100). The terminal data can also be retrieved by ctls_getConfigurationGroup(0).
tlv | Response returned as a TLV |
tlvLen | the length of tlv data buffer |
Set Application Data by AID
Sets the Application Data for CTLS as specified by TLV data
tlv | Application data in TLV format The first tag of the TLV data must be the group number (FFE4). The second tag of the TLV data must be the AID (9F06) |
Example valid TLV, for Group #2, AID a0000000035010: "ffe401029f0607a0000000051010ffe10101ffe50110ffe30114ffe20106"
tlvLen | the length of tlv data buffer |
Set Certificate Authority Public Key
Sets the CAPK as specified by the CAKey structure
capk | 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:
|
capkLen | the length of capk data buffer |
Set Configuration Group
Sets the Configuration Group for CTLS as specified by the TLV data
tlv | Configuration Group Data in TLV format The first tag of the TLV data must be the group number (DFEE2D). A second tag must exist |
tlvLen | the length of tlv data buffer |
Set Terminal Data
Sets the Terminal Data for CTLS as specified by the TLV. The first TLV must be Configuration Group Number (Tag FFE4). The terminal global data is group 0, so the first TLV would be FFE40100. Other groups can be defined using this method (1 or greater), and those can be retrieved with ctls_getConfigurationGroup(int group), and deleted with ctls_removeConfigurationGroup(int group). You cannot delete group 0.
tlv | TerminalData configuration file |
tlvLen | the length of tlv data buffer |
RETURN_CODE | Values can be parsed with device_getIDGStatusCodeString() |
int ctls_startTransaction | ( | IN double | amount, |
IN double | amtOther, | ||
IN int | type, | ||
IN const int | _timeout, | ||
IN BYTE * | tags, | ||
IN int | tagsLen | ||
) |
Start CTLS Transaction Request
Authorizes the CTLS transaction for an ICC card
The tags will be returned in the callback routine.
amount | Transaction amount value (tag value 9F02) - SEE IMPORTANT NOTE BELOW |
amtOther | Other amount value, if any (tag value 9F03) - SEE IMPORTANT NOTE BELOW |
type | Transaction type (tag value 9C). |
timeout | Timeout value in seconds. |
tags | Any other tags to be included in the request. Passed as TLV stream. Example, tag 9F0C with amount 0x000000000100 would be 0x9F0C06000000000100 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. |
tagsLen | The length of tags data buffer. |
>>>>>IMPORTANT: parameters for amount and amtOther MUST BE PASSED AS A DOUBLE VALUE WITH DECIMAL POINT. Example, do not pass 1, but instead pass 1.0 or 1.00. Otherwise, results will be unpredictable
NOTE ON APPLEPAY VAS: To enable ApplePay VAS, first a merchant record must be defined in one of the six available index positions (1-6) using device_setMerchantRecord, then container tag FFEE06 must be sent as part of the additional tags parameter of ctls_startTransaction. Tag FFEE06 must contain tag 9F26 and 9F22, and can optionanally contain tags 9F2B and DFO1. Example FFEE06189F220201009F2604000000009F2B050100000000DF010101 9F22 = two bytes = ApplePay Terminal Applicaiton Version Number. Hard defined as 0100 for now. (required) 9F26 = four bytes = ApplePay Terminal Capabilities Information (required)
Start Transaction Request
Authorizes the transaction for an MSR/CTLS/ICC card
The tags will be returned in the callback routine.
timeout | Timeout value in seconds. |
tags | The tags to be included in the request. Passed as a TLV. Example, tag 9F0C with amount 0x000000000100 would be 0x9F0C06000000000100 Be sure to include 9F02 (amount)and9C (transaction type). |
tagsLen | The length of tags data buffer. |
>>>>>IMPORTANT: parameters for amount and amtOther MUST BE PASSED AS A DOUBLE VALUE WITH DECIMAL POINT. Example, do not pass 1, but instead pass 1.0 or 1.00. Otherwise, results will be unpredictable
NOTE ON APPLEPAY VAS: To enable ApplePay VAS, first a merchant record must be defined in one of the six available index positions (1-6) using device_setMerchantRecord, then container tag FFEE06 must be sent as part of the additional tags parameter of device_startTransaction. Tag FFEE06 must contain tag 9F26 and 9F22, and can optionanally contain tags 9F2B and DFO1. Example FFEE06189F220201009F2604000000009F2B050100000000DF010101 9F22 = two bytes = ApplePay Terminal Applicaiton Version Number. Hard defined as 0100 for now. (required) 9F26 = four bytes = ApplePay Terminal Capabilities Information (required)
int device_calibrateParameters | ( | BYTE | delta | ) |
Calibrate reference parameters
delta | Delta value (0x02 standard default value) |
int device_cancelTransaction | ( | ) |
Cancel Transaction
Cancels the currently executing transaction.
int device_close | ( | ) |
Close the device
Control Indicators
Control the reader. If connected, returns success. Otherwise, returns timeout.
indicator | description as follows:
|
enable | TRUE = ON, FALSE = OFF |
int device_controlUserInterface | ( | IN BYTE * | values | ) |
Control User Interface
Controls the User Interface: Display, Beep, LED
values | Four bytes to control the user interface Byte[0] = LCD Message Messages 00-07 are normally controlled by the reader.
|
Create Directory This command adds a subdirectory to the indicated path.
directoryName | Directory Name. The data for this command is a ASCII string with the complete path and directory name you want to create. You do not need to specify the root directory. Indicate subdirectories with a forward slash (/). |
directoryNameLen | Directory Name Length. |
Delete Directory This command deletes an empty directory. For NEO 2 devices, it will delete the directory even the directory is not empty.
dirName | Complete path of the directory you want to delete. You do not need to specify the root directory. Indicate subdirectories with a forward slash (/). For NEO 2 devices, to delete the root directory, simply pass "" with 0 for dirNameLen. |
dirNameLen | Directory Name Length. |
Delete File This command deletes a file or group of files.
filename | Complete path and file name of the file you want to delete. You do not need to specify the root directory. Indicate subdirectories with a forward slash (/). |
filenameLen | File Name Length. |
int device_enablePassThrough | ( | int | enablePassThrough | ) |
Enable Pass Through
Enables Pass Through Mode for direct communication with L1 interface (power on icc, send apdu, etc).
enablePassThrough | 1 = pass through ON, 0 = pass through OFF |
Enables pass through mode for ICC. Required when direct ICC commands are required (power on/off ICC, exchange APDU)
data | The data includes Poll Timeout, Flags, Contact Interface to Use, Beep Indicator, LED Status, and Display Strings. |
dataLen | length of data |
int device_getCurrentDeviceType | ( | ) |
Get current active device type
Drive Free Space This command returns the free and used disk space on the flash drive.
free | Free bytes available on device |
used | Used bytes on on device |
int device_getFirmwareVersion | ( | OUT char * | firmwareVersion | ) |
DEPRECATED : please use device_getFirmwareVersion_Len(OUT char* firmwareVersion, IN_OUT int *firmwareVersionLen)
Polls device for Firmware Version
firmwareVersion | Response returned of Firmware Version; needs to have at least 128 bytes of memory |
Polls device for Firmware Version
firmwareVersion | Response returned of Firmware Version |
firmwareVersionLen | Length of Firmware Version |
Review the return code description.
returnCode | the response result. |
description |
the | string for description of response result |
DEPRECATED : please use device_getMerchantRecord_Len(IN int index, OUT BYTE * record, IN_OUT int *recordLen)
Get Merchant Record
Gets the merchant record for the device.
index | Merchant Record index, valid values 1-6 |
record; | needs to have at least 99 bytes of memory response data from reader. Merchant Record Index: 1 byte enabled: 1 byte Merchant ID: 32 bytes Length of Merchant URL: 1 byte Merchant URL: 64 bytes |
Get Merchant Record
Gets the merchant record for the device.
index | Merchant Record index, valid values 1-6 |
record | response data from reader. Merchant Record Index: 1 byte enabled: 1 byte Merchant ID: 32 bytes Length of Merchant URL: 1 byte Merchant URL: 64 bytes |
recordLen | Length of record |
int device_getSDKWaitTime | ( | ) |
Get SDK Wait Time
Get the SDK wait time for transactions
int device_getThreadStackSize | ( | ) |
Get Thread Stack Size
Get the stack size setting for newly created threads
int device_getTransactionResults | ( | IDTMSRData * | cardData | ) |
Get Transaction Results Gets the transaction results when the reader is functioning in "Auto Poll" mode
cardData | The transaction results |
int device_init | ( | ) |
Initial the device by USB
It will detect the device and trying connect.
The connect status can be checked by device_isConnected().
Note: after the function returns success, the function device_setCurrentDevice() has to be called to set the device type.
int device_isAttached | ( | int | deviceType | ) |
Check if the device is attached to the USB port The function device_init() must be called before this function.
deviceType,the | device type of the USB device |
int device_isConnected | ( | ) |
Check the device conntected status
int device_listDirectory | ( | IN char * | directoryName, |
IN int | directoryNameLen, | ||
IN int | recursive, | ||
IN int | onSD, | ||
OUT char * | directory, | ||
IN_OUT int * | directoryLen | ||
) |
List Directory This command retrieves a directory listing of user accessible files from the reader.
directoryName | Directory Name. If null, root directory is listed |
directoryNameLen | Directory Name Length. If null, root directory is listed |
recursive | Included sub-directories |
onSD | 0: use internal memory, 1: use SD card The returned directory information The returned directory information length |
int device_pingDevice | ( | ) |
Ping Device
Pings the reader. If connected, returns success. Otherwise, returns timeout.
void device_registerCameraCallBk | ( | pCMR_callBack | pCMRf | ) |
To register the camera callback function to get the image data. (Pass NULL to disable the callback.)
void device_registerCardStatusFrontSwitchCallBk | ( | pCSFS_callBack | pCSFSf | ) |
To register the card status and front switch callback function to get status. (Pass NULL to disable the callback.)
int device_SendDataCommandNEO | ( | IN int | cmd, |
IN int | subCmd, | ||
IN BYTE * | data, | ||
IN int | dataLen, | ||
OUT BYTE * | response, | ||
IN_OUT int * | respLen | ||
) |
Send a Command to device
Sends a command to the device .
cmd | buffer of command to execute. |
cmdLen,the | length of the buffer cmd. |
data | buffer of IDG command data. |
dataLen,the | length of the buffer data. |
response | Response data |
respLen,the | length of Response data |
Sends a command to the NEO device .
cmd | command to execute. |
subCmd,sub | command to execute. |
data | buffer of NEO command data. |
dataLen,the | length of the buffer data. |
response | Response data |
respLen,the | length of Response data |
int device_setCurrentDevice | ( | int | deviceType | ) |
Sets the current device to talk to
The connect status can be checked by device_isConnected().
deviceType | Device to connect to enum DEVICE_TYPE { IDT_DEVICE_UNKNOWN=0, IDT_DEVICE_AUGUSTA_HID, IDT_DEVICE_AUGUSTA_KB, IDT_DEVICE_AUGUSTA_S_HID, IDT_DEVICE_AUGUSTA_S_KB, IDT_DEVICE_AUGUSTA_S_TTK_HID, IDT_DEVICE_SPECTRUM_PRO, IDT_DEVICE_MINISMART_II, IDT_DEVICE_L80, IDT_DEVICE_L100, IDT_DEVICE_UNIPAY, IDT_DEVICE_UNIPAY_I_V, IDT_DEVICE_VP3300_AJ, IDT_DEVICE_KIOSK_III, IDT_DEVICE_KIOSK_III_S, IDT_DEVICE_PIP_READER, IDT_DEVICE_VENDI, IDT_DEVICE_VP3300_USB, IDT_DEVICE_UNIPAY_I_V_TTK, IDT_DEVICE_VP3300_BT, IDT_DEVICE_VP8800, IDT_DEVICE_SREDKEY2_HID, IDT_DEVICE_SREDKEY2_KB, IDT_DEVICE_NEO2, IDT_DEVICE_MINISMART_II_COM = IDT_DEVICE_NEO2+5, IDT_DEVICE_SPECTRUM_PRO_COM, IDT_DEVICE_KIOSK_III_COM, IDT_DEVICE_KIOSK_III_S_COM, IDT_DEVICE_PIP_READER_COM, IDT_DEVICE_VP3300_COM, IDT_DEVICE_NEO2_COM, IDT_DEVICE_MAX_DEVICES = IDT_DEVICE_NEO2_COM+5 }; |
int device_setMerchantRecord | ( | int | index, |
int | enabled, | ||
char * | merchantID, | ||
char * | merchantURL | ||
) |
Set Merchant Record Sets the merchant record for ApplePay VAS
index | Merchant Record index, valid values 1-6 |
enabled | Merchant Enabled/Valid flag |
merchantID | Merchant unique identifer registered with Apple. Example com.idtechproducts.applePay |
merchantURL | Merchant URL, when applicable |
void device_setSDKWaitTime | ( | int | waitTime | ) |
Set SDK Wait Time
Set the SDK wait time for transactions
waitTime | The SDK wait time for transaction in seconds. The Maximum is 2147483 seconds. |
void device_setThreadStackSize | ( | int | threadSize | ) |
Set Thread Stack Size
Set the stack size setting for newly created threads
void device_setTransactionExponent | ( | int | exponent | ) |
Sets the transaction exponent to be used with device_startTransaction. Default value is 2
exponent,The | exponent to use when calling device_startTransaction |
int device_startTransaction | ( | IN double | amount, |
IN double | amtOther, | ||
IN int | type, | ||
IN const int | _timeout, | ||
IN BYTE * | tags, | ||
IN int | tagsLen | ||
) |
Start Transaction Request
Authorizes the transaction for an MSR/CTLS/ICC card
The tags will be returned in the callback routine.
amount | Transaction amount value (tag value 9F02) - SEE IMPORTANT NOTE BELOW |
amtOther | Other amount value, if any (tag value 9F03) - SEE IMPORTANT NOTE BELOW |
type | Transaction type (tag value 9C). |
timeout | Timeout value in seconds. |
tags | Any other tags to be included in the request. Passed as TLV. Example, tag 9F0C with amount 0x000000000100 would be 0x9F0C06000000000100 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. |
tagsLen | The length of tags data buffer. |
>>>>>IMPORTANT: parameters for amount and amtOther MUST BE PASSED AS A DOUBLE VALUE WITH DECIMAL POINT. Example, do not pass 1, but instead pass 1.0 or 1.00. Otherwise, results will be unpredictable
NOTE ON APPLEPAY VAS: To enable ApplePay VAS, first a merchant record must be defined in one of the six available index positions (1-6) using device_setMerchantRecord, then container tag FFEE06 must be sent as part of the additional tags parameter of device_startTransaction. Tag FFEE06 must contain tag 9F26 and 9F22, and can optionanally contain tags 9F2B and DFO1. Example FFEE06189F220201009F2604000000009F2B050100000000DF010101 9F22 = two bytes = ApplePay Terminal Applicaiton Version Number. Hard defined as 0100 for now. (required) 9F26 = four bytes = ApplePay Terminal Capabilities Information (required)
Transfer File This command transfers a data file to the reader.
fileName | Filename. The data for this command is a ASCII string with the complete path and file name you want to create. You do not need to specify the root directory. Indicate subdirectories with a forward slash (/). |
filenameLen | File Name Length. |
file | The data file. |
fileLen | File Length. |
Start EMV Transaction Request
Authorizes the EMV transaction for an ICC card
The tags will be returned in the callback routine.
timeout | Timeout value in seconds. |
tags | Tags to be included in the request. Passed as a TLV stream. Example, tag 9F0C with amount 0x000000000100 would be 0x9F0C06000000000100 |
tagsLen | Length of tags |
forceOnline | TRUE = do not allow offline approval, FALSE = allow ICC to approve offline if terminal capable Note: To request tags to be included in default response, use tag DFEE1A, and specify tag list. Example four tags 9F02, 9F36, 95, 9F37 to be included in response = DFEE1A079F029F36959F37 |
void emv_allowFallback | ( | IN int | allow | ) |
Allow fallback for EMV transactions. Default is TRUE
allow | TRUE = allow fallback, FALSE = don't allow fallback |
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.
updatedTLV | TLV stream that can be used to update the following values:
|
updatedTLVLen |
int emv_authenticateTransactionWithTimeout | ( | IN int | timeout, |
IN BYTE * | updatedTLV, | ||
IN int | updatedTLVLen | ||
) |
Authenticate EMV Transaction Request with Timeout
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.
timeout | Timeout value in seconds. |
updatedTLV | TLV stream that can be used to update the following values:
|
updatedTLVLen |
int emv_cancelTransaction | ( | ) |
Cancel EMV Transaction
Cancels the currently executing EMV transaction.
int emv_completeTransaction | ( | IN int | commError, |
IN BYTE * | authCode, | ||
IN int | authCodeLen, | ||
IN BYTE * | iad, | ||
IN int | iadLen, | ||
IN BYTE * | tlvScripts, | ||
IN int | tlvScriptsLen, | ||
IN BYTE * | tlv, | ||
IN int | tlvLen | ||
) |
Complete EMV Transaction Request
Completes the EMV transaction for an ICC card when online authorization request is received from emv_authenticateTransaction
The tags will be returned in the callback routine.
commError | Communication error with host. Set to TRUE(1) if host was unreachable, or FALSE(0) if host response received. If Communication error, authCode, iad, tlvScripts can be null. |
authCode | Authorization code from host. Two bytes. Example 0x3030. (Tag value 8A). Required |
authCodeLen | the length of authCode |
iad | Issuer Authentication Data, if any. Example 0x11223344556677883030 (tag value 91). |
iadLen | the length of iadLen |
tlvScripts | 71/72 scripts, if any |
tlvScriptsLen | the length of tlvScriptsLen |
tlv | Additional TLV data to return with transaction results (if any) |
tlvLen | the length of tlv |
int emv_getAutoAuthenticateTransaction | ( | ) |
Gets auto authenticate value for EMV transactions.
int emv_getAutoCompleteTransaction | ( | ) |
Gets auto complete value for EMV transactions.
Get EMV Kernel configuration check value info
checkValue | Response returned of Kernel configuration check value info |
checkValueLen | the length of checkValue |
Get EMV Kernel check value info
checkValue | Response returned of Kernel check value info |
checkValueLen | the length of checkValue |
int emv_getEMVKernelVersion | ( | OUT char * | version | ) |
DEPRECATED : please use emv_getEMVKernelVersion_Len(OUT char* version, IN_OUT int *versionLen)
Polls device for EMV Kernel Version
version | Response returned of Kernel Version; needs to have at least 128 bytes of memory. |
Polls device for EMV Kernel Version
version | Response returned of Kernel Version |
versionLen | Length of version |
void emv_registerCallBk | ( | pEMV_callBack | pEMVf | ) |
To register the emv callback function to get the EMV processing response. (Pass NULL to disable the callback.)
int emv_removeAllApplicationData | ( | ) |
Remove All Application Data
Removes all the Application Data
int emv_removeAllCAPK | ( | ) |
Remove All Certificate Authority Public Key
Removes all the CAPK
int emv_removeAllCRL | ( | ) |
Remove All Certificate Revocation List Entries
Removes all CRLEntry entries
int emv_removeAllExceptions | ( | ) |
Remove All EMV Exceptions
Removes all entries from the EMV Exception List
Remove Application Data by AID Removes the Application Data for CTLS as specified by the AID name passed as a parameter
AID | Name of ApplicationID Must be between 5 and 16 bytes |
AIDLen | the length of AID data buffer |
Remove Certificate Authority Public Key
Removes the CAPK as specified by the RID/Index
capk | 6 byte CAPK = 5 bytes RID + 1 byte INDEX |
capkLen | the length of capk data buffer |
Retrieve the Certificate Revocation List
Returns the CRL entries on the terminal.
list | [CRL1][CRL2]...[CRLn], each CRL 9 bytes where CRL = 5 bytes RID + 1 byte index + 3 bytes serial number |
lssLen | the length of list data buffer |
Remove EMV Exception
Removes an entry to the EMV Exception List
exception | EMV Exception entry containing the PAN and Sequence Number where [Exception] is 12 bytes: [1 byte Len][10 bytes PAN][1 byte Sequence Number] PAN, in compressed numeric, padded with F if required (example 0x5413339000001596FFFF) |
exceptionLen | The length of the exception. |
int emv_removeTransactionLog | ( | ) |
Clear Transaction Log
Clears the transaction log.
Retrieve AID list
Returns all the AID names installed on the terminal for CTLS. .
AIDList | array of AID name byte arrays |
AIDListLen | the length of AIDList array buffer |
int emv_retrieveApplicationData | ( | IN BYTE * | AID, |
IN int | AIDLen, | ||
OUT BYTE * | tlv, | ||
IN_OUT int * | tlvLen | ||
) |
Retrieve Application Data by AID
Retrieves the Application Data as specified by the AID name passed as a parameter.
AID | Name of ApplicationID. Must be between 5 and 16 bytes |
AIDLen | the length of AID data buffer. |
tlv | The TLV elements of the requested AID |
tlvLen | the length of tlv data buffer. |
Retrieve Certificate Authority Public Key
Retrieves the CAPK for CTLS as specified by the RID/Index passed as a parameter.
capk | 6 bytes CAPK = 5 bytes RID + 1 byte Index |
capkLen | the length of capk data buffer |
key | Response returned as a CAKey format: [5 bytes RID][1 byte Index][1 byte Hash Algorithm][1 byte Encryption Algorithm] [20 bytes HashValue][4 bytes Public Key Exponent][2 bytes Modulus Length][Variable bytes Modulus] Where:
|
keyLen | the length of key data buffer |
Retrieve the Certificate Authority Public Key list
Returns all the CAPK RID and Index installed on the terminal.
keys | [key1][key2]...[keyn], each key 6 bytes where key = 5 bytes RID + 1 byte index |
keysLen | the length of keys data buffer |
Retrieve the Certificate Revocation List
Returns the CRL entries on the terminal.
list | [CRL1][CRL2]...[CRLn], each CRL 9 bytes where CRL = 5 bytes RID + 1 byte index + 3 bytes serial number |
lssLen | the length of list data buffer |
Retrieve the EMV Exception List
Returns the EMV Exception entries on the terminal.
exceptionList | [Exception1][Exception2]...[Exceptionn], where [Exception] is 12 bytes: [1 byte Len][10 bytes PAN][1 byte Sequence Number] |
exceptionListLen | The length of the exception list. |
int emv_retrieveExceptionLogStatus | ( | OUT BYTE * | exceptionLogStatus, |
IN_OUT int * | exceptionLogStatusLen | ||
) |
Get EMV Exception Log Status
This command returns information about the EMV Exception log. The version number, record size, and number of records contained in the file are returned.
exceptionLogStatus | 12 bytes returned
|
exceptionLogStatusLen | The length of the exception log status. |
Retrieve Terminal Data
Retrieves the Terminal Data for CTLS. This is configuration group 0 (Tag FFEE - > FFEE0100). The terminal data can also be retrieved by ctls_getConfigurationGroup(0).
tlv | Response returned as a TLV |
tlvLen | the length of tlv data buffer |
int emv_retrieveTransactionLog | ( | OUT BYTE * | transactionLog, |
IN_OUT int * | transactionLogLen, | ||
IN_OUT int * | remainingTransactionLogLen | ||
) |
Get Transaction Log Record
Retrieves oldest transaction record on the Transaction Log. At successful completion, the oldest transaction record is deleted from the transaction log
transactionLog | Transaction Record |
transactionLogLen | The length of the transaction log. |
remainingTransactionLogLen | Number of records remaining on the transaction log | Length | Description | Type | | ---— | --------------------------— | -------------------------------------------------------------------------------------------— | |
| 4 | Transaction Log State (TLS) | Enum (4-byte number, LSB first), SENT ONLINE = 0, NOT SENT = 1 |
| 4 | Transaction Log Content (TLC) | Enum (4-byte number, LSB first), BATCH = 0, OFFLINE ADVICE = 1, ONLINEADVICE = 2, REVERSAL = 3 |
| 4 | AppExpDate | BYTE [4] |
| 3 | AuthRespCode | BYTE [3] |
| 3 | MerchantCategoryCode | BYTE [3] |
| 16 | MerchantID | BYTE [16] |
| 2 | PosEntryMode | BYTE [2] |
| 9 | TermID | BYTE [9] |
| 3 | AIP | BYTE [3] |
| 3 | ATC | BYTE [3] |
| 33 | IssuerAppData | BYTE [33] |
| 6 | TVR | BYTE [6] |
| 3 | TSI | BYTE [3] |
| 11 | Pan | BYTE [11] |
| 2 | PanSQNCNum | BYTE [2] |
| 3 | TermCountryCode | BYTE [3] |
| 7 | TranAmount | BYTE [7] |
| 3 | TranCurCode | BYTE [3] |
| 4 | TranDate | BYTE [4] |
| 2 | TranType | BYTE [2] |
| 9 | IFDSerialNum | BYTE [9] |
| 12 | AcquirerID | BYTE [12] |
| 2 | CID | BYTE [2] |
| 9 | AppCryptogram | BYTE [9] |
| 5 | UnpNum | BYTE [5] |
| 7 | AmountAuth | BYTE [7] |
| 4 | AppEffDate | BYTE [4] |
| 4 | CVMResults | BYTE [4] |
| 129 | IssScriptResults | BYTE [129] |
| 4 | TermCap | BYTE [4] |
| 2 | TermType | BYTE [2] |
| 20 | Track2 | BYTE [20] |
| 4 | TranTime | BYTE [4] |
| 7 | AmountOther | BYTE [7] |
| 1 | Unused | BYTE [1] |
int emv_retrieveTransactionLogStatus | ( | OUT BYTE * | transactionLogStatus, |
IN_OUT int * | transactionLogStatusLen | ||
) |
Get Transaction Log Status
This command returns information about the EMV transaction log. The version number, record size, and number of records contained in the file are returned.
transactionLogStatus | 12 bytes returned
|
transactionLogStatusLen | The length of the transaction log status. |
Set Application Data by AID
Sets the Application Data as specified by the application name and TLV data
name | Application name, 10-32 ASCII hex characters representing 5-16 bytes Example "a0000000031010" |
nameLen | the length of name data buffer of Application name, |
tlv | Application data in TLV format |
tlvLen | the length of tlv data buffer |
Set Application Data by TLV
Sets the Application Data as specified by the TLV data
tlv | Application data in TLV format The first tag of the TLV data must be the group number (DFEE2D). The second tag of the TLV data must be the AID (9F06) Example valid TLV, for Group #2, AID a0000000035010: "dfee2d01029f0607a0000000051010ffe10101ffe50110ffe30114ffe20106" |
tlvLen | the length of tlv data buffer |
void emv_setAutoAuthenticateTransaction | ( | IN int | authenticate | ) |
Enables authenticate for EMV transactions. If a emv_startTranaction results in code 0x0010 (start transaction success), then emv_authenticateTransaction can automatically execute if parameter is set to TRUE
authenticate | TRUE = auto authenticate, FALSE = manually authenticate |
void emv_setAutoCompleteTransaction | ( | IN int | complete | ) |
Enables complete for EMV transactions. If a emv_authenticateTranaction results in code 0x0004 (go online), then emv_completeTransaction can automatically execute if parameter is set to TRUE
complete | TRUE = auto complete, FALSE = manually complete |
Set Certificate Authority Public Key
Sets the CAPK as specified by the CAKey structure
capk | 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:
|
capkLen | the length of capk data buffer |
Set Certificate Revocation List
Sets the CRL
list | CRL Entries containing the RID, Index, and serial numbers to set [CRL1][CRL2]...[CRLn] where each [CRL] is 9 bytes: [5 bytes RID][1 byte CAPK Index][3 bytes serial number] |
lsLen | the length of list data buffer |
Set EMV Exception
Adds an entry to the EMV Exception List
exception | EMV Exception entry containing the PAN and Sequence Number where [Exception] is 12 bytes: [1 byte Len][10 bytes PAN][1 byte Sequence Number] PAN, in compressed numeric, padded with F if required (example 0x5413339000001596FFFF) |
exceptionLen | The length of the exception. |
Set Terminal Data
Sets the Terminal Data for CTLS as specified by the TLV. The first TLV must be Configuration Group Number (Tag FFE4). The terminal global data is group 0, so the first TLV would be FFE40100. Other groups can be defined using this method (1 or greater), and those can be retrieved with emv_getConfigurationGroup(int group), and deleted with emv_removeConfigurationGroup(int group). You cannot delete group 0.
tlv | TerminalData configuration file. The first byte is the Terminal Configuration: 0x01 for 1C, 0x02 for 2C, 0x03 for 3C, and 0x04 for 4C. |
tlvLen | the length of tlv data buffer |
RETURN_CODE | Values can be parsed with device_getIDGStatusCodeString() |
int emv_startTransaction | ( | IN double | amount, |
IN double | amtOther, | ||
IN int | exponent, | ||
IN int | type, | ||
IN int | timeout, | ||
IN BYTE * | tags, | ||
IN int | tagsLen, | ||
IN int | forceOnline | ||
) |
Start EMV Transaction Request
Authorizes the EMV transaction for an ICC card
The tags will be returned in the callback routine.
amount | Transaction amount value (tag value 9F02) - SEE IMPORTANT NOTE BELOW |
amtOther | Other amount value, if any (tag value 9F03) - SEE IMPORTANT NOTE BELOW |
exponent | Number of characters after decimal point |
type | Transaction type (tag value 9C). |
timeout | Timeout value in seconds. |
tags | Any other tags to be included in the request. Passed as a TLV stream. Example, tag 9F0C with amount 0x000000000100 would be 0x9F0C06000000000100 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. |
tagsLen | The length of tags |
forceOnline | TRUE = do not allow offline approval, FALSE = allow ICC to approve offline if terminal capable Note: To request tags to be included in default response, use tag DFEE1A, and specify tag list. Example four tags 9F02, 9F36, 95, 9F37 to be included in response = DFEE1A079F029F36959F37 |
>>>>>IMPORTANT: parameters for amount and amtOther MUST BE PASSED AS A DOUBLE VALUE WITH DECIMAL POINT. Example, do not pass 1, but instead pass 1.0 or 1.00. Otherwise, results will be unpredictable
int lcd_addItemToList | ( | IN BYTE * | listGraphicsID, |
IN char * | itemName, | ||
IN char * | itemID, | ||
IN int | selected | ||
) |
Adds an item to an existing list.
Custom Display Mode must be enabled for custom text.
listGraphicsID | Existing list's graphics ID (4 byte array) that is provided during creation |
itemName | Item name (Maximum: 127 characters) |
itemID | Identifier for the item (Maximum: 31 characters) |
selected | If the item should be selected |
Cancel slide show Cancel the slide show currently running
statusCode | If the return code is not Success (0), the kernel may return a four-byte Extended Status Code |
statusCodeLen | the length of the Extended Status Code (should be 4 bytes) |
int lcd_captureSignature | ( | IN int | timeout | ) |
Enables Signature Capture This command executes the signature capture screen. Once a signature is captured, it is sent to the callback with DeviceState.Signature, and the data will contain a .png of the signature
timeout | Timeout waiting for the signature capture |
int lcd_clearDisplay | ( | IN BYTE | control | ) |
Clear Display Command to clear the display screen on the reader.It returns the display to the currently defined background color and terminates all events
control | for L80 and L100 only. 0:First Line 1:Second Line 2:Third Line 3:Fourth Line 0xFF: All Screen |
int lcd_clearEventQueue | ( | ) |
Removes all entries from the event queue.
DEPRECATED : please use lcd_createInputField_Len(IN BYTE *specs, IN int specsLen, OUT BYTE *graphicId, IN_OUT int *graphicIdLen)
Create an input field on the screen.
specs | The specs of the input field: | Length (bytes) | Description | |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 - 4 | X coordinate in pixels, zero terminated ASCII |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 - 4 | Y coordinate in pixels, zero terminated ASCII |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 - 4 | Width in pixels, zero terminated ASCII. Set to 0 (30h) for calculated width. |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 - 4 | Height in pixels, zero terminated ASCII. Set to 0 (30h) for calculated height. |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 | Font designation. Default font = 1, zero terminated ASCII |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 - 3 | Zero terminated ASCII Font ID |
| ---------------— | -----------------------------------------------------------------------------— |
| 3 | Zero terminated ASCII hexadecimal display option flag |
| | Bit 0 0 = No Border |
| | 1 = Show Border |
| | Bit 1 0 = Characters are first displayed on the leftmost area of the screen. |
| | 1 = The first character entered is displayed on the rightmost area of |
| | the screen, and, as further digits are entered, characters scroll |
| | from the right to the left. |
| | Bit 2 - 15 Reserved |
| ---------------— | -----------------------------------------------------------------------------— |
| 1 or 9 | Foreground color, zero terminated ASCII hexadecimal |
| ---------------— | -----------------------------------------------------------------------------— |
| 1 or 9 | Background color, zero terminated ASCII hexadecimal |
| ---------------— | -----------------------------------------------------------------------------— |
| 1 or 9 | Border color, zero terminated ASCII hexadecimal |
| ---------------— | -----------------------------------------------------------------------------— |
| 1 - 65 | Prefill String, zero terminated ASCII |
| ---------------— | -----------------------------------------------------------------------------— |
| 1 - 65 | Format String, zero terminated ASCII |
specsLen | The length of specs |
graphicsID | The graphicID of the event (required to be 4 bytes) |
int lcd_createInputField_Len | ( | IN BYTE * | specs, |
IN int | specsLen, | ||
OUT BYTE * | graphicId, | ||
IN_OUT int * | graphicIdLen | ||
) |
Create an input field on the screen.
specs | The specs of the input field: | Length (bytes) | Description | |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 - 4 | X coordinate in pixels, zero terminated ASCII |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 - 4 | Y coordinate in pixels, zero terminated ASCII |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 - 4 | Width in pixels, zero terminated ASCII. Set to 0 (30h) for calculated width. |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 - 4 | Height in pixels, zero terminated ASCII. Set to 0 (30h) for calculated height. |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 | Font designation. Default font = 1, zero terminated ASCII |
| ---------------— | -----------------------------------------------------------------------------— |
| 2 - 3 | Zero terminated ASCII Font ID |
| ---------------— | -----------------------------------------------------------------------------— |
| 3 | Zero terminated ASCII hexadecimal display option flag |
| | Bit 0 0 = No Border |
| | 1 = Show Border |
| | Bit 1 0 = Characters are first displayed on the leftmost area of the screen. |
| | 1 = The first character entered is displayed on the rightmost area of |
| | the screen, and, as further digits are entered, characters scroll |
| | from the right to the left. |
| | Bit 2 - 15 Reserved |
| ---------------— | -----------------------------------------------------------------------------— |
| 1 or 9 | Foreground color, zero terminated ASCII hexadecimal |
| ---------------— | -----------------------------------------------------------------------------— |
| 1 or 9 | Background color, zero terminated ASCII hexadecimal |
| ---------------— | -----------------------------------------------------------------------------— |
| 1 or 9 | Border color, zero terminated ASCII hexadecimal |
| ---------------— | -----------------------------------------------------------------------------— |
| 1 - 65 | Prefill String, zero terminated ASCII |
| ---------------— | -----------------------------------------------------------------------------— |
| 1 - 65 | Format String, zero terminated ASCII |
specsLen | The length of specs |
graphicsID | The graphicID of the event (required to be 4 bytes) |
graphicsIDLen | Length of graphicsID |
int lcd_createList | ( | IN int | posX, |
IN int | posY, | ||
IN int | numOfColumns, | ||
IN int | numOfRows, | ||
IN int | fontDesignation, | ||
IN int | fontID, | ||
IN int | verticalScrollArrowsVisible, | ||
IN int | borderedListItems, | ||
IN int | borderdScrollArrows, | ||
IN int | touchSensitive, | ||
IN int | automaticScrolling, | ||
OUT BYTE * | graphicsID | ||
) |
DEPRECATED : please use lcd_createList_Len(IN int posX, IN int posY, IN int numOfColumns, IN int numOfRows, IN int fontDesignation, IN int fontID, IN int verticalScrollArrowsVisible, IN int borderedListItems, IN int borderdScrollArrows, IN int touchSensitive, IN int automaticScrolling, OUT BYTE *graphicsID, IN_OUT int *graphicsIDLen)
Creates a display list.
posX | X coordinate in pixels |
posY | Y coordinate in pixels |
numOfColumns | Number of columns to display |
numOfRows | Number of rows to display |
fontDesignation | Font Designation 1 - Default font |
fontID | Font styling | Font ID | Height in pixels | Font Properties | |
| ----— | -------------— | --------------------------------— |
| 1 | 13 | Regular |
| 2 | 17 | Regular |
| 3 | 17 | Bold |
| 4 | 22 | Regular |
| 5 | 20 | Regular |
| 6 | 20 | Bold |
| 7 | 29 | Regular |
| 8 | 38 | Regular |
| 9 | 38 | Bold |
| 10 | 58 | Regular |
| 11 | 58 | Bold, mono-space |
| 12 | 14 | Regular, mono-space, 8 pixels wide |
| 13 | 15 | Regular, mono-space, 9 pixels wide |
| 14 | 17 | Regular, mono-space, 9 pixels wide |
| 15 | 20 | Regular, mono-space, 11 pixels wide |
| 16 | 21 | Regular, mono-space, 12 pixels wide |
| 17 | 25 | Regular, mono-space, 14 pixels wide |
| 18 | 30 | Regular, mono-space, 17 pixels wide |
verticalScrollArrowsVisible | Display vertical scroll arrows by default |
borederedListItems | Draw border around list items |
borederedScrollArrows | Draw border around scroll arrows (if visible) |
touchSensitive | List items are touch enabled |
automaticScrolling | Enable automatic scrolling of list when new items exceed display area |
graphicsID | A four byte array containing the ID of the created element (optional) if graphicsID is NULL, the SDK will not return graphicsID if graphicsID is not NULL, the SDK will return graphicsID, but it will need 4 bytes of memory |
int lcd_createList_Len | ( | IN int | posX, |
IN int | posY, | ||
IN int | numOfColumns, | ||
IN int | numOfRows, | ||
IN int | fontDesignation, | ||
IN int | fontID, | ||
IN int | verticalScrollArrowsVisible, | ||
IN int | borderedListItems, | ||
IN int | borderdScrollArrows, | ||
IN int | touchSensitive, | ||
IN int | automaticScrolling, | ||
OUT BYTE * | graphicsID, | ||
IN_OUT int * | graphicsIDLen | ||
) |
Creates a display list.
posX | X coordinate in pixels |
posY | Y coordinate in pixels |
numOfColumns | Number of columns to display |
numOfRows | Number of rows to display |
fontDesignation | Font Designation 1 - Default font |
fontID | Font styling | Font ID | Height in pixels | Font Properties | |
| ----— | -------------— | --------------------------------— |
| 1 | 13 | Regular |
| 2 | 17 | Regular |
| 3 | 17 | Bold |
| 4 | 22 | Regular |
| 5 | 20 | Regular |
| 6 | 20 | Bold |
| 7 | 29 | Regular |
| 8 | 38 | Regular |
| 9 | 38 | Bold |
| 10 | 58 | Regular |
| 11 | 58 | Bold, mono-space |
| 12 | 14 | Regular, mono-space, 8 pixels wide |
| 13 | 15 | Regular, mono-space, 9 pixels wide |
| 14 | 17 | Regular, mono-space, 9 pixels wide |
| 15 | 20 | Regular, mono-space, 11 pixels wide |
| 16 | 21 | Regular, mono-space, 12 pixels wide |
| 17 | 25 | Regular, mono-space, 14 pixels wide |
| 18 | 30 | Regular, mono-space, 17 pixels wide |
verticalScrollArrowsVisible | Display vertical scroll arrows by default |
borederedListItems | Draw border around list items |
borederedScrollArrows | Draw border around scroll arrows (if visible) |
touchSensitive | List items are touch enabled |
automaticScrolling | Enable automatic scrolling of list when new items exceed display area |
graphicsID | A four byte array containing the ID of the created element (optional) |
graphicsIDLen | Length of graphicsID (optional) |
int lcd_customDisplayMode | ( | IN int | enable | ) |
Custom Display Mode Controls the LCD display mode to custom display. Keyboard entry is limited to the Cancel, Clear, Enter and the function keys, if present. PIN entry is not permitted while the reader is in Custom Display Mode
enable | TRUE = enabled, FALSE = disabled |
int lcd_displayButton | ( | IN int | posX, |
IN int | posY, | ||
IN int | buttonWidth, | ||
IN int | buttonHeight, | ||
IN int | fontDesignation, | ||
IN int | fontID, | ||
IN int | displayPosition, | ||
IN char * | buttonLabel, | ||
IN int | buttonTextColorR, | ||
IN int | buttonTextColorG, | ||
IN int | buttonTextColorB, | ||
IN int | buttonBackgroundColorR, | ||
IN int | buttonBackgroundColorG, | ||
IN int | buttonBackgroundColorB, | ||
OUT BYTE * | graphicsID | ||
) |
DEPRECATED : please use lcd_displayButton_Len(IN int posX, IN int posY, IN int buttonWidth, IN int buttonHeight, IN int fontDesignation, IN int fontID, IN int displayPosition, IN char *buttonLabel, IN int buttonTextColorR, IN int buttonTextColorG, IN int buttonTextColorB, IN int buttonBackgroundColorR, IN int buttonBackgroundColorG, IN int buttonBackgroundColorB, OUT BYTE *graphicsID, IN_OUT int *graphicsIDLen)
Displays an interactive button.
posX | X coordinate in pixels |
posY | Y coordinate in pixels |
buttonWidth | Width of the button |
buttonHeight | Height of the button |
fontDesignation | Font designation 1 - Default |
FontID | Font styling | Font ID | Height in pixels | Font Properties | |
| ----— | -------------— | --------------------------------— |
| 1 | 13 | Regular |
| 2 | 17 | Regular |
| 3 | 17 | Bold |
| 4 | 22 | Regular |
| 5 | 20 | Regular |
| 6 | 20 | Bold |
| 7 | 29 | Regular |
| 8 | 38 | Regular |
| 9 | 38 | Bold |
| 10 | 58 | Regular |
| 11 | 58 | Bold, mono-space |
| 12 | 14 | Regular, mono-space, 8 pixels wide |
| 13 | 15 | Regular, mono-space, 9 pixels wide |
| 14 | 17 | Regular, mono-space, 9 pixels wide |
| 15 | 20 | Regular, mono-space, 11 pixels wide |
| 16 | 21 | Regular, mono-space, 12 pixels wide |
| 17 | 25 | Regular, mono-space, 14 pixels wide |
| 18 | 30 | Regular, mono-space, 17 pixels wide |
displayPosition | Button display position 0 - Center on line Y without clearing screen and without word wrap 1 - Center on line Y after clearing screen and without word wrap 2 - Display at (X, Y) without clearing screen and without word wrap 3 - Display at (X, Y) after clearing screen and without word wrap 4 - Center button on screen without clearing screen and without word wrap 5 - Center button on screen after clearing screen and without word wrap 64 - Center on line Y without clearing screen and with word wrap 65 - Center on line Y after clearing the screen and with word wrap 66 - Display at (X, Y) without clearing screen and with word wrap 67 - Display at (X, Y) after clearing screen and with word wrap 68 - Center button on screen without clearing screen and with word wrap 69 - Center button on screen after clearing screen and with word wrap |
buttonLabel | Button label text (Maximum: 31 characters) |
buttonTextColorR | - Red component for foreground color (0 - 255) |
buttonTextColorG | - Green component for foreground color (0 - 255) |
buttonTextColorB | - Blue component for foreground color (0 - 255) |
buttonBackgroundColorR | - Red component for background color (0 - 255) |
buttonBackgroundColorG | - Green component for background color (0 - 255) |
buttonBackgroundColorB | - Blue component for background color (0 - 255) |
graphicsID | A four byte array containing the ID of the created element (optional) if graphicsID is NULL, the SDK will not return graphicsID if graphicsID is not NULL, the SDK will return graphicsID, but it will need 4 bytes of memory |
int lcd_displayButton_Len | ( | IN int | posX, |
IN int | posY, | ||
IN int | buttonWidth, | ||
IN int | buttonHeight, | ||
IN int | fontDesignation, | ||
IN int | fontID, | ||
IN int | displayPosition, | ||
IN char * | buttonLabel, | ||
IN int | buttonTextColorR, | ||
IN int | buttonTextColorG, | ||
IN int | buttonTextColorB, | ||
IN int | buttonBackgroundColorR, | ||
IN int | buttonBackgroundColorG, | ||
IN int | buttonBackgroundColorB, | ||
OUT BYTE * | graphicsID, | ||
IN_OUT int * | graphicsIDLen | ||
) |
Displays an interactive button.
posX | X coordinate in pixels |
posY | Y coordinate in pixels |
buttonWidth | Width of the button |
buttonHeight | Height of the button |
fontDesignation | Font designation 1 - Default |
FontID | Font styling | Font ID | Height in pixels | Font Properties | |
| ----— | -------------— | --------------------------------— |
| 1 | 13 | Regular |
| 2 | 17 | Regular |
| 3 | 17 | Bold |
| 4 | 22 | Regular |
| 5 | 20 | Regular |
| 6 | 20 | Bold |
| 7 | 29 | Regular |
| 8 | 38 | Regular |
| 9 | 38 | Bold |
| 10 | 58 | Regular |
| 11 | 58 | Bold, mono-space |
| 12 | 14 | Regular, mono-space, 8 pixels wide |
| 13 | 15 | Regular, mono-space, 9 pixels wide |
| 14 | 17 | Regular, mono-space, 9 pixels wide |
| 15 | 20 | Regular, mono-space, 11 pixels wide |
| 16 | 21 | Regular, mono-space, 12 pixels wide |
| 17 | 25 | Regular, mono-space, 14 pixels wide |
| 18 | 30 | Regular, mono-space, 17 pixels wide |
displayPosition | Button display position 0 - Center on line Y without clearing screen and without word wrap 1 - Center on line Y after clearing screen and without word wrap 2 - Display at (X, Y) without clearing screen and without word wrap 3 - Display at (X, Y) after clearing screen and without word wrap 4 - Center button on screen without clearing screen and without word wrap 5 - Center button on screen after clearing screen and without word wrap 64 - Center on line Y without clearing screen and with word wrap 65 - Center on line Y after clearing the screen and with word wrap 66 - Display at (X, Y) without clearing screen and with word wrap 67 - Display at (X, Y) after clearing screen and with word wrap 68 - Center button on screen without clearing screen and with word wrap 69 - Center button on screen after clearing screen and with word wrap |
buttonLabel | Button label text (Maximum: 31 characters) |
buttonTextColorR | - Red component for foreground color (0 - 255) |
buttonTextColorG | - Green component for foreground color (0 - 255) |
buttonTextColorB | - Blue component for foreground color (0 - 255) |
buttonBackgroundColorR | - Red component for background color (0 - 255) |
buttonBackgroundColorG | - Green component for background color (0 - 255) |
buttonBackgroundColorB | - Blue component for background color (0 - 255) |
graphicsID | A four byte array containing the ID of the created element (optional) |
graphicsIDLen | Length of graphicsID (optional) |
int lcd_displayParagraph | ( | IN int | posX, |
IN int | posY, | ||
IN int | displayWidth, | ||
IN int | displayHeight, | ||
IN int | fontDesignation, | ||
IN int | fontID, | ||
IN int | displayProperties, | ||
IN char * | displayText | ||
) |
Displays text with scroll feature.
Custom Display Mode must be enabled.
posX | X coordinate in pixels |
posY | Y coordinate in pixels |
displayWidth | Width of the display area in pixels (Minimum: 40px) 0 or NULL - Use the full width to display text |
displayHeight | Height of the display area in pixels (Minimum: 100px) 0 or NULL - Use the full height to display text |
fontDesignation | Font designation 1 - Default |
fontID | Font styling | Font ID | Height in pixels | Font Properties | |
| 1 | 13 | Regular |
| 2 | 17 | Regular |
| 3 | 17 | Bold |
| 4 | 22 | Regular |
| 5 | 20 | Regular |
| 6 | 20 | Bold |
| 7 | 29 | Regular |
| 8 | 38 | Regular |
| 9 | 38 | Bold |
| 10 | 58 | Regular |
| 11 | 58 | Bold, mono-space |
| 12 | 14 | Regular, mono-space, 8 pixels wide |
| 13 | 15 | Regular, mono-space, 9 pixels wide |
| 14 | 17 | Regular, mono-space, 9 pixels wide |
| 15 | 20 | Regular, mono-space, 11 pixels wide |
| 16 | 21 | Regular, mono-space, 12 pixels wide |
| 17 | 25 | Regular, mono-space, 14 pixels wide |
| 18 | 30 | Regular, mono-space, 17 pixels wide |
displayProperties | Display properties for the text 0 - Center on line Y without clearing screen 1 - Center on line Y after clearing screen 2 - Display at (X, Y) without clearing screen 3 - Display at (X, Y) after clearing screen 4 - Center on screen without clearing screen 5 - Center on screen after clearing screen |
displayText | Display text (Maximum: 3999 characters plus terminator) |
int lcd_displayText | ( | IN int | posX, |
IN int | posY, | ||
IN int | displayWidth, | ||
IN int | displayHeight, | ||
IN int | fontDesignation, | ||
IN int | fontID, | ||
IN int | screenPosition, | ||
IN char * | displayText, | ||
OUT BYTE * | graphicsID | ||
) |
DEPRECATED : please use lcd_displayText_Len(IN int posX, IN int posY, IN int displayWidth, IN int displayHeight, IN int fontDesignation, IN int fontID, IN int screenPosition, IN char *displayText, OUT BYTE *graphicsID, IN_OUT int *graphicsIDLen)
Displays text.
Custom Display Mode must be enabled for custom text. PIN pad entry is not allowed in Custom Display Mode but the Cancel, OK, and Clear keys remain active.
posX | X coordinate in pixels |
posY | Y coordinate in pixels |
displayWidth | Width of the display area in pixels (optional) |
displayHeight | Height of the display area in pixels (optional) |
fontDesignation | Font designation 1 - Default |
FontID | Font styling | Font ID | Height in pixels | Font Properties | |
| ----— | -------------— | --------------------------------— |
| 1 | 13 | Regular |
| 2 | 17 | Regular |
| 3 | 17 | Bold |
| 4 | 22 | Regular |
| 5 | 20 | Regular |
| 6 | 20 | Bold |
| 7 | 29 | Regular |
| 8 | 38 | Regular |
| 9 | 38 | Bold |
| 10 | 58 | Regular |
| 11 | 58 | Bold, mono-space |
| 12 | 14 | Regular, mono-space, 8 pixels wide |
| 13 | 15 | Regular, mono-space, 9 pixels wide |
| 14 | 17 | Regular, mono-space, 9 pixels wide |
| 15 | 20 | Regular, mono-space, 11 pixels wide |
| 16 | 21 | Regular, mono-space, 12 pixels wide |
| 17 | 25 | Regular, mono-space, 14 pixels wide |
| 18 | 30 | Regular, mono-space, 17 pixels wide |
screenPosition | Display position 0 - Center on line Y without clearing screen 1 - Center on line Y after clearing screen 2 - Display at (X, Y) without clearing screen 3 - Display at (X, Y) after clearing screen 4 - Display at center of screen without clearing screen 5 - Display at center of screen after clearing screen 6 - Display text right-justified without clearing screen 7 - Display text right-justified after clearing screen |
displayText | Display text (Maximum: 1900 characters) |
graphicsID | A four byte array containing the ID of the created element (optional) if graphicsID is NULL, the SDK will not return graphicsID if graphicsID is not NULL, the SDK will return graphicsID, but it will need 4 bytes of memory |
int lcd_displayText_Len | ( | IN int | posX, |
IN int | posY, | ||
IN int | displayWidth, | ||
IN int | displayHeight, | ||
IN int | fontDesignation, | ||
IN int | fontID, | ||
IN int | screenPosition, | ||
IN char * | displayText, | ||
OUT BYTE * | graphicsID, | ||
IN_OUT int * | graphicsIDLen | ||
) |
Displays text.
Custom Display Mode must be enabled for custom text. PIN pad entry is not allowed in Custom Display Mode but the Cancel, OK, and Clear keys remain active.
posX | X coordinate in pixels |
posY | Y coordinate in pixels |
displayWidth | Width of the display area in pixels (optional) |
displayHeight | Height of the display area in pixels (optional) |
fontDesignation | Font designation 1 - Default |
FontID | Font styling | Font ID | Height in pixels | Font Properties | |
| ----— | -------------— | --------------------------------— |
| 1 | 13 | Regular |
| 2 | 17 | Regular |
| 3 | 17 | Bold |
| 4 | 22 | Regular |
| 5 | 20 | Regular |
| 6 | 20 | Bold |
| 7 | 29 | Regular |
| 8 | 38 | Regular |
| 9 | 38 | Bold |
| 10 | 58 | Regular |
| 11 | 58 | Bold, mono-space |
| 12 | 14 | Regular, mono-space, 8 pixels wide |
| 13 | 15 | Regular, mono-space, 9 pixels wide |
| 14 | 17 | Regular, mono-space, 9 pixels wide |
| 15 | 20 | Regular, mono-space, 11 pixels wide |
| 16 | 21 | Regular, mono-space, 12 pixels wide |
| 17 | 25 | Regular, mono-space, 14 pixels wide |
| 18 | 30 | Regular, mono-space, 17 pixels wide |
screenPosition | Display position 0 - Center on line Y without clearing screen 1 - Center on line Y after clearing screen 2 - Display at (X, Y) without clearing screen 3 - Display at (X, Y) after clearing screen 4 - Display at center of screen without clearing screen 5 - Display at center of screen after clearing screen 6 - Display text right-justified without clearing screen 7 - Display text right-justified after clearing screen |
displayText | Display text (Maximum: 1900 characters) |
graphicsID | A four byte array containing the ID of the created element (optional) |
graphicsIDLen | Length of graphicsID (optional) |
int lcd_getInputEvent | ( | IN int | timeout, |
OUT int * | dataReceived, | ||
OUT BYTE * | eventType, | ||
OUT BYTE * | graphicsID, | ||
OUT BYTE * | eventData | ||
) |
DEPRECATED : please use lcd_getInputEvent_Len(IN int timeout, OUT int *dataReceived, OUT BYTE *eventType, IN_OUT int *eventTypeLen, OUT BYTE *graphicsID, IN_OUT int *graphicsIDLen, OUT BYTE *eventData, IN_OUT int *eventDataLen)
Requests input from the reader.
timeout | Timeout amount in seconds 0 - No timeout |
dataReceived | Indicates if an event occurred and data was received 0 - No data received 1 - Data received |
eventType | The event type (required to be at least 4 bytes), see table below |
graphicsID | The graphicID of the event (required to be at least 4 bytes) |
eventData | The event data, see table below (required to be at least 73 bytes) | Event Type | Value (4 bytes) | Event Specific Data | |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Button Event | 00030000h | Length = Variable |
| | | Byte 1: State (1 = Pressed, other values RFU) |
| | | Byte 2 - n: Null terminated caption |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Checkbox Event | 00030001h | Length = 1 byte |
| | | Byte 1: State (1 = Checked, 0 = Unchecked) |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Line Item Event | 00030002h | Length = 5 bytes |
| | | Byte 1: State (1 = Item Selected, other values RFU) |
| | | Byte 2 - n: Caption of the selected item |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Keypad Event | 00030003h | Length - 3 bytes |
| | | Byte 1: State (1 = key pressed, 2 = key released, other values RFU) |
| | | Byte 2 - 3: Key pressed and Key release |
| | | 0030h - KEYPAD_KEY_0 |
| | | 0031h - KEYPAD_KEY_1 |
| | | 0032h - KEYPAD_KEY_2 |
| | | 0033h - KEYPAD_KEY_3 |
| | | 0034h - KEYPAD_KEY_4 |
| | | 0035h - KEYPAD_KEY_5 |
| | | 0036h - KEYPAD_KEY_6 |
| | | 0037h - KEYPAD_KEY_7 |
| | | 0038h - KEYPAD_KEY_8 |
| | | 0039h - KEYPAD_KEY_9 |
| | | Byte 2 - 3: Only Key pressed |
| | | 000Dh - KEYPAD_KEY_ENTER |
| | | 0008h - KEYPAD_KEY_CLEAR |
| | | 001Bh - KEYPAD_KEY_CANCEL |
| | | 0070h - FUNC_KEY_F1 (Vend III) |
| | | 0071h - FUNC_KEY_F2 (Vend III) |
| | | 0072h - FUNC_KEY_F3 (Vend III) |
| | | 0073h - FUNC_KEY_F4 (Vend III) |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Touchscreen Event | 00030004h | Length = 1 - 33 bytes |
| | | Byte 1: State (not used) |
| | | Byte 2 - 33: Image name (zero terminated) |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Slideshow Event | 00030005h | Length = 1 byte |
| | | Byte 1: State (not used) |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Transaction Event | 00030006h | Length = 9 bytes |
| | | Byte 1: State (not used) |
| | | Byte 2 - 5: Card type (0 = unknown) |
| | | Byte 6 - 9: Status - A four byte, big-endian field |
| | | Byte 9 is used to store the 1-byte status code |
| | | 00 - SUCCESS |
| | | 08 - TIMEOUT |
| | | 0A - FAILED |
| | | This is not related to the extended status codes |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Radio Button Event | 00030007h | Length = 73 bytes |
| | | Byte 1: State (1 = Change ins selected button, other values RFU) |
| | | Byte 2 - 33: Null terminated group name |
| | | Byte 34 - 65: Radio button caption |
int lcd_getInputEvent_Len | ( | IN int | timeout, |
OUT int * | dataReceived, | ||
OUT BYTE * | eventType, | ||
IN_OUT int * | eventTypeLen, | ||
OUT BYTE * | graphicsID, | ||
IN_OUT int * | graphicsIDLen, | ||
OUT BYTE * | eventData, | ||
IN_OUT int * | eventDataLen | ||
) |
Requests input from the reader.
timeout | Timeout amount in seconds 0 - No timeout |
dataReceived | Indicates if an event occurred and data was received 0 - No data received 1 - Data received |
eventType | The event type (required to be at least 4 bytes), see table below |
eventTypeLen | Length of eventType |
graphicsID | The graphicID of the event (required to be at least 4 bytes) |
graphicsIDLen | length of graphicID |
eventData | The event data, see table below (required to be at least 73 bytes) | Event Type | Value (4 bytes) | Event Specific Data | |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Button Event | 00030000h | Length = Variable |
| | | Byte 1: State (1 = Pressed, other values RFU) |
| | | Byte 2 - n: Null terminated caption |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Checkbox Event | 00030001h | Length = 1 byte |
| | | Byte 1: State (1 = Checked, 0 = Unchecked) |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Line Item Event | 00030002h | Length = 5 bytes |
| | | Byte 1: State (1 = Item Selected, other values RFU) |
| | | Byte 2 - n: Caption of the selected item |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Keypad Event | 00030003h | Length - 3 bytes |
| | | Byte 1: State (1 = key pressed, 2 = key released, other values RFU) |
| | | Byte 2 - 3: Key pressed and Key release |
| | | 0030h - KEYPAD_KEY_0 |
| | | 0031h - KEYPAD_KEY_1 |
| | | 0032h - KEYPAD_KEY_2 |
| | | 0033h - KEYPAD_KEY_3 |
| | | 0034h - KEYPAD_KEY_4 |
| | | 0035h - KEYPAD_KEY_5 |
| | | 0036h - KEYPAD_KEY_6 |
| | | 0037h - KEYPAD_KEY_7 |
| | | 0038h - KEYPAD_KEY_8 |
| | | 0039h - KEYPAD_KEY_9 |
| | | Byte 2 - 3: Only Key pressed |
| | | 000Dh - KEYPAD_KEY_ENTER |
| | | 0008h - KEYPAD_KEY_CLEAR |
| | | 001Bh - KEYPAD_KEY_CANCEL |
| | | 0070h - FUNC_KEY_F1 (Vend III) |
| | | 0071h - FUNC_KEY_F2 (Vend III) |
| | | 0072h - FUNC_KEY_F3 (Vend III) |
| | | 0073h - FUNC_KEY_F4 (Vend III) |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Touchscreen Event | 00030004h | Length = 1 - 33 bytes |
| | | Byte 1: State (not used) |
| | | Byte 2 - 33: Image name (zero terminated) |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Slideshow Event | 00030005h | Length = 1 byte |
| | | Byte 1: State (not used) |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Transaction Event | 00030006h | Length = 9 bytes |
| | | Byte 1: State (not used) |
| | | Byte 2 - 5: Card type (0 = unknown) |
| | | Byte 6 - 9: Status - A four byte, big-endian field |
| | | Byte 9 is used to store the 1-byte status code |
| | | 00 - SUCCESS |
| | | 08 - TIMEOUT |
| | | 0A - FAILED |
| | | This is not related to the extended status codes |
| ---------------— | ------------— | ----------------------------------------------------------------— |
| Radio Button Event | 00030007h | Length = 73 bytes |
| | | Byte 1: State (1 = Change ins selected button, other values RFU) |
| | | Byte 2 - 33: Null terminated group name |
| | | Byte 34 - 65: Radio button caption |
eventDataLen | Length of eventData |
Get the keypad data that was entered into the specified Input Field.
graphicsID | The graphicID of the input field (required to be 4 bytes) |
retData | return keypad data |
retDataLen | The length of retData |
DEPRECATED : please use lcd_getSelectedListItem_Len(IN BYTE *listGraphicsID, OUT char *itemID, IN_OUT int *itemIDLen)
Retrieves the selected item's ID.
listGraphicsID | Existing list's graphics ID (4 byte array) that is provided during creation |
itemID | The selected item's ID (Maximum: 32 characters) Need 33 bytes of memory including '\0' |
int lcd_getSelectedListItem_Len | ( | IN BYTE * | listGraphicsID, |
OUT char * | itemID, | ||
IN_OUT int * | itemIDLen | ||
) |
Retrieves the selected item's ID.
listGraphicsID | Existing list's graphics ID (4 byte array) that is provided during creation |
itemID | The selected item's ID (Maximum: 32 characters) Need 33 bytes of memory including '\0' |
itemIDLen | Length of itemID |
int lcd_resetInitialState | ( | ) |
Reset to Initial State This command places the reader UI into the idle state and displays the appropriate idle display.
Set Background Image You must send images to the reader?�驴?�s memory and send a Start Custom Mode command to the reader before it will respond to Image commands. Image files must be in .bmp or .png format.
file | Complete path and file name of the file you want to use. Example "file.png" will put in root directory, while "ss/file.png" will put in ss directory (which must exist) |
fileLen | Length of files |
enable | TRUE = Use Background Image, FALSE = Use Background Color |
int lcd_setDisplayImage | ( | IN char * | file, |
IN int | fileLen, | ||
IN int | posX, | ||
IN int | posY, | ||
IN int | posMode, | ||
IN int | touchEnable, | ||
IN int | clearScreen | ||
) |
Set Display Image You must send images to the reader?�驴?�s memory and send a Start Custom Mode command to the reader before it will respond to Image commands. Image files must be in .bmp or .png format.
file | Complete path and file name of the file you want to use. Example "file.png" will put in root directory, while "ss/file.png" will put in ss directory (which must exist) |
fileLen | Length of files |
posX | X coordinate in pixels, Range 0-271 |
posY | Y coordinate in pixels, Range 0-479 |
posMode | Position Mode
|
touchEnable | TRUE = Image is touch sensitive |
clearScreen | TRUE = Clear screen |
int lcd_setForeBackColor | ( | IN BYTE * | foreRGB, |
IN int | foreRGBLen, | ||
IN BYTE * | backRGB, | ||
IN int | backRGBLen | ||
) |
Set Foreground and Background Color This command sets the foreground and background colors of the LCD.
foreRGB | Foreground RGB. 000000 = black, FF0000 = red, 00FF00 = green, 0000FF = blue, FFFFFF = white |
Length | of foreRGB. Must be 3. |
backRGB | Background RGB. 000000 = black, FF0000 = red, 00FF00 = green, 0000FF = blue, FFFFFF = white |
Length | of backRGB. Must be 3. |
int lcd_startSlideShow | ( | IN char * | files, |
IN int | filesLen, | ||
IN int | posX, | ||
IN int | posY, | ||
IN int | posMode, | ||
IN int | touchEnable, | ||
IN int | recursion, | ||
IN int | touchTerminate, | ||
IN int | delay, | ||
IN int | loops, | ||
IN int | clearScreen | ||
) |
Start slide show You must send images to the reader?�驴?�s memory and send a Start Custom Mode command to the reader before it will respond to this commands. Image files must be in .bmp or .png format.
files | Complete paths and file names of the files you want to use, separated by commas. If a directory is specified, all files in the dirctory are displayed |
filesLen | Length of files |
posX | X coordinate in pixels, Range 0-271 |
posY | Y coordinate in pixels, Range 0-479 |
posMode | Position Mode
|
touchEnable | TRUE = Image is touch sensitive |
recursion | TRUE = Recursively follow directorys in list |
touchTerminate | TRUE = Terminate slideshow on touch (if touch enabled) |
delay | Number of seconds between image displays |
loops | Number of display loops. A zero indicates continuous display |
clearScreen | TRUE = Clear screen |
int msr_cancelMSRSwipe | ( | ) |
Disable MSR Swipe Cancels MSR swipe request.
int msr_flushTrackData | ( | ) |
Flush Track Data Clears any track data being retained in memory by future PIN Block request.
void msr_registerCallBk | ( | pMSR_callBack | pMSRf | ) |
To register the msr callback function to get the MSR card data. (Pass NULL to disable the callback.)
void msr_registerCallBkp | ( | pMSR_callBackp | pMSRf | ) |
To register the msr callback function to get the MSR card data pointer. (Pass NULL to disable the callback.)
int msr_startMSRSwipe | ( | IN int | _timeout | ) |
Start MSR Swipe Enables MSR, waiting for swipe to occur. Allows track selection. Returns IDTMSRData instance to deviceDelegate::swipeMSRData:()
timeout | Swipe Timeout Value |
Parser the MSR data from the buffer into IDTMSTData structure
resData | MSR card data buffer |
resLen | the length of resData |
cardData | the parser result with IDTMSTData structure |
Get Encrypted DUKPT PIN
Requests PIN Entry for online authorization. PIN block and KSN returned in callback function DeviceState.TransactionData with cardData.pin_pinblock. A swipe must be captured first before this function can execute
keyType | PIN block key type. Valid values 0,3 for TDES, 4 for AES |
timeout | PIN entry timout |
Get PAN
Requests PAN Entry on pinpad
getCSC | Include Customer Service Code (also known as CVV, CVC) |
timeout | PAN entry timout |
int pin_promptCreditDebit | ( | IN char * | currencySymbol, |
IN int | currencySymbolLen, | ||
IN char * | displayAmount, | ||
IN int | displayAmountLen, | ||
IN int | timeout, | ||
OUT BYTE * | retData, | ||
IN_OUT int * | retDataLen | ||
) |
Prompt for Credit or Debit
Requests prompt for Credit or Debit. Response returned in callback function as DeviceState.MenuItem with data MENU_SELECTION_CREDIT = 0, MENU_SELECTION_DEBIT = 1
currencySymbol | Allowed values are $ (0x24), ?�驴??(0xA5), ?�驴??(0xA3), ?�驴??(0xA4), or NULL |
currencySymbolLen | length of currencySymbol |
displayAmount | Amount to display (can be NULL) |
displayAmountLen | length of displayAmount |
timeout | Menu entry timout. Valid values 2-20 seconds |
void pin_registerCallBk | ( | pPIN_callBack | pPINf | ) |
To register the pin callback function to get the PINPad data. (Pass NULL to disable the callback.)
void registerHotplugCallBk | ( | pMessageHotplug | pMsgHotplug | ) |
To register the USB HID hot-plug callback function which implemented in the application to monitor the hotplug message from the SDK.
void registerLogCallBk | ( | pSendDataLog | pFSend, |
pReadDataLog | pFRead | ||
) |
To register the log callback function which implemented in the application to monitor sending/reading data between application and reader.
char* SDK_Version | ( | ) |
To Get SDK version
int setAbsoluteLibraryPath | ( | const char * | absoluteLibraryPath | ) |
Set the path to use when searching for ID TECH's libraries. If this is not set, the libraries will be searched for with the system's default procedures.
absoluteLibraryPath | The absolute path to ID TECH's libraries. |
Delete SSL Certificate Deletes a SSL Certificate by name
name | Name of certificate to delete |
nameLen | Certificate Name Length |
int ws_getCertChainType | ( | OUT int * | type | ) |
Get Certificate Chain Type Returns indicator for using test/production certificate chain
type | 0 = test certificate chain, 1 = production certificate chain |
Load SSL Certificate Loads a SSL certificate
name | Certificate Name |
nameLen | Certificate Name Length |
dataDER | DER encoded certificate data |
dataDERLen | DER encoded certificate data length |
int ws_requestCSR | ( | OUT RequestCSR * | csr | ) |
Request CSR Requests 3 sets of public keys: encrypting Keys, signing/validating keys, signing/validating 3rd party apps
csr | RequestCSR structure to return the data |
Revoke SSL Certificate Revokes a SSL Certificate by name
name | Name of certificate to revoke |
nameLen | Certificate Name Length |
int ws_updateRootCertificate | ( | IN char * | name, |
IN int | nameLen, | ||
IN char * | dataDER, | ||
IN int | dataDERLen, | ||
IN char * | signature, | ||
IN int | signatureLen | ||
) |
Update Root Certificate Updates the root certificate
name | Certificate Name |
nameLen | Certificate Name Length |
dataDER | DER encoded certificate data |
dataDERLen | DER encoded certificate data length |
signature | Future Root CA signed (RSASSA PSS SHA256) by current Root CA |
signature | length |