使用 NVP 的 MassPay API 返回“安全标头无效”

Posted

技术标签:

【中文标题】使用 NVP 的 MassPay API 返回“安全标头无效”【英文标题】:MassPay API Using NVP returns "Security Header Is Not Valid" 【发布时间】:2015-07-17 08:30:01 【问题描述】:

我正在尝试按照https://developer.paypal.com/docs/classic/mass-pay/integration-guide/MassPayUsingAPI/#id101DEJ0100A 的说明向客户付款。 https://www.paypal.com/us/cgi-bin/webscr?cmd=_profile-api-signature# 告诉我 API 用户名、API 密码和签名。我将这些值直接粘贴到我的程序中,并将这些参数(以及其他参数)发布到 https://api-3t.paypal.com/nvp,然后我得到了这个响应:

时间戳= 2015%2d05%2d06t23%3a58%3a01z&correlationId = 6ef131f4a296&ack =失败&version = 2%2e3和build = 16566018&l_errorcode0 = security%20error&l_longmessage0 = security%20header%20is%20not%20valid&l_severitycode0 =错误

有什么技巧可以解决这里可能发生的问题吗?

提前致谢!

凯文

【问题讨论】:

【参考方案1】:

该错误意味着您使用的 API 凭据不准确。仔细检查值本身,并确保您没有遗漏任何字符或在值的末尾添加任何额外的空格。此外,请确保您没有将沙盒凭据发送到实时 PayPal 服务器,反之亦然。当人们遇到这种情况时,通常会发生这种情况。

【讨论】:

感谢您的快速回复。我已经四次检查了贝宝在paypal.com/us/cgi-bin/webscr?cmd=_profile-api-signature# 报告的内容,以确保 1,000% 确保我为实时环境输入了正确的 API 用户名、API 密码和 API 签名。我真的不认为是这样。是否有其他界面可以复制/粘贴这些凭据以尝试进一步解决此问题? 如果这些值确实是正确的,那么您必须将它们发送到错误的端点。此错误始终意味着凭据错误,因此它必须是这两件事之一。 您对我如何准确诊断这个问题有什么建议吗?它只有 4 个属性,我已经分享了我从哪里获得这些属性。 如果您想发布您的代码示例,我可以仔细查看,但我的猜测是您将凭据发送到沙箱端点而不是实时端点,即使您认为您将其发送到实时端点。这就是我要检查的。也许保存一个包含原始请求/响应和使用的端点的日志文件。

以上是关于使用 NVP 的 MassPay API 返回“安全标头无效”的主要内容,如果未能解决你的问题,请参考以下文章

Paypal NVP Masspay 响应中的唯一交易参考

1 个用户的 Paypal API MassPay

带有 USERID 的 Paypal MassPayItem 类型

大规模支付沙盒 (IPN) 响应

Paypal API (NVP) TransactionSearch 给出错误 10004 - 开始日期无效

适用于类似亚马逊网站的 Paypal Masspay API