setExpressCheckout and SSL/TLS error

前端 未结 4 1701
暗喜
暗喜 2021-02-14 02:35

I\'m trying to develop a simple application that will enable users to purchase services off a website through the Paypal API. This application is running on ASP.NET with C#.

4条回答
  •  鱼传尺愫
    2021-02-14 03:13

    I've been working with a PayPal (NVP/Signature) Express Checkout integration and have been hit with this SSL/TLS error.

    Nothing I did seemed to get around it but then I found the following code to add above my request. For reference, I'm using MVC3/.NET 4 so Tls1.2 isn't available to me by default (like in .NET 4.5 +). This first three lines of this code gets around that. I hope it helps people!

    ServicePointManager.Expect100Continue = true;
    ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
    ServicePointManager.DefaultConnectionLimit = 9999;
    
    var url = "https://[paypal-api-url]/nvp";
    var uri = new Uri(url);
    var request = WebRequest.Create(uri);
    var encoding = new UTF8Encoding();
    var requestData = encoding.GetBytes(data);
    
    request.ContentType = "application/x-www-form-urlencoded";
    request.Method = "POST";
    request.Timeout = (300 * 1000); 
    request.ContentLength = requestData.Length;
    
    using (var stream = request.GetRequestStream())
    {
        stream.Write(requestData, 0, requestData.Length);
    }
    
    var response = request.GetResponse();
    ...
    

提交回复
热议问题