Saltar al contenido

Pedidos falsos en WooCommerce: cómo frenar el card testing

En resumen

Cientos de pedidos fallidos de importe pequeño, con nombres y correos inventados, suelen ser card testing: alguien usa el checkout de tu WooCommerce para comprobar qué tarjetas robadas funcionan. Hay que cortarlo deprisa, porque trae disputas, rechazos de pagos legítimos y revisiones de la pasarela (Stripe, Redsys). Funciona limitar las peticiones al checkout y a la Store API, añadir un captcha y ajustar las reglas de fraude de la pasarela.

Te levantas con cientos de pedidos fallidos, de importes pequeños, con nombres que no existen y direcciones de correo absurdas. No es un error de la tienda: alguien está usando tu checkout para comprobar qué tarjetas robadas siguen funcionando. Se llama card testing, y hay que cortarlo deprisa porque el que paga las consecuencias eres tú.

Por Jose SorianoÚltima actualización: 6 min de lectura

Cómo reconocerlo

Las señales que describen WooCommerce y Stripe, y las que yo veo en las tiendas:

  • Un pico de pedidos en estado «Fallido», a menudo con varias notas de tarjeta rechazada en el mismo pedido.
  • Importes pequeños: el producto más barato, una donación o un producto de precio libre.
  • Muchas tarjetas distintas, cada una con un intento o dos.
  • Nombres y correos sin sentido, combinaciones aleatorias o direcciones desechables.
  • Pedidos a horas raras y en ráfagas, decenas en pocos minutos.
  • En el panel de la pasarela, un aumento de pagos rechazados o bloqueados. En Stripe se ve como un pico de errores 402 y rechazos genéricos.

Hay una variante más discreta: si apenas ves pedidos fallidos pero sí cuentas de cliente nuevas con tarjetas guardadas, es posible que estén validando tarjetas al añadirlas a una cuenta, sin llegar a comprar.

Por qué es un problema para ti

No te roban dinero directamente, pero el daño es real:

  • Disputas: algunas tarjetas pasan, los titulares ven el cargo y lo reclaman. Cada disputa tiene coste y tiempo.
  • Reputación ante los bancos: según Stripe, una tasa de rechazos alta hace que tus pagos parezcan más arriesgados, y puede provocar que se rechacen pagos legítimos incluso cuando el ataque ha terminado.
  • Comisiones: reembolsar un pago fraudulento puede no devolverte la comisión de la pasarela.
  • La cuenta de la pasarela: con muchas alertas de fraude, la pasarela puede revisar o limitar tu cuenta.

Si usas Stripe (o WooPayments)

Stripe tiene protecciones propias contra el card testing (límites, modelos de riesgo y captcha automático en sus integraciones recomendadas) y verás pagos marcados como «Blocked by Stripe». Funcionan mejor cuanta más información recibe Stripe del pago (IP, correo, nombre, dirección), así que usa el plugin oficial actualizado. Con Radar puedes añadir reglas propias, como bloquear cuando falla el CVC, según tu plan. WooPayments, que funciona sobre Stripe, trae también medidas propias, pero WooCommerce aclara que la prevención del fraude sigue siendo responsabilidad del comerciante.

Si usas Redsys

Con el TPV virtual de tu banco, las reglas antifraude las gestiona la entidad. Si detectas el ataque, llama a tu banco: pueden ver los intentos, ajustar los controles de tu comercio y decirte si están afectando a tu cuenta. Y avísales antes de que te llamen ellos.

Qué hacer si te está pasando ahora

  1. Reembolsa cuanto antes los pagos que hayan pasado y sean fraudulentos. WooCommerce lo considera lo más importante para evitar disputas.
  2. Pon en privado temporalmente los productos baratos, las donaciones y los de precio libre.
  3. Desactiva la compra como invitado mientras dura el ataque, si tu negocio lo permite.
  4. Desactiva los pagos con tarjetas guardadas en los métodos de pago que lo permitan, si sospechas que validan tarjetas a través de cuentas.
  5. Activa el límite de peticiones del checkout (siguiente apartado).
  6. Habla con tu pasarela o tu banco para que endurezcan sus controles.

El checkout de bloques y la Store API

Esto es lo que muchos no saben. El checkout de bloques de WooCommerce funciona a través de la Store API, una interfaz que permite crear pedidos con peticiones directas, sin pasar por la página. Los atacantes la usan con scripts aunque tu tienda use el checkout clásico, porque la API está ahí igualmente.

En diciembre de 2024, WooCommerce detectó que algunos plugins de captcha no protegían el checkout de bloques ni la Store API: el captcha se veía en la página, pero las peticiones directas a la API se lo saltaban. Los plugins afectados publicaron versiones corregidas. Si usas un captcha, comprueba que está actualizado y que su documentación dice expresamente que protege el checkout de bloques.

Medidas que funcionan

1. Limitar las peticiones al checkout

WooCommerce trae un límite de peticiones para la Store API, desactivado por defecto. Desde WooCommerce 9.6 hay un límite estricto solo para el paso de «Realizar el pedido» (POST /wc/store/v1/checkout): como máximo 3 peticiones cada 60 segundos. Se activa en WooCommerce → Ajustes → Avanzado → Características, con la opción «Rate limiting Checkout block and Store API» (o su traducción).

Para limitar el resto de la Store API, un desarrollador puede activar el filtro oficial. Si la tienda está detrás de Cloudflare u otro proxy, proxy_support debe ir a true; si no, todos los clientes parecerán venir de la misma IP y bloquearás a compradores reales:

add_filter( 'woocommerce_store_api_rate_limit_options', function () {
    return [
        'enabled'       => true,
        'proxy_support' => false, // true detrás de Cloudflare o un proxy
        'limit'         => 25,    // peticiones…
        'seconds'       => 10,    // …por cada 10 segundos
    ];
} );

2. Captcha en el checkout

WooCommerce recomienda un captcha en el pago. Cloudflare Turnstile es la opción menos molesta para el cliente y tiene plugins gratuitos; reCAPTCHA también sirve. Lo importante, como dice Stripe: que el captcha se valide en el servidor y en todas las peticiones que pueden pagar o guardar una tarjeta, no solo en la página. Después de instalarlo, haz una compra de prueba completa.

3. Extensiones antifraude

Hay extensiones que limitan los intentos de pago fallidos por pedido o por IP y bloquean temporalmente a quien los supera. Útiles si los ataques se repiten. Configúralas con cuidado: WooCommerce avisa de que un plugin antifraude mal configurado protege poco o nada.

4. Quitar facilidades

  • Sin productos de precio libre ni donaciones sin importe mínimo.
  • Obligar a crear cuenta para comprar, si tu tipo de cliente lo acepta.
  • Revisar si el cortafuegos de tu hosting o tu CDN puede limitar las peticiones a /wc/store/ y /?wc-ajax=checkout.

Cuando el ataque pare, no desactives todo de golpe. Los atacantes suelen volver a probar días después, y si encuentran el mismo hueco abierto, repiten. Mantén el límite del checkout y el captcha, revisa durante un par de semanas los pedidos fallidos cada mañana y vuelve a publicar los productos baratos poco a poco.

El correo, ese daño colateral

Un ataque de card testing también afecta a tu correo. WooCommerce envía un aviso por cada pedido fallido y, si se crean cuentas, un correo de bienvenida a cada dirección falsa. Cientos de correos a direcciones inexistentes generan rebotes que dañan la reputación de tu dominio, y tus confirmaciones de pedido legítimas empiezan a llegar a spam. Mientras dure el ataque, desactiva temporalmente el aviso de pedido fallido en WooCommerce → Ajustes → Correos electrónicos, y revisa después la configuración de SPF, DKIM y DMARC, que explico en la guía de listas negras.

Si quieres que lo revise yo

El análisis gratuito revisa la versión de WooCommerce y los plugins visibles con fallos publicados. Y el plan de seguridad de WooCommerce (69 €/mes) incluye análisis diario, control de integridad de archivos y una prueba de compra cada mes, que es donde se ven los problemas del checkout antes de que te los cuente un cliente.

Fuentes

Preguntas frecuentes

¿Por qué recibo pedidos falsos en WooCommerce?

Normalmente porque alguien usa tu checkout para comprobar tarjetas robadas (card testing). Hace muchos pedidos pequeños con tarjetas distintas para ver cuáles funcionan.

¿Cómo paro los pedidos fallidos masivos en WooCommerce?

Activa el límite de peticiones del checkout en WooCommerce → Ajustes → Avanzado → Características, añade un captcha que proteja también el checkout de bloques, pon en privado los productos baratos y avisa a tu pasarela.

¿El card testing me puede costar dinero?

Sí: disputas de los pagos que pasan, comisiones que no siempre se recuperan al reembolsar y una tasa de rechazos alta que puede hacer que se rechacen pagos legítimos.

¿El captcha frena el card testing en WooCommerce?

Ayuda, siempre que se valide en el servidor y proteja también la Store API y el checkout de bloques. Algunos plugins de captcha no lo hacían hasta finales de 2024; mantenlos actualizados.

¿Tengo que borrar los pedidos falsos?

No los borres en bloque sin revisarlos. Antes, identifica los que se cobraron y reembólsalos; borrar el pedido en WooCommerce no anula el pago en la pasarela.

¿Está intacta tu web? Compruébalo ahora.

Análisis externo gratuito. Sin registro y sin instalar nada.

Recibir el resultado en PDF y avisos 30 días (opcional)

Protección de datos. Responsable: Jose Soriano Castro. Finalidad: enviarte el PDF del diagnóstico, avisarte por email durante 30 días si se publica un fallo de seguridad que afecte a tu web (con un análisis de repaso el día 30) y responder por escrito a tu consulta; las ofertas, solo si marcas esa casilla. Legitimación: tu consentimiento. Destinatarios: nadie, salvo obligación legal. Puedes darte de baja cuando quieras con el enlace de cada correo o escribiéndome. Derechos: acceso, rectificación, supresión, oposición, limitación y portabilidad. Política de privacidad.

  • Sin acceso FTP
  • Solo lectura
  • Sin datos de clientes

Preferencias de cookies