簡體   English   中英

iOS PayPal與后端鏈式支付的集成

[英]iOS PayPal integration with backend chained payments

我正在努力將PayPal集成到我們的iOS應用中。 在我們的后端,我們實現了鏈接支付,並在api上公開了它。 后端負責生成支付密鑰。

在Web應用程序上,庫打開一個燈箱,並注入支付密鑰,供用戶通過登錄批准支付。

我們需要使用paypal sdk或MPL庫在iOS應用上完成同一操作。 我看到了如何在iOS應用程序中從頭到尾進行鏈式付款,但是沒有看到如何使用已經生成的付款密鑰直接跳入批准過程。

我剛剛在iPhone中完成了延遲連鎖付款

首先創建帶有所有參數(例如金額,收據等)的交易,並借助參考貝寶鏈接從后端(PHP,JAVA,RUBY或任何)獲取交易的PAY_KEY:-步驟2: https//devtools-paypal.com/指南/ ap_chained_pa​​yment / php?success = true

然后使用paykey我們只能在webview中付款,因此在ViewController中使用以下URL打開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,用於登錄和支付給定的PAYKEY交易

登錄並在Paypal Popup中付款

最后關閉彈出窗口,您可以使用PAYKEY驗證付款

從后端https://devtools-paypal.com/guide/ap_chained_pa​​yment/php?success=true中的第4步開始

目前,除MPL之外,沒有針對Adaptive Payments的真正本機流程。 MPL的警告是,一旦將自適應流移植到RESTful API中,然后移植到mSDK中,就不建議使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM