WePay iOS SDK  7.0.0-beta-2
WePay.h
1 //
2 // WePay.h
3 // WePay
4 //
5 // Created by Chaitanya Bagaria on 10/30/14.
6 // Copyright (c) 2014 WePay. All rights reserved.
7 //
8 
9 #import <Foundation/Foundation.h>
10 #import <UIKit/UIKit.h>
11 
12 #import "WPAddress.h"
13 #import "WPConfig.h"
14 #import "WPPaymentInfo.h"
15 #import "WPPaymentToken.h"
16 #import "WPAuthorizationInfo.h"
17 
18 @class WPConfig;
19 @class WPPaymentInfo;
20 @class WPPaymentToken;
21 
22 // Environments
23 extern NSString * const kWPEnvironmentStage;
24 extern NSString * const kWPEnvironmentProduction;
25 
26 // Payment Methods
27 extern NSString * const kWPPaymentMethodSwipe;
28 extern NSString * const kWPPaymentMethodManual;
29 extern NSString * const kWPPaymentMethodDip;
30 
31 // Card Reader status
32 extern NSString * const kWPCardReaderStatusSearching;
33 extern NSString * const kWPCardReaderStatusNotConnected;
34 extern NSString * const kWPCardReaderStatusConnected;
35 extern NSString * const kWPCardReaderStatusCheckingReader;
36 extern NSString * const kWPCardReaderStatusConfiguringReader;
37 extern NSString * const kWPCardReaderStatusWaitingForCard;
38 extern NSString * const kWPCardReaderStatusShouldNotSwipeEMVCard;
39 extern NSString * const kWPCardReaderStatusCheckCardOrientation;
40 extern NSString * const kWPCardReaderStatusChipErrorSwipeCard;
41 extern NSString * const kWPCardReaderStatusSwipeErrorSwipeAgain;
42 extern NSString * const kWPCardReaderStatusSwipeDetected;
43 extern NSString * const kWPCardReaderStatusCardDipped;
44 extern NSString * const kWPCardReaderStatusTokenizing;
45 extern NSString * const kWPCardReaderStatusAuthorizing;
46 extern NSString * const kWPCardReaderStatusStopped;
47 
48 // Currency Codes
49 extern NSString * const kWPCurrencyCodeUSD;
50 
55 @protocol WPAuthorizationDelegate <NSObject>
56 @required
63 - (void) paymentInfo:(WPPaymentInfo *)paymentInfo
64  didAuthorize:(WPAuthorizationInfo *)authorizationInfo;
65 
72 - (void) paymentInfo:(WPPaymentInfo *)paymentInfo
73 didFailAuthorization:(NSError *)error;
74 
75 @end
76 
80 @protocol WPTokenizationDelegate <NSObject>
81 
88 - (void) paymentInfo:(WPPaymentInfo *)paymentInfo
89  didTokenize:(WPPaymentToken *)paymentToken;
90 
97 - (void) paymentInfo:(WPPaymentInfo *)paymentInfo
98  didFailTokenization:(NSError *)error;
99 
100 
101 @optional
102 
112 - (void) insertPayerEmailWithCompletion:(void (^)(NSString *email))completion;
113 
114 @end
115 
116 
120 @protocol WPCardReaderDelegate <NSObject>
121 @required
131 - (void) selectEMVApplication:(NSArray *)applications
132  completion:(void (^)(NSInteger selectedIndex))completion;
133 
139 - (void) didReadPaymentInfo:(WPPaymentInfo *)paymentInfo;
140 
146 - (void) didFailToReadPaymentInfoWithError:(NSError *)error;
147 
148 
158 - (void) selectCardReader:(NSArray *)cardReaderNames
159  completion:(void (^)(NSInteger selectedIndex))completion;
160 
161 @optional
181 - (void) cardReaderDidChangeStatus:(id)status;
182 
192 - (void) shouldResetCardReaderWithCompletion:(void (^)(BOOL shouldReset))completion;
193 
205 - (void) authorizeAmountWithCompletion:(void (^)(NSDecimalNumber *amount, NSString *currencyCode, long accountId))completion;
206 
207 @end
208 
209 
213 @protocol WPCheckoutDelegate <NSObject>
214 
221 - (void) didStoreSignature:(NSString *)signatureUrl
222  forCheckoutId:(NSString *)checkoutId;
223 
231 - (void) didFailToStoreSignatureImage:(UIImage *)image
232  forCheckoutId:(NSString *)checkoutId
233  withError:(NSError *)error;
234 
235 @end
236 
237 
241 @protocol WPBatteryLevelDelegate <NSObject>
242 
248 - (void) didGetBatteryLevel:(int)batteryLevel;
249 
255 - (void) didFailToGetBatteryLevelwithError:(NSError *)error;
256 
257 @end
258 
259 
263 @interface WePay : NSObject
264 
268 @property (nonatomic, strong, readonly) WPConfig *config;
269 
272 
281 - (instancetype) initWithConfig:(WPConfig *)config;
282 
284 
285 #pragma mark -
286 #pragma mark Tokenization
287 
288 
291 
299 - (void) tokenizePaymentInfo:(WPPaymentInfo *)paymentInfo
300  tokenizationDelegate:(id<WPTokenizationDelegate>)tokenizationDelegate;
301 
303 
304 
305 #pragma mark -
306 #pragma mark Card Reader
307 
310 
328 - (void) startTransactionForReadingWithCardReaderDelegate:(id<WPCardReaderDelegate>) cardReaderDelegate;
329 
348 - (void) startTransactionForTokenizingWithCardReaderDelegate:(id<WPCardReaderDelegate>) cardReaderDelegate
349  tokenizationDelegate:(id<WPTokenizationDelegate>) tokenizationDelegate
350  authorizationDelegate:(id<WPAuthorizationDelegate>) authorizationDelegate;
351 
357 - (void) stopCardReader;
358 
360 
361 #pragma mark -
362 #pragma mark Checkout
363 
366 
378 - (void) storeSignatureImage:(UIImage *)image
379  forCheckoutId:(NSString *)checkoutId
380  checkoutDelegate:(id<WPCheckoutDelegate>) checkoutDelegate;
381 
383 
384 #pragma mark -
385 #pragma mark Battery Level
386 
389 
397 - (void) getCardReaderBatteryLevelWithCardReaderDelegate:(id<WPCardReaderDelegate>) cardReaderDelegate
398  batteryLevelDelegate:(id<WPBatteryLevelDelegate>) batteryLevelDelegate;
399 
401 
402 #pragma mark -
403 #pragma mark Remember card reader
404 
407 
414 - (NSString *) getRememberedCardReader;
415 
420 
422 
423 @end
Definition: WPPaymentToken.h:14
void forgetRememberedCardReader()
Definition: WePay.h:263
void stopCardReader()
WPConfig * config
Definition: WePay.h:268
Definition: WPAuthorizationInfo.h:14
Definition: WPPaymentInfo.h:14
NSString * getRememberedCardReader()
Definition: WPConfig.h:15