Si los clientes con cuenta compran y los invitados no, WooCommerce no está completamente roto ni la pasarela necesariamente sana. El usuario conocido aporta dirección, sesión e identidad; el invitado depende de cookies nuevas, caché pública y validación completa.
Usa la diferencia para acotar. No obligues a crear cuenta salvo que sea una decisión comercial deliberada.
Confirma que se permiten invitados
Revisa WooCommerce > Cuentas y privacidad, membresía, mayoristas y extensiones del checkout. Confirma que la compra sin cuenta está habilitada para esos productos y que código propio no exige registro.
Prueba en una ventana privada sin cookie de WordPress. Anota producto, dirección, envío y pago.
Tras un intento consulta pedidos y pasarela antes de repetir.
Compara ambas peticiones
Inspecciona wc-ajax=checkout en Network y compara fallo invitado con éxito de cliente usando datos equivalentes.
Compara sin guardar datos personales:
- estado HTTP y tipo de respuesta
- IDs de envío y pago
- códigos de validación
- presencia de cookie de sesión
- horas de servidor y pasarela
No copies direcciones, tarjetas ni tokens de sesión.
Revisa cookies, consentimiento y caché
El usuario conectado suele evitar la caché. El invitado puede recibir checkout cacheado o perder la cookie WooCommerce por una clasificación incorrecta.
Carrito, Checkout, Mi cuenta y AJAX deben excluirse de caché compartida. Prueba consentimiento aceptado, rechazado y pendiente según la configuración. Las cookies esenciales no deben depender de marketing.
Después de corregir, deja que la caché se caliente y repite: la primera petición MISS puede ocultar el fallo.
Inspecciona validación exclusiva del invitado
El cliente puede tener país, provincia, código postal, teléfono y email guardados. El invitado recorre todos los campos y revela requisitos ocultos o contradictorios.
Lee el error visible y el JSON. El callback debe usar datos billing y shipping enviados, sin asumir que existe un ID de usuario. Busca código PHP que consulte metadatos antes de crear la cuenta.
if ( ! is_user_logged_in() ) {
// Revisar qué bloquea o exige esta rama.
}
No elimines validaciones legales, fiscales o de transporte.
Revisa fraude y reglas de pago
Los sistemas antifraude puntúan de otra forma a invitados; la pasarela puede exigir email, código postal o teléfono con un formato. Relaciona la hora con logs de fraude y proveedor.
Determina si WooCommerce creó un pedido antes del rechazo. Una negativa de la pasarela no es lo mismo que validación del navegador.
Mantén cualquier excepción estrecha para conservar protección contra pedidos abusivos.
Comprueba la creación opcional de cuenta
Algunas tiendas ofrecen crear cuenta durante el pago. Scripts de contraseña, duplicidad de email o username oculto pueden bloquear aunque el comprador no marque la opción.
Prueba con y sin la casilla. Revisa plantillas y extensiones de registro.
Los errores deben permanecer visibles y comprensibles también en móvil.
Repara la ruta demostrada
Corrige el ajuste, regla de caché, clasificación de cookie, callback de validación o mapeo hacia la pasarela. Publica el código en child theme o plugin mantenido, no dentro de WooCommerce.
Purga páginas y assets relevantes conservando las sesiones no relacionadas cuando sea posible.
Documenta la reversión y el motivo.
Verifica visitantes nuevos y recurrentes
Completa una compra como invitado desde un navegador nuevo y otra como cliente. Confirma un pedido y una transacción, impuestos, envío, stock, emails y página final.
Prueba además un email ya asociado a una cuenta, fallo de pago y corrección de validación. Ninguna ruta debe duplicar pedidos.
El mantenimiento recurrente debe incluir checkout anónimo programado, porque las cuentas del personal no pueden revelar problemas exclusivos de invitados.