1

当用户在 PayPal 上更改地址时,PayPal 会向您的服务器发出 AJAX 调用以获取新的运费。我们的服务器从 PayPal 获取请求。我有这个工作。我的困境是“我该怎么做”和“我在哪里”将新的运费发送回 PayPal?API 没有说明如何将其发回。在 POST 中?在 GET 中?在渲染中?我尝试了渲染:文本并将其以字符串“METHOD=CallbackResponseOFFERINSURANCEOPTION=falseL_SHIPPINGOPTIONNAME0=UPS AirL_SHIPPINGOPTIONLABEL0=UPS Next Day Air FreightL_SHIPPINGOPTIONAMOUNT0=20.00&L_TAXAMT0=2.20&L_INSURANCEAMOUNT0=1.51L_SHIPPINGOPTIONISDEFAULT0=true”的形式发送。我正在使用没有运费回调方法的 Active Merchant Gem。当我尝试创建一个类似的方法来发送到沙箱 PayPal URL 时,

4

1 回答 1

0

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

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

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

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

希望这有用。

于 2012-11-13T05:43:15.973 回答