Nivel
Avanzado
Tiempo de lectura
11 minutos
Tiempo estimado de solución
20 a 45 minutos
Compatible con
WooCommerce 8.x / 9.x y WP 6.x / 7.x
Última actualización
Junio 2026
En esta guía aprenderás
- Por qué WooCommerce puede dejar de registrar pedidos repentinamente.
- Cómo los sistemas de caché agresivos pueden romper el carrito de compra.
- Los pasos para diagnosticar problemas con la API REST y los Webhooks de pago.
- Cómo solucionar el bucle infinito o bloqueo en el botón de «Realizar pedido».
- Buenas prácticas para testear tu pasarela de pago sin gastar dinero real.
¿Por qué ocurre este problema en tiendas online?
El proceso de checkout de WooCommerce es un engranaje complejo. Involucra la base de datos de WordPress (para registrar el cliente y el inventario), el servidor local (para procesar los scripts de sesión) y servidores externos de pasarelas de pago (como Stripe, PayPal o Transbank) que deben comunicarse entre sí en milisegundos.
Si esa comunicación se corta, la compra se cancela. Las causas más habituales detrás de una tienda que no procesa pedidos son:
Conflictos con Webhooks y notificaciones de pago (IPN)
Cuando un cliente paga con éxito en una pasarela, el banco envía una señal secreta de vuelta a tu web (llamada Webhook o IPN). Si tu sitio bloquea esta señal por culpa de un plugin de seguridad o un certificado SSL mal configurado, el banco cobrará el dinero, pero WooCommerce nunca se enterará, dejando el pedido en el limbo o directamente sin crear.
Caché en páginas críticas (Carrito y Checkout)
Los plugins de optimización aceleran la web guardando copias fijas de las páginas. Sin embargo, el Carrito, el Checkout y la sección de «Mi Cuenta» deben ser dinámicos y únicos para cada visitante. Si tu plugin de caché almacena estas páginas, los datos de los usuarios se mezclarán o el sistema arrojará un error de sesión expirada al intentar pagar.
Errores en JavaScript (AJAX) en el botón de pago
El checkout de WooCommerce funciona con tecnología AJAX para actualizar los totales y procesar el pago sin recargar la página. Si un plugin de optimización combina mal los scripts o hay un error técnico de JavaScript activo, el botón de «Realizar pedido» se quedará congelado o girando indefinidamente.
Falta de memoria en el servidor
WooCommerce es el complemento más pesado del ecosistema WordPress. Al procesar una venta se ejecutan correos automáticos, se reducen stocks y se conectan APIs. Si el servidor alcanza el límite de memoria a mitad de la operación, el script se interrumpe bruscamente.
Consejo de Ayuda WordPress
El primer paso ante este problema es comprobar la sección de **WooCommerce > Estado > Registros (Logs)**. Selecciona los registros de errores de las pasarelas de pago (como Stripe o PayPal) de los últimos días. En el 90% de los casos, allí se detalla el código exacto del rechazo bancario o la desconexión del servidor.
Diagnóstico y Solución paso a paso
Sigue este orden lógico para aislar el fallo en la pasarela o en la configuración antes de realizar modificaciones estructurales.
1. Excluir las páginas de WooCommerce de la Caché
Este paso soluciona la inmensa mayoría de los carritos congelados y sesiones perdidas.
- Accede a la configuración de tu plugin de caché (WP Rocket, LiteSpeed Cache, etc.).
- Busca la sección de **Caché avanzada** o **Páginas nunca cacheadas**.
- Asegúrate de añadir las siguientes URL dinámicas en la lista de exclusión de forma obligatoria:
/carrito/
/checkout/
/mi-cuenta/
/cart/
/checkout/
*Nota: Los plugins modernos de optimización suelen hacerlo automáticamente, pero si editaste los enlaces o usas un constructor visual, debes verificarlo manualmente.*
2. Comprobar el estado del sistema y la API REST
WooCommerce requiere que las herramientas de comunicación interna funcionen sin bloqueos.
- Ve a **WooCommerce > Estado**.
- Revisa que el área de **API REST de WordPress** y el **Controlador de bucle (Loopback requests)** tengan un tic verde. Si aparecen en rojo, tu propio hosting está bloqueando las conexiones necesarias para cerrar las transacciones.
Soluciones técnicas para reactivar las ventas
Aplica estas correcciones dependiendo del síntoma detectado en las pruebas de diagnóstico:
Solución 1. Reparar el error de Webhooks fallidos (Stripe/PayPal)
Si los clientes te avisan que les descuentan el dinero pero los pedidos no aparecen en tu WordPress:
- Entra al panel de desarrollo de tu pasarela de pago (ej. Stripe Dashboard).
- Ve a la sección de Webhooks y revisa el historial de envíos. Si ves códigos de error **403 Forbidden** o **500**, significa que tu web rechaza la respuesta del banco.
- Para solucionarlo, ve a tu plugin de seguridad de WordPress (como Wordfence o Sucuri) y añade la URL del endpoint del webhook en la lista blanca de excepciones del Firewall.
Solución 2. Solventar el bloqueo de botones mediante desactivación de AJAX
Si el checkout se queda colgado justo al hacer clic en pagar y no avanza a la pasarela:
- Abre la consola de tu navegador (Haz clic derecho > Inspeccionar > Consola).
- Haz un intento de compra de prueba. Si ves letras rojas con errores del tipo
admin-ajax.php 500ojQuery is not defined, un script está rompiendo el flujo. - Como solución temporal urgente, puedes instalar un plugin como **WooCommerce Checkout Non-AJAX** o cambiar los ajustes de tu tema para obligar al checkout a cargar de forma tradicional y secuencial.
Solución 3. Elevar el límite de memoria específico para WooCommerce
Evita que los procesos de pago masivos saturen la infraestructura del servidor web introduciendo estos parámetros superiores en el archivo wp-config.php:
define('WP_MEMORY_LIMIT', '512M');
define('WP_MAX_MEMORY_LIMIT', '1024M');
Buenas prácticas para tiendas online estables
Garantiza la máxima estabilidad en tu plataforma de eCommerce implementando las siguientes medidas de control técnico:
| Estrategia Recomendada | Objetivo en WooCommerce |
|---|---|
| Realizar compras de prueba mensuales en Modo Sandbox. | Permite verificar que las pasarelas conectan perfectamente con el banco sin usar dinero real. |
| Utilizar un correo corporativo SMTP externo. | Asegura que los emails de confirmación de pedido lleguen al cliente y no saturen el servidor local. |
| Limitar el uso de plugins de descuentos masivos. | Evita que reglas de cupones mal programadas colapsen el rendimiento del carrito de compras. |
Preguntas frecuentes
¿Los clientes pierden su dinero si WooCommerce no registra el pedido?
No, el dinero queda retenido de forma segura en la pasarela de pago (Stripe/PayPal). Si el pedido no se genera en WordPress por un fallo de Webhook, el administrador puede revisar el panel del banco, verificar el pago y crear el pedido manualmente desde el escritorio de WordPress para procesar el envío.
¿El uso de Cloudflare puede romper el checkout de WooCommerce?
Sí, si tienes activa la minificación agresiva de JavaScript o reglas de cohetes (Rocket Loader) globales. Cloudflare puede retrasar la carga de scripts esenciales de WooCommerce necesarios para finalizar la compra. Se recomienda crear una «Page Rule» específica en Cloudflare para desactivar el rendimiento en la ruta *tuweb.com/checkout/*.
En resumen
Identificar por qué **WooCommerce no recibe pedidos** exige revisar con precisión milimétrica la comunicación entre el servidor, las páginas de optimización y las plataformas de pago externas. Desactivar la caché en las páginas de venta, solucionar fallos de scripts de JavaScript en el botón de compra y verificar el correcto intercambio de Webhooks garantizará una experiencia de usuario perfecta y mantendrá el motor de ventas de tu tienda online totalmente operativo bajo los más altos estándares comerciales.


