我正在使用Xamarin Android。我正在实现条纹以进行支付,但是当我按下Stripe API时,捕获了以下异常
Stripe不再支持使用TLS 1.0发出的API请求。请使用TLS 1.2或更高版本启动HTTPS连接。
如何消除错误?
附言相同的代码在Xamarin IOS中绝对可以正常工作。
这是我的代码:
async Task<StripeCustomer> GetCustomer(string cId)
{
AppLog.WriteLogD(TAG, "Getting Customer...");
var customerService = new StripeCustomerService();
StripeCustomer stripeCustomer = null;
try
{
Task<StripeCustomer> getCustomerTask = customerService.GetAsync(cId);
stripeCustomer = await getCustomerTask;
//Console.WriteLine(stripeCustomer.StripeResponse.ResponseJson);
AppLog.WriteLogD(TAG, "Customer: " + stripeCustomer.Description, "(" + stripeCustomer.Email + ")");
}
catch (StripeException e)
{
AppLog.WriteLogD(TAG, "Error Type:" + e.StripeError.ErrorType);
AppLog.WriteLogD(TAG, "Message:: " + e.StripeError.Message);
}
return stripeCustomer;
}
最佳答案
根据Android文档,TLS 1.2 is supported by API Level 16 or higher
要激活它,您应该:
将最低Android版本设置为API级别16
在项目设置-> Android参数-> SSL / TLS实现中将SSL / TLS实现设置为1.2