El punto crítico: PayPal puede mostrar una transacción completada mientras WooCommerce mantiene el pedido pendiente o en espera. Ocurre cuando el callback no llega, está configurado para otro dominio, es rechazado o no consigue relacionarse con el pedido correcto.
Comprueba la transacción antes de cambiar el estado
Recoge ID de transacción, cuenta receptora, importe, moneda, ID de pedido y marca de tiempo. Esa información es la base para decidir si el pedido puede conciliarse con seguridad.
La señal que diferencia callback y configuración
Si PayPal muestra intentos de entrega con errores HTTP, investiga la ruta de callback. Si el mensaje llega correctamente pero se rechaza por receptor, moneda o modo, el problema es de configuración o validación, no de conectividad.
Datos que merece la pena revisar
- Historial de webhooks/IPN o callbacks y códigos de respuesta.
- Entorno live/sandbox y cuenta de negocio configurada.
- Notas del pedido y logs de la pasarela en WooCommerce.
- Prefijos o migraciones que puedan impedir localizar el pedido.
Causas habituales
- Callback bloqueado: firewall, mantenimiento o autenticación básica impiden llegar a WordPress.
- Cuenta receptora incorrecta: el pago ha ido a una dirección distinta de la configurada.
- Modo mezclado: credenciales o endpoints sandbox y live no coinciden.
- Pedido no localizado: la referencia recibida no encuentra el pedido esperado.
Cómo reparar sin perder trazabilidad
- Restaura la ruta de callback manteniendo la verificación de autenticidad.
- Corrige cuenta receptora y modo si no coinciden.
- Concilia una por una las transacciones históricas antes de editar pedidos.
- Haz una prueba completa de pago y reembolso.
Conecta el síntoma con otros errores
Si el callback devuelve 401/403, utiliza la guía de autenticación y firewall para webhooks. Si PayPal confirma el cobro pero WooCommerce muestra un pedido fallido o pendiente, aplica el proceso de conciliación del pago con el pedido.
Verificación final
La reparación es fiable cuando PayPal y WooCommerce comparten la misma transacción, importe y moneda; los pedidos nuevos se actualizan sin intervención manual; y callbacks falsos o no relacionables siguen bloqueados y registrados.