0

我的应用程序使用 SetExpressCheckout 贝宝经典 API 方法。当我在真实环境中使用真实账户时,它运行良好。

它曾经使用测试帐户可以正常工作,但几周前它已经停止正常工作。在某些时候,我的应用程序使用 PHP 中的 curl 调用“SetExpressCheckout”API 方法。当我使用我一直用于测试的测试卖家帐户时,我总是收到以下错误:

SetExpressCheckout API call failed.
Detailed Error Message: Security header is not valid
Short Error Message: Security error
Error Code: 10002
Error Severity Code: Error

我知道贝宝最近重组了它的“开发者网络”,这个问题似乎是由这个引起的,但我没有证据。我使用的 API 现在称为“经典”API。

我已经阅读了文档,它说我现在必须创建一个新的“真实”贝宝帐户,然后使用它登录到https://developer.paypal.com。我这样做了。

登录到开发者网站后,有一项功能允许我们导入旧沙盒帐户中使用的所有测试买家和卖家帐户。我这样做了,我的旧测试帐户出现在列表中。

其中之一是我用来测试的测试卖家账户。当我检查该帐户的详细信息时,用于向 paypal API 进行身份验证的用户名、密码和签名都在那里。如果我使用它们,它仍然会返回以前的错误。

还有一个功能允许我创建测试帐户。我创建了一个新卖家,但仍然收到相同的错误消息。

当我在谷歌上搜索这个问题时,大多数答案都说用户名、密码或签名是错误的,或者其中有隐藏的空格。那不是我的情况。

我不知道如何解决这个问题。我想知道 API 端点是否已更改。我目前使用“ https://api-3t.paypal.com/nvp ”进行测试。我正在使用 NVP API,版本 64。

简而言之:1)我的测试帐户曾经可以工作 2)代码没有被修改 3)真实帐户曾经工作并且仍然可以工作。4) 但测试买家账户已停止工作 5) 该问题按时间顺序与贝宝“开发者网络”重组相吻合。6)我不知道到底发生了什么变化,可能会导致这种情况。7) 有谁知道发生了什么变化并可能导致这种情况(查询字符串中的新参数?端点 URL 已更改?)?8)根据我之前的描述,我似乎误解了什么,什么?

4

2 回答 2

0

我目前使用“ https://api-3t.paypal.com/nvp ”进行测试。

那是你的问题。您使用的是测试凭据,但使用的是实时 API 端点。
将您的端点更改为https://api-3t.sandbox.paypal.com/nvp,一切都应该没问题。

于 2013-08-03T15:55:11.037 回答
0

安全标头无效意味着您的凭据不正确。我从来没有见过这种情况不是这样的错误。

如果您使用沙盒凭据进行测试,您需要确保您访问了正确的端点并使用了正确的凭据。

很多时候,人们不小心设置了沙盒凭据,然后将它们发送到实时端点,反之亦然。如果您点击了正确的端点并且您的凭据确实正确,您将不会收到此错误。

于 2013-08-03T05:06:49.263 回答