错误 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 结帐错误:安全标头无效