【发布时间】:2017-08-23 07:01:35
【问题描述】:
我收到了这条消息
TIMESTAMP=2017-03-29T16:36:41Z&CORRELATIONID=9d5672f086c52&ACK=失败&VERSION=204&BUILD=31674279&L_ERRORCODE0=10002&L_SHORTMESSAGE0=安全错误&L_LONGMESSAGE0=安全标头无效&L_SEVERITYCODE0=错误
我确定我使用了正确的凭据,我已经从沙盒帐户、View API Signature 页面复制了它们。
我正在尝试使用 URL https://api-3t.sandbox.paypal.com/nvp 连接到沙盒环境。
这是我的有效载荷的样子:
METHOD=MassPay&
USR=usr_api1.name.com&
PWD=9M8SWRPX6JMXDHAP&
SIGNATURE=AFcWxV21C7fd0v3bYYYRCpSSRl31AIajEwSIe41AAl--j033rVmjUPI7&
VERSION=204&
RECEIVERTYPE=EmailAddress&
CURRENCYCODE=USD&
L_EMAIL0=some.user%40company.com&
L_AMT0=25
我启用了 TLS1.2。除了不正确的凭据之外,是否有任何方法可以跟踪问题?或者也许我必须设置我的测试/开发帐户?顺便说一句,我的开发帐户不是 Business,但测试帐户是 Business 而不是 Client。
这是发出请求的代码:
var sb = new StringBuilder();
foreach (var field in dic)
{
sb.Append($"{field.Key}={HttpUtility.UrlEncode(field.Value)}&");
}
sb.Remove(sb.Length - 1, 1);
var payload = sb.ToString().Trim();
var req = WebRequest.Create(SandBoxHost + "?" + payload);
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12;
using (var resp = req.GetResponse()){}
【问题讨论】:
-
我知道你说你很确定,但在 15 年多的时间里,我一直在研究 PayPal API,我已经看到这个错误数千次,而且总是以某种方式无效凭据.仔细检查这些值,并确保您没有将沙箱凭据发送到实时端点,反之亦然。
-
@AndrewAngell 我看到了关于 PayPal 方面问题的同一个问题的答案。
标签: c# paypal paypal-sandbox