Démarrage rapide
Créez votre premier paiement de bout en bout. À la fin de cette page, vous aurez envoyé une transaction en sandbox et reçu son statut final sur votre serveur.
Prerequisites
- Un compte PayRouter avec un profil marchand complété (inscription).
- Un jeton API — générez-en un dans Profil → Clés API (comment faire).
- L'URL de base :
https://payrouter.io(production) ouhttp://127.0.0.1:8000(local).
1. S'authentifier
Chaque requête authentifiée transporte votre jeton dans l'en-tête Authorization :
Authorization: Bearer <your-token>
Vérifiez que votre jeton fonctionne en récupérant votre profil :
curl https://payrouter.io/api/auth/me/ \
-H "Authorization: Bearer $PAYROUTER_TOKEN"
Un 200 avec le JSON de votre compte signifie que vous êtes prêt. Un 401 signifie que le jeton est
absent, mal formé ou révoqué — voir Dépannage.
2. Créer une transaction
Envoyez une requête de paiement. Votre identité est dérivée du jeton — vous ne transmettez jamais
votre identifiant de marchand ou d'utilisateur. Vous fournissez la devise et le service par leurs
codes (p. ex. "CDF", "Vodacom"), pas par des UUID.
curl -X POST https://payrouter.io/api/payments/transaction/ \
-H "Authorization: Bearer $PAYROUTER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"merchant_reference": "INV-2026-0001",
"amount": "100.00",
"currency": "CDF",
"service": "Vodacom",
"customer_number": "0810000000",
"operation": "debit",
"callback_url": "https://your-app.com/payments/webhook"
}'
Un appel réussi renvoie 201 avec la transaction créée, y compris
la reference canonique de PayRouter et le fournisseur résolu :
{
"reference": "9F3A1C2D4E5B6A7C8D9E0F1A2B3C4D5E",
"merchant_reference": "INV-2026-0001",
"transaction_status": "Received",
"transaction_status_code": "200000",
"amount": "100.00",
"currency_abbr": "CDF",
"service_name": "Vodacom",
"provider_code_name": "freshpay",
"operation": "debit",
"customer_number": "0810000000",
"callback_url": "https://your-app.com/payments/webhook",
"created_at": "2026-06-27T10:21:00Z"
}
Note
Conservez la reference — c'est l'identifiant permanent de ce paiement chez PayRouter et la
clé que vous utiliserez pour le retrouver et pour faire correspondre les webhooks entrants.
3. Recevoir le résultat
L'argent ne circule jamais de façon synchrone. PayRouter sollicite le paiement auprès du
fournisseur, puis envoie en POST le statut final à votre callback_url :
{
"reference": "9F3A1C2D4E5B6A7C8D9E0F1A2B3C4D5E",
"merchant_reference": "INV-2026-0001",
"transaction_status": "Success",
"amount": "100.00",
"currency": "CDF",
"customer_number": "0810000000",
"provider_reference": "FP-558213007"
}
Répondez 200 OK. Traitez les webhooks comme idempotents (vous pouvez en recevoir plus d'une
fois) et basez votre traitement sur la reference. Tous les détails — y compris comment
vérifier et que faire si vous n'avez pas encore de point de terminaison public — se trouvent dans
Webhooks.
4. Vérifier le statut vous-même
Vous pouvez toujours interroger le statut faisant autorité :
curl https://payrouter.io/api/payments/transaction/9F3A1C2D4E5B6A7C8D9E0F1A2B3C4D5E/ \
-H "Authorization: Bearer $PAYROUTER_TOKEN"
Étapes suivantes
- Comprendre l'objet paiement complet → Transactions
- Renforcer votre gestionnaire de webhook → Webhooks
- Tester les cas limites en toute sécurité → Tests (Sandbox)
- Passer en production → Passage en production