![](/img/trans.png)
[英]paypal in-context checkout loading in lightbox and after few seconds revert to classic express check out
[英]paypal: stay on page after in-context express checkout
用户通过In-context Express Checkout付款后,PayPal会重新加载页面并将用户重定向到后端“returnUrl”参数指定的页面。
但是,这将删除当前页面。
有没有办法避免在成功结账后重新加载页面?
在页面中加入iframe并使用该iframe启动该过程。 由于iframe是启动PayPal上下文窗口的iframe,因此将iframe重定向到returnURL。 因此,您的原始页面保持在调用之前的状态,变量和所有状态。
这是一个例子......
我的checkout.html上有一个名为paypaliframe的隐形iframe。 paypaliframe中没有UI,它只包含与PayPal相关的js函数。
在checkout.html页面中,我点击我的结帐按钮,同时选择PayPal作为付款选项。 “onclick”事件告诉iframe设置事务:
paypaliframe.contentWindow.setupAutorization()
iframe执行setupAutorization()函数,从Paypal获取事务令牌然后启动上下文签出过程:
paypal.checkout.initXO();
paypal.checkout.startFlow(paypal.checkout.urlPrefix + token)
现在显示上下文检出窗口,我们看到新窗口重定向到PayPal站点。 客户输入他的登录信息,同意您的交易,然后Paypal将iframe重定向到您的returnUrl。
在iframe中加载returnURL页面后,您只需通过后续步骤告诉父页面:
$(window).load(function() {
parent.continueAfterPaypal();
});
TLDR; 使用iframe启动上下文签出,然后使用iframe returnURL页面告诉父级继续停止的位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.