2010-03-10 64 views
2

我在我的PHP腳本(curl + SOAP)中使用Sandbox模式中的PayPal express。 我有一個簡單的購買表單,帶有1個「購買」按鈕。 當它被點擊 我發送初始SetExpressCheckout請求並獲得來自PayPal 與ACC =成功和新的令牌PayPal Express在沙箱模式下返回4011錯誤消息

<Ack xmlns="urn:ebay:apis:eBLBaseComponents">Success</Ack> 
<Token xsi:type="ebl:ExpressCheckoutTokenType">EC-4GV76670YM092205U</Token></SetExpressCheckoutResponse> 

下一個我試圖腳本重定向到貝寶這一新的令牌全成響應:

header("Location: https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=".$result[Token]."&address_override=1"); 

但結果貝寶顯示與錯誤信息的頁面:

很抱歉,我們正在經歷暫時的困難。請稍後再試。如果在進行付款時發生此錯誤,請在重新付款前檢查您的帳戶概覽以避免重複付款。 消息4011

什麼可以導致此錯誤?我正在使用一個普通的美國/美元沙盒帳戶,唯一可能看起來可疑的是,在PayPal響應xml用戶名和密碼字段爲空。

回答

7

此錯誤是由於使用SandBox憑據而重定向到非沙盒URL時造成的。它應該是 header("Location: https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=".$result[Token]."&address_override=1");