PayPal Express Checkout Instant Update 不更新运费

Posted

技术标签:

【中文标题】PayPal Express Checkout Instant Update 不更新运费【英文标题】:PayPal Express Checkout Instant Update not updating shipping 【发布时间】:2014-08-05 03:48:25 【问题描述】:

我正在使用 Paypal Express Checkout 并且一切正常,除了在调用回调时没有更新运输承运人。

我可以验证正在调用回调(已记录调用)。 当 Paypal 调用带有客户发货国家/地区的回调 URL 时,我返回以下值。

METHOD=CallbackResponse&OFFERINSURANCEOPTION=false&CURRENCYCODE=USD&TOKEN=EC-5Fsdf5523823&LOCALECODE=en_US&L_SHIPPINGOPTIONNAME0=USPS&L_SHIPPINGOPTIONLABEL0=First+Class+%283-7+Days%29&L_SHIPPINGOPTIONAMOUNT0=0.00&L_SHIPPINGOPTIONISDEFAULT0=true&L_TAXAMT0=0.00&L_INSURANCEAMOUNT0=0.00&L_SHIPPINGOPTIONNAME1=USPS&L_SHIPPINGOPTIONLABEL1=Priority+%282-3+Days%29&L_SHIPPINGOPTIONAMOUNT1=7.95&L_SHIPPINGOPTIONISDEFAULT1=false&L_TAXAMT1=0.00&L_INSURANCEAMOUNT1=0.00&L_SHIPPINGOPTIONNAME2=UPS&L_SHIPPINGOPTIONLABEL2=Next+Day+Air&L_SHIPPINGOPTIONAMOUNT2=39.95&L_SHIPPINGOPTIONISDEFAULT2=false&L_TAXAMT2=0.00&L_INSURANCEAMOUNT2=0.00

回调消息正在通过 php 回显(我什至尝试将其保存为 txt 文件并将回调 URL 指向该文件),即使这样 Paypal 也不会更新运输方式。

我也将 CALLBACKTIMEOUT 更改为 6 秒,但这没关系。我正在使用 HTTPS,也尝试过使用普通的 HTTP。

我正在沙盒模式下对此进行测试。

谁能帮帮我?我真的被困在这里,我一直在寻找类似的问题,但找不到任何问题。

为了您的信息,我遵循了这个 Paypal 指南:https://developer.paypal.com/docs/classic/paypal-payments-pro/integration-guide/WPInstantUpdateAPI/

我还检查了是否返回了此处所述的所有必填字段: https://developer.paypal.com/docs/classic/api/merchant/Callback_API_Operation_NVP/

希望有人能帮帮我,先谢谢了!


更新

我尝试了不发货选项

METHOD=CallbackResponse&NO_SHIPPING_OPTION_DETAILS=1&CALLBACKVERSION=95.0

Paypal 回复“不发货到此位置”。请使用不同的地址。 所以响应 url 是有效的,问题是在响应其他运输选项时。


问候, 库鲁杜

【问题讨论】:

【参考方案1】:

我遇到了和你一样的问题,但后来我尝试了 PayPal Instant Update 集成指南中的示例代码,并将其作为文本文件添加到我的服务器上:

METHOD=CallbackResponse&OFFERINSURANCEOPTION=true&L_SHIPPINGOPTIONNAME0=UPS+Air&L_SHIPPINGOPTIONLABEL0=UPS+Next+Day+Air+Freight&L_SHIPPINGOPTIONAMOUNT0=20.00&L_TAXAMT0=2.20&L_INSURANCEAMOUNT0=1.51&L_SHIPPINGOPTIONISDEFAULT0=false&L_SHIPPINGOPTIONNAME1=UPS+Expedited&L_SHIPPINGOPTIONLABEL1=UPS+Express+2+Days&L_SHIPPINGOPTIONAMOUNT1=10.00&L_TAXAMT1=2.00&L_INSURANCEAMOUNT1=1.35&L_SHIPPINGOPTIONISDEFAULT1=true&L_SHIPPINGOPTIONNAME2=UPS+Ground&L_SHIPPINGOPTIONLABEL2=UPS+Ground+2+to+7+Days&L_SHIPPINGOPTIONAMOUNT2=5.99&L_TAXAMT2=1.99&L_INSURANCEAMOUNT2=1.28&L_SHIPPINGOPTIONISDEFAULT2=false

这至少给了我一个 CallbackResponse,它最终起作用了,然后我可以通过编程对其进行更新,以使其在剩下的过程中发挥作用。花了好几个小时扯掉我的头发。由于 PayPal 并没有真正提供任何调试 CallbackResponses 的方法,我很高兴有一个有效的起点。

希望这有助于为其他人指明正确的方向。

【讨论】:

以上是关于PayPal Express Checkout Instant Update 不更新运费的主要内容,如果未能解决你的问题,请参考以下文章

PayPal Express Checkout 通行证 transactionID

如何访问 Paypal Express Checkout 的响应?

如何为 PayPal Express Checkout 配置 IPN?

paypal express checkout - 400 错误请求

Paypal Express Checkout / React - 发送产品信息

paypal express checkout set paypal费用另加