Really like to work with Tea Commerce, but I'm not able to solve the issue with "Capture Payment" button with ePay payment system.
Payment works fine, only "Capturing" doesn't work, we see only reload of the page after pressing the button and entry in Umbraco log:
Exception: System.ServiceModel.CommunicationException: An error occurred while making the HTTP request to https://ssl.ditonlinebetalingssystem.dk/remote/payment.asmx. This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case. This could also be caused by a mismatch of the security binding between the client and the server. ---> System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException: Authentication failed because the remote party has closed the transport stream.
at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
at System.Net.TlsStream.CallProcessAuthentication(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)
at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.ConnectStream.WriteHeaders(Boolean async)
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.GetResponse()
at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
--- End of inner exception stack trace ---
This functionality definitely worked a few months ago, so upgrading isn't a solution I think, can it be some settings in ePay that changed? Or hosting provider?
If you are on .Net 4.0 ~ 4.5 adding ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; in your Application Start event, should fix the issue.
Capture payment button doesn't work
Hello Tea Commerce
Really like to work with Tea Commerce, but I'm not able to solve the issue with "Capture Payment" button with ePay payment system. Payment works fine, only "Capturing" doesn't work, we see only reload of the page after pressing the button and entry in Umbraco log:
Our installation - Umbraco version: 7.2.4, Teacommerce version: 2.3.2
Thanks,
Alex
This functionality definitely worked a few months ago, so upgrading isn't a solution I think, can it be some settings in ePay that changed? Or hosting provider?
Hi,
This is most likely caused by all payment providers disabling TLS 1.0 - and only using TLS 1.1+.
Have a read here : https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls
If you are on .Net 4.0 ~ 4.5 adding
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
in your Application Start event, should fix the issue.Hi Søren
It looks like the solution :) Thanks
Alex
Hi Alex,
Sorry for hijacking the thread but I'm in the same situation as you were. How did you add the above code to Umbraco?
// Mike
is working on a reply...