Prioridad número uno: si la página de “Pedido recibido” falla después del pago, primero hay que saber si el cobro y el pedido existen. Un 404, una pantalla en blanco o un bucle de redirección puede hacer creer al cliente que debe pagar otra vez cuando la transacción ya se ha completado.
Separa conciliación financiera y error de página
Comprueba ID de pedido, clave del pedido, transacción de la pasarela y URL final. Si el pago es correcto, no lo vuelvas a ejecutar: repara después el endpoint, la sesión o el renderizado.
Qué comprobar en la URL de confirmación
- Que la ruta
order-receivedresuelva correctamente. - Que la clave del pedido y las cookies sobrevivan a las redirecciones.
- Que el CDN no esté cacheando una respuesta privada.
- Que no exista un fatal del tema o de un plugin durante el renderizado.
Cuatro diagnósticos distintos
- Rewrite roto: el endpoint no resuelve o termina en 404.
- Sesión o clave perdida: el pedido existe pero desaparece el contexto de acceso.
- Error PHP: la ruta es correcta y falla la plantilla o un hook.
- Caché privada: el CDN sirve una respuesta que no corresponde a la sesión actual.
Orden de reparación
- Concilia el pago antes de repetir ningún checkout.
- Repara rewrites, redirecciones canónicas o el error PHP concreto.
- Excluye checkout, cuenta y confirmaciones de la caché de página completa.
- Prueba compras de invitado, usuario autenticado y pago fallido.
Si el problema parece de pago
Cuando el pedido queda fallido aunque el cobro exista, revisa la conciliación entre pago completado y pedido fallido. Si todo parece correcto pero el stock no baja, el problema ya pertenece a otro flujo: stock que no se reduce después del pago.
Qué no debes debilitar
No elimines la validación de la clave del pedido para “hacer visible” la página. Eso puede exponer datos de otros pedidos y convertir una incidencia de routing en un problema de seguridad.
Cómo demostrar que está resuelto
La confirmación debe cargar para el contexto autorizado, el estado del pago y del pedido debe coincidir, y refrescar la página no debe crear un nuevo cargo ni un nuevo pedido.