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

Ruby-PayPal即时更新回调API,用于更新运费,paypal,Paypal,当用户在PayPal上更改地址时,PayPal会向您的服务器打一个AJAX电话,询问新的运费。我们的服务器收到贝宝的请求。我有这个工作。 我的困境是“我该怎么做”和“我该在哪里”将新的运费发回贝宝?API没有说明如何将其发回。在一个岗位上?一下子?在渲染中? 我尝试了render:text并以字符串形式发送它 “METHOD=CallbackResponseOFFERINSURANCEOPTION=falseL\u ShippingOption Name 0=UPS空运选项标签0=UPS次日空运

当用户在PayPal上更改地址时,PayPal会向您的服务器打一个AJAX电话,询问新的运费。我们的服务器收到贝宝的请求。我有这个工作。 我的困境是“我该怎么做”和“我该在哪里”将新的运费发回贝宝?API没有说明如何将其发回。在一个岗位上?一下子?在渲染中? 我尝试了render:text并以字符串形式发送它 “METHOD=CallbackResponseOFFERINSURANCEOPTION=falseL\u ShippingOption Name 0=UPS空运选项标签0=UPS次日空运选项装载量0=20.00&L\u TAXAMT0=2.20&L\u保险金额0=1.51L\u ShippingOption故障0=true” 我试图呈现一个xml.builder。 我使用的是活动商户Gem,它没有运费回调的方法。
当我尝试创建一个类似的方法发送到沙盒PayPal URL时,令牌和CorrelationID会发生变化

使用回调API时,您的行为就像web服务一样,因此您只需确保脚本输出NVP响应,就像您所展示的示例一样

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

当运行该脚本时,您只希望输出该NVP字符串,就像处理NVP web服务并向其发送请求时收到的一样。你只是在另一端,所以你正在生成NVP响应

不过,根据我的经验,回调系统不是很可靠。您可以将其设置为的最长时间为6秒,这还不足以从PayPal接收数据、点击第三方API、生成结果并将其发送回PayPal。它实际上只适用于非常简单的航运服务。否则,它会超时,并默认为与SetExpressCheckout一起发送的配送选项

希望这有用