Si vous rencontrez cette erreur :
The underlying connection was closed: An unexpected error occurred on a receive.
en essayant de faire un paiement PayPal avec ce code :
WebRequest request = WebRequest.Create(« https://api-3t.paypal.com/nvp »);
request.Method = « POST »;
request.ContentType = « application/x-www-form-urlencoded »;
request.ContentLength = postData.ToString().Length;
var sw = new StreamWriter(request.GetRequestStream());
sw.Write(postData.ToString());
sw.Close();
WebResponse response = request.GetResponse();
(pour le code complet d’un paiement PayPal en asp.net voir cet article : http://ghislainmesse.blogspot.fr/2016/07/integrer-le-paiement-paypal-dans-un.html)
C’est que votre serveur ne prend pas en compte TLS 1.2.
Soit vous installez asp.net 4.5 ou supérieur, soit vous ajoutez cette ligne en début de code :
protected void Page_Load(object sender, EventArgs e)
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
….
}
P.S. : ne pas oublier d’ajouter cette clause dans l’entête du code : using System.Net;