【问题标题】:iOS PayPal integration with backend chained paymentsiOS PayPal 与后端链式支付的集成
【发布时间】:2014-11-26 18:23:51
【问题描述】:

我正在努力将 PayPal 集成到我们的 iOS 应用中。在我们的后端,我们已经实现了链式支付并在 api 上公开了它。后端负责生成支付密钥。

在网络应用程序上,图书馆打开一个灯箱并注入支付密钥,供用户通过登录来批准支付。

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

【问题讨论】:

    标签: ios paypal paypal-adaptive-payments


    【解决方案1】:

    目前,除了 MPL,自适应支付没有真正的原生流程。 MPL 的警告是,一旦将自适应流移植到 RESTful API 并随后移植到 mSDK,它就会被弃用。

    【讨论】:

    • 感谢您的回复,我想可能是这样。我认为我必须做的是应用程序中的整个链式支付流程,即使我们的 api 已设置为处理它。因为我似乎无法完成在服务器上发起的付款。
    【解决方案2】:

    我刚刚在 iPhone 中完成了延迟链式支​​付

    首先使用金额、收据等所有参数创建交易,并从后端(PHP、JAVA、RUBY 或任何)获取交易的 PAY_KEY 在参考贝宝链接的帮助下:- 第 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];
        }
    

    这将打开弹出窗口,用于登录和支付给定的 PAYKEY 交易

    在 Paypal Popup 中登录并付款

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

    从后端通过https://devtools-paypal.com/guide/ap_chained_payment/php?success=true中的第4步

    【讨论】:

    • 感谢以上信息,我真的卡在IOS延迟链支付了。
    • 干得好,开发人员......即使是 Paypal 支持人员也表示这是不可能的......我希望我能多次投票谢谢
    • 这篇文章唯一的坏处是它不能被多次投票!贝宝真是一团糟:(
    猜你喜欢
    • 2014-04-10
    • 2016-08-19
    • 2013-02-15
    • 2020-10-30
    • 1970-01-01
    • 2017-11-22
    • 2021-08-04
    • 2015-03-29
    • 1970-01-01
    相关资源
    最近更新 更多