【问题标题】:Paypal Test API Link could not open secure channelPaypal 测试 API 链接无法打开安全通道
【发布时间】: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。

请告诉我收到此错误的所有可能原因。

感谢您的任何建议。

【问题讨论】:

    标签: asp.net paypal express-checkout


    【解决方案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

      【讨论】:

        猜你喜欢
        • 2019-04-20
        • 2013-04-28
        • 2021-12-16
        • 2016-07-04
        • 2015-12-06
        • 2018-12-19
        • 1970-01-01
        • 2012-07-05
        • 1970-01-01
        相关资源
        最近更新 更多