Hi all,
I'm currently working on adding support for the payment gateway from hell and would like to see if anyone has any suggestions on how best to deal with the SSL issue I'm having.
New versions of Ruby and OpenSSL from the last 6 months or so default to TLS v1.2 requests, older versions of Ruby do not. Unfortunately, TLSv1.2 causes the remote server to barf with errors like:
ActiveMerchant::ConnectionError: The connection to the remote server timed out
The gateway in question is Transbank's Oneclick service in Chile. I've managed to get SOAP, WS-Security, and digital signatures working using Nokogiri (no small feat), but it seems they have absolutely no interest or motivation -at all- in improving or fixing their service to make things easier. Perhaps this is due to their total monopoly for all credit card transactions in Chile.
The local solution/hack therefore is to force the Net::HTTP connection to use TLSv1:
http.ssl_version = :TLSv1
The http object however is abstracted away in active_utils and I've not been able to find a way to access it to set the ssl version.
Does anyone have any recommendations on how best to force TLSv1?
Many thanks,
Sam