繁体   English   中英

安全标头无效错误消息

[英]Security header is not valid error message

我收到此消息

TIMESTAMP = 2017-03-29T16:36:41Z&CORRELATIONID = 9d5672f086c52&ACK = Failure&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。 除了不正确的凭据,是否有任何方法可以跟踪问题? 或者也许我必须设置我的测试/开发帐户? 顺便说一句,我的开发帐户不是企业帐户,而测试帐户是企业帐户,而不是客户帐户。

这是发出请求的代码:

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()){}

凭据和URL是正确的。 但是,我发现,如果您的沙盒公司帐户未通过信用卡验证,则无法通过txt文件发送批量付款。 创建新的沙箱用户时,需要指定此时刻。 猜猜如果您不指定信用卡,它也不能与API一起使用。

真正的问题出在一个字段名称中。 我用USR代替USER

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM