Aller au contenu principal

Paiements

POST /payments

Initie un paiement mobile money entrant.

En-tête Idempotency-Key obligatoire

Toutes les routes mutatives (POST /payments, POST /payouts, POST /payments/:reference/refunds) exigent un en-tête Idempotency-Key unique par requête. Sans lui, l'API répond 422 Unprocessable Entity.

Rejouer une requête avec la même clé renvoie le résultat initial au lieu de créer un doublon — c'est le mécanisme de protection contre les doubles débits.

Idempotency-Key: 7f3a1c94-2b8e-4d61-9a05-1e2c3d4f5a6b

Le SDK JavaScript en génère un automatiquement à chaque appel ; fournissez le vôtre via { idempotencyKey } si vous voulez rejouer une requête.

Corps de la requête

ChampTypeRequisDescription
amountnumberEntier, sans décimale — min. 100, max. 100000000
currencystringXOF par défaut
operatorstringSlug opérateur : WAVE_CI, MTN_CI, MOOV_CI, OM_CI
customerPhonestringNuméro de téléphone du payeur
customerNamestringNom du payeur
customerEmailstringEmail du payeur
merchantRefstringRéférence interne marchand
otpCodestringCode OTP, requis par certains opérateurs (ex. OM_CI)
notifyUrlstringURL webhook de notification
successUrlstringRedirection en cas de succès
failedUrlstringRedirection en cas d'échec
descriptionstringDescription de la transaction
metadataobjectDonnées libres

GET /payments/:reference

Récupère le statut d'un paiement par sa référence.

GET /transactions

Liste paginée des transactions du marchand authentifié.

Paramètres de requête

ParamètreTypeDéfautDescription
pagenumber1Page (1-based)
limitnumber20Éléments par page (max 100)
statusstringStatut unique ou liste : pending,success
typestringType unique ou liste : payment,payout,refund

Réponse

{
"data": [
{
"reference": "PAY-3F2A9C7B4D1E8056A1B2C3D4E5F60718",
"merchantRef": "ORDER-12345",
"amount": "5000",
"currency": "XOF",
"status": "success",
"type": "payment",
"operator": { "name": "Orange Money", "slug": "OM_CI" }
}
],
"meta": { "total": 42, "page": 1, "limit": 20, "totalPages": 3 }
}
Périmètre

Les résultats sont restreints au marchand et à l'environnement de la clé API utilisée : une clé sandbox n'expose jamais les transactions de production.