Authorize.net : 底层连接已关闭

Posted

技术标签:

【中文标题】Authorize.net : 底层连接已关闭【英文标题】:Authorize.net : The underlying connection was closed 【发布时间】:2017-09-29 14:40:42 【问题描述】:

我正在使用 Authorize.Net 进行付款处理的项目。

它工作正常,但今天我在调用任何 API 函数时不断收到错误“底层连接已关闭:发送时发生意外错误。”。这个问题属于authorize.net方面吗?

我正在使用沙盒帐户进行测试模式。

【问题讨论】:

Authorize 从 2018 年 2 月 28 日开始在其生产系统中禁用对 TLS 1.0 的支持。authorize.net/blog/TLSDisablement 【参考方案1】:

在代码的最开始添加这一行

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

【讨论】:

您需要使用 .NET 4.5 或更高版本才能使用此功能。【参考方案2】:

开发者沙箱no longer accepts connections using TLS 1.0 or 1.1。相反,您需要将系统配置为使用 TLS 1.2。

【讨论】:

【参考方案3】:

开发者沙盒不再接受使用 TLS 1.0 或 1.1 的连接。相反,您需要将系统配置为使用 TLS 1.2。

要做到这一点,只需添加这一行 System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12

在这一行之前 ApiOperationBase(Of ANetApiRequest, ANetApiResponse).RunEnvironment = AuthorizeNet.Environment.SANDBOX

适用于 Visual Basic .Net 程序员

【讨论】:

【参考方案4】:

似乎只是沙盒环境的问题。我们遇到了同样的问题。指向具有测试模式的帐户的生产,并发现那里没有问题。 ApiOperationBase.RunEnvironment = AuthorizeNet.Environment.PRODUCTION;

用 authorize.net 开票,但目前没有回应;会及时通知你

【讨论】:

以上是关于Authorize.net : 底层连接已关闭的主要内容,如果未能解决你的问题,请参考以下文章

调用 SOAP 时,“底层连接已关闭:预期保持活动状态的连接已被服务器关闭”

如何在向某些站点发出 HttpWebRequest 时修复“底层连接已关闭:连接已意外关闭”

RestSharp:底层连接已关闭:服务器关闭了预期保持活动状态的连接

Authorize.net 支付集成[关闭]

底层连接已关闭:接收时发生意外错误

WebException:底层连接已关闭