Hosting

Whitelist de RedSys, PayPal y Stripe en Cloudflare: evita que el WAF bloquee tu pasarela de pago

Si tu tienda online está detrás de Cloudflare, sus sistemas de seguridad (WAF, reglas administradas, Bot Fight Mode o los desafíos tipo CAPTCHA) pueden bloquear comunicaciones legítimas de tu pasarela de pago. El síntoma clásico: el cliente paga correctamente, pero el pedido se queda «pendiente de pago» porque la notificación servidor a servidor (webhook o callback) de RedSys, PayPal o Stripe nunca llega a tu web.

En esta guía te explicamos cómo crear una lista blanca (whitelist) en Cloudflare para los sistemas autónomos (ASN) y las IPs de las principales pasarelas de pago, de forma que Cloudflare no las bloquee ni les muestre ningún desafío.

Esta guía sirve para cualquier web que pase por Cloudflare (plan Free o de pago), tanto si está alojada en un hosting como en un VPS de GINERNET.

Por qué Cloudflare bloquea los pagos

Las pasarelas de pago confirman las operaciones mediante peticiones servidor a servidor contra tu web: la «notificación online» de RedSys, el IPN/webhook de PayPal o los webhooks de Stripe. Estas peticiones las hace un servidor, no un navegador, por lo que no pueden resolver un desafío JavaScript ni un CAPTCHA. Si Cloudflare les presenta un Managed Challenge (el equivalente de Cloudflare a un reCAPTCHA), un Browser Integrity Check o las bloquea por reputación de IP, la notificación se pierde y el pago no se confirma en tu tienda, aunque el banco sí lo haya cobrado.

Qué es un ASN y por qué usarlo para la whitelist

Un sistema autónomo (AS) es el conjunto de redes IP que gestiona una misma organización en internet, identificado por un número único: el ASN. Permitir el ASN oficial de una pasarela es más robusto que mantener listas de IPs sueltas: si la pasarela añade o cambia IPs dentro de su propia red, la regla sigue funcionando sin que tengas que tocar nada.

ASN de las principales pasarelas de pago

PasarelaASNNotas
RedSys (TPV virtual de la mayoría de bancos españoles y Bizum)AS31627Rangos propios: 195.76.9.0/24 y 193.16.243.0/24
PayPalAS17012PayPal también publica sus rangos de IP oficiales
AdyenAS200596Adyen recomienda además resolver por DNS out.adyen.com
Stripe— (no aplica)Envía los webhooks desde AWS: usa su lista oficial de IPs
Klarna— (no aplica)Envía los callbacks desde AWS: usa su lista oficial de IPs

Stripe y Klarna envían sus webhooks desde infraestructura de Amazon Web Services (AS16509). Nunca hagas whitelist del ASN de Amazon: estarías dando vía libre a millones de servidores de terceros, incluidos bots maliciosos. Para estas pasarelas usa siempre sus listas oficiales de IPs.

Método recomendado: regla personalizada del WAF con acción «Omitir» (Skip)

Cloudflare recomienda usar reglas personalizadas con la acción Skip (Omitir) para las listas blancas. Disponible en todos los planes, incluido el Free.

  1. Entra en el dashboard de Cloudflare y selecciona tu dominio.
  2. Ve a Security → WAF → Custom rules (en el dashboard nuevo: Security → Security rules).
  3. Pulsa Create rule y ponle un nombre descriptivo, por ejemplo Whitelist pasarelas de pago.
  4. Pulsa Edit expression y pega esta expresión (ajústala a las pasarelas que uses):
(ip.src.asnum eq 31627)
or (ip.src.asnum eq 17012)
or (ip.src.asnum eq 200596)
or (ip.src in {3.18.12.63 3.130.192.231 13.235.14.237 13.235.122.149 18.211.135.69 35.154.171.200 52.15.183.38 54.88.130.119 54.88.130.237 54.187.174.169 54.187.205.235 54.187.216.72 35.157.207.129 3.69.109.8 3.120.168.93})

Las tres primeras líneas permiten los ASN de RedSys, PayPal y Adyen; la última contiene las IPs de webhooks de Stripe. Si usas Klarna, añade también sus IPs de producción: 52.17.117.56 52.17.176.198 52.0.45.33 52.0.46.187 13.211.30.100 3.104.49.49 13.54.229.130.

  1. En Choose action, selecciona Skip.
  2. Marca todas las protecciones que quieras omitir. Para una lista blanca total, marca:
    • All remaining custom rules (el resto de reglas personalizadas)
    • All rate limiting rules (limitación de peticiones)
    • All Super Bot Fight Mode rules
    • All managed rules (las reglas administradas del WAF)
    • En WAF components to skip: Zone Lockdown, User Agent Blocking, Browser Integrity Check, Hotlink Protection y Security Level (esto último desactiva los desafíos por nivel de seguridad).
  3. Guarda la regla con Deploy y arrástrala a la primera posición de la lista, para que se evalúe antes que cualquier regla de bloqueo.

El Bot Fight Mode del plan Free no se puede omitir con reglas Skip. Si tienes activado Bot Fight Mode y sigue bloqueando los webhooks, desactívalo en Security → Bots o pásate a un plan Pro con Super Bot Fight Mode, que sí respeta esta regla.

Alternativa: IP Access Rules

En Security → WAF → Tools → IP Access Rules puedes crear una regla con acción Allow indicando directamente un ASN (por ejemplo AS31627). Es más rápido, pero menos completo: las IP Access Rules no omiten las reglas administradas del WAF, así que un falso positivo de las managed rules seguiría bloqueando la notificación. Por eso Cloudflare recomienda el método de la regla personalizada con Skip.

Comprueba que funciona

  1. Ve a Security → Events (o Security → Analytics) en el dashboard de Cloudflare.
  2. Filtra por ASN (por ejemplo 31627) o por la IP de origen de la pasarela.
  3. Haz un pago de prueba: los eventos deben aparecer con acción Skip en lugar de Block o Managed Challenge.

En paralelo, revisa el panel de tu pasarela: RedSys muestra el resultado del envío de la notificación online, y Stripe y PayPal registran el código de respuesta de cada webhook (debe ser 200, no 403).

Mantén la verificación de firmas

Hacer whitelist en Cloudflare no significa desactivar la seguridad de tu módulo de pago: la firma HMAC de RedSys, la verificación de firma de los webhooks de Stripe (Stripe-Signature) y la validación del IPN de PayPal deben seguir activas. La whitelist evita que Cloudflare bloquee la comunicación; la firma garantiza que la notificación es auténtica.

Las listas de IPs de Stripe y Klarna pueden cambiar con el tiempo. Revísalas periódicamente en su documentación oficial (Stripe, Klarna) o suscríbete a sus avisos para desarrolladores.

Si tienes tu web alojada en GINERNET y necesitas ayuda con la configuración, abre un ticket de soporte desde tu área de cliente y te echamos una mano.