Aller au contenu
ChadPay ZONE CEMAC
Menu
Spécification API REST v1 · Environnement Sandbox

Développeurs & Ingénierie

Un flux API explicite, du devis au suivi.

Explorez le contrat d’intégration public sans exposer de clé réelle ni supposer qu’un rail de production est actif. Conçu selon les conventions Spring Boot pour une intégration déterministe et traçable.

Pipeline transactionnel validé : 1. Requête HTTP 2. POST /v1/payment-quotes 3. Idempotency-Key 4. Traitement Sandbox 5. Réponse 201 JSON

Cycle déterministe

Créer, puis suivre le même paiement.

Les nouvelles intégrations suivent le devis serveur et transmettent son identifiant au paiement. Une clé d’idempotence représente la même instruction logique.

Authentification serveur-à-serveur

Utilisez votre clé secrète via l'en-tête Authorization: Bearer sec_test_... . Ne transmettez jamais une clé secrète dans du code client exécuté dans le navigateur.

Idempotence garantie

Renseignez l'en-tête Idempotency-Key pour identifier de manière unique l'intention transactionnelle. En cas de coupure réseau, la réémission rejoue la même réponse sans double débit.

Suivi par référence

Relisez l'état existant via GET /api/v1/payments/:id avant toute nouvelle tentative métier. Un délai réseau n'indique pas un échec de paiement.

Demander un accès Sandbox et la documentation d’intégration
payment-flow.sh CONTRAT CANONIQUE · XAF
# 1. Création du devis avec montant canonique
POST /api/v1/payment-quotes
Content-Type: application/json
Authorization: Bearer sec_test_...

{
  "amount": 2500,
  "currency": "XAF",
  "merchantReference": "ORDER-001"
}

# 2. Confirmation autoritaire liée au devis
POST /api/v1/payments
Idempotency-Key: order-001-attempt-1
Content-Type: application/json
Authorization: Bearer sec_test_...

{
  "quoteId": "pqt_01a148f9",
  "paymentMethod": "MOBILE_MONEY"
}
HTTP/1.1 201 Created quoteId: pqt_01a148f9 · status: quoted

Exemple illustratif conforme au backend Spring Boot. Les clés réelles s’obtiennent après provisionnement et sont strictement confidentielles.

NOTIFICATIONS ÉVÉNEMENTIELLES

Webhooks signés par HMAC-SHA256

Recevez les notifications de changement de statut en temps réel sur vos serveurs avec une garantie cryptographique d'authenticité et d'intégrité.

En-tête X-ChadPay-Signature Généré avec votre clé secrète de webhook dédiée pour valider l'expéditeur.
Horodatage anti-rejeu Les requêtes incluent un horodatage pour rejeter toute attaque par rejeu.
Tentatives avec retrait exponentiel En cas d'indisponibilité momentanée de votre endpoint, les livraisons sont réémises de manière progressive.
webhook-event.json PAYMENT.SUCCEEDED
{
  "eventId": "evt_01a1829e",
  "eventType": "payment.succeeded",
  "createdAt": "2026-10-22T09:16:30Z",
  "data": {
    "paymentId": "pay_01a1827b",
    "quoteId": "pqt_01a148f9",
    "amount": 2500,
    "currency": "XAF",
    "status": "succeeded",
    "merchantReference": "ORDER-001"
  }
}

Payload d'événement standardisé. Conforme aux spécifications webhook ChadPay.

Commencez dans un environnement de test.

Les identifiants sont fournis dans un parcours contrôlé. L’accès public ne crée pas automatiquement de compte marchand.

Demander un accès