Paypal 测试 API 链接无法打开安全通道
Posted
技术标签:
【中文标题】Paypal 测试 API 链接无法打开安全通道【英文标题】:Paypal Test API Link could not open secure channel 【发布时间】:2016-05-01 06:22:16 【问题描述】:测试 API 链接在我的程序中不起作用。
请查看以下屏幕截图。
当我在浏览器地址栏中键入测试 API URL (https://api-3t.sandbox.paypal.com/nvp) 值时,它会返回 FAILURE 值和错误消息,但我知道为什么会发生我没有传递凭据值和其他必填字段的情况。
根据该逻辑,当我在没有凭据值的情况下调试程序中的链接(测试 API 链接)时,它会导致我出现此异常,而不是返回 FAILURE。
所以我尝试使用 Live API (https://api-3t.paypal.com/nvp) URL 来确保我的程序错误与否,但实时 API 链接给我 FAILURE 结果。
并且测试链接在前两天还在这个程序中工作。
我正在使用 .Net Framework 4.5。
请告诉我收到此错误的所有可能原因。
感谢您的任何建议。
【问题讨论】:
【参考方案1】:这是因为端点现在已更新为使用 TLS1.2,因此您应该在调用 NVPAPICaller 之前使用 SecurityProtocolType.Tls12。 即
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
NVPAPICaller PPCaller = new NVPAPICaller();
....
有关 TLS 更新的更多信息: https://www.paypal-knowledge.com/infocenter/index?page=content&id=FAQ1914&expand=true&locale=en_US
【讨论】:
【参考方案2】:PayPal 沙盒已移至 TLS 1.2 协议。 但是在添加“System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;”之后在您致电之前,这应该可以解决 TLS 1.2 问题。
【讨论】:
谢谢你,Martien,当我向贝宝报告时,他们的回复和你说的一样,现在它正在工作:)【参考方案3】:当我向 Paypal 报告与此处相同帖子的问题时,他们回复说 sanbox 已升级到 TLS1.2 和 HTTP 1.1。对于 asp.net 使用“System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12”,项目需要在 .Net Framework 4.5 上运行。如果它低于 4.5,我们不能调用 Tls12
参考链接在这里
https://www.paypal-knowledge.com/infocenter/index?page=content&widgetview=true&id=FAQ1914&viewlocale=en_US
【讨论】:
以上是关于Paypal 测试 API 链接无法打开安全通道的主要内容,如果未能解决你的问题,请参考以下文章
错误 Paypal 沙箱:请求被中止:无法创建 SSL/TLS 安全通道
无法在 API Explorer 中测试方法 - 安全标头无效 - 10002 错误