Signature
Chaque livraison porte deux headers et un body signé :Signature est HMAC-SHA256(secret, rawBody) et le timestamp est lu dans le body signé (champ timestamp) pour bloquer les replays. Toujours vérifier la signature avant de traiter, par exemple avec le SDK :
Événements
Quelques événements parmi les plus courants :
Le catalogue complet (chaque type, sa condition de déclenchement et son payload) est sur la page Événements webhook.
Retry policy
Critères d’échec : réponse non-2xx ou erreur de transport (timeout 10s, connexion refusée) ; les 3xx sont suivis automatiquement. Après 5 échecs consécutifs : endpoint désactivé, email au propriétaire, livraisons suspendues jusqu’à réactivation manuelle.
Idempotence côté receveur
IzichangePay peut livrer le même événement plusieurs fois (network split, retry après un timeout côté votre serveur). Votre handler doit être idempotent :Acquittement
Répondez200-299 pour acquitter. Tout autre statut OU timeout → retry.
Acquittez rapidement (< 5 secondes). Si votre handler est lent (envoi d’emails, mise à jour de stocks externes), faites-le en async :
Debug
Dashboard → Développeurs → Webhooks → Historique de livraison : chaque tentative est tracée avec :- Code HTTP retourné
- Body de votre réponse (5000 premiers chars)
- Headers de votre réponse
- Durée
- Erreur réseau le cas échéant