2011-03-16 44 views
4

我用貝寶集成嚮導創建我需要將貝寶整合到自定義購物車和在paypalfunctions.php頁面我添加了api憑證的文件。我加載了嚮導提供的expresscheckout.php文件,並得到這個錯誤貝寶快遞集成混淆和貝寶提供的文件不工作

SetExpressCheckout API call failed. Detailed Error Message: 
Security header is not validShort Error Message: Security 
errorError Code: 10002Error Severity Code: Error 

這是什麼意思?

這是我只加載的頁面。目前我還沒有將這些頁面附加到商業網站上,而只是測試貝寶給出的文件,以確定它在進行任何整合之前是否有效。

require_once ("paypalfunctions.php"); 
// ================================== 
// PayPal Express Checkout Module 
// ================================== 

//'------------------------------------ 
//' The paymentAmount is the total value of 
//' the shopping cart, that was set 
//' earlier in a session variable 
//' by the shopping cart page 
//'------------------------------------ 
$paymentAmount = "10.45"; 

//'------------------------------------ 
//' The currencyCodeType and paymentType 
//' are set to the selections made on the Integration Assistant 
//'------------------------------------ 
$currencyCodeType = "USD"; 
$paymentType = "Sale"; 

//'------------------------------------ 
//' The returnURL is the location where buyers return to when a 
//' payment has been succesfully authorized. 
//' 
//' This is set to the value entered on the Integration Assistant 
//'------------------------------------ 
$returnURL = "http://www.mysite.com/orderConfirm.php"; 

//'------------------------------------ 
//' The cancelURL is the location buyers are sent to when they hit the 
//' cancel button during authorization of payment during the PayPal flow 
//' 
//' This is set to the value entered on the Integration Assistant 
//'------------------------------------ 
$cancelURL = "http://www.mysite.com/cancelOrder.php"; 

//'------------------------------------ 
//' Calls the SetExpressCheckout API call 
//' 
//' The CallShortcutExpressCheckout function is defined in the file PayPalFunctions.php, 
//' it is included at the top of this file. 
//'------------------------------------------------- 
$resArray = CallShortcutExpressCheckout ($paymentAmount, $currencyCodeType, $paymentType, $returnURL, $cancelURL); 
$ack = strtoupper($resArray["ACK"]); 
if($ack=="SUCCESS" || $ack=="SUCCESSWITHWARNING") 
{ 
    RedirectToPayPal ($resArray["TOKEN"]); 
} 
else 
{ 
    //Display a user friendly Error on the page using any of the following error information returned by PayPal 
    $ErrorCode = urldecode($resArray["L_ERRORCODE0"]); 
    $ErrorShortMsg = urldecode($resArray["L_SHORTMESSAGE0"]); 
    $ErrorLongMsg = urldecode($resArray["L_LONGMESSAGE0"]); 
    $ErrorSeverityCode = urldecode($resArray["L_SEVERITYCODE0"]); 

    echo "SetExpressCheckout API call failed. "; 
    echo "Detailed Error Message: " . $ErrorLongMsg; 
    echo "Short Error Message: " . $ErrorShortMsg; 
    echo "Error Code: " . $ErrorCode; 
    echo "Error Severity Code: " . $ErrorSeverityCode; 
} 
+1

我想出了我不得不在沙盒中創建api憑據的問題。所以我有兩個API用於現場和一個用於測試站點。請注意,在將憑據寫入貝寶功能頁面時遇到問題的人員請刪除括號內的< and >。 – 2011-03-16 02:15:29

回答

5
Detailed Error Message: Security header is not valid 

這是什麼意思?

這意味着您的安全性頭文件無效。

39,000 Google結果對於您的specific error message都表明您使用的API用戶名和密碼對於您使用的特定端點是不正確的。無論您的憑據是沙箱,並且您現場使用它們,或者您的憑據都是實時的,並且您將它們用於沙箱。或者有一個錯字。

3

嘗試

paypalfunctions.php

$SandboxFlag = false; 
0

試過上述溶液中並沒有奏效。我的沙盒標誌已正確設置,所有我的憑據也是如此。

解決方案是刪除沙箱帳戶(可能會留下它們)並創建並使用新帳戶。像魅力一樣工作。有時候,Paypal的Sandbox的憑證會被粘上去,你必須重新開始。