繁体   English   中英

paypal:在上下文快速结账后留在页面上

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM