当前位置: 首页 > 知识库问答 >
问题:

paypal:在上下文中快速结帐后保持在页面上

聂炜
2023-03-14

用户通过上下文快速结账支付后,PayPal重新加载页面,并将用户重定向到后端的“返回URL”参数指定的页面。

但是,这将删除当前页面。

有没有办法避免在成功签出后重新加载页面?

共有1个答案

通宾白
2023-03-14

在页面中包含一个iframe,并使用该iframe启动流程。由于iframe是在上下文窗口中启动PayPal的窗口,因此它将被重定向到您的returnURL。因此,您的原始页面保持在调用、变量和所有调用之前的状态。

这里有一个例子。。。

我有checkout.html一个叫Paypaliframe的隐形iframe。Paypaliframe中没有UI,它只包含与PayPal相关的js函数。

在收银台。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返回URL页面告诉父节点在未完成的地方继续。

 类似资料:
  • 根据https://developer.paypal.com/docs/classic/payflow/integration-guide/#configuring-hosted-pages-using-paypal-manager我应该能够在我的paypal manager帐户(测试模式)上启用express checkout支付选项,但是我在Hosted Pages设置页面上看不到任何payp

  • 当用户/买家到达PayPal付款页面并成功付款后,它会给用户/买家两个按钮选项(您的PayPal帐户 ) - ( 返回站点)如果用户返回站点足够好,获取所有交易详细信息,但如果他没有,则没有办法捕获交易结果。是否有一个可以在html快速结账方法中指定的退货网址,它是否要求卖家在其帐户中启用Ipin,还是默认启用。 我的问题是它是一个第三方应用程序,卖家添加他的贝宝帐户接受付款,但一个成功的付款需要

  • 一位客户报告说,在他创建贝宝账户之前,他无法使用贝宝支付我们的服务。因为我们启用了必要的设置,所以需要调试。 我想把这个问题复制到计算机上https://developer.paypal.com/ 但我不知道如何在不登录帐户或在那里创建帐户的情况下“支付”。 如何在PayPal沙盒网站上测试“没有PayPal账户的结账”?

  • 我使用paypal按钮管理器(我保存的按钮页面)创建了一些paypal按钮。到目前为止一切正常。 然而,我希望贝宝支付页面默认打开信用卡标签。(标签上写着“没有贝宝账户?”)。 从其他stackoverflow答案中,我可以看到我需要使用快速签出,在API调用中,我需要设置SOLUTIONTYPE=Sole和LANDINGPAGE=Billing。 但是,我如何在我的普通Paypal支付按钮(我使

  • 我使用PHP REST SDK进行快速签出,我的代码基于以下示例:http://paypal.github.io/PayPal-PHP-SDK/sample/doc/payments/CreatePaymentUsingPayPal.html 这工作得很好,除了我不确定如何将它与新的上下文结帐集成。据我所知,我只需要EC令牌,这样我就可以在上下文结帐时使用它,并获得像这样的网址,但是我找不到如何仅