2016-01-22 41 views
5

Utilizzo il plug-in Standard PayPal di NopCommerce. Quando ho effettuato l'ordine & effettuare il pagamento con il plugin paypalstandard dopo il pagamento riuscito su paypal, reindirizza al sito dei commercianti. In quel momento dà errore:La richiesta è stata interrotta: Impossibile creare il canale sicuro SSL/TLS.System.Net.WebException

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

Anche io sto usando l'account Sandbox di Paypal per i test.

getta errore da questa linea:

var sw = new StreamWriter(req.GetRequestStream() 

Ecco codice qui sotto:

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

Ho iniziato a vedere questo accadendo un giorno fa circa. Forse un problema con il certificato di https://www.sandbox.paypal.com/? – bustrofedon

+0

9-10 mesi fa non genera alcun errore con sandbox. È un problema di sandbox? – chitra

+0

Anche questo codice funziona correttamente con l'account paypal. Succede solo con l'account sandbox. Quindi è un problema con l'account sandbox? – chitra

risposta

13

ho avuto lo stesso problema di collegamento alla sandbox (NVP), tutto è andato bene poi ieri il messaggio " La richiesta è stata interrotta: impossibile creare il canale sicuro SSL/TLS. " apparso.

Credo che PayPal abbia aggiornato i propri endpoint il 19/20 gennaio 2016 per utilizzare TSL 1.2 e HTTP 1.1.

Per risolvere questo problema, per .NET 4.5 e versioni successive aggiungere la seguente riga di codice prima di chiamare WebRequest.Create().

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; 
+0

Grazie mille @nqynik. Questo ha risolto il mio problema. – chitra

+0

Il tuo benvenuto @chitra, ti preghiamo di non dimenticare di contrassegnare la mia risposta come accettata. – nqynik

+1

Questa risposta aiuta anche me. Una cosa che dovresti aggiungere nella tua risposta: 'SecurityProtocolType.Tls12' è disponibile solo in .NET 4.5 o versioni successive, quindi se il framework di destinazione è .NET 4.0 dovrai modificare il framework di destinazione. – ekad

0

La risposta che ha funzionato per noi è stata quotata il post sul blog di PayPal, Upcoming Security Changes Notice. Ci sono un certo numero di cose elencate nel post, ma l'unica cosa che abbiamo fatto, e che ha funzionato, è stata Aggiornamenti dell'SDK PayPal. Abbiamo aggiornato con NuGet e tutto ha ripreso a funzionare.

Problemi correlati