我目前正在使用Braintree API尝试使用其网关功能将用户数据库作为客户上传到他们的服务器。现在我可以通过我们的C#代码创建一个客户。
但是当我们第二次调试请求时,当我们进入循环的下一个阶段时,我会在此行上获得未处理的Web异常:
Result<Customer> result = gateway.Customer.Create(request);
Braintree-2.59.0.dll中发生了未处理的“System.Net.WebException”类型异常 附加信息:请求已中止:无法创建SSL / TLS安全通道。
我已经更改了代码,以便我们每次在foreach循环中设置网关连接,但仍然会出错。我们推测我们可能需要拆除连接并重新初始化,但我找不到任何关于此的文档。
有什么想法吗?
编辑:这是一个重现错误的测试用例,您需要拥有一个沙盒帐户,并使用您自己的MerchantId,PublicKey和PrivateKey进行测试。我已经测试过创建具有相同公司名称并且工作正常的客户,Braintree仍然会为我创建一个具有唯一ID的新帐户,因此这不是问题。
using Braintree;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Configuration;
namespace BraintreeFailExample
{
class Program
{
static void Main(string[] args)
{
string companyName = "Test Company";
for (int i = 0; i < 3; i++)
{
// Initialization information (Replace with AppConfig settings)
var gateway = new BraintreeGateway
{
Environment = Braintree.Environment.SANDBOX,
MerchantId = "Insert Sandbox MerchantId here",
PublicKey = "Insert Sandbox PublicKey here",
PrivateKey = "Insert Sandbox PrivateKey here"
};
// setup data for a customer request object
var request = new CustomerRequest
{
Company = companyName
};
// send the request to the Braintree gateway
// Braintree doesn't care about duplicate company requests for new customer
Result<Customer> result = gateway.Customer.Create(request);
}
}
}
}
答案 0 :(得分:0)
我能够解决这个问题。事实证明,我们遇到的防火墙问题阻碍了我们在第一次接收后收到进一步的回复。