Qué indica un 401 o un 403: el servicio externo ha llegado a una URL, pero alguna capa ha rechazado la petición. La respuesta puede venir de WordPress, de autenticación básica, del servidor web, del CDN, del WAF o de la propia validación de firma del webhook.
Localiza primero quién genera la respuesta
Guarda URL, método HTTP, código, cabeceras de respuesta y cuerpo devuelto. Las cabeceras y los logs del servidor suelen permitir separar un bloqueo del WAF de un rechazo de WordPress o de un secreto incorrecto.
No confundas autenticación con filtrado de tráfico
Si falta la cabecera de firma o el secreto no coincide, abrir el firewall no arreglará nada. Y si el WAF bloquea la petición antes de llegar a PHP, regenerar el secreto tampoco cambiará el 403.
Comprobaciones que aportan evidencia
- Verifica el endpoint exacto configurado en el proveedor.
- Comprueba secreto, algoritmo de firma y entorno activo.
- Revisa si el proxy conserva
Authorizationy las cabeceras de firma. - Consulta reglas de WAF, autenticación básica y mantenimiento solo para esa ruta.
Corrección segura según la causa
- Si el secreto es incorrecto, rótalo de forma deliberada en ambos extremos.
- Si el proxy elimina cabeceras, conserva únicamente las necesarias para el endpoint.
- Si es el WAF, crea una excepción mínima por ruta, método y comportamiento esperado.
- Reproduce un único evento firmado y comprueba el efecto final en WooCommerce.
Relaciona el 401/403 con el síntoma de negocio
Un 401 o 403 puede explicar que Stripe no actualice un pedido; tienes el flujo específico en webhook de Stripe que no actualiza el estado. Si el problema es PayPal, compáralo con pago de PayPal completado pero pedido sin actualizar.
Qué no debes abrir para “hacer que funcione”
No elimines la verificación de firma ni expongas el endpoint a cualquier petición solo para obtener un 200. La reparación correcta acepta eventos auténticos y sigue rechazando firmas inválidas y tráfico ajeno.
Verificación final
La incidencia está cerrada cuando un evento válido llega, devuelve éxito y modifica el pedido una sola vez, mientras que una petición no firmada o manipulada continúa rechazada y registrada.