2016-01-22 15 views
5

Ich benutze das PayPalStandard-Plugin von NopCommerce. Als ich die Bestellung & machte Zahlung mit Paypalstandard Plugin nach erfolgreicher Zahlung auf Paypal, es umleitet Händler Website. Zu dieser Zeit gibt es Fehler:Die Anfrage wurde abgebrochen: SSL/TLS konnte nicht erstellt werden. Channel.System.Net.WebException

The request was aborted: Could not create SSL/TLS secure channel.

Auch ich benutze Sandbox-Konto von Paypal zum Testen.

Es wirft Fehler aus dieser Zeile:

var sw = new StreamWriter(req.GetRequestStream() 

Hier Code unten:

var req = (HttpWebRequest)WebRequest.Create(GetPaypalUrl()); 
     req.Method = "POST"; 
     req.ContentType = "application/x-www-form-urlencoded"; 
     req.ProtocolVersion = HttpVersion.Version10; 

     string formContent = string.Format("cmd=_notify-synch&at={0}&tx={1}", _paypalStandardPaymentSettings.PdtToken, tx); 
     req.ContentLength = formContent.Length; 

     using (var sw = new StreamWriter(req.GetRequestStream(), Encoding.ASCII)) 
      sw.Write(formContent); 
+0

Ich begann zu sehen, dass dies vor einem Tag oder so passiert. Vielleicht ein Problem mit dem Zertifikat von https://www.sandbox.paypal.com/? – bustrofedon

+0

vor 9-10 Monaten wirft es keinen Fehler mit Sandbox. Ist es eine Sandbox? – chitra

+0

Auch dieser Code funktioniert mit Paypal Account erfolgreich. Es passiert nur mit dem Sandbox-Konto. Also ist es Problem von Sandbox-Konto? – chitra

Antwort

13

hatte ich das gleiche Problem auf Sandbox-Anschluss (NVP), alles in Ordnung war gestern dann die Meldung " Die Anfrage wurde abgebrochen: Der sichere SSL/TLS-Kanal konnte nicht erstellt werden. " erschienen.

Ich glaube, dass PayPal ihre Endpunkte am 19./20 Januar 2016 aktualisiert hat, um TSL 1.2 und HTTP 1.1 zu verwenden.

Um dies zu beheben, fügen Sie für .NET 4.5 und höher die folgende Codezeile hinzu, bevor Sie WebRequest.Create() aufrufen.

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; 
+0

Vielen Dank @nqynik. Das hat mein Problem gelöst. – chitra

+0

Ihre Begrüßung @chitra, bitte vergessen Sie nicht, meine Antwort als akzeptiert zu markieren. – nqynik

+1

Diese Antwort hilft mir auch. Eine Sache, die Sie in Ihrer Antwort hinzufügen sollten: 'SecurityProtocolType.Tls12' ist nur in .NET 4.5 oder höher verfügbar. Wenn das Zielframework also .NET 4.0 ist, müssen Sie das Zielframework ändern. – ekad

0

Die Antwort, die für uns gearbeitet wurde auf dem PayPal-Blog-Eintrag aufgelistet, Upcoming Security Changes Notice. Es gibt eine Reihe von Dingen, die in der Post aufgelistet sind, aber die einzige Sache, die wir getan haben, und das hat funktioniert, war PayPal SDK Updates. Wir haben NuGet aktualisiert und alles hat wieder funktioniert.

Verwandte Themen