Tutoriales

Pedidos pendiente de pago con RedSys y Cloudflare

Cloudflare se ha convertido poco a poco en un actor relevante en muchas de las tiendas con WooCommerce que ofrecen venta online en Internet. La cuenta gratuita que ofrece la plataforma es suficiente para en la mayor parte de los casos tener una mejora considerable en unos pocos aspectos que son importantes en una tienda online.

De forma básica podemos decir que en la mayor parte de los casos CloudFlare nos proporciona:

  • Una mayor seguridad porque bloquea cualquier intento de acceso reiterativo
  • Protección contra ataques de denegación de servicio por el mismo motivo que antes
  • La posibilidad de servir tu web desde un sitio geográfico cercano a tus visitantes y no desde donde está físicamente tu alojamiento
  • Una ganancia en el tiempo de respuesta de la web, sobre todo en lo que respecta a los tiempos de carga iniciales, que ahora con las Google Core Web Vitals tienen aún más relevancia

Pero como todo, cualquier tecnología como esta también tiene algunos inconvenientes. Para lo que nos ocupa el más recurrente es el siguiente. Vamos a describir el problema y la solución.

Problemas con RedSys y CloudFlare

Este título también podríamos ponerlo como Problemas con Ceca y CloudFlare, ya que también afecta a esta otra familia de pasarelas de pago. El problema es el siguiente:

Aunque se paguen los pedidos, cuando uso CloudFlare, dentro de WooCommerce las compras con RedSys aparecen como pendientes de pago o directamente cancelados

Cuando alguien hace un pago en RedSys, la notificación instantánea del pago (también conocida como IPN por sus siglas en inglés Instant Payment Notification) es enviada desde RedSys a tu hosting. En el hosting lo recibe tu plugin para RedSys y WooCommerce y marca el pedido como pagado, pasando el estado del mismo a «Procesando».

El problema es que la comunicación que hace RedSys a tu hosting es similar a la que podría hacer ciertos tipos de atacantes. No tiene nada que ver, pero básicamente es una llamada que se hace de forma puntual con una serie de datos POST usando un user-agent que no es un navegador, así que CloudFlare lo toma como una comunicación de un bot y lo bloquea. Por eso aunque:

  • el pago se haga
  • RedSys envía la notificación
  • el plugin esté listo para recibirla

Nunca llega a completarse la operación, quedando en primera instancia el pedido pendiente de pago y posteriormente pasando a cancelado, una vez pasa el tiempo en el que preservamos el stock de los productos.

Solución

Como el problema se da dentro de CloudFlare, la solución también está en su panel de configuración. Concretamente tenéis que hacer lo siguiente:

  • Iniciáis sesión en CloudFlare
  • Elegís el sitio en el que tenéis problemas
  • En el menú elegís la pestaña «Seguridad»
  • En el submenú que aparece os dirigís a «Configuración»
  • Desactiváis la «Comprobación de integridad del navegador»

Podéis ver estos mismos pasos en la imagen siguiente:

Más aclaraciones

Terminamos dando algunas aclaraciones más:

  • Este es un problema de filtrado de las llamadas de RedSys a tu sitio. Hay muchos más problemas así que si no das con la tecla no pierdas más el tiempo y escribe al soporte de tu plugin para RedSys y WooCommerce para que te ayuden.
  • Este problema no solo ocurre en RedSys, algo parecido pasa con Ceca
  • Aparte de WooCommerce, como podéis imaginar cualquier otro plugin para Contact Form 7 y RedSys, GiveWP y RedSys, etc. puede tener el mismo problema. En vez de pedidos serán donaciones o pagos. Pero será equivalente: quien te paga hace el pago correctamente, en canales RedSys lo ves todo correcto, pero en tu panel ves que la donación no ha llegado o que el pago está pendiente.
Nota: Hay una valoración incrustada en esta entrada, por favor, visita esta entrada para valorarla.

Almacenamos las IPs desde la que se envían las valoraciones para evitar fraudes

Francisco Javier Carazo Gil

Ver comentarios

  • Gracias, solucionado en un woocomerce, con redsys, que cuando pagaban con tarjeta, no aparecía como pedido pagado. He realizado lo aquí expuesto y he probado una operación con tarjeta y parece que se ha solucionado.
    Repito, graciiiiassss

    • Me alegro que te haya servido y si quieres un plugin completo y un soporte con soluciones para cualquier problema de forma personalizada, ya sabes, aquí tienes nuestro plugin disponible para comprar.

Entradas recientes

¿Por qué falla Bizum en WooCommerce? 9 causas

Por qué falla Bizum WooCommerce: detecta errores de credenciales, firma, entorno y pedidos para recuperar…

hace % días

Plugin gratuito Redsys WordPress: qué revisar

Elige un plugin gratuito Redsys WordPress con criterio: compatibilidad, seguridad, configuración bancaria y límites para…

hace % días

Qué necesito para activar CECA Online en mi web

¿Qué necesito para activar CECA Online? Revisa contrato bancario, datos del terminal, seguridad, pruebas y…

hace % días

Cómo elegir una pasarela para suscripciones

Aprende a elegir una pasarela para suscripciones en WordPress: revisa recurrencia, compatibilidad, seguridad y soporte…

hace % días

Plugin Bizum WordPress para cobrar con control

Elige un plugin Bizum WordPress compatible con tu flujo de venta, configura la pasarela bancaria…

hace % días

Cómo aceptar CECA en reservas de WordPress

Aprende cómo aceptar CECA en reservas WordPress, configurar pagos seguros y confirmar cada reserva sin…

hace % días