Plateforme
Compatibilité v1
Les intégrations existantes continuent de fonctionner.
Si vous êtes déjà intégré à la v1, vous n'avez rien à changer : les mêmes adresses, en-têtes merchant-key et app-key, et les mêmes formats restent acceptés.
| Méthode | Adresse | Description |
|---|---|---|
POST | /v1/payment/init | Page de paiement. |
POST | /v1/payment/payin/mobile | Paiement mobile money direct. |
POST | /v1/payment/payout/mobile | Transfert mobile money. |
GET | /v1/payment/status/{reference} | Statut d'une transaction. |
POST | /v1/iban/customers | Créer un client IBAN (name, email, address, webhook_url, type). |
POST | /v1/iban/customers/kyc | Nouveau lien de vérification d'identité (customer_id). |
POST | /v1/iban/customers/balance | Le compte et son solde (customer_id). |
Raison d'un échec
Les réponses de /v1/payment/status/{reference}, /v1/payment/payin/mobile, /v1/payment/payout/mobile et /v1/payment/init, ainsi que les notifications envoyées à votre notify_url, portent deux champs :
| Champ | Type | Description |
|---|---|---|
failure_code | string|null | Code stable de l'échec (provider_declined, provider_failed, amount_mismatch, expired…). null tant que rien n'a échoué. |
failure_reason | string|null | La raison telle que l'opérateur ou la banque l'a donnée, à montrer à votre client. |
{
"error": false,
"reference": "PAY3P3BEJ6L6DAWXW6E4U99",
"gateway_reference": "QodSHHJVOlp6",
"amount": "24808",
"fee": "744",
"currency": "XOF",
"status": "failed",
"date": "2026-10-12 15:09:54",
"customer": {
"name": "Awa Diop"
},
"failure_code": "provider_failed",
"failure_reason": "Paiement refusé par la banque"
}Ces champs s'ajoutent aux formats existants : rien ne change pour une intégration qui ne les lit pas.
Pourquoi passer à la v2
- Notifications signées, que vous pouvez authentifier.
- Clés d'API révocables, séparées entre test et production.
- Idempotence, pour relancer une requête sans doublon.
- Choix du prestataire par opérateur.
En v1 les montants sont en unités principales (500 = 500 FCFA) ; en v2 ils sont dans la plus petite unité. Pour le XAF et le XOF, les deux coïncident.