2013-08-02 75 views
0

我的應用程序使用SetExpressCheckout paypal經典API方法。當我在現場環境中使用真實賬戶時,它工作正常。PayPal「SetExpressCheckout」API方法已停止使用沙盒賣家帳戶

它曾經使用測試帳戶正常工作,但幾個星期前它已停止正常工作。在某些時候,我的應用程序在PHP中使用curl調用「SetExpressCheckout」API方法。當我使用,我一直用我的測試的測試賣家賬戶,我總是得到以下錯誤:

SetExpressCheckout API call failed. 
Detailed Error Message: Security header is not valid 
Short Error Message: Security error 
Error Code: 10002 
Error Severity Code: Error 

我知道,貝寶最近重組了「開發者網絡」,這個問題似乎是由此引起的,但我沒有證據。我使用的API現在稱爲「經典」API。

我讀過文檔,它說我現在必須創建一個新的「真實」paypal帳戶,然後用它登錄到https://developer.paypal.com。我做到了。

登錄到開發者網站後,有一項功能允許我們導入舊沙盒帳戶中使用的所有測試買方和賣方帳戶。我做到了,我的舊測試帳戶出現在列表中。

其中之一是我用來測試的測試賣家帳戶。當我查看此帳戶的詳細信息時,用於驗證PayPal API的用戶名,密碼和簽名就在那裏。如果我使用它們,它仍會返回以前的錯誤。

還有一個功能允許我創建測試帳戶。我創建了一個新的賣家,但仍然收到相同的錯誤消息。

當我在谷歌搜索這個問題時,大多數答案都說用戶名,密碼或簽名是錯誤的或者在它們中有隱藏的空格。那不是我的情況。

我不知道如何解決這個問題。我想知道API端點是否已經改變。我目前使用「https://api-3t.paypal.com/nvp」進行測試。我現在用的是NVP API,版本64

要長話短說: 1)用於工作 2)代碼尚未修改用來工作和仍然工作 3)真實賬戶我的測試帳號。 4)但測試買家賬戶已停止工作 5)問題按時間順序與PayPal「開發者網絡」重組相一致。 6)我不知道究竟發生了什麼變化,可能會導致這種情況。 7)有誰知道發生了什麼變化,並且可能導致了這種情況(查詢字符串中的新參數?端點URL已更改?)? 8)根據我以前的描述,我好像誤解了一些東西,什麼?

回答

0

I currently use " https://api-3t.paypal.com/nvp " for tests.

這就是你的問題。您正在使用測試憑據,但使用了實時API端點。
將您的端點更改爲https://api-3t.sandbox.paypal.com/nvp並且所有應該都可以。

+0

沒錯。有一個「if」條件檢查一個變量。如果該變量爲===爲「1」,則將使用沙箱端點。否則,將使用實時端點。但是,另一位程序員將該變量的類型從字符串更改爲整數。因此,代碼將始終輸入「else」分支。 – user2187

0

安全標頭無效意味着您的憑證不正確。我從來沒有見過這種錯誤,但事實並非如此。

您需要確保您使用沙盒憑證進行測試,確保您正確點擊正確的終端並使用正確的憑證。

很多時候,人們不小心設置了沙盒憑證,但隨後將它們發送到實時端點,反之亦然。如果您擊中了正確的端點並且您的憑據確實正確,您將不會收到此錯誤。

相關問題