Webhooks

Webhooks

CaurisPay notifie votre callbackUrl à chaque changement de statut d'une demande de paiement. Chaque requête est signée, vérifiez toujours la signature avant de traiter l'événement.

Format général

Toutes les requêtes webhook suivent le même format : un event et un objet data contenant le token de la demande concernée.

POST {votre callbackUrl}
{
  "event": "payment_request.paid",
  "data": {
    "token": "CAURISPAY-PAYMENT-20260705T113416274Z-161"
  }
}

À savoir

Le webhook ne contient que le token — pour connaître le montant, la devise ou le détail complet de la demande, appelez Consulter le statut avec ce token.

Événements disponibles

payment_request.notifiedEnvoyé immédiatement après la création, dès que la notification part au payeur
{
  "event": "payment_request.notified",
  "data": {
    "token": "CAURISPAY-PAYMENT-20260705T113416274Z-161"
  }
}
payment_request.paidLe payeur a confirmé avec son code PIN, le transfert est exécuté
{
  "event": "payment_request.paid",
  "data": {
    "token": "CAURISPAY-PAYMENT-20260705T113416274Z-161"
  }
}
payment_request.rejectedLe payeur a explicitement refusé la demande
{
  "event": "payment_request.rejected",
  "data": {
    "token": "CAURISPAY-PAYMENT-20260705T113416274Z-161"
  }
}
payment_request.expiredLe délai de 5 minutes a été dépassé sans réponse du payeur
{
  "event": "payment_request.expired",
  "data": {
    "token": "CAURISPAY-PAYMENT-20260705T113416274Z-161"
  }
}
payment_request.cancelledVous avez annulé la demande via l'endpoint DELETE
{
  "event": "payment_request.cancelled",
  "data": {
    "token": "CAURISPAY-PAYMENT-20260705T113416274Z-161"
  }
}

Attention

Répondez toujours 200 rapidement, même si le traitement métier prend du temps — faites-le en asynchrone après avoir répondu.

Étape suivante

Apprenez à vérifier la signature de chaque webhook reçu.