PayPal Express Checkout即时更新未更新运费

时间:2014-06-14 22:01:43

标签: php paypal

我正在使用Paypal Express Checkout,一切正常,但在调用Callback时,运送公司没有更新。

我可以验证是否正在调用回调(记录调用)。 当Paypal使用客户发货国家/地区调用回调网址时,我会返回以下值。

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/

我希望有人可以帮助我,提前谢谢!


更新

我尝试了NO SHIPPING OPTION

METHOD=CallbackResponse&NO_SHIPPING_OPTION_DETAILS=1&CALLBACKVERSION=95.0

Paypal回复'不发货到这个位置。请使用其他地址。' 因此响应网址正在运行,问题在于与其他运送选项进行响应时。


此致 Kuroudu

1 个答案:

答案 0 :(得分:2)

我遇到了与您相同的问题,但后来我尝试了PayPal即时更新集成指南中的示例代码,并将其作为文本文件添加到我的服务器上:

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的方法,我很高兴有一个有效的起点。

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