Pedidos Redsys en PrestaShop no completados

1) Problemas de Velocidad


Prueba a hacer un test de velocidad de tu web desde la página de Gtmetrix.


Si tu web tarda más de 3 segundos en cargar desde Londres (o desde la ubicación más cercana a ti), posiblemente Redsys no esté enviando que el pedido se ha completado en tu web, porque esperan un máximo de 3 segundos.


Prueba a optimizar tu web de forma fácil con estas 2 opciones:


- Optimiza las imágenes de la cuenta. Para ello puedes usar nuestro optimizador de imágenes Image Optimizer que puedes encontrar en cPanel - Archivos.


- Instala y activa el módulo de cache LiteSpeed Caché para PrestaShop. Nuestros servidores son LiteSpeed y soportan este módulo que mejorará notablemente la carga de la tienda. Lo puedes descargar de aquí.


NOTA: El módulo oficial gratuito de Redsys suele dar muchos problemas, te recomendamos que uses algún módulo comercial de los muchos que hay, te darán menos problemas.



2) Si tienes CloudFlare habilitado en tu dominio


Si tienes CloudFlare habilitado en tu web, deberás realizar los siguientes cambios/excepciones:


1) Debes anular la opción Comprobación de integridad del navegador (Browser Integrity Check) en la opción:


"Seguridad" - "Configuración" de CloudFlare.




2) Además, debes añadir el ASN que corresponde a los rangos de IPs de Redsys a la lista blanca.


Para ello debes ir a Seguridad - WAF


Y añadir el ASN 31627 como seguro.




3) En Reglas - Reglas de página, deberás anular algunas características (rendimiento, caché, seguridad, etc) en la url del módulo que uses para Redsys.


La url que recibe el OK de Redsys debe estar totalmente aislada de la protección y rendimiento de CloudFlare.


Dependiendo el módulo de que uses, esta url puede variar:


a) Si usas el módulo de Redsys oficial, la url será:


/index.php?fc=module&module=redsysoficial&controller=validation


b) Si usas el módulo de Redsys de Idnovate, la url será:


/index.php?fc=module&module=redsys&controller=ipn


En este caso usamos un comodín a modo de asterisco (*):




4) En Reglas - Configuration Rules (BETA) deberás añadir otra excepción más del rango de IPS de Redsys (AS31627):


Estos 4 puntos serían los cambios que debes realizar en CloudFlare.


3) Problemas con el Certificado de Lets Encrypt a partir del 30-09-2021


Si en tu tienda ha dejado de funcionar los pagos con Redsys, tienes CloudFlare y el certificado de Let's Encrypt activo.


En este caso hay que eliminar el certificado de Let's Encrypt de cPanel y emitir el certificado a través de cPanel.


1) Para ello ve a cPanel - Seguridad - Let's Encrypt


Elimina los certificados que haya emitidos.


2) Ve a CloudFlare y pausa el sitio desde las opciones avanzadas (es una opción que hay abajo de la derecha en la pantalla principal).


3) Ve de nuevo a cPanel, a Seguridad y a SSL/TLS status y pincha en el botón "Run AutoSSL" hasta que los certificados sean emitidos (se deben de poner en verde):



4) Ve de nuevo a CloudFlare y habilita de nuevo el sitio.


Prueba ahora a ver si los pedidos con Redsys funcionan correctamente.



4) Si tienes el módulo de Redsys de Idnovate


Si tienes configurado el plugin de Redsys para PrestaShop de Idnovate (recomendado en lugar de usar el oficial de PrestaShop), asegúrate que tienes habilitado la opción "Compatibilidad SNI".




5) Si falla con el módulo de LiteSpeed Cache para PrestaShop instalado


Si tienes el módulo de LiteSpeed Cache de PrestaShop instalado y fallan los pedidos de Redsys, deberás añadir una excepción ESI (caché privada) del módulo de Redsys en la página de configuración de LiteSpeed:




Al activar el ESI para Redsys aparecerá de esta forma en las excepciones de LiteSpeed Cache:



Si sigues con el problema, lo mejor es que contactes con nosotros y envíes un ticket de Soporte para poder revisarlo.