PesaBridge
Docs/Premiers pas/Démarrage rapide : votre premier paiement

Premiers pas

Démarrage rapide : votre premier paiement

Obtenez un jeton, envoyez une demande de paiement sur un téléphone et recevez le résultat signé sur votre serveur, le tout avec des clés de bac à sable.

5 min de lecture

Sur cette page
  1. Avant de commencer
  2. 1. Obtenir un jeton d'accès
  3. 2. Indiquer où envoyer les résultats
  4. 3. Envoyer une demande de paiement
  5. 4. Recevoir le résultat
  6. 5. Ou vérifier le statut vous-même
  7. Étapes suivantes

Avant de commencer

Créez un compte développeur gratuit sur pesa-bridge.com/developer/signup. Vous recevez aussitôt deux jeux de clés : pk_test_… / sk_test_… pour le bac à sable et pk_… / sk_… pour la production. La clé avec laquelle vous vous authentifiez détermine le mode : le trafic de test ne touche donc jamais à de l'argent réel.

Tous les appels de ce guide utilisent une seule URL de base :

URL de base
https://pesa-bridge.com/api/bridgepay/v1

1. Obtenir un jeton d'accès

Échangez votre paire de clés contre un jeton Bearer. Les jetons durent une heure ; demandez-en un nouveau avant la fin de expires_in.

Requête
curl -s https://pesa-bridge.com/api/bridgepay/v1/oauth/token \
  -H "Content-Type: application/json" \
  -d '{"client_id":"pk_test_…","client_secret":"sk_test_…"}'
Réponse
{
  "access_token": "at_9f3…",
  "token_type": "Bearer",
  "expires_in": 3600,
  "mode": "test",
  "sandbox": true
}

2. Indiquer où envoyer les résultats

Le paiement se termine sur le téléphone du client : le résultat vous parvient donc par webhook. Enregistrez un point de terminaison une seule fois ; la réponse contient un secret de signature affiché une seule fois. Conservez-le : il sert à vérifier chaque livraison.

Shell
curl -s https://pesa-bridge.com/api/bridgepay/v1/partner/webhooks/endpoints \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"name":"Orders","url":"https://your-app.com/webhook","events":"*","mode":"test"}'
Pas encore de serveur public ? Utilisez le récepteur intégré PesaBridge Echo : GET /partner/echo/url renvoie une URL qui capture les livraisons et vérifie leurs signatures, et vous pouvez les consulter dans la console développeur.

3. Envoyer une demande de paiement

Envoyez le numéro du client au format international et le montant. Ajoutez votre propre reference pour rapprocher le résultat de votre commande, et une clé idem pour qu'une nouvelle tentative après un délai dépassé ne débite jamais deux fois.

Requête
curl -s https://pesa-bridge.com/api/bridgepay/v1/partner/stk \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"payer_msisdn":"254708374149","amount":250,"reference":"INV-1001","idem":"inv-1001-1"}'
Réponse
{
  "charge_ref": "STK0000123",
  "state": "pending",
  "amount": 250.0,
  "expiry": "2026-09-27T12:05:00Z"
}

Le client approuve sur son propre téléphone avec son code PIN. Vous ne le voyez jamais et ne le manipulez jamais.

4. Recevoir le résultat

Lorsque le débit est finalisé, nous envoyons par POST un événement signé à votre point de terminaison :

HTTP
POST /webhook
X-PesaBridge-Event: charge.completed
X-PesaBridge-Signature: …e9 (hex HMAC-SHA256 of the raw body)

{
  "event": "charge.completed",
  "charge_ref": "STK0000123",
  "reference": "INV-1001",
  "amount": 250.0,
  "currency": "KES",
  "payer": "254708374149",
  "state": "completed",
  "transaction": "PB7H2K9Qmn"
}

Vérifiez la signature, marquez la commande comme payée et répondez par n'importe quel code 2xx. Voir Webhooks pour du code de vérification dans plusieurs langages.

5. Ou vérifier le statut vous-même

Les webhooks font foi, mais vous pouvez toujours interroger l'API :

Shell
curl -s "https://pesa-bridge.com/api/bridgepay/v1/partner/status?charge_ref=STK0000123" -H "Authorization: Bearer $TOKEN"
JSON
{ "charge_ref": "STK0000123", "state": "completed", "transaction": "PB7H2K9Qmn" }

Étapes suivantes

Nos ingénieurs répondent aux questions d'intégration. Envoyez-nous la référence de la requête et nous retrouverons l'appel exact.

Contacter le support