【问题标题】:paypal in-context checkout reverts back to classic express checkout贝宝上下文结帐恢复为经典快速结帐
【发布时间】:2015-07-06 01:59:37
【问题描述】:

我一直在尝试将我们的经典快速结帐切换为上下文快速结帐。

按照指示,我已将网址切换为https://www.paypal.com/checkoutnow/

这是购物车中的 HTML sn-p:

<div class="col-md-6">
 <a id="paypalcheckout" href="paypal_checkout/PostToPaypal.cfm?orderidentifier=XXXX">
    <img class="paypal-button-hidden" src="/img/paypal.png" alt="" class="img-responsive center-block"/>
 </a>
</div>

<script> 
  window.paypalCheckoutReady = function() {
     paypal.checkout.setup("ZZZZ", {locale: 'en_US', environment: 'sandbox', button: ['paypalcheckout']}); 
 } 
</script>
<script async src="//www.paypalobjects.com/api/checkout.js"></script>

PostToPaypal.cfm 发出必要的 api 请求并取回 EC 代码,然后重定向到此链接:

https://www.sandbox.paypal.com/checkoutnow/2?incontext=1&token=EC-YYYY

单击会导致一个弹出窗口,主窗口变暗。但几秒钟后,弹出窗口使主页进入经典结帐并关闭。它让我继续使用旧方法成功结帐。所以我知道 EC 编号是正确的。任何人都可以帮助我了解我需要做什么才能使上下文结帐工作?提前谢谢你。

【问题讨论】:

标签: paypal express-checkout


【解决方案1】:

我也遇到了同样的问题。

解决方案原来是在服务器端设置中。 在 paypalfunctions.php 文件(PayPal 自己为我生成的文件)中,有几行需要删除,与它有关的行是 digital 项目。 寻找类似的行:

$nvpstr .= "&L_PAYMENTREQUEST_0_ITEMCATEGORY" . $index . "=Digital";

可能会重复多次。 基本上,数字商品不允许通过上下文结帐,这就是我遇到重定向问题的原因。

【讨论】:

  • 这就是我的答案。 PayPal 文档一团糟!
  • @brainondev 我去投票给你,但事实证明你现有的投票已经是我了。文档很糟糕。他们实际上并没有解释他们为什么要做某些事情,这是最大的问题。
【解决方案2】:

对我来说,问题是获取事务 ID 时的 CALLBACK 参数。当我删除它时,它起作用了。

【讨论】:

    【解决方案3】:

    我在将 LANDINGPAGE 设置为 Billing 时遇到了同样的问题。

    在这种特殊情况下,沙盒会恢复为经典的快速结帐版本。 在生产中,LANDINGPAGE 参数的 Billing 和 Login 值都会导致正确的弹出窗口。

    【讨论】:

    • 你知道如何在沙盒模式下解决这个问题吗?
    【解决方案4】:

    我必须删除这些参数才能让它工作

    FlatRateShippingOptions 
    cppHeaderImage
    CallbackURL
    CallbackTimeout
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-18
      • 2017-11-11
      • 2014-09-06
      • 2012-08-06
      • 2013-11-01
      • 2018-08-21
      • 2015-11-15
      • 2019-03-16
      相关资源
      最近更新 更多