2012-09-13 124 views
1

當用戶改變他們的PayPal上的地址即時更新回調API,貝寶,使一個AJAX調用服務器新的運費。我們的服務器從PayPal獲取請求。我有這個工作。 我的兩難困境是'我該如何'和'我在哪裏'將新的運費返還給PayPal?該API沒有說如何將其發回。在POST?在GET?在渲染? 我已經嘗試了渲染:文本,把它在一個字符串 「METHOD = CallbackResponseOFFERINSURANCEOPTION = falseL_SHIPPINGOPTIONNAME0 = UPS AirL_SHIPPINGOPTIONLABEL0 = UPS次日空運FreightL_SHIPPINGOPTIONAMOUNT0 = 20.00 & L_TAXAMT0 = 2.20 & L_INSURANCEAMOUNT0 = 1.51L_SHIPPINGOPTIONISDEFAULT0 =真正的」 我試圖渲染一個xml.builder。 我正在使用Active Merchant Gem,它沒有運輸費率回調的方法。 當我嘗試創建類似的方法發送到沙盒PayPal URL時,令牌和CorrelationID發生更改。紅寶石 - 貝寶更新運費

回答

0

使用你作爲一個Web服務回調API,所以你只需要確保你的腳本輸出,就像你顯示的示例的NVP響應。

你可以讓你的航運承運人的API,等來電,爲此你會做出POST調用,但隨後一旦你編譯的數據,你會簡單地生成的NVP串和回聲它的屏幕。

你想要什麼,但那個NVP字符串輸出,當你運行該腳本,就像NVP Web服務工作,並張貼到它的請求時,您會收到回什麼。你只是在另一端,所以你正在產生NVP響應。

我會說,雖然,在我的經驗回調系統並不十分可靠。您可以將其設置爲的最長時間爲6秒,並且這還不足以從PayPal接收數據,遇到第三方API,生成結果並將其發送回PayPal。它確實只適用於非常簡單的航運服務。否則,它會停止超時,並默認使用SetExpressCheckout發送的運輸選項。

希望這是有用的。