iOS PayPal 与后端链式支付的集成

Posted

技术标签:

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

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

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

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

【问题讨论】:

【参考方案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 支持人员也表示这是不可能的......我希望我能多次投票谢谢 这篇文章唯一的坏处是它不能被多次投票!贝宝真是一团糟:(

以上是关于iOS PayPal 与后端链式支付的集成的主要内容,如果未能解决你的问题,请参考以下文章

将 Paypal 的 IPN 变量与后端变量匹配

PayPal java自适应链式未来支付

iOS 应用程序 + 服务器集成中的贝宝链式支付(或自适应)

Paypal 使用 PHP 和 MySql 与我的后端集成

magento - 集成贝宝自适应支付(链式支付)

如何在 PayPal 支付网关中集成 3D Secure 身份验证?