PayOnlineConfiguration *payOnlineConfiguration = [PayOnlineConfiguration configurationWithMerchantId:12345 privateKey: @"12-34-5"];
@implementation ViewController
...
#pragma mark - PayOnlineDelegate methods
(void)payOnlineSuccess:(PayOnlinePayResponse *)response { // платеж прошел успешно }
(void)payOnlineDeclined:(PayOnlinePayResponse *)response { // платеж отклонен }
// необходима проверка 3DS
(void)payOnlineThreeDsRequired:(PayOnlinePayResponse *)response { // создаем и показываем встроенный браузер WKWebView *webView = [[WKWebView alloc] initWithFrame:self.view.bounds]; [self.view addSubview:webView]; // открываем страницу банка-эмитента во встроенном браузере [self.processing navigateToAcsUrl:response delegate:self webView:webView]; }
(void)payOnlineError:(PayOnlineError *)error { // ошибка }
@end
(void)payOnlineThreeDsRequired:(PayOnlinePayResponse *)response { // создаем и показываем встроенный браузер UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.bounds]; [self.view addSubview:webView]; // открываем страницу банка-эмитента во встроенном браузере [self.processing navigateToAcsUrl:response delegate:self webView:webView]; }
PayOnlinePayRequest *payRequest = [[PayOnlinePayRequest alloc] init];
payRequest.email = @"test@payonline.com";
payRequest.cardNumber = @"4444333322221111";
payRequest.ip = @"127.0.0.1";
payRequest.cardExpMonth = 1;
payRequest.cardExpYear = 2015;
payRequest.cardHolderName = @"NAME SURNAME";
payRequest.cardCvv = 123;
payRequest.amount = [NSDecimalNumber decimalNumberWithString:@"120.00"];
payRequest.currency = PayOnlineCurrencyRub;
payRequest.orderId = @"order12345";
PayOnlineProcessing *processing = [PayOnlineProcessing processingWithConfig:payOnlineConfiguration];
[processing pay:payRequest delegate:payOnlineDelegate];