贝宝上下文结账恢复为经典快速结账
paypal in-context checkout reverts back to classic express checkout
我一直在尝试将我们的经典快速结账切换为上下文快速结账。
按照指示,我已将 URL 切换为 https://www.paypal.com/checkoutnow/
这是购物车中的 HTML 片段:
<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 代码,然后重定向到此 link:
https://www.sandbox.paypal.com/checkoutnow/2?incontext=1&token=EC-YYYY
单击会导致弹出窗口 window,主要 window 变暗。但几秒钟后,弹出 window 使主页转到经典结帐并关闭。它让我继续使用旧方法成功结帐。所以我知道 EC 编号是正确的。任何人都可以帮助我了解我需要做什么才能使上下文结帐工作吗?提前谢谢你。
我遇到了完全相同的问题。
原来是在服务端设置中解决。
在 paypalfunctions.php 文件(PayPal 自己为我生成)中,有几行您需要删除,与它有关的行是 digital 项目。
查找类似的行:
$nvpstr .= "&L_PAYMENTREQUEST_0_ITEMCATEGORY" . $index . "=Digital";
可能会重复几次。
基本上,数字商品不允许通过上下文结账,这就是我遇到重定向问题的原因。
我在将 LANDINGPAGE 设置为 Billing 时遇到了同样的问题。
在这种特殊情况下,沙箱会恢复为经典的快速结账版本。
在生产中,LANDINGPAGE 参数的 Billing 和 Login 值都会导致正确的弹出窗口 window.
对我来说,问题是获取交易 ID 时的 CALLBACK
参数。当我删除它时,它起作用了。
我必须删除这些参数才能让它工作
FlatRateShippingOptions
cppHeaderImage
CallbackURL
CallbackTimeout
我一直在尝试将我们的经典快速结账切换为上下文快速结账。
按照指示,我已将 URL 切换为 https://www.paypal.com/checkoutnow/
这是购物车中的 HTML 片段:
<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 代码,然后重定向到此 link:
https://www.sandbox.paypal.com/checkoutnow/2?incontext=1&token=EC-YYYY
单击会导致弹出窗口 window,主要 window 变暗。但几秒钟后,弹出 window 使主页转到经典结帐并关闭。它让我继续使用旧方法成功结帐。所以我知道 EC 编号是正确的。任何人都可以帮助我了解我需要做什么才能使上下文结帐工作吗?提前谢谢你。
我遇到了完全相同的问题。
原来是在服务端设置中解决。 在 paypalfunctions.php 文件(PayPal 自己为我生成)中,有几行您需要删除,与它有关的行是 digital 项目。 查找类似的行:
$nvpstr .= "&L_PAYMENTREQUEST_0_ITEMCATEGORY" . $index . "=Digital";
可能会重复几次。 基本上,数字商品不允许通过上下文结账,这就是我遇到重定向问题的原因。
我在将 LANDINGPAGE 设置为 Billing 时遇到了同样的问题。
在这种特殊情况下,沙箱会恢复为经典的快速结账版本。 在生产中,LANDINGPAGE 参数的 Billing 和 Login 值都会导致正确的弹出窗口 window.
对我来说,问题是获取交易 ID 时的 CALLBACK
参数。当我删除它时,它起作用了。
我必须删除这些参数才能让它工作
FlatRateShippingOptions
cppHeaderImage
CallbackURL
CallbackTimeout