我正在努力将PayPal集成到我们的iOS应用中。在我们的后端,我们实施了链式支付并在api上暴露了这种情况。后端负责生成付款密钥。
在网络应用程序中,图书馆会打开一个灯箱,并为用户注入付款密钥,以便通过登录来批准付款。
我们需要使用paypal sdk或MPL库在iOS应用程序上完成同样的事情。我看到如何在iOS应用程序中从头到尾进行链式支付,但不知道如何使用已生成的付费密钥直接进入审批流程。
答案 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,它就会被弃用。