iOS PayPal与后端链式支付集成

时间:2014-10-01 19:48:20

标签: ios paypal paypal-adaptive-payments

我正在努力将PayPal集成到我们的iOS应用中。在我们的后端,我们实施了链式支付并在api上暴露了这种情况。后端负责生成付款密钥。

在网络应用程序中,图书馆会打开一个灯箱,并为用户注入付款密钥,以便通过登录来批准付款。

我们需要使用paypal sdk或MPL库在iOS应用程序上完成同样的事情。我看到如何在iOS应用程序中从头到尾进行链式支付,但不知道如何使用已生成的付费密钥直接进入审批流程。

2 个答案:

答案 0 :(得分:9)

我刚刚在iPhone上完成延迟链接付款

首先使用金额,收据等所有参数创建交易,并从后端获取PAY_KEY(PHP,JAVA,RUBY或任何) 在参考paypal链接的帮助下: - 第2步:https://devtools-paypal.com/guide/ap_chained_payment/php?success=true

然后使用paykey我们只能在webview中付款 使用以下URL在ViewController中打开UIWebView

[wbView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/pay?paykey=%@&expType=mini",@"[PAY_KEY]"]]]];

和句柄委托方法

#pragma mark - UIWebView Delgate
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:UIWebViewNavigationType)navigationType
    {
        NSLog(@"\n\n-- %@\n--%@\n\n",request.URL,[request.URL absoluteString]);
        if([[request.URL absoluteString] isEqualToString:@"https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/closewindow"])
        {
            [self validatePayment];
            return YES;
        }            
        return YES;
    }
    - (void)webViewDidStartLoad:(UIWebView *)webView
    {
        if (!actView.isAnimating) {
            [actView startAnimating];
        }
        NSLog(@"start %@",webView.request);
    }
    - (void)webViewDidFinishLoad:(UIWebView *)webView
    {
        NSLog(@"End %@",webView.request);
        [actView stopAnimating];
    }
    - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
    {
        [actView stopAnimating];
    }

这将打开popwindow with for login&支付给定的PAYKEY交易

在Paypal Popup中登录并付款

最后关闭弹出窗口,您可以使用PAYKEY验证付款

来自https://devtools-paypal.com/guide/ap_chained_payment/php?success=true

中的第4步后端

答案 1 :(得分:0)

此时,除了MPL之外,自适应支付没有真正的原生流程。 MPL的警告是,一旦Adaptive流被移植到RESTful API中并随后移入mSDK,它就会被弃用。