33 #ifndef UNIPAY_SHOULD_SKIP_THIS 49 unsigned char exponent[3];
50 unsigned char key[248];
59 unsigned char aid[16];
74 unsigned char maskOption;
93 unsigned char acquirerIdentifier[6];
94 unsigned char aid[16];
97 unsigned char applicationVersionNumber[2];
98 unsigned char XAmount[3];
99 unsigned char YAmount[3];
105 unsigned char tACDenial[5];
106 unsigned char tACOnline[5];
107 unsigned char tACDefault[5];
108 unsigned char terminalFloorLimit[3];
110 unsigned char thresholdValue[3];
113 unsigned char tdolValue[252];
116 unsigned char ddolValue[252];
118 unsigned char transactionCurrencyCode[2];
132 unsigned char terminalCountryCode[2];
136 unsigned char terminalCapabilities[3];
137 unsigned char additionalTerminalCapabilities[5];
145 unsigned char predefinedAmount[3];
149 unsigned char defaultTACDenial[5];
150 unsigned char defaultTACOnline[5];
151 unsigned char defaultTACDefault[5];
164 unsigned char rid[5];
166 unsigned char serialNumber[3];
173 typedef enum _CAPTURE_ENCODE_TYPE{
174 CAPTURE_ENCODE_TYPE_ISOABA=0,
175 CAPTURE_ENCODE_TYPE_AAMVA=1,
176 CAPTURE_ENCODE_TYPE_Other=3,
177 CAPTURE_ENCODE_TYPE_Raw=4,
178 CAPTURE_ENCODE_TYPE_JIS_II=5,
179 CAPTURE_ENCODE_TYPE_JIS_I=6,
180 CAPTURE_ENCODE_TYPE_MANUAL_ENTRY=7
181 } CAPTURE_ENCODE_TYPE;
185 CAPTURE_ENCRYPT_TYPE_TDES=0,
186 CAPTURE_ENCRYPT_TYPE_AES=1,
187 CAPTURE_ENCRYPT_TYPE_NO_ENCRYPTION=99
188 } CAPTURE_ENCRYPT_TYPE;
191 POWER_ON_OPTION_IFS_FLAG=1,
192 POWER_ON_OPTION_EXPLICIT_PPS_FLAG=2,
193 POWER_ON_OPTION_AUTO_PPS_FLAG=64,
194 POWER_ON_OPTION_IFS_RESPONSE_CHECK_FLAG=128
198 LANGUAGE_TYPE_ENGLISH=1,
199 LANGUAGE_TYPE_PORTUGUESE,
200 LANGUAGE_TYPE_SPANISH,
205 PIN_KEY_TDES_MKSK_extp=0x00,
206 PIN_KEY_TDES_DUKPT_extp=0x01,
207 PIN_KEY_TDES_MKSK_intl=0x10,
208 PIN_KEY_TDES_DUKPT_intl=0x11,
209 PIN_KEY_TDES_MKSK2_intl=0x20,
210 PIN_KEY_TDES_DUKPT2_intl=0x21,
214 #define EVENT_ASYNC_DATA 0x0100 215 #define EVENT_SDK_BUSY 0x0200 218 EVENT_PINPAD_UNKNOWN = 11,
219 EVENT_PINPAD_ENCRYPTED_PIN,
220 EVENT_PINPAD_NUMERIC,
222 EVENT_PINPAD_ACCOUNT,
223 EVENT_PINPAD_ENCRYPTED_DATA,
225 EVENT_PINPAD_TIMEOUT,
226 EVENT_PINPAD_FUNCTION_KEY,
227 EVENT_PINPAD_DATA_ERROR
231 IDT_DEVICE_BTPAY_IOS = 0,
232 IDT_DEVICE_BTPAY_OSX_BT,
233 IDT_DEVICE_BTPAY_OSX_USB,
234 IDT_DEVICE_UNIPAY_IOS,
235 IDT_DEVICE_UNIPAY_OSX_USB,
236 IDT_DEVICE_UNIPAYII_IOS,
237 IDT_DEVICE_UNIPAYII_OSX_USB,
239 IDT_DEVICE_UNIPAYIII_IOS,
240 IDT_DEVICE_UNIPAYIII_OSX_USB,
242 IDT_DEVICE_BTMAG_IOS,
243 IDT_DEVICE_BTMAG_OSX_BT,
244 IDT_DEVICE_BTMAG_OSX_USB,
245 IDT_DEVICE_UNIPAYI_V_IOS,
246 IDT_DEVICE_UNIPAYI_V_OSX_USB
253 EVENT_MSR_UNKNOWN = 31,
255 EVENT_MSR_CANCEL_KEY,
256 EVENT_MSR_BACKSPACE_KEY,
258 EVENT_MSR_DATA_ERROR,
260 EVENT_BTPAY_CARD_DATA,
261 EVENT_UNIPAYII_EMV_NO_ICC_MSR_DATA,
262 EVENT_UNIPAYII_EMV_FALLBACK_DATA,
263 EVENT_UNIPAY_KEYLOADING,
268 EVENT_ACTIVE_TRANSACTION = 51
272 UNIMAG_COMMAND_DEFAULT_GENERAL_SETTINGS,
273 UNIMAG_COMMAND_ENABLE_ERR_NOTIFICATION,
274 UNIMAG_COMMAND_DISABLE_ERR_NOTIFICATION,
275 UNIMAG_COMMAND_ENABLE_EXP_DATE,
276 UNIMAG_COMMAND_DISABLE_EXP_DATE,
277 UNIMAG_COMMAND_CLEAR_BUFFER,
278 UNIMAG_COMMAND_RESET_BAUD_RATE
279 }UNIMAG_COMMAND_Types;
282 RETURN_CODE_DO_SUCCESS = 0,
283 RETURN_CODE_ERR_DISCONNECT = 0xFF01,
284 RETURN_CODE_ERR_CMD_RESPONSE = 0xFF02,
285 RETURN_CODE_ERR_TIMEDOUT = 0xFF03,
286 RETURN_CODE_ERR_INVALID_PARAMETER = 0xFF04,
287 RETURN_CODE_SDK_BUSY_MSR = 0xFF05,
288 RETURN_CODE_SDK_BUSY_PINPAD = 0xFF06,
289 RETURN_CODE_SDK_BUSY_CTLS = 0xFF07,
290 RETURN_CODE_ERR_OTHER = 0xFF08,
291 RETURN_CODE_FAILED = 0xFF09,
292 RETURN_CODE_NOT_ATTACHED = 0xFF0A,
293 RETURN_CODE_MONO_AUDIO = 0xFF0B,
294 RETURN_CODE_CONNECTED = 0xFF0C,
295 RETURN_CODE_LOW_VOLUME = 0xFF0D,
296 RETURN_CODE_CANCELED = 0xFF0E,
297 RETURN_CODE_INVALID_STR = 0xFF0F,
298 RETURN_CODE_NO_FILE = 0xFF10,
299 RETURN_CODE_INVALID_FILE = 0xFF11,
300 RETURN_CODE_HOST_UNREACHABLE = 0xFF12,
301 RETURN_CODE_RKI_FAILURE = 0xFF13,
302 RETURN_CODE_SDK_BUSY_CMD = 0xFF14,
306 RETURN_CODE_EMV_AUTHORIZATION_ACCEPTED = 0x0E00,
307 RETURN_CODE_EMV_AUTHORIZATION_UNABLE_TO_GO_ONLINE = 0x0E01,
308 RETURN_CODE_EMV_AUTHORIZATION_TECHNICAL_ISSUE = 0x0E02,
309 RETURN_CODE_EMV_AUTHORIZATION_DECLINED = 0x0E03,
310 RETURN_CODE_EMV_AUTHORIZATION_ISSUER_REFERRAL = 0x0E04,
312 RETURN_CODE_EMV_APPROVED = 0x0F00,
313 RETURN_CODE_EMV_DECLINED = 0x0F01,
314 RETURN_CODE_EMV_GO_ONLINE = 0x0F02,
315 RETURN_CODE_EMV_FAILED = 0x0F03,
316 RETURN_CODE_EMV_SYSTEM_ERROR = 0x0F05,
317 RETURN_CODE_EMV_NOT_ACCEPTED = 0x0F07,
318 RETURN_CODE_EMV_FALLBACK = 0x0F0A,
319 RETURN_CODE_EMV_CANCEL = 0x0F0C,
320 RETURN_CODE_EMV_TIMEOUT = 0x0F0D,
321 RETURN_CODE_EMV_OTHER_ERROR = 0x0F0F,
322 RETURN_CODE_EMV_OFFLINE_APPROVED = 0x0F10,
323 RETURN_CODE_EMV_OFFLINE_DECLINED = 0x0F11,
327 RETURN_CODE_EMV_NEW_SELECTION = 0x0F21,
328 RETURN_CODE_EMV_NO_AVAILABLE_APPS = 0x0F22,
329 RETURN_CODE_EMV_NO_TERMINAL_FILE = 0x0F23,
330 RETURN_CODE_EMV_NO_CAPK_FILE = 0x0F24,
331 RETURN_CODE_EMV_NO_CRL_ENTRY = 0x0F25,
332 RETURN_CODE_BLOCKING_DISABLED = 0x0FFE,
333 RETURN_CODE_COMMAND_UNAVAILABLE = 0x0FFF,
336 RETURN_CODE_NEO_SUCCESS = 0xEE00,
337 RETURN_CODE_NEO_INCORRECT_HEADER_TAG = 0xEE01,
338 RETURN_CODE_NEO_UNKNOWN_COMMAND = 0xEE02,
339 RETURN_CODE_NEO_UNKNOWN_SUB_COMMAND = 0xEE03,
340 RETURN_CODE_NEO_CRC_ERROR_IN_FRAME = 0xEE04,
341 RETURN_CODE_NEO_INCORRECT_PARAMETER = 0xEE05,
342 RETURN_CODE_NEO_PARAMETER_NOT_SUPPORTED = 0xEE06,
343 RETURN_CODE_NEO_MAL_FORMATTED_DATA = 0xEE07,
344 RETURN_CODE_NEO_TIMEOUT = 0xEE08,
345 RETURN_CODE_NEO_FAILED_NAK = 0xEE0A,
346 RETURN_CODE_NEO_COMMAND_NOT_ALLOWED = 0xEE0B,
347 RETURN_CODE_NEO_SUB_COMMAND_NOT_ALLOWED = 0xEE0C,
348 RETURN_CODE_NEO_BUFFER_OVERFLOW = 0xEE0D,
349 RETURN_CODE_NEO_USER_INTERFACE_EVENT = 0xEE0E,
350 RETURN_CODE_NEO_COMM_TYPE_NOT_SUPPORTED = 0xEE11,
351 RETURN_CODE_NEO_SECURE_INTERFACE_NOT_FUNCTIONAL = 0xEE12,
352 RETURN_CODE_NEO_DATA_FIELD_NOT_MOD8 = 0xEE13,
353 RETURN_CODE_NEO_PADDING_UNEXPECTED = 0xEE14,
354 RETURN_CODE_NEO_INVALID_KEY_TYPE = 0xEE15,
355 RETURN_CODE_NEO_CANNOT_RETRIEVE_KEY = 0xEE16,
356 RETURN_CODE_NEO_HASH_CODE_ERROR = 0xEE17,
357 RETURN_CODE_NEO_CANNOT_STORE_KEY = 0xEE18,
358 RETURN_CODE_NEO_FRAME_TOO_LARGE = 0xEE19,
359 RETURN_CODE_NEO_RESEND_COMMAND = 0xEE1A,
360 RETURN_CODE_NEO_EEPROM_NOT_INITALIZED = 0xEE1B,
361 RETURN_CODE_NEO_PROBLEM_ENCODING_APDU = 0xEE1C,
362 RETURN_CODE_NEO_UNSUPPORTED_INDEX = 0xEE20,
363 RETURN_CODE_NEO_UNEXPECTED_SEQUENCE_COUNTER = 0xEE21,
364 RETURN_CODE_NEO_IMPROPER_BITMAP = 0xEE22,
365 RETURN_CODE_NEO_REQUEST_ONLINE_AUTHORIZATION = 0xEE23,
366 RETURN_CODE_NEO_RAW_DATA_READ_SUCCESSFUL = 0xEE24,
367 RETURN_CODE_NEO_MESSAGE_NOT_AVAILABLE = 0xEE25,
368 RETURN_CODE_NEO_VERSION_INFORMATION_MISMATCH = 0xEE26,
369 RETURN_CODE_NEO_NOT_SENDING_COMMANDS = 0xEE27,
370 RETURN_CODE_NEO_TIMEOUT_ILM = 0xEE28,
371 RETURN_CODE_NEO_ILM_NOT_AVAILABLE = 0xEE29,
372 RETURN_CODE_NEO_OTHER_LANG_NOT_SUPPORTED = 0xEE2A,
373 RETURN_CODE_NEO_KEY_ERROR_41 = 0xEE41,
374 RETURN_CODE_NEO_KEY_ERROR_42 = 0xEE42,
375 RETURN_CODE_NEO_KEY_ERROR_43 = 0xEE43,
376 RETURN_CODE_NEO_KEY_ERROR_44 = 0xEE44,
377 RETURN_CODE_NEO_KEY_ERROR_45 = 0xEE45,
378 RETURN_CODE_NEO_KEY_ERROR_46 = 0xEE46,
379 RETURN_CODE_NEO_KEY_ERROR_47 = 0xEE47,
380 RETURN_CODE_NEO_KEY_ERROR_48 = 0xEE48,
381 RETURN_CODE_NEO_KEY_ERROR_49 = 0xEE49,
382 RETURN_CODE_NEO_KEY_ERROR_4A = 0xEE4A,
383 RETURN_CODE_NEO_KEY_ERROR_4B = 0xEE4B,
384 RETURN_CODE_NEO_KEY_ERROR_4C = 0xEE4C,
385 RETURN_CODE_NEO_KEY_ERROR_4D = 0xEE4D,
386 RETURN_CODE_NEO_KEY_ERROR_4E = 0xEE4E,
387 RETURN_CODE_NEO_KEY_ERROR_4F = 0xEE4F,
388 RETURN_CODE_NEO_AUTO_SWITCH_OK = 0xEE50,
389 RETURN_CODE_NEO_AUTO_SWITCH_FAILED = 0xEE51,
390 RETURN_CODE_DATA_DOES_NOT_EXIST = 0xEE60,
391 RETURN_CODE_DATA_FULL = 0xEE61,
392 RETURN_CODE_WRITE_FLASH_ERROR = 0xEE62,
393 RETURN_CODE_OK_NEXT_COMMAND = 0xEE63,
394 RETURN_CODE_ACCT_DUKPT_KEY_NOT_EXIST = 0xEE90,
395 RETURN_CODE_ACCT_DUKPT_KEY_EXHAUSTED = 0xEE91,
397 RETURN_CODE_NO_SERIAL_NUMBER = 0x6200,
398 RETURN_CODE_INVALID_COMMAND = 0x6900,
399 RETURN_CODE_NO_ADMIN_DUKPT_KEY = 0x5500,
400 RETURN_CODE_DUKPT_KEY_STOP = 0x5501,
401 RETURN_CODE_DUKPT_KEY_KSN_IS_ERROR = 0x5502,
402 RETURN_CODE_GET_AUTH_CODE1_FAILED = 0x5503,
403 RETURN_CODE_VALIDATE_AUTH_CODE_ERROR = 0x5504,
404 RETURN_CODE_DECRYPT_DATA_FAILED = 0x5505,
405 RETURN_CODE_NOT_SUPPORT_NEW_KEY_TYPE = 0x5506,
406 RETURN_CODE_NEW_KEY_INDEX_IS_ERROR = 0x5507,
407 RETURN_CODE_STEP_ERROR = 0x5508,
408 RETURN_CODE_TIMED_OUT = 0x5509,
409 RETURN_CODE_MAC_CHECKING_ERROR = 0x550A,
410 RETURN_CODE_KEY_USAGE_ERROR = 0x550B,
411 RETURN_CODE_MODE_OF_USE_ERROR = 0x550C,
412 RETURN_CODE_ALGORITHM_ERROR = 0x550D,
413 RETURN_CODE_OTHER_ERROR = 0x550F,
415 RETURN_CODE_CANNOT_AUTHORIZE_RKI = 0x8001,
416 RETURN_CODE_NO_KEY_INJECTION_ESTABLISHED = 0x8101,
417 RETURN_CODE_FAILED_TO_ENCRYPT_CHALLENGE = 0x8102,
418 RETURN_CODE_CHALLENGE_LENGTH_INCORRECT = 0x8103,
419 RETURN_CODE_INCORRECT_CHALLENGE_DATA_STEP1 = 0x8104,
420 RETURN_CODE_RESPONSE_LENGTH_INCORRECT = 0x8105,
421 RETURN_CODE_FIRMWARE_RESPOND_NAK_STEP1 = 0x8106,
422 RETURN_CODE_KEY_ID_NOT_FOUND_IN_DB = 0x8201,
423 RETURN_CODE_KEY_SLOT_DOES_NOT_EXIST = 0x8202,
424 RETURN_CODE_NO_FUTURE_KSI_FROM_SERVER = 0x8203,
425 RETURN_CODE_NO_TR31_DATA_BLOCK = 0x8204,
426 RETURN_CODE_TR31_BLOCK_LENGTH_INCORRECT = 0x8205,
427 RETURN_CODE_INCORRECT_CHALLENGE_DATA_STEP2 = 0x8206,
428 RETURN_CODE_FIRMWARE_RESPOND_NAK_STEP2 = 0x8207,
429 RETURN_CODE_NO_KEY_INJECTION_RECORD = 0x8301,
430 RETURN_CODE_RKI_FAILED = 0x8302,
431 RETURN_CODE_INCORRECT_RESPONSE_FORM = 0x8303,
432 RETURN_CODE_FIRMWARE_RESPOND_NAK_STEP3 = 0x8304
438 DUKPT_KEY_MSR = 0x00,
439 DUKPT_KEY_ICC = 0x01,
440 DUKPT_KEY_Admin = 0x10,
441 DUKPT_KEY_Pairing_PinPad = 0x20,
447 EMV_RESULT_CODE_NO_RESPONSE = -1,
448 EMV_RESULT_CODE_APPROVED = 0X00,
449 EMV_RESULT_CODE_DECLINED = 0X01,
450 EMV_RESULT_CODE_GO_ONLINE = 0X02,
451 EMV_RESULT_CODE_FAILED = 0X03,
452 EMV_RESULT_CODE_SYSTEM_ERROR = 0X05,
453 EMV_RESULT_CODE_NOT_ACCEPT = 0X07,
454 EMV_RESULT_CODE_FALLBACK = 0X0A,
455 EMV_RESULT_CODE_CANCEL = 0X0C,
456 EMV_RESULT_CODE_OTHER_ERROR = 0X0F,
457 EMV_RESULT_CODE_TIME_OUT = 0X0D,
458 EMV_RESULT_CODE_OFFLINE_APPROVED = 0X10,
459 EMV_RESULT_CODE_OFFLINE_DECLINED = 0X11,
460 EMV_RESULT_CODE_REFERRAL_PROCESSING = 0X12,
461 EMV_RESULT_CODE_ERROR_APP_PROCESSING = 0X13,
462 EMV_RESULT_CODE_ERROR_APP_READING = 0X14,
463 EMV_RESULT_CODE_ERROR_DATA_AUTH = 0X15,
464 EMV_RESULT_CODE_ERROR_PROCESSING_RESTRICTIONS = 0X16,
465 EMV_RESULT_CODE_ERROR_CVM_PROCESSING = 0X17,
466 EMV_RESULT_CODE_ERROR_RISK_MGMT = 0X18,
467 EMV_RESULT_CODE_ERROR_TERM_ACTION_ANALYSIS = 0X19,
468 EMV_RESULT_CODE_ERROR_CARD_ACTION_ANALYSIS = 0X1A,
469 EMV_RESULT_CODE_ERROR_APP_SELECTION_TIMEOUT = 0X1B,
470 EMV_RESULT_CODE_ERROR_NO_CARD_INSERTED = 0X1C,
471 EMV_RESULT_CODE_ERROR_APP_SELECTING = 0X1D,
472 EMV_RESULT_CODE_ERROR_READING_CARD_APP = 0X1E,
473 EMV_RESULT_CODE_ERROR_POWER_CARD_ERROR = 0X1F,
474 EMV_RESULT_CODE_ERROR_NO_RESULT_CODE_PROVIDED_FOR_COMPLETION = 0X20,
475 EMV_RESULT_CODE_APPROVED_WITH_ADVISE_NO_REASON = 0X21,
476 EMV_RESULT_CODE_APPROVED_WITH_ADVISE_IA_FAILED = 0X22,
477 EMV_RESULT_CODE_ERROR_AMOUNT_NOT_SPECIFIED = 0X23,
478 EMV_RESULT_CODE_ERROR_CARD_COMPLETION = 0X24,
479 EMV_RESULT_CODE_ERROR_DATA_LEN_INCORRECT = 0X25,
480 EMV_RESULT_CODE_CALL_YOUR_BANK = 0X26,
481 EMV_RESULT_CODE_NO_ICC_ON_CARD = 0X27,
482 EMV_RESULT_CODE_NEW_SELECTION = 0X28,
483 EMV_RESULT_CODE_START_TRANSACTION_SUCCESS = 0X29
484 } EMV_RESULT_CODE_Types;
488 EMV_RESULT_CODE_V2_NO_RESPONSE = -1,
489 EMV_RESULT_CODE_V2_APPROVED_OFFLINE = 0x0000,
490 EMV_RESULT_CODE_V2_DECLINED_OFFLINE = 0x0001,
491 EMV_RESULT_CODE_V2_APPROVED = 0x0002,
492 EMV_RESULT_CODE_V2_DECLINED = 0x0003,
493 EMV_RESULT_CODE_V2_GO_ONLINE = 0x0004,
494 EMV_RESULT_CODE_V2_CALL_YOUR_BANK = 0x0005,
495 EMV_RESULT_CODE_V2_NOT_ACCEPTED = 0x0006,
496 EMV_RESULT_CODE_V2_USE_MAGSTRIPE = 0x0007,
497 EMV_RESULT_CODE_V2_TIME_OUT = 0x0008,
498 EMV_RESULT_CODE_V2_START_TRANS_SUCCESS = 0x0010,
499 EMV_RESULT_CODE_V2_MSR_SUCCESS = 0x0011,
500 EMV_RESULT_CODE_V2_FILE_ARG_INVALID = 0x1001,
501 EMV_RESULT_CODE_V2_FILE_OPEN_FAILED = 0x1002,
502 EMV_RESULT_CODE_V2_FILE_OPERATION_FAILED = 0X1003,
503 EMV_RESULT_CODE_V2_MEMORY_NOT_ENOUGH = 0x2001,
504 EMV_RESULT_CODE_V2_SMARTCARD_FAIL = 0x3001,
505 EMV_RESULT_CODE_V2_SMARTCARD_INIT_FAILED = 0x3003,
506 EMV_RESULT_CODE_V2_FALLBACK_SITUATION = 0x3004,
507 EMV_RESULT_CODE_V2_SMARTCARD_ABSENT = 0x3005,
508 EMV_RESULT_CODE_V2_SMARTCARD_TIMEOUT = 0x3006,
509 EMV_RESULT_CODE_V2_MSR_CARD_ERROR = 0x3007,
510 EMV_RESULT_CODE_V2_PARSING_TAGS_FAILED= 0X5001,
511 EMV_RESULT_CODE_V2_CARD_DATA_ELEMENT_DUPLICATE = 0X5002,
512 EMV_RESULT_CODE_V2_DATA_FORMAT_INCORRECT = 0X5003,
513 EMV_RESULT_CODE_V2_APP_NO_TERM = 0X5004,
514 EMV_RESULT_CODE_V2_APP_NO_MATCHING = 0X5005,
515 EMV_RESULT_CODE_V2_AMANDATORY_OBJECT_MISSING = 0X5006,
516 EMV_RESULT_CODE_V2_APP_SELECTION_RETRY = 0X5007,
517 EMV_RESULT_CODE_V2_AMOUNT_ERROR_GET = 0X5008,
518 EMV_RESULT_CODE_V2_CARD_REJECTED = 0X5009,
519 EMV_RESULT_CODE_V2_AIP_NOT_RECEIVED = 0X5010,
520 EMV_RESULT_CODE_V2_AFL_NOT_RECEIVEDE = 0X5011,
521 EMV_RESULT_CODE_V2_AFL_LEN_OUT_OF_RANGE = 0X5012,
522 EMV_RESULT_CODE_V2_SFI_OUT_OF_RANGE = 0X5013,
523 EMV_RESULT_CODE_V2_AFL_INCORRECT = 0X5014,
524 EMV_RESULT_CODE_V2_EXP_DATE_INCORRECT = 0X5015,
525 EMV_RESULT_CODE_V2_EFF_DATE_INCORRECT = 0X5016,
526 EMV_RESULT_CODE_V2_ISS_COD_TBL_OUT_OF_RANGE = 0X5017,
527 EMV_RESULT_CODE_V2_CRYPTOGRAM_TYPE_INCORRECT = 0X5018,
528 EMV_RESULT_CODE_V2_PSE_BY_CARD_NOT_SUPPORTED = 0X5019,
529 EMV_RESULT_CODE_V2_USER_LANGUAGE_SELECTED = 0X5020,
530 EMV_RESULT_CODE_V2_SERVICE_NOT_ALLOWED = 0X5021,
531 EMV_RESULT_CODE_V2_NO_TAG_FOUND = 0X5022,
532 EMV_RESULT_CODE_V2_CARD_BLOCKED = 0X5023,
533 EMV_RESULT_CODE_V2_LEN_INCORRECT = 0X5024,
534 EMV_RESULT_CODE_V2_CARD_COM_ERROR = 0X5025,
535 EMV_RESULT_CODE_V2_TSC_NOT_INCREASED = 0X5026,
536 EMV_RESULT_CODE_V2_HASH_INCORRECT = 0X5027,
537 EMV_RESULT_CODE_V2_ARC_NOT_PRESENCED = 0X5028,
538 EMV_RESULT_CODE_V2_ARC_INVALID = 0X5029,
539 EMV_RESULT_CODE_V2_COMM_NO_ONLINE = 0X5030,
540 EMV_RESULT_CODE_V2_TRAN_TYPE_INCORRECT = 0X5031,
541 EMV_RESULT_CODE_V2_APP_NO_SUPPORT = 0X5032,
542 EMV_RESULT_CODE_V2_APP_NOT_SELECT = 0X5033,
543 EMV_RESULT_CODE_V2_LANG_NOT_SELECT = 0X5034,
544 EMV_RESULT_CODE_V2_TERM_DATA_NOT_PRESENCED = 0X5035,
545 EMV_RESULT_CODE_V2_CVM_TYPE_UNKNOWN = 0X6001,
546 EMV_RESULT_CODE_V2_CVM_AIP_NOT_SUPPORTED = 0X6002,
547 EMV_RESULT_CODE_V2_CVM_TAG_8E_MISSING = 0X6003,
548 EMV_RESULT_CODE_V2_CVM_TAG_8E_FORMAT_ERROR = 0X6004,
549 EMV_RESULT_CODE_V2_CVM_CODE_IS_NOT_SUPPORTED = 0X6005,
550 EMV_RESULT_CODE_V2_CVM_COND_CODE_IS_NOT_SUPPORTED = 0X6006,
551 EMV_RESULT_CODE_V2_CVM_NO_MORE = 0X6007,
552 EMV_RESULT_CODE_V2_PIN_BYPASSED_BEFORE = 0X6008
553 } EMV_RESULT_CODE_V2_Types;
559 EMV_AUTHORIZATION_RESULT_ACCEPTED = 0X00,
560 EMV_AUTHORIZATION_RESULT_UNABLE_TO_GO_ONLINE = 0X01,
561 EMV_AUTHORIZATION_RESULT_TECHNICAL_ISSUE = 0X02,
562 EMV_AUTHORIZATION_RESULT_DECLINED = 0X03,
563 EMV_AUTHORIZATION_RESULT_ISSUER_REFERAL = 0X04
564 } EMV_AUTHORIZATION_RESULT;
unsigned char displayExpDate
Mask or display expiration date. Values '0' = mask, '1' = don't mask. Default '1'.
Definition: IDTCommon.h:70
unsigned char cdaType
Supported CDA type. Value should be 0x02.
Definition: IDTCommon.h:154
unsigned char terminalType
Standard parameter. Tag 9F35 See EMVCo book IV.
Definition: IDTCommon.h:134
BOOL disableAutoPPS
No auto pps for negotiate mode.
Definition: IDTCommon.h:28
unsigned char exponentLength
Length of exponent. 0x01 or 0x03 as per EMV specs.
Definition: IDTCommon.h:47
unsigned char index
As per payment networks definition.
Definition: IDTCommon.h:165
Definition: IDTCommon.h:58
unsigned char floorlLimitChecking
Indicates whether or not terminal uses Floor Limit Checking. 0x00 or 0x01.
Definition: IDTCommon.h:102
unsigned char adviceManaged
Indicates whether or not Advice messages are supported by Terminal (only if needed by Level3 implemen...
Definition: IDTCommon.h:142
unsigned char pse
Indicates whether or not PSE Selection method is supported by Terminal. 0x00 or 0x01.
Definition: IDTCommon.h:143
unsigned char pinTimeOut
In seconds. Time allocated to cardholder to enter PIN. Binary value Example : 0x0F for 15s...
Definition: IDTCommon.h:140
unsigned char baseKeyType
BTPay Only. Key Type. Values '0' = Data Key, '1' = Pin Key. Default '0'.
Definition: IDTCommon.h:71
unsigned char maxTargetPercentage
EMV offline risk management parameter.
Definition: IDTCommon.h:111
unsigned char tac
Indicates whether or not terminal uses Terminal Action Code. 0x00 or 0x01.
Definition: IDTCommon.h:101
unsigned char defaultDDOL
Standard parameter.. Tag.
Definition: IDTCommon.h:115
unsigned char ppsLength
lenght of pps data
Definition: IDTCommon.h:31
unsigned char batchManaged
Indicates whether or not Batch messages are supported by Terminal. 0x00 or 0x01.
Definition: IDTCommon.h:141
unsigned char pinByPass
Indicates whether or not PIN bypass is supported by Terminal. 0x00 or 0x01.
Definition: IDTCommon.h:146
Definition: IDTCommon.h:163
unsigned char emvContact
Indicates whether terminal supports EMV contact. Tag 9F33, byte 1, bit 6 0x00 or 0x01.
Definition: IDTCommon.h:135
bool latchClosed
Determines if Card Latch is engaged. If device does not have a latch, value is always FALSE...
Definition: IDTCommon.h:16
unsigned char referalManaged
Indicates whether or not Referal managed are supported by Terminal (only if needed by Level3 implemen...
Definition: IDTCommon.h:147
unsigned char postPANClear
Last PAN digits to display. Values '0' - '4'. Default '4'.
Definition: IDTCommon.h:68
unsigned char aidLen
AID’s length.
Definition: IDTCommon.h:95
unsigned char index
As per payment networks definition.
Definition: IDTCommon.h:46
unsigned char hashAlgorithm
Hash Algorithm 0x01 = SHA-1.
Definition: IDTCommon.h:43
unsigned char ddolLen
Dynamic Data Object List length.
Definition: IDTCommon.h:117
Definition: IDTCommon.h:13
unsigned char targetPercentage
EMV offline risk management parameter.
Definition: IDTCommon.h:109
Definition: IDTCommon.h:42
unsigned char transactionCurrencyExponent
Transaction Currency Exponent. Example: Amount 4.53$ is managed as 453. Tag 5F36. ...
Definition: IDTCommon.h:119
unsigned char randomTransactionSelection
Indicates whether or not terminal uses Random Transaction Selection. 0x00 or 0x01.
Definition: IDTCommon.h:103
unsigned char encryptionAlgorithm
Encryption Algorithm 0x01 = RSA.
Definition: IDTCommon.h:44
unsigned char applicationSelectionIndicator
Standard parameter.
Definition: IDTCommon.h:96
unsigned char notVelocity
Indicates Velocity are not supported by Terminal or not. 0x00 or 0x01.
Definition: IDTCommon.h:153
unsigned char provideCardholderConfirmation
Indicates whether or not cardholder may confirm application selection at EMV Selection time...
Definition: IDTCommon.h:133
bool iccPower
Determines if ICC has been powered up.
Definition: IDTCommon.h:14
BOOL sendIFS
Send S(IFS) request if T=1 protocolError: Reference source not found.
Definition: IDTCommon.h:26
Definition: IDTCommon.h:66
unsigned char encryptionType
BTPay Only. Key Type. Values '1' = TDES, '2' = AES. Default '1'.
Definition: IDTCommon.h:72
unsigned char autoRun
Indicates whether or not Terminal is configured in AutoRun. 0x00 or 0x01.
Definition: IDTCommon.h:144
Definition: IDTCommon.h:131
unsigned char defaultTAC
Indicates whether or not Default TAC are supported by Terminal. 0x00 or 0x01.
Definition: IDTCommon.h:148
unsigned char prePANClear
Leading PAN digits to display. Values '0' - '6'. Default '4'.
Definition: IDTCommon.h:67
Definition: IDTCommon.h:25
Definition: IDTCommon.h:92
unsigned char velocitiyChecking
Indicates whether or not terminal uses Velocity Checking. 0x00 or 0x01.
Definition: IDTCommon.h:104
unsigned char tdolLen
Transaction Data Object List length.
Definition: IDTCommon.h:114
BOOL disableResponseCheck
No check on response of S(IFS) request.
Definition: IDTCommon.h:29
BOOL explicitPPS
Explicit PPSError: Reference source not found.
Definition: IDTCommon.h:27
unsigned char notRTS
Indicates RTS are not supported by Terminal or not. 0x00 or 0x01.
Definition: IDTCommon.h:152
unsigned char defaultTDOL
Standard parameter.
Definition: IDTCommon.h:112
bool cardSeated
Determines if card is inserted.
Definition: IDTCommon.h:15
unsigned char * pps
pps is used to set the Protocol and Parameters Selection between card and reader, only Di <= 4 are su...
Definition: IDTCommon.h:30
unsigned char emvContactless
Indicates whether or not terminal support scontactless in EMV mode. 0x00 or 0x01. ...
Definition: IDTCommon.h:138
unsigned char keyLength
Length of key. max 248 bytes as per EMV specs.
Definition: IDTCommon.h:48
unsigned char skipTACIACDefault
Indicates whether or not terminal uses default values for risk management.
Definition: IDTCommon.h:100
unsigned char magstripe
Indicates whether terminal supports magstripe. 0x00 or 0x01.
Definition: IDTCommon.h:139
bool magneticDataPresent
True = Magnetic data present, False = No Magnetic Data.
Definition: IDTCommon.h:18
unsigned char encryptionOption
Definition: IDTCommon.h:73
bool cardPresent
If device has a latch, determines if the card is present in device. If the device does not have a lat...
Definition: IDTCommon.h:17
unsigned char aidLen
AID’s length.
Definition: IDTCommon.h:60
unsigned char maskChar
Last PAN digits to display. Values 0x20-0x7E. Default 0x2A '*'.
Definition: IDTCommon.h:69