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
74 MESSAGE_INSERT_CARD = 0,
77 MESSAGE_TRANSACTION_CANCELLED,
78 MESSAGE_FALLBACK_FAILED,
79 MESSAGE_USE_CHIP_READER,
87 EMV_COMPLETION_RESULT_ACCEPTED = 0X00,
88 EMV_COMPLETION_RESULT_UNABLE_TO_GO_ONLINE = 0X01,
89 EMV_COMPLETION_RESULT_TECHNICAL_ISSUE = 0X02,
90 EMV_COMPLETION_RESULT_DECLINED = 0X03,
91 EMV_COMPLETION_RESULT_ISSUER_REFERAL = 0X04
92 } EMV_COMPLETION_RESULT;
102 unsigned char terminalCountryCode[2];
103 unsigned char merchantCategoryCode[2];
104 unsigned char merchantID[15];
105 unsigned char terminalID[8];
106 unsigned char defaultTACDefault[5];
107 unsigned char defaultTACDenial[5];
108 unsigned char defaultTACOnline[5];
112 unsigned char terminalLocation[36];
122 - (void) confirmApplicationSelection:(NSArray*)labelArray retry:(BOOL)tryAgain;
134 - (void) languagePreference:(NSData*)lang;
149 - (void) emvTransactionData:(
IDTEMVData*)emvData errorCode:(
int)error performReversal:(BOOL)reversal;
164 - (void) emvTransactionMessage:(MESSAGE_Types)message;
166 - (void) swipeMSRDataEMV:(
IDTMSRData*)cardData emv:(NSDictionary*)emvData;
178 @property(strong) id<IDTechEMV_Delegate> delegate;
210 -(void) completeOnlineEMVTransaction:(EMV_COMPLETION_RESULT)result resultCode:(NSString*)rc issuerAuthenticationData:(NSString*)iad issuerScripts:(NSString*)scripts;
218 -(void) confirmApplication:(
int)index;
226 -(void) confirmApplicationCancel;
240 -(NSDictionary*) getAllTags;
250 -(NSString*) getEMVKernelVersion;
263 -(NSData*) getTag:(NSString*)tagName;
276 -(void) removeApplicationData:(NSString*)AID;
294 -(NSArray*) retrieveAIDList;
352 -(void) setTag:(NSString*)tagName tagData:(NSData*)data;
366 -(void) preloadEMVCardData;
387 - (void) cancelTransaction;
441 -(void) startEMVTransaction:(
float)amount timeout:(
int)timeout transactionType:(
int)type additionalTags:(NSMutableDictionary *)tags;
451 -(void) accelerateRead:(BOOL)enabled;
458 -(void) sendSystemError;
Definition: IDTechEMV.h:173
Definition: IDTechEMV.h:21
unsigned char useDefaultTACDefault
Indicates if tacDefault value should be used as terminal default value.
Definition: IDTechEMV.h:109
Definition: IDTMSRData.h:36
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:101
unsigned char applicationSelectionIndicator
Indicates if partial AID matching is allowed. 0x01 = allowed DF62.
Definition: IDTechEMV.h:34
id< IDTechEMV_Delegate > delegate
Definition: IDTechEMV.h:174
unsigned char useTACDefault
Indicates if tacDefault value should be used.
Definition: IDTechEMV.h:31
Definition: IDTechEMV.h:120
unsigned char useDefaultTACOnline
Indicates if tacOnline value should be used as terminal default value.
Definition: IDTechEMV.h:111
unsigned char transactionCurrencyExponent
Transaction Currency Exponent. Example: Amount $4.53 is managed as 453. Tag 5F36. ...
Definition: IDTechEMV.h:30
unsigned char useTACOnline
Indicates if tacDefault value should be used.
Definition: IDTechEMV.h:33
unsigned char useDefaultTACDenial
Indicates if tacDenial value should be used as terminal default value.
Definition: IDTechEMV.h:110
Definition: IDTEMVData.h:16