2013-08-02 72 views
0

我的应用程序使用SetExpressCheckout paypal经典API方法。当我在现场环境中使用真实账户时,它工作正常。PayPal“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。

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

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

其中之一是我用来测试的测试卖家帐户。当我查看此帐户的详细信息时,用于验证PayPal API的用户名,密码和签名就在那里。如果我使用它们,它仍会返回以前的错误。

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

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

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

要长话短说: 1)用于工作 2)代码尚未修改用来工作和仍然工作 3)真实账户我的测试帐号。 4)但测试买家账户已停止工作 5)问题按时间顺序与PayPal“开发者网络”重组相一致。 6)我不知道究竟发生了什么变化,可能会导致这种情况。 7)有谁知道发生了什么变化,并且可能导致了这种情况(查询字符串中的新参数?端点URL已更改?)? 8)根据我以前的描述,我好像误解了一些东西,什么?

回答

0

I currently use " https://api-3t.paypal.com/nvp " for tests.

这就是你的问题。您正在使用测试凭据,但使用了实时API端点。
将您的端点更改为https://api-3t.sandbox.paypal.com/nvp并且所有应该都可以。

+0

没错。有一个“if”条件检查一个变量。如果该变量为===为“1”,则将使用沙箱端点。否则,将使用实时端点。但是,另一位程序员将该变量的类型从字符串更改为整数。因此,代码将始终输入“else”分支。 – user2187

0

安全标头无效意味着您的凭证不正确。我从来没有见过这种错误,但事实并非如此。

您需要确保您使用沙盒凭证进行测试,确保您正确点击正确的终端并使用正确的凭证。

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

相关问题