迈出实施支付网关的第一步。
在win 8.1下,在IIS 8.5中托管的ASP.net代码中调用Braintree和Beantream支付网关,结果如下:
"底层连接已关闭:无法建立信任 SSL / TLS安全通道的关系"
请注意,从位于同一个框中的中间层调用相同的服务可以正常工作,因此证书安装正确。
以下是通过SDK调用Braintree服务的示例代码:
[System.Web.Services.WebMethod]
public static CheckinDetailResponse GetViewData()
{
CheckinDetailResponse response = new CheckinDetailResponse()
{
ClientToken = string.Empty,
IsSuccessful = false,
ErrorMessage = string.Empty
};
try
{
response.ClientToken = GetPaymentToken();
response.IsSuccessful = true;
}
catch (BaseDataServicesException ex)
{
response.ErrorMessage = ex.GetLocalizedMessage(Resources.WebCommon.ResourceManager);
}
return response;
}
private static string GetPaymentToken()
{
var gateway = new BraintreeGateway
{
Environment = Braintree.Environment.SANDBOX,
MerchantId = "999",
PublicKey = "999",
PrivateKey = "999"
};
var clientToken = gateway.ClientToken.generate(null);
return JsonDcSerialization.ToJsonString(clientToken); ;
}
是否需要在IIS中进行一些特殊设置才能从Web应用程序调用SSL服务?
谢谢!
答案 0 :(得分:0)
检查计算机上是否安装了SSL证书,是否确实在代码上传递了SSL证书,以及您使用的计算机是否配置为接受证书颁发者为可信任。
答案 1 :(得分:0)
如果这是从第三方证书颁发机构颁发的证书,您可能需要将签名者证书(也称为中间证书)与公钥一起传递(最终以pkcs#7格式)。如果您使用的是自签名证书,则可能需要将根导入mmc受信任的根证书颁发机构存储区。
我倾向于认为这是第一种情况,因为不信任的错误消息通常被称为缺乏信任链中的一块。
希望得到这个帮助。