A+ A A-

Problemas con Redsys y Cloudflare (y como solucionarlos!)

Resolver el problema de pedidos en espera de pago en prestashop cuando tienes cloudflare y redsys

Si tienes una tienda online de medio o alto rendimiento (+15 ventas día / +1500 visitas diarias) probablemente el conseguir que sea rápida y eficiente en la carga, sea una de tus mayores pesadillas. Y lo entiendo... dá igual lo bueno que sea tu producto, lo afinado que esté el código o lo buena que sea la usabilidad... que si la página tarda más de 5 segundos en cargar, el cliente se vá "a la pestaña de al lado en el navegador". Es triste... pero es la cruda realidad.

 Así que seguramente ya has oido hablar de cachés, minificaciones de archivos css y js, http2... y CloudFlare. Por si no lo conocías aún, CloudFlare es un servicio freemium de distribución y cacheado de contenidos. En la práctica... es un lugar que almacena tus páginas, imágenes, archivos... y se los entrega a tus clientes en cualquier lugar del mundo, con la menor espera posible, descargando tu servidor y tu base de datos, reduciendo el uso que se hace de tu consumo de ancho de banda y permitiendo tiempos de carga fulgurantes... totalmente gratis (también te protege en caso de estar siendo atacado). Yeah, it's true. 100% real no fake. Aunque cueste creerlo!

Mira aquí las estadísticas habituales de un panel de control estándar en el perfil de CloudFlare:

byMDI blog prestashop panel datos cloudflare

Si, tiene escalones de servicio, claro. Y el más sencillo, el gratuito... es apenas un proxy caché; eficaz y terriblemente fácil de usar, pero nada más. Y aún así, en algunos casos he visto reducciones del tiempo de carga a menos de la mitad, incluso en ecommerces ya muy afinaditos.

Implementarlo es bien fácil: basta apenas con abrirse una cuenta de cliente, dar de alta un dominio y el sistema hará el resto, descubriendo los DNS que ya estás usando y proponiéndote usar su proxy para las peticiones web que se realicen a esos DNS. Puedes también usarlo para email... pero al ser un servicio que apenas usa ancho de banda, yo no suelo implementarlo (aunque es tan fácil como hacer click en una de las opciones!).

Sin embargo... no todo es siempre de color de rosa; y si lo implementas, verás que los servicios de pago online con TPV virtual bancario (en España, Redsys o Ceca) dejan de funcionar. Bueno, no exactamente.. pero notarás que el pedido se realiza, el cliente es llevado a la pasarela de pago del banco, efectúa el pago del importe... pero el pedido queda registrado como "Pendiente de Pago".

Y esto es así porque la respuesta (callback) que dá Redsys no llega a nuestro servidor porque se queda en el camino dado que CloudFlare no la deja pasar. Es lógico y una medida óptima de seguridad... pero a nosotros nos hace la puñeta. Así que hay que hacer algunos ajustes en el panel de control de CF para que la comunicación del banco pase por su proxy hacia nuestro sistema.

En la mayoría de los casos, con desmarcar "Browser Integrity Check" en la sección de firewall, bastará. Eso permite pasar los callbacks y que nuestra tienda Prestashop pueda cambiar el estado del pedido a "Pago Completado".

byMDI blog prestashop browser integrity check cloudflare

En otros casos, será necesario establecer reglas de firewall basadas en URI y ASN, para lo que necesitarás conocer el ASN (Autonomous System Number) del sitema bancario y la URI (path o Universal Resourde Identificator, parecido a las más conocidas URLs) a donde debería llegar esa notificación, en tu sistema. Esta fórmula es más concreta y directa, permitiendo solo el paso de las comunicaciones específicas del ASN del banco, y quizá sea lo que necesites si el remedio anterior no es suficiente para tu tienda ;)

 

+INFO:

¿Que es CloudFlare?: https://es.wikipedia.org/wiki/Cloudflare
Crear una regla de firewall en CloudFlare: https://bit.ly/3938tKd
Soporte técnico de CloudFlare: https://support.cloudflare.com/hc/es-es

 

A lo largo de estos años, y desde 1.999, he tenido la increíble suerte de trabajar y colaborar con los equipos de muchas de las mejores empresas de mi entorno, desarrollando sus proyectos de presencia corporativa en web, proyectos de comercio electrónico, portales turísticos o sesiones de formación. De todos ellos he obtenido conocimientos y vivencias impagables que acaban cristalizando en amistades personales, aunque sus empresas hayan desaparecido. Porque el único compromiso profesional válido es el compromiso personal.

Para Caixanova y Caixagalicia (ahora Abanca) realicé los proyectos de Novaxove, Play Novaxove, Atalaya del Emprendedor y Escuela de NegociosPara el Concello de Arteixo he realizado el portal de Turismo Arteixo (ArteixoAtlantico)Soy socio fundador de la Asociación Nacional del Arma de España, para quien hice además el website corporativoDuna es mi agencia 3.0 de referencia. Tengo el inmenso placer de que confíen en mí para todos sus desarrollos webPara Estrella Galicia he realizado todas las webs de Rivera Investiments, filial de internacionalización del grupo Estrella GaliciaPara Gameworks pude realizar uno de los primeros y más exitosos blogs de videojuegos de EspañaEn la Escuela de Negocios IFFE he dado clases como profesor de Analítica WebPara la Fundación Caixanova (ahora Afundacion) realicé el portal corporativo bilingüe de la FundaciónPara Ofipro (Softnix) he realizado varias versiones de su web corporativa y de soporte a clientesPara el Concello de Oleiros, fabriqué su primera web institucional totalmente realizada en tecnología FlashAdemás de la remodelación de su logotipo, realicé la primera web corporativa del Palacio de la OperaDurante muchos años, realicé cientos de CDs multimedia para congresos de todo tipo en PalexcoPara el Real Club Náutico de A Coruña he realizado la web corporativa y campañas de SEO y posicionamiento SEMTMC CANCELA es el líder español en soluciones de Triturado, para los que realicé su website corporativo

Login or Register

LOG IN