错误 100002(安全错误 - 安全标头无效)

Posted

技术标签:

【中文标题】错误 100002(安全错误 - 安全标头无效)【英文标题】:Error 100002 (Security Error - Security header is not valid) 【发布时间】:2016-07-15 04:03:01 【问题描述】:

我正在为 Rails 使用 paypal/merchant-sdk-ruby。对于沙盒环境,它使用https://api-3t.sandbox.paypal.com/2.0/ 作为端点。

发出简单的批量付款请求时出现以下错误:

[#<PayPal::SDK::Merchant::DataTypes::ErrorType:0x007f2ff0ae2280 @ShortMessage="Security error", @LongMessage="Security header is not valid", @ErrorCode="10002", @SeverityCode="Error">]

在验证我的 SOAP API 凭据正确后,我尝试切换到基于证书的凭据,但没有成功,撤销了证书凭据,重新颁发了基于签名的凭据,并在我的配置中更新了它们。我仍然遇到同样的错误。

这是我的开发环境配置。我已经验证了 ENV 变量是否正确传递。

# Mode can be 'live' or 'sandbox'
mode: sandbox

# Credentials for Classic APIs
app_id: ENV['api_cred_a']

username: ENV['api_cred_u']
password: ENV['api_cred_p']
signature: ENV['api_cred_s']
sandbox_email_address: ENV['api_cred_e']

同样,我使用了正确的端点,并且使用了我的 PayPal 业务资料中列出的相同用户名、密码和签名。我也在使用测试应用 ID。

【问题讨论】:

【参考方案1】:

我只是使用了 SDK 附带的默认测试用户名、密码和签名,我不再收到该错误。也许业务配置文件 API 凭据仅适用于实时环境。

来自pp_MSI_Jenn:

如果您在沙盒环境中,则必须使用沙盒帐户 API 签名凭证。如果你被指向现场环境 那么您就可以使用您的实时 PayPal 帐户 API 签名凭据。

【讨论】:

如果您在沙盒环境中,则必须使用沙盒帐户 API 签名凭据。如果您被指向实时环境,那么您可以使用您的实时 PayPal 帐户 API 签名凭据。 谢谢!我已将其添加到答案中,因为它回答了问题

以上是关于错误 100002(安全错误 - 安全标头无效)的主要内容,如果未能解决你的问题,请参考以下文章

Omnipay Paypal Express 结帐错误:安全标头无效

10002 在实时模式下调用 DoCapture 时,安全标头无效错误

PayPal“安全标头无效”错误。该怎么办?

paypal [错误:ACK 失败:安全标头无效]

安全标头无效 - 贝宝错误 - WHMCS

无法在 API Explorer 中测试方法 - 安全标头无效 - 10002 错误