Skip to main content
Toutes les routes nécessitent votre clé API secrète (Authorization: Bearer sk_...) ou une session dashboard. Un point de réception (webhook) appartient à votre marchand ; un abonnement (subscription) rattache ce point de réception à un type d’événement précis — un même webhook peut avoir plusieurs abonnements.

Catalogue d’events

Les events settlement.* sont en cours de fiabilisation côté plateforme — le contenu de data n’est pas garanti pour ces events précis pour le moment. Le catalogue reste correct, mais évitez de dépendre de la forme exacte de leur payload tant que ce point n’est pas stabilisé.

Format de l’enveloppe

Chaque event envoyé à votre URL partage la même structure :

data selon l’event

Créer et gérer vos webhooks

Le secret de signature (signing_secret) n’est jamais renvoyé en lecture après coup, y compris par Récupérer un point de réception — c’est un champ write-only. Si vous n’en fournissez pas un à la création, SasPay en génère automatiquement un pour vous, afin de garantir qu’il ne soit jamais vide (un secret vide rendrait la signature triviale à falsifier). Notez-le précieusement au moment de la création — ou lors d’une rotation, en envoyant un nouveau signing_secret via PATCH.

Sécurité — vérifier la signature

Chaque requête envoyée à votre URL inclut deux headers, en plus du corps JSON de l’event :
La signature est calculée côté serveur ainsi :
Vérifiez-la côté client sur le corps brut reçu, jamais sur une re-sérialisation de payload que vous reconstruiriez vous-même — l’ordre des clés, le formatage des nombres ou des dates peuvent différer et casser la comparaison bit à bit :

Historique de livraison

Chaque tentative de livraison (réussie, échouée, en cours de retry) est journalisée.
Pas de filtre disponible sur cette vue marchand — récupérez la liste et filtrez côté client (la vue admin, elle, dispose de filtres).

Fiabilité

  • 5 tentatives par event : immédiat, puis +30s, +5min, +30min, +2h.
  • Timeout de 15s par tentative.
  • Après épuisement des 5 tentatives, la livraison passe en statut FAILED définitif — seul un renvoi manuel peut la relancer, elle n’est plus retentée automatiquement.
Un abonnement ne peut être créé qu’une seule fois par couple (webhook, event_type). Retenter d’abonner le même webhook au même event_type renvoie aujourd’hui une erreur serveur générique plutôt qu’un message dédié — vérifiez la liste de vos abonnements existants avant d’en créer un nouveau.