Prestashop, Redsys y SSL, malos compañeros de viaje
Si tienes un Prestashop con Redsys y, recientemente tal y como aconseja Google, has realizado la migración a SSL, verás que misteriosamente han dejado de llegarte los avisos de compra de tus usuarios. No te asustes (o sí, hazlo) porque no eres el primero al que le pasa.
Resulta que, pese que la migración migración a SSL se ha convertido en una de las grandes prioridades SEO de la actualidad y una evolución más en el entorno de Internet, la pasarela de pago más utilizada en nuestro país no está evolucionando a la misma velocidad. O, por lo menos, no está siendo capaz de dar solución a un problema que tiene que ver directamente con la combinación entre un CMS de Prestashop, un SSL (especialmente los gratuitos) y Redsys.
Cuando juntamos estos tres componentes, la mayoría de usuarios comienzan a percibir un error que resulta muy grave para cualquier tienda online, como es la falta de información sobre los pedidos que los usuarios realizan en sus webs. En la mayoría de los casos, el principal problema es que los webmasters dejan de recibir emails sobre las compras realizadas. Aunque en algunos casos también, ya no es solo el email, sino que el propio prestashop no registra las compras. De modo que, el vendedor, observa atónito cómo llega dinero a su cuenta bancaria sin saber quién le ha comprado ni qué le ha comprado.
A continuación, os explicamos un caso real sucedido con uno de nuestros clientes y las posibles soluciones.
Caso real de un cliente de Seo in House
Como parte de la estrategia SEO en la tienda online de uno de nuestros clientes, plantemos la realización de una migración de la web a https. Tras activar un SSL gratuito (Let’s Encrypt), realizar las redirecciones pertinentes, modificar todos los archivos internos a https, configurar Analytics en https y crear una nueva cuenta de Search Console, dimos la tarea como completada. Nos las prometíamos muy felices…
Al día siguiente de la migración, el cliente nos comentó que algo raro estaba ocurriendo con su web. La pasarela de Paypal que tenía estaba funcionando correctamente pero, en su cuenta del banco había más dinero que las compras registradas por esta pasarela. Y es que, resulta que las compras a través de Redsys se estaban ejecutando de manera correcta pero, ni en Prestashop ni en su email había confirmación ninguna. Es decir, la pasarela de pago funcionaba y cobraba, pero las compras no se estaban registrando en ninguna parte.
Ante esta problemática y tras leer mucho por ahí y hablar directamente con Redsys, conseguimos sacar la siguiente conclusión:
Redsys no funciona correctamente con Prestashop si configuras un SSL (especialmente los gratuitos) en un servidor compartido.
Redsys nos envió información sobre ciertos certificados que sí que aceptaba y que os adjuntamos aquí, pero siempre con IP dedicada.
Ante esta situación, solo podíamos plantearnos las siguientes soluciones:
- Volver a http y olvidarnos del SSL. Solución que no tenía sentido, antes o después tendríamos que volver al SSL.
- Olvidarnos de Redsys y utilizar otras pasarelas de pago, opción que no beneficiaba al cliente en términos de comisiones por uso de TPV.
- Contratar un servidor dedicado. Esta era de las tres posibles soluciones la más sencilla, pero nuevamente repercutía en unos costes para el cliente totalmente innecesarios, dado que el proyecto no requería de un servidor dedicado excepto para conseguir que Redsys funcionara de manera correcta.
Solución final al problema surgido con Redsys
Finalmente surgió una cuarta opción que fue la que solucionó el problema y que, económicamente, supuso un aumento de costes pero moderados. Tras hablas con nuestro proveedor de hosting, mantuvimos nuestro servicio de servidor compartido pero con una IP dedicada, de modo que podíamos eludir ese requerimiento por parte de Redsys. Por otro lado, tuvimos que dar de baja el SSL gratuito de Let’s Encryt y contratar uno de pago (Wilcard).
Para cualquier caso que os pueda surgir, sabed que realmente y pese al listado de los SSL que Redsys admite y que os adjuntábamos más arriba, el requisito principal es el de la IP dedicada. Por lo cual, para solucionar el problema, mejor probar primero si con una IP dedicada vuestro SSL es suficiente. Si no es así, hablad con vuestro proveedor de hosting para contratar uno mejor.
Un último apunte. Y es que, si cuentas con otro tipo de CMS como WordPress con woocommerce, magento, etc. no hemos detectado hasta la fecha este mismo problema. Estás a salvo… de momento.