Passer au contenu principal
Quand un paiement atteint son statut final, nous envoyons (POST) un événement à la webhook_url du paiement, ou à défaut à celle de son service.

Contenu

data est le même objet que GET /collections/{code}.

En-têtes

Vérifier la signature

La signature est un HMAC-SHA256 de "<timestamp>.<raw body>" avec le webhook_secret du service. Vérifiez-la toujours, sur le corps brut, avant de faire confiance à l’événement.

Répondre vite, traiter une seule fois

  • Répondez 2xx en moins de 15 secondes, puis faites le travail long en arrière-plan.
  • Traitez chaque événement une seule fois : enregistrez l’id de l’événement (aussi dans X-KemyCard-Idempotency-Key) et ignorez-le si vous le revoyez.
  • Toute autre réponse, ou un délai dépassé, déclenche une relance : tout de suite, puis après 1 minute, 5 minutes, 30 minutes, 2 heures, 8 heures et 24 heures. Ensuite, l’événement est abandonné : vous pouvez toujours lire le paiement avec GET /collections/{code}.
Vous avez perdu votre secret ? Renouvelez-le : l’ancien cesse aussitôt de fonctionner, donc mettez d’abord votre serveur à jour.