IDTech iOS SDK Guide  1.1.166.045
API reference for VP3300
IDT_VP3300.h
1 //
2 // IDT_VP3300.h
3 // IDTech
4 //
5 // Created by Randy Palermo on 10/29/14.
6 // Copyright (c) 2014 IDTech Products. All rights reserved.
7 //
8 
9 #import <Foundation/Foundation.h>
10 #import "IDTMSRData.h"
11 #import "IDT_Device.h"
12 
14 @protocol IDT_VP3300_Delegate <NSObject>
15 @optional
16 -(void) deviceConnected;
17 -(void) deviceDisconnected;
18 - (void) plugStatusChange:(BOOL)deviceInserted;
19 - (void) dataInOutMonitor:(NSData*)data incoming:(BOOL)isIncoming;
21 
26 - (void) swipeMSRData:(IDTMSRData*)cardData;
27 
29 - (void) deviceMessage:(NSString*)message;
30 
32 - (void) bypassData:(NSData*)data;
33 
35 
69 - (void) ctlsEvent:(Byte)event scheme:(Byte)scheme data:(Byte)data;
70 
71 
85 - (void) lcdDisplay:(int)mode lines:(NSArray*)lines;
86 
95 - (void) bluetoothPickerAlert:(UIAlertView*)view;
96 
97 
106 - (void) bluetoothDeviceNames:(NSArray*)names;
107 
108 
109 - (void) gen2Data:(NSData*)tlv;
110 
112 
113 
131 - (void) pinRequest:(EMV_PIN_MODE_Types)mode key:(NSData*)key PAN:(NSData*)PAN startTO:(int)startTO intervalTO:(int)intervalTO language:(NSString*)language;
132 
133 
134 
147 - (void) emvTransactionData:(IDTEMVData*)emvData errorCode:(int)error;
148 
149 @end
150 
154 @interface IDT_VP3300 : NSObject<IDT_Device_Delegate>{
155  id<IDT_VP3300_Delegate> delegate;
156  id<IDT_VP3300_Delegate> bypassDelegate;
157 
158 }
159 
160 @property(strong) id<IDT_VP3300_Delegate> delegate;
161 @property(strong) id<IDT_VP3300_Delegate> bypassDelegate;
162 
167 +(void) disableAudioDetection;
168 
169 
170 
171 
179 +(NSString*) SDK_version;
180 
189 
194 -(void) close;
195 
196 
197 
204 -(void) device_disconnectBLE;
205 
206 
213 -(RETURN_CODE) ctls_cancelTransaction;
214 
215 
216 
223 -(RETURN_CODE) emv_cancelTransaction;
224 
225 
246 -(RETURN_CODE) device_setTerminalData:(NSData*)tags;
247 
268 -(RETURN_CODE) device_retrieveTerminalData:(NSData**)responseData;
269 
291 -(RETURN_CODE) device_addTLVToTerminalData:(NSData*)tlv;
292 
299 -(RETURN_CODE) device_cancelTransaction;
309 -(RETURN_CODE) device_getTransactionResults:(NSData**)results;
310 
323 -(RETURN_CODE) ctls_getConfigurationGroup:(int)group response:(NSDictionary**)response;
324 
325 
334 -(void) processBypassResponse:(NSData*)data;
335 
346 -(void) assignBypassDelegate:(id<IDT_VP3300_Delegate>)del;
347 
348 
349 
350 
360 -(RETURN_CODE) ctls_removeAllCAPK;
361 
372 -(RETURN_CODE) ctls_removeApplicationData:(NSString*)AID;
373 
384 -(RETURN_CODE) ctls_removeCAPK:(NSData*)capk;
385 
396 -(RETURN_CODE) ctls_removeConfigurationGroup:(int)group;
397 
398 
409 -(RETURN_CODE) ctls_retrieveAIDList:(NSArray**)response;
410 
421 -(RETURN_CODE) ctls_retrieveApplicationData:(NSString*)AID response:(NSDictionary**)response;
422 
440 -(RETURN_CODE) ctls_retrieveCAPK:(NSData*)capk key:(NSData**)key;
441 
442 
452 -(RETURN_CODE) ctls_retrieveCAPKList:(NSArray**)keys;
453 
466 -(RETURN_CODE) ctls_retrieveTerminalData:(NSData**)tlv;
467 
468 
480 -(RETURN_CODE) device_sendGen2Cmd:(NSData*)tlv response:(NSData**)response;
481 
482 
498 -(RETURN_CODE) ctls_setApplicationData:(NSData*)tlv;
499 
517 -(RETURN_CODE) ctls_setCAPK:(NSData*)key;
518 
519 
533 -(RETURN_CODE) ctls_setConfigurationGroup:(NSData*)tlv;
534 
535 
547 -(RETURN_CODE) ctls_setTerminalData:(NSData*)tlv;
548 
549 
550 
551 
599 -(RETURN_CODE) ctls_startTransaction:(double)amount type:(int)type timeout:(int)timeout tags:(NSMutableDictionary *)tags;
600 
601 
602 
615 -(RETURN_CODE) ctls_startTransaction;
616 
617 
618 
628 -(RETURN_CODE) device_cancelConnectToAudioReader;
637 -(RETURN_CODE) device_connectToAudioReader;
638 
639 
658 -(RETURN_CODE) device_getFirmwareVersion:(NSString**)response;
659 
660 
679 -(bool) device_enableBLEDeviceSearch:(NSUUID*)identifier;
680 
685 - (void)setBLEDeviceTypeVP3300;
686 
694 - (void)setServiceUUID:(nullable NSArray<CBUUID *> *)serviceUUIDs;
695 
696 
704 -(NSString*) device_getBLEFriendlyName;
705 
706 
714 -(void) device_setBLEFriendlyName:(NSString*)friendlyName;
715 
716 
727 
735 -(NSUUID*) device_connectedBLEDevice;
736 
737 
738 
750 
751 
761 -(RETURN_CODE) device_getAutoPollTransactionResults:(IDTEMVData**)result;
762 
775 -(NSString *) device_getResponseCodeString: (int) errorCode;
776 
792 -(bool) device_isConnected:(IDT_DEVICE_Types)device;
793 
807 -(RETURN_CODE) device_sendIDGCommand:(unsigned char)command subCommand:(unsigned char)subCommand data:(NSData*)data response:(NSData**)response;
808 
822 -(RETURN_CODE) device_sendIDGCommandV3:(unsigned char)command subCommand:(unsigned char)subCommand data:(NSData*)data response:(NSData**)response;
823 
844 -(RETURN_CODE) device_setAudioVolume:(float)val;
845 
865 -(RETURN_CODE) device_setPassThrough:(BOOL)enablePassThrough;
866 
867 
878 -(RETURN_CODE) device_setBurstMode:(int) mode;
879 
880 
891 -(RETURN_CODE) device_setPollMode:(int) mode;
892 
893 
911 -(RETURN_CODE) device_startRKI;
912 
937 -(RETURN_CODE) device_rebootDevice;
938 
954 -(RETURN_CODE) device_getMerchantRecord:(int)index record:(NSData**)record;
955 
968 -(RETURN_CODE) device_setMerchantRecord:(int)index enabled:(BOOL)enabled merchantID:(NSString*)merchantID merchantURL:(NSString*)merchantURL;
969 
995 -(RETURN_CODE) emv_authenticateTransaction:(NSData*)tags;
1012 -(RETURN_CODE) emv_callbackResponseLCD:(int)mode selection:(unsigned char) selection;
1013 
1030 -(RETURN_CODE) emv_callbackResponsePIN:(EMV_PIN_MODE_Types)mode KSN:(NSData*)KSN PIN:(NSData*)PIN;
1031 
1074 -(RETURN_CODE) emv_completeOnlineEMVTransaction:(BOOL)isSuccess hostResponseTags:(NSData*)tags;
1075 
1076 
1077 
1086 -(void) emv_disableAutoAuthenticateTransaction:(BOOL)disable;
1087 
1088 
1089 
1108 -(RETURN_CODE) emv_getEMVL2Version:(NSString**)response;
1109 
1129 -(RETURN_CODE) emv_removeApplicationData:(NSString*)AID;
1130 
1151 -(RETURN_CODE) emv_removeCAPK:(NSString*)rid index:(NSString*)index ;
1152 
1164 -(RETURN_CODE) emv_setTerminalMajorConfiguration:(int)configuration;
1165 
1177 -(RETURN_CODE) emv_getTerminalMajorConfiguration:(NSUInteger**)configuration;
1178 
1179 
1197 -(RETURN_CODE) emv_removeCRLList;
1198 
1199 
1218 -(RETURN_CODE) emv_removeTerminalData;
1219 
1239 -(RETURN_CODE) emv_retrieveAIDList:(NSArray**)response;
1240 
1241 
1270 -(RETURN_CODE) emv_retrieveApplicationData:(NSString*)AID response:(NSDictionary**)responseAID;
1271 
1294 -(RETURN_CODE) emv_retrieveCAPK:(NSString*)rid index:(NSString*)index response:(CAKey**)response;
1295 
1296 
1328 -(RETURN_CODE) emv_retrieveCAPKFile:(NSString*)rid index:(NSString*)index response:(NSData**)response;
1329 
1349 -(RETURN_CODE) emv_retrieveCAPKList:(NSArray**)response;
1350 
1351 
1352 
1372 -(RETURN_CODE) emv_retrieveCRLList:(NSMutableArray**)response;
1373 
1374 
1375 
1376 
1377 
1399 -(RETURN_CODE) emv_retrieveTerminalData:(NSDictionary**)responseData;
1400 
1422 -(RETURN_CODE) emv_retrieveTransactionResult:(NSData*)tags retrievedTags:(NSDictionary**)retrievedTags;
1423 
1470 -(RETURN_CODE) emv_setApplicationData:(NSString*)aidName configData:(NSDictionary*)data;
1471 
1491 -(RETURN_CODE) emv_setCAPK:(CAKey)key;
1492 
1510 -(RETURN_CODE) emv_setCAPKFile:(NSData*)file;
1511 
1535 -(RETURN_CODE) emv_setCRLEntries:(NSData*)data;
1536 
1537 
1538 
1539 
1585 -(RETURN_CODE) emv_setTerminalData:(NSDictionary*)data;
1586 
1587 
1588 
1589 
1590 
1617 -(RETURN_CODE) emv_startTransaction:(double)amount amtOther:(double)amtOther type:(int)type timeout:(int)timeout tags:(NSData*)tags forceOnline:(BOOL)forceOnline fallback:(BOOL)fallback;
1618 
1626 -(RETURN_CODE)emv_removeAllApplicationData;
1627 
1636 -(RETURN_CODE) emv_getEMVKernelCheckValue:(NSString**)response;
1637 
1647 -(RETURN_CODE) emv_getEMVConfigurationCheckValue:(NSString**)response;
1648 
1658 -(RETURN_CODE) emv_callbackResponseMSR:(NSData*)MSR;
1659 
1673 -(RETURN_CODE) ctls_getAllConfigGroups:(NSData**)response;
1674 
1675 
1687 -(RETURN_CODE) ctls_getAllConfigurationGroups:(NSDictionary<NSString*, NSDictionary*>**)response;
1688 
1699 -(RETURN_CODE) config_getSerialNumber:(NSString**)response;
1700 
1715 -(RETURN_CODE) icc_exchangeAPDU:(NSData*)dataAPDU response:(APDUResponse**)response;
1746 -(RETURN_CODE) icc_getICCReaderStatus:(ICCReaderStatus**)readerStatus;
1747 
1763 -(RETURN_CODE) icc_powerOnICC:(NSData**)response;
1764 
1765 
1766 
1781 -(RETURN_CODE) icc_powerOffICC:(NSString**)error;
1782 
1798 -(RETURN_CODE) icc_getKeyFormatForICCDUKPT:(NSData**)format;
1799 
1815 -(RETURN_CODE) icc_setKeyFormatForICCDUKPT:(NSData*)encryption;
1816 
1827 -(RETURN_CODE) msr_cancelMSRSwipe;
1828 
1841 -(RETURN_CODE) msr_startMSRSwipe;
1842 
1846 -(bool) isConnected;
1847 
1848 
1849 
1874 -(RETURN_CODE) device_startTransaction:(double)amount amtOther:(double)amtOther type:(int)type timeout:(int)timeout tags:(NSData*)tags forceOnline:(BOOL)forceOnline fallback:(BOOL)fallback;
1875 
1886 -(RETURN_CODE) device_getPollMode:(NSData**)mode;
1887 
1901 -(RETURN_CODE) device_setQuickChipHIDMode:(Byte)mode;
1902 
1943 -(RETURN_CODE) device_getProductType:(NSData**)type;
1944 
1960 -(RETURN_CODE) device_getProcessorType:(NSData**)type;
1961 
1983 -(RETURN_CODE) device_getHardwareInfo:(NSString**)response;
1984 
1994 -(RETURN_CODE) device_getUIDofMCU:(NSString**)response;
1995 
2003 -(RETURN_CODE) device_pingDevice;
2004 
2020 -(RETURN_CODE) device_getDateTime:(NSData**)dateTime;
2021 
2029 -(RETURN_CODE) device_setDateTime;
2030 
2046 -(RETURN_CODE) device_controlLED:(Byte)indexLED control:(Byte)control;
2047 
2090 -(RETURN_CODE) device_controlUserInterface:(NSData*)values;
2091 
2101 -(RETURN_CODE) device_getCashTranRiskPara:(NSData**)tlv;
2102 
2113 -(RETURN_CODE) device_getDrlReaderRiskPara:(Byte)index tlv:(NSData**)tlv;
2114 
2124 -(RETURN_CODE) device_getModuleVer:(NSString**)moduleVer;
2125 
2135 -(RETURN_CODE) emv_getEMVKernelVersion:(NSString**)response;
2136 
2146 -(RETURN_CODE) emv_getEMVKernelVersionExt:(NSString**)response;
2147 
2154 -(void) setReaderAttached:(BOOL)attached;
2155 
2169 + (NSString*) createFastEMVData:(IDTEMVData*)emvData;
2170 
2186 - (void)scanForBLEDevices:(NSTimeInterval)scanTime serviceUUIDs:(nullable NSArray<CBUUID *> *)serviceUUIDs options:(nullable NSDictionary<NSString *, id> *)options;
2187 
2203 - (void)scanForBLEDeviceNames:(NSTimeInterval)scanTime serviceUUIDs:(nullable NSArray<CBUUID *> *)serviceUUIDs options:(nullable NSDictionary<NSString *, id> *)options;
2204 
2205 
2296 -(RETURN_CODE) activateTransaction:(NSMutableDictionary<NSString*,NSString*> *_Nullable)tags timeout:(int)timeout;
2297 
2298 
2299 
2309 -(RETURN_CODE) device_syncClock;
2310 
2311 
2321 -(RETURN_CODE) device_syncTime;
2322 
2323 
2324 @end
BOOL device_isAudioReaderConnected()
RETURN_CODE device_setDateTime()
RETURN_CODE device_syncTime()
void deviceDisconnected()
Fires when device disconnects.
bool isConnected()
RETURN_CODE device_pingDevice()
RETURN_CODE emv_cancelTransaction()
void deviceConnected()
Fires when device connects. If a connection is established before the delegate is established (no del...
Definition: IDTMSRData.h:21
RETURN_CODE ctls_startTransaction()
Definition: IDT_VP3300.h:14
bool device_disableBLEDeviceSearch()
RETURN_CODE device_cancelTransaction()
NSString * device_getBLEFriendlyName()
Definition: APDUResponse.h:14
RETURN_CODE device_connectToAudioReader()
RETURN_CODE emv_removeCRLList()
RETURN_CODE device_rebootDevice()
RETURN_CODE emv_removeAllApplicationData()
RETURN_CODE msr_cancelMSRSwipe()
Definition: IDTCommon.h:13
NSString * SDK_version()
Definition: IDTCommon.h:42
RETURN_CODE device_syncClock()
id< IDT_VP3300_Delegate > bypassDelegate
Definition: IDT_VP3300.h:156
RETURN_CODE ctls_removeAllCAPK()
RETURN_CODE device_cancelConnectToAudioReader()
NSUUID * device_connectedBLEDevice()
void device_disconnectBLE()
void setBLEDeviceTypeVP3300()
RETURN_CODE emv_removeTerminalData()
RETURN_CODE msr_startMSRSwipe()
void disableAudioDetection()
IDT_VP3300 * sharedController()
id< IDT_VP3300_Delegate > delegate
Definition: IDT_VP3300.h:155
Definition: IDT_VP3300.h:154
RETURN_CODE device_startRKI()
Definition: IDTEMVData.h:16
RETURN_CODE ctls_cancelTransaction()