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 错误请求