Webhooks

Notifications Temps réel

Recevez des notifications instantanées pour chaque événement important. Sécurisé, fiable et facile à intégrer.

Temps réel

Notifications envoyées en moins de 1 seconde après l\

Signature HMAC

Chaque webhook est signé pour garantir son authenticité.

Retry automatique

Jusqu'à 5 tentatives en cas d'échec avec backoff exponentiel.

Événements disponibles

Paiements

payment.createdUn paiement a été initié
payment.succeededUn paiement a réussi
payment.failedUn paiement a échoué

Remboursements

refund.createdUn remboursement a été initié
refund.succeededUn remboursement a réussi

Abonnements

subscription.createdUn abonnement a été créé
subscription.renewedUn abonnement a été créé
subscription.cancelledUn abonnement a été créé

Transferts

payout.createdUn transfert a été initié
payout.succeededUn transfert a réussi

Structure d'un webhook

Chaque webhook envoyé contient les informations suivantes:

{
  "id": "evt_abc123",
  "type": "payment.succeeded",
  "created_at": "2024-03-15T10:30:00Z",
  "data": {
    "id": "pay_xyz789",
    "object": "payment",
    "amount": 25000,
    "currency": "XOF",
    "status": "succeeded",
    "provider": "orange_money"
  }
}

Sécurité

Chaque webhook est signé avec votre secret webhook. Vérifiez toujours la signature avant de traiter les données.

Header de signature

X-Simiz-Signature: sha256=abc123...

Vérification (Node.js)

import crypto from 'crypto';

function verifyWebhook(payload: string, signature: string, secret: string): boolean {
  const expectedSignature = crypto
    .createHmac('sha256', secret)
    .update(payload)
    .digest('hex');

  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expectedSignature)
  );
}

Politique de retry

Si votre endpoint ne répond pas avec un code 2xx, nous réessayons automatiquement:

#1

Immédiat

#2

5 min

#3

30 min

#4

2 heures

#5

24 heures

Répondez rapidement

Votre endpoint doit répondre en moins de 30 secondes. Traitez les webhooks de manière asynchrone si nécessaire.

Prêt à recevoir des webhooks ?

Configurez vos endpoints dans votre dashboard et commencez à recevoir des notifications.