paypal express checkout =>错误:安全标头无效

时间:2014-04-29 07:48:45

标签: express paypal out

错误:安全标头无效 阵列

(
    [TIMESTAMP] => 2014%2d04%2d29T07%3a24%3a29Z
    [CORRELATIONID] => 6af6749c848d6
    [ACK] => Failure
    [VERSION] => 109%2e0
    [BUILD] => 10800277
    [L_ERRORCODE0] => 10002
    [L_SHORTMESSAGE0] => Security%20error
    [L_LONGMESSAGE0] => Security%20header%20is%20not%20valid
    [L_SEVERITYCODE0] => Error
)

我一次又一次地收到此错误,无法继续前进。我已经检查了所有的api用户名,密码和签名,一切都是正确的,但主要的问题是,所有的东西都已存储在paypal沙盒帐户中,但它无法返回页面。我的意思是说横切显示在沙盒帐户中,但它不能发送到显示页面。我错了吗?

5 个答案:

答案 0 :(得分:66)

通常此错误表示您没有使用正确的API凭据。如果您确信您的凭据是正确的,那么请查看您的终端。沙盒凭据在生产环境中无效,而实时凭据将在沙箱中生成此错误

答案 1 :(得分:8)

我遇到了这个问题,因为我的登录信息包含“+”(加号)符号。最后,我手动将其解码为“%2B”,如此处所述http://www.zen-cart.com/showthread.php?80849-Plus-sign-%28-quot-quot-%29-in-user-name-causes-security-header-failure-in-Paypal-Express-Checkou,问题就消失了。

答案 2 :(得分:2)

它并不总是指无效的API凭据或错误的端点

如果您对此信息完全确定,请检查您提出请求的编码 - 它应为UTF-8 不带字节顺序标记(BOM),例如(在Visual中) C#.NET)

var requestEncoding = new UTF8Encoding(false); // UTF-8 without BOM

using (var streamWriter = new StreamWriter(request.GetRequestStream(), requestEncoding))
{
    streamWriter.Write(requestBody);
}

这是一个默认值,经过一个小时的检查后,它帮助了我

当然,请确保所有参数都是URL编码的

答案 3 :(得分:1)

API_USERNAME API_PASSWORD API_SIGNATURE PAYPAL_URL

除了他们之外也改变了这一点:

** (来自Sandbox> Live)**

答案 4 :(得分:1)

凭据错误请确保您已正确放置API用户名,API密码和API签名。有时会发生复制和粘贴过程中意外添加空间,这会触发此错误。在SDK或第三方购物车的管理面板中双击此设置。

错误的端点如果将数据发送到错误的端点,则会出现此错误。确保将实时凭据和数据发送到我们的实时端点。如果要测试商店,请确保使用我们的测试端点和沙盒测试帐户中的凭据。如果您使用的是第三方购物车,请确保您的商店在测试或实时模式下运行,以确定您使用的是哪种凭据。 FOR LIVE

https://api-3t.paypal.com/nvp?&user=xxxxxxxxxx&pwd=xxxxxxxxxx&signature=xxxxxxxxxx&version=70.0&METHOD=SetExpressCheckout&RETURNURL=http://www.paypal.com/test.php&CANCELURL=http://www.paypal.com/test.php&PAYMENTACTION=Sale&AMT=50&CURRENCYCODE=USD

FOR SANDBOX

https://api-3t.sandbox.paypal.com/nvp?&user=xxxxxxxxxx&pwd=xxxxxxxxxx&signature=xxxxxxxxxx&version=70.0&METHOD=SetExpressCheckout&RETURNURL=http://www.paypal.com/test.php&CANCELURL=http://www.paypal.com/test.php&PAYMENTACTION=Sale&AMT=50&CURRENCYCODE=USD

对于reffrence link