3. Application et webhook

Le particulier dispose d'une application personnelle. Son identifiant est à envoyer dans l'en-tête X-Application-ID de tous les appels par clé API. Configurez ensuite l'adresse qui recevra les webhooks.

Récupérer son application personnelle

GET/applicationsJeton de session

Réponse 200
{
  "success": true,
  "data": {
    "items": [
      {
        "id": 1,
        "name": "Nom Prénom",
        "webhook_url": null,
        "has_webhook": false,
        "is_active": true,
        "created_at": "2026-11-02T08:00:00Z"
      }
    ],
    "pagination": {
      "...": "..."
    }
  },
  "meta": {
    "request_id": "...",
    "timestamp": "..."
  }
}
CodeQuand
401Jeton absent ou expiré.

Configurer le webhook (recommandé)

PATCH/applications/{id}Jeton de session

Renseigne l'adresse HTTPS de votre serveur qui recevra les notifications de changement de statut (voir l'annexe Webhooks).

Corps de la requête
{
  "webhook_url": "https://mon-site.cm/webhooks/kratospay"
}
Réponse 200
{
  "success": true,
  "data": {
    "id": 1,
    "webhook_url": "https://mon-site.cm/webhooks/kratospay",
    "has_webhook": true,
    "updated_at": "..."
  },
  "meta": {
    "request_id": "...",
    "timestamp": "..."
  }
}
CodeQuand
404Application introuvable.
422URL invalide.

Obtenir le secret de signature du webhook

POST/applications/{id}/webhook/rotate-secretJeton de session

Génère un secret de signature, affiché une seule fois. Il sert à vérifier que chaque webhook vient bien de Kratos Pay. Refaire l'appel invalide immédiatement l'ancien secret.

Réponse 200
{
  "success": true,
  "data": {
    "application": {
      "id": 1,
      "webhook_url": "https://mon-site.cm/webhooks/kratospay",
      "has_webhook": true
    },
    "webhook_secret": "whsec_<secret>"
  },
  "meta": {
    "request_id": "...",
    "timestamp": "..."
  }
}
CodeQuand
404Application introuvable.