[英]Paypal API Response: Security Header Not Valid
這是我正在構建並發送給Paypal的字符串。
string paypalMessage = "https://api-3t.sandbox.paypal.com/nvp?";
paypalMessage += "USER=" + USER;
paypalMessage += "&PWD=" + PWD;
paypalMessage += "&VERSION=" + VERSION;
paypalMessage += "&SIGNATURE=" + SIGNATURE;
paypalMessage += "&METHOD=" + METHOD;
paypalMessage += "&IPADDRESS=" + IPADDRESS;
paypalMessage += "&ACCT=" + ACCT;
paypalMessage += "&EXPDATE=" + EXPDATE;
paypalMessage += "&CVV2=" + CVV2;
paypalMessage += "&FIRSTNAME=" + FIRSTNAME;
paypalMessage += "&LASTNAME=" + LASTNAME;
paypalMessage += "&STREET=" + STREET;
paypalMessage += "&CITY=" + CITY;
paypalMessage += "&STATE=" + STATE;
paypalMessage += "&COUNTRYCODE=" + COUNTRYCODE;
paypalMessage += "&ZIP=" + ZIP;
paypalMessage += "&AMT=" + AMT;
return paypalMessage;
當我將其發送給貝寶時,這是我從貝寶得到的回復:
TIMESTAMP = 2014%2d05%2d06T19%3a55%3a28Z&CORRELATIONID = e06f3f16478d1&ACK = Failure&VERSION = 113%2e0&BUILD = 10762035&L_ERRORCODE0 = 10002&L_SHORTMESSAGE0 = Security%20error&L_LONGMESSAGE0 = Security%20head
此“安全標題無效”是什么意思? 我的Google搜索告訴我它是安全的,但是我知道USER和PWD都是正確的。 簽名是我登錄Paypal Developer網站后從帳戶中提取的東西。 錯了嗎
編輯:
在檢查答復的同時做一些研究,如果我正在使用Sandbox進行測試,是否意味着我需要使用從創建的Sandbox帳戶使用的USER / PWD / SIGNATURE,該帳戶已附加到我的實際Paypal開發者帳戶? 我要做的就是在沙盒和實時播放之間來回切換嗎?
每當您收到此消息時,都意味着使用了無效的API憑據。 確保您的API憑據中沒有添加的空格,並且已復制完整簽名。
另一個選擇是您的端點和憑據不匹配。
如果您使用沙盒憑據和活動終結點,則會收到此消息。 如果您將實時憑據用於沙箱端點,則同樣。
在帖子中,我具有指向PayPal開發人員文檔的鏈接。 它詳細介紹了上線過程。
這並不總是意味着無效的API憑證或錯誤的端點
如果您對此信息有絕對把握,請檢查發出請求的編碼-它應該是不帶字節序標記(BOM)的UTF-8,例如
var requestEncoding = new UTF8Encoding(false); // UTF-8 without BOM
using (var streamWriter = new StreamWriter(request.GetRequestStream(), requestEncoding))
{
streamWriter.Write(requestBody);
}
這不是默認值,經過一個小時的檢查,它對我有幫助
當然,請確保所有參數也都經過url編碼
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.