9 #import <Foundation/Foundation.h> 11 #import <IDTech/IDTEMVData.h> 12 #import <IDTech/IDT_DEVICE.h> 22 unsigned char acquirerIdentifier[6];
23 unsigned char aid[16];
25 unsigned char applicationVersionNumber[2];
26 unsigned char tacDefault[5];
27 unsigned char tacDenial[5];
28 unsigned char tacOnline[5];
29 unsigned char transactionCurrencyCode[2];
40 EMV_RC_APPROVED = 0X00,
41 EMV_RC_DECLINED = 0X01,
42 EMV_RC_GO_ONLINE = 0X02,
44 EMV_RC_SYSTEM_ERROR = 0X05,
45 EMV_RC_NOT_ACCEPT = 0X07,
46 EMV_RC_FALLBACK = 0X0A,
48 EMV_RC_OTHER_ERROR = 0X0F,
49 EMV_RC_TIME_OUT = 0X0D,
50 EMV_RC_OFFLINE_APPROVED = 0X10,
51 EMV_RC_OFFLINE_DECLINED = 0X11,
52 EMV_RC_REFERRAL_PROCESSING = 0X12,
53 EMV_RC_ERROR_APP_PROCESSING = 0X13,
54 EMV_RC_ERROR_APP_READING = 0X14,
55 EMV_RC_ERROR_DATA_AUTH = 0X15,
56 EMV_RC_ERROR_PROCESSING_RESTRICTIONS = 0X16,
57 EMV_RC_ERROR_CVM_PROCESSING = 0X17,
58 EMV_RC_ERROR_RISK_MGMT = 0X18,
59 EMV_RC_ERROR_TERM_ACTION_ANALYSIS = 0X19,
60 EMV_RC_ERROR_CARD_ACTION_ANALYSIS = 0X1A,
61 EMV_RC_ERROR_APP_SELECTION_TIMEOUT = 0X1B,
62 EMV_RC_ERROR_NO_CARD_INSERTED = 0X1C,
63 EMV_RC_ERROR_APP_SELECTING = 0X1D,
64 EMV_RC_ERROR_READING_CARD_APP = 0X1E,
65 EMV_RC_ERROR_POWER_CARD_ERROR = 0X1F,
66 EMV_RC_ERROR_NO_RESULT_CODE_PROVIDED_FOR_COMPLETION = 0X20,
67 EMV_RC_APPROVED_WITH_ADVISE_NO_REASON = 0X21,
68 EMV_RC_APPROVED_WITH_ADVISE_IA_FAILED = 0X22,
69 EMV_RC_ERROR_AMOUNT_NOT_SPECIFIED = 0X23,
70 EMV_RC_ERROR_CARD_COMPLETION = 0X24,
71 EMV_RC_ERROR_DATA_LEN_INCORRECT = 0X25,
72 EMV_RC_CALL_YOUR_BANK = 0X26,
73 EMV_RC_NO_ICC_ON_CARD = 0X27,
74 EMV_RC_NEW_SELECTION = 0X28,
75 EMV_RC_START_TRANSACTION_SUCCESS = 0X29,
76 EMV_RC_ERROR_APP_SELECTION_CANCEL = 0X2A
80 MESSAGE_INSERT_CARD = 0,
83 MESSAGE_TRANSACTION_CANCELLED,
84 MESSAGE_FALLBACK_FAILED,
85 MESSAGE_USE_CHIP_READER,
93 EMV_COMPLETION_RESULT_ACCEPTED = 0X00,
94 EMV_COMPLETION_RESULT_UNABLE_TO_GO_ONLINE = 0X01,
95 EMV_COMPLETION_RESULT_TECHNICAL_ISSUE = 0X02,
96 EMV_COMPLETION_RESULT_DECLINED = 0X03,
97 EMV_COMPLETION_RESULT_ISSUER_REFERAL = 0X04
98 } EMV_COMPLETION_RESULT;
108 unsigned char terminalCountryCode[2];
109 unsigned char merchantCategoryCode[2];
110 unsigned char merchantID[15];
111 unsigned char terminalID[8];
112 unsigned char defaultTACDefault[5];
113 unsigned char defaultTACDenial[5];
114 unsigned char defaultTACOnline[5];
118 unsigned char terminalLocation[36];
128 - (void) confirmApplicationSelection:(NSArray*)labelArray retry:(BOOL)tryAgain;
140 - (void) languagePreference:(NSData*)lang;
155 - (void) emvTransactionData:(
IDTEMVData*)emvData errorCode:(
int)error performReversal:(BOOL)reversal;
170 - (void) emvTransactionMessage:(MESSAGE_Types)message;
172 - (void) swipeMSRDataEMV:(
IDTMSRData*)cardData emv:(NSDictionary*)emvData;
184 @property(strong) id<IDTechEMV_Delegate>
delegate;
217 -(void) completeOnlineEMVTransaction:(EMV_COMPLETION_RESULT)result resultCode:(NSString*)rc issuerAuthenticationData:(NSString*)iad issuerScripts:(NSString*)scripts;
225 -(void) confirmApplication:(
int)index;
301 -(NSData*) getTag:(NSString*)tagName;
314 -(void) removeApplicationData:(NSString*)AID;
359 -(
IDTech_ApplicationID) retrieveApplicationData:(NSString*)AID additionalTags:(NSData**)additionalTags;
413 -(void) setTag:(NSString*)tagName tagData:(NSData*)data;
501 -(void) startEMVTransaction:(
float)amount timeout:(
int)timeout transactionType:(
int)type additionalTags:(NSMutableDictionary *)tags;
511 -(void) accelerateRead:(BOOL)enabled;
IDTechEMV * sharedController()
void preloadEMVCardData()
Definition: IDTechEMV.h:179
NSString * getBuildVersion()
Definition: IDTechEMV.h:21
unsigned char useDefaultTACDefault
Indicates if tacDefault value should be used as terminal default value.
Definition: IDTechEMV.h:115
Definition: IDTMSRData.h:21
unsigned char aidLen
AID’s length.
Definition: IDTechEMV.h:24
unsigned char useTACDenial
Indicates if tacDefault value should be used.
Definition: IDTechEMV.h:32
Definition: IDTechEMV.h:107
void confirmApplicationCancel()
unsigned char applicationSelectionIndicator
Indicates if partial AID matching is allowed. 0x01 = allowed DF62.
Definition: IDTechEMV.h:34
IDTech_TerminalData retrieveTerminalData()
id< IDTechEMV_Delegate > delegate
Definition: IDTechEMV.h:180
NSArray * retrieveAIDList()
unsigned char useTACDefault
Indicates if tacDefault value should be used.
Definition: IDTechEMV.h:31
Definition: IDTechEMV.h:126
unsigned char useDefaultTACOnline
Indicates if tacOnline value should be used as terminal default value.
Definition: IDTechEMV.h:117
NSString * getEMVKernelChecksum()
unsigned char transactionCurrencyExponent
Transaction Currency Exponent. Example: Amount $4.53 is managed as 453. Tag 5F36. ...
Definition: IDTechEMV.h:30
NSDictionary * getAllTags()
unsigned char useTACOnline
Indicates if tacDefault value should be used.
Definition: IDTechEMV.h:33
NSString * getEMVConfigurationChecksum()
NSString * getEMVKernelVersion()
unsigned char useDefaultTACDenial
Indicates if tacDenial value should be used as terminal default value.
Definition: IDTechEMV.h:116
Definition: IDTEMVData.h:16