Ruby - 用于更新运费的PayPal即时更新回调API

时间:2012-09-13 21:01:21

标签: paypal

当用户在PayPal上更改其地址时,PayPal会向您的服务器发出AJAX呼叫以获取新的运费。我们的服务器从PayPal获取请求。我有这个工作。 我的困境是'我如何'和'我在哪里'将新的运费汇回PayPal? API没有说明如何将其发回。在POST?在GET中?在渲染? 我尝试过渲染:文本并将其发送到字符串中 “METHOD = CallbackResponseOFFERINSURANCEOPTION = falseL_SHIPPINGOPTIONNAME0 = UPS AirL_SHIPPINGOPTIONLABEL0 = UPS次日空运L_SHIPPINGOPTIONAMOUNT0 = 20.00& L_TAXAMT0 = 2.20& L_INSURANCEAMOUNT0 = 1.51L_SHIPPINGOPTIONISDEFAULT0 = true” 我试图渲染一个xml.builder。 我使用的是Active Merchant Gem,它没有运费回调的方法。 当我尝试创建一个类似的方法发送到沙箱PayPal URL时,令牌和CorrelationID会发生变化。

1 个答案:

答案 0 :(得分:0)

使用回调API时,您将充当Web服务,因此您只需确保脚本输出NVP响应,就像您显示的样本一样。

您可以拨打您的运输公司API等,为此您将进行POST调用,但是一旦您编译了该数据,您只需生成NVP字符串并将其回显到屏幕即可。

在运行该脚本时,您只需要输出NVP字符串,就像您在使用NVP Web服务并向其发送请求时收到的内容一样。你只是在另一端,所以你正在产生NVP响应。

我会说,根据我的经验,回调系统不是很可靠。您可以设置的最长时间是6秒,而这仅仅不足以从PayPal接收数据,点击第三方API,生成结果并将其发送回PayPal。它真的只适用于非常简单的运输服务。否则,它会结束超时,默认为使用SetExpressCheckout发送的送货选项。

希望这有用。