Preguntas frecuentes
¿Por qué no coincide la firma de mi webhook?
En 9 de cada 10 casos el código firma un objeto JSON re-serializado en lugar del cuerpo original de la petición. Los frameworks parsean el JSON y, al volver a convertirlo en texto, cambian los espacios, el orden de las claves y el escapado. Calcula siempre el HMAC sobre los bytes originales recibidos. Otras causas: secreto equivocado (test o live), hex en vez de base64, un prefijo con timestamp (Stripe firma timestamp.body) o comparar hex en mayúsculas con minúsculas.
¿Qué hace «Find why it doesn't match»?
Prueba cientos de combinaciones —algoritmos (SHA-1/256/384/512), codificaciones del secreto (texto, hex, base64, Svix whsec_), variantes del cuerpo (minificado, formateado, claves ordenadas, salto de línea final, estilos JSON de PHP/Python, prefijos con timestamp) y formatos de salida— y te dice cuál usó el proveedor.
¿Es seguro pegar mi secreto?
Toda la firma se hace localmente con la Web Crypto API; el secreto nunca sale de tu navegador. El botón de IA solo envía el nombre del proveedor, los ajustes y una muestra del cuerpo, nunca el secreto. Aun así, usa preferiblemente secretos del entorno de pruebas.