Saltar al contenido
WooRescueHQ

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.

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-errors de 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:

  1. 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.
  2. 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.
  3. 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.

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.

Solicitar un diagnóstico Ver servicios y precios

Nunca envíes contraseñas, claves API ni datos de tarjetas a través del formulario.

Diagnóstico desde299 €

Solicitar un diagnóstico