2013-06-24 37 views
5

是否有可能完全内联启动支付流程(一个快速结账)?怎么样?没有模式框或弹出窗口的自适应付款?

我们使用链式付款,一切工作在非iOS的移动设备(和iOS版Chrome),但我们正在做一个Web应用程序,所以我们需要这种在手机上运行。在iPhone上测试,我们有this问题与PayPal的代码,我已经问了一下,还有一个事实,当我避开这个bug做一个location.replace与URL到PayPal(或在灯箱加载它我自己的设计),iOS和移动Safari会杀死“登录”弹出窗口(如果用户选择,不会让用户有机会查看它)。

总之,有什么办法,我可以使用自适应付款不可笑世纪90年代时期的弹出窗口???

+1

如果有,以避免在iOS设备上的模式对话框或弹出窗口的方式,我还没有发现它。我不得不整合适用于iOS设备的迷你流程,尽管这些流程可以与弹出窗口一起工作。 – Alex

回答

2

下面是我在做什么使用PayPal的移动网络流量。我正在测试Android,并且运行良好。唯一的挂断是callbackFunction在手机浏览器中不能触发,并且在桌面浏览器中工作正常。 (我仍在研究这部分,请告诉我是否解决这个问题。)下面是一个使用expType = mini来启动PayPal mini浏览器体验的例子。

首先包括JavaScript来实现小流量:

<script src="http://www.paypalobjects.com/js/external/apdg.js"></script> 

然后链接到启动重定向:

<a id="payPalRedirect" href="https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/pay?paykey={paykey}&expType=mini" target="_blank">Complete PayPal Payment</a> 
<br /><br /> 
<div id="resultDiv"></div> 

而且一些JavaScript启动迷你流动过程和callbackFunction参数:

 var returnFromPayPal = function() { 
      alert("Returned from PayPal"); 
      var div = document.getElementById('resultDiv'); 
      div.innerHTML = "Returned from PayPal!"; 
      // Here you would need to pass on the payKey to your server side handle to call the PaymentDetails API to make sure Payment has been successful or not 
      // based on the payment status- redirect to your success or cancel/failed urls 
     } 
     var dgFlowMini = new PAYPAL.apps.DGFlowMini({ trigger: 'payPalRedirect', expType: 'mini', callbackFunction: 'returnFromPayPal' }); 

更多的见解和解决方案这个问题可以在这里找到:

Paypal Embedded Flow not using returnUrl or cancelUrl

+2

我们实际上已经能够解决弹出窗口/模式之后回到我们的网站的问题,它只是一个iOS Safari/web应用程序故障,我们被挂上了。它最终变得如此糟糕,PayPal的支持如此无用(我们花了数小时的时间在电话上),最终我们放弃了Adaptive Payments并从根本上改变了我们的业务模式。以下是我们关闭PayPal窗口的旧解决方案,我希望这对您有一些用处:http://pastebin.com/Dt0kDjGs –

+0

@James您最终得到了这个工作吗?我在iOS和Android中使用自适应/连锁支付,但使用的是不适合移动设备的标准网页。在花费时间转换为嵌入式付款流程之前,最好知道它是否真正起作用? – Heinrich

+1

我不记得让它在移动浏览器中很好地工作。当我将HTML5原型转换为本地应用程序时,我最终完成了此功能。 – James