我正在使用 paypal / merchant-sdk-ruby 来支持Rails。对于沙箱环境,它使用https://api-3t.sandbox.paypal.com/2.0/作为端点。
发出简单的Mass Pay请求时出现以下错误:
[#<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。
答案 0 :(得分:1)
我刚刚使用了SDK附带的默认测试用户名,密码和签名,我不再收到该错误。业务概要API信誉可能仅适用于实时环境。
来自pp_MSI_Jenn:
如果您在沙盒环境中,则必须使用沙盒帐户 API签名凭据。如果你指向现场环境 然后您可以使用您的Live PayPal帐户API签名凭证。