Servicio especializado
Resolución de problemas del checkout de WooCommerce
Un checkout que no deja de cargar, un botón Realizar pedido que no hace nada, un error al enviar, o un checkout que funciona para unos clientes y para otros no. Seguimos la petición del checkout a través del navegador, WordPress, WooCommerce y la pasarela hasta aislar la capa que falla.
Problemas habituales
Síntomas de checkout que investigamos
El checkout no deja de cargar
El spinner no se detiene: la petición del checkout falló, superó el tiempo o devolvió algo que la página no entiende.
Realizar pedido no hace nada
No se envía ninguna petición: casi siempre un error de JavaScript o un script bloqueado.
«Ha ocurrido un error al procesar tu pedido»
Un mensaje genérico que esconde un error PHP, una validación fallida o la respuesta de la pasarela.
Funciona solo para algunos clientes
Usuarios con sesión frente a invitados, un país, un método de envío, un dispositivo o navegador.
Totales, impuestos o envío incorrectos
Cargos, cupones, reglas de impuestos o plugins de envío que no coinciden durante la revisión del pedido.
Checkout lento
Segundos perdidos en PHP, la base de datos o llamadas a APIs externas antes de crear el pedido.
Qué revisamos
- Qué checkout se usa: el shortcode clásico (
?wc-ajax=checkout) o el bloque de Checkout (Store API) - La consola del navegador y la petición del checkout en el panel de red
- Los registros de PHP y
fatal-errorsde WooCommerce en el momento del fallo - Hooks y código a medida en la ruta del checkout: cargos, campos, validación, envío
- Caché de páginas, optimización de scripts y reglas de seguridad aplicadas al checkout
- La respuesta de la pasarela y lo que ocurre después
Qué recibes
- La capa que falla y la causa exacta, con evidencias
- El arreglo, probado en staging con pedidos de invitados y de usuarios con sesión
- Notas sobre qué comprobar tras futuras actualizaciones
La primera pregunta: ¿dónde empieza el fallo?
El checkout tiene tres fases, y saber cuál falla reduce las causas posibles de docenas a unas pocas:
- Antes de la petición: al pulsar Realizar pedido no se envía nada. La causa está en el navegador: un error de JavaScript, un script bloqueado por un optimizador o una herramienta de consentimiento, un campo de pago que falta.
- Durante la petición: la petición se envía pero devuelve un error, un timeout o una respuesta no válida. La causa está en el servidor: un error fatal de PHP en un hook, una validación fallida, una regla de seguridad, procesos PHP agotados.
- Después de la pasarela: el pedido se crea, pero la confirmación del pago o lo que ocurre después falla. La causa está en el traspaso del pago.
¿Checkout clásico o bloque de Checkout?
El bloque de Checkout se convirtió en el checkout por defecto de las tiendas WooCommerce nuevas, mientras que muchas tiendas existentes siguen usando el shortcode clásico [woocommerce_checkout]. Usan endpoints distintos, JavaScript distinto y puntos de extensión distintos. Las extensiones que solo admiten uno de los dos y las reglas de seguridad que restringen la REST API son una causa frecuente de fallos de checkout tras una migración o una actualización.
Recursos técnicos
Guías sobre el checkout
- WooCommerce / Checkout Problemas con el checkout de WooCommerce Checkout que no deja de cargar, Realizar pedido que no responde, errores al enviar, invitados que no pueden comprar.
- WooCommerce / Pagos Problemas de pago en WooCommerce Cobro sin pedido, pedidos en pendiente de pago, pagos fallidos, webhooks y 3D Secure.
- WooCommerce / Errores Errores de WooCommerce: PHP, JavaScript, base de datos y conflictos Errores críticos, pantallas en blanco, errores de JavaScript y AJAX, conflictos de plugins y de tema, errores de base de datos.
FAQ
Preguntas frecuentes
¿Por qué el checkout funciona con sesión iniciada pero no para invitados?
Causas habituales: la caché de páginas sirve a visitantes sin sesión un checkout obsoleto (con nonces caducados), los ajustes de cuentas y de compra como invitado, y plugins que solo actúan para usuarios sin sesión. La petición del checkout de un invitado en el panel de red indica cuál.
¿Importa si usamos el bloque de Checkout?
Sí. El checkout clásico envía el pedido a ?wc-ajax=checkout; el bloque de Checkout usa la Store API bajo /wp-json/wc/store/. Los plugins de seguridad, las restricciones de la REST API y las extensiones que solo admiten uno de los dos provocan fallos que para el cliente parecen idénticos.
¿Puede un tema romper el checkout?
Sí: plantillas sobrescritas desactualizadas, conflictos de JavaScript o hooks eliminados. Las plantillas que sobrescribe el tema aparecen en WooCommerce → Estado, marcadas cuando están desactualizadas.
$ describe el problema
¿Tienes un problema con WooCommerce?Solicita un diagnóstico.
Cuéntanos qué falla, qué ha cambiado últimamente y cómo afecta al negocio. Revisamos cada solicitud y te recomendamos el siguiente paso.
Nunca envíes contraseñas, claves API ni datos de tarjetas a través del formulario.