2011-03-16 43 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的凭证会被粘上去,你必须重新开始。