Image
Top
Navigation
 

RedSys, Prestashop y Cloudflare una combinación casi perfecta.

Después de mucho tiempo sin postear en el blog, hoy nos vemos en la “obligación” de escribir este artículo por si a alguien le puede servir de ayuda.

Hace un par de días migramos la tienda de nuestro cliente laurbanabike.com a un nuevo servidor. Para realizar la migración y que la tienda estuviera el menor tiempo posible sin acceso, utilizamos el servicio DNS de Cloudflare.

Después de que expandieran las DNS con Cloudflare realizamos la migración, salió todo perfecto, en apenas unos minutos teníamos redirigido todo al nuevo servidor.

El problema viene cuando nos comunican que desde la tienda, un Prestashop 1.5, no se estaba completando correctamente el proceso de compra, se aceptaba el pago en el banco a través de la TPV virtual, pero al volver a la tienda no vaciaba el carrito y no generaba el pedido.

Tenemos el módulo REDSYS instalado y hasta ahora todo había funcionado perfectamente, así que nos pusimos a investigar.

Antes de nada realizamos lo básico en estos casos:

  • Borrar las caches smarty
  • Reinstalar el módulo
  • Revisar las configuraciones del Firewall del server.
  • Probar con diferentes configuraciones del módulo REDSYS
  • Y mil cosas mas…

Revisando las notificaciones en el panel de REDSYS, nos encontramos con que todas las peticiones que realiza REDSYS contra nuestro server devuelve el siguiente error:

-1 Server returned HTTP response code: 403 prestashop

Después de mucho investigar (y casi por casualidad) encontramos que el problema estaba en la configuración de cloudflare.com, donde teníamos alojadas las DNS del dominio.

Al tener activada la casilla de Browser Integrity Check en la sección Firewall, impedía que las peticiones del servidor de REDSYS fueran devueltas correctamente y por eso no se producía la actualización del carro ni la generación del pedido.

browser integrity

Una vez desactivado y pasados un par de minutos, las peticiones de REDSYS volvieron a funcionar correctamente.

Como decía al principio del post, espero que le sirva a alguien de ayuda, ya que nosotros hemos perdido un día de trabajo con esta “tontería” y nos hubiera venido de perlas haberlo solucionado antes…

Comentarios

  1. Gracias, justo es lo que estaba buscando!!

  2. Llevo horas buscando una solución a ese problema, mil gracias.

  3. Yo hoy estoy probando cloudflare, prestashop 1.5 y redsys. He realizado un pedido y no se ha registrado en prestashop, me ha devuelto a url historial vacía, el carrizo estaba lleno, en compras de redsys no aparece el pedido y en mi cuenta del banco si tengo la compra 🙁

    Mirando este post he revisado la opción de cloudflare y la tengo desactivada.

    Uso https en toda la tienda.

    Qué puede ser?

  4. Tengo el mismo problema y ahora mismo viendo esto voy a probar…aunque yo no uso prestashop pero tiene toda la pinta de ser eso….probando que es gerundio!!

  5. Diego

    Bueno vamos a ver que pasa, no tengo Cloudflare y tampoco prestashop, Pero estoy pensado que puede ser algo que tenga en el htaccess.
    Mi principal problema fue que migre de servidor..

  6. Gracias, me has salvado un montón de tiempo con algo tan critico como un e-commerce. Sabía que era de Cloudflare pero no sabía en donde.

  7. Hola Jesus,
    he hablado el otro año con los de Redsys z me comentaron esto…
    es un problema de Cloudfare, pero no es porqué sean incompatible, lo que debéis hacer es contactar con el Hosting y solicitar que os añadan una excepción en Cloudfare para permitir la petición de la notificación online que hace Redsys (por IP) y así completar el proceso de pago creando el pedido en Prestashop.

    A lo mejor te funciona a ti tambien?

    Aprovecho aqui para preguntar a la gente de este Blog. Alguien sabe si el Cloudflare o otro CDN funciona con el modo de Multitienda activado y si se le podria asignar solo un dominio en concreto dentro de la multitienda? O sea que solo una de las Multitiendas usara el CDN y las otras no. Gracias.

Déjanos tu comentario

Autor

3VASES