Paiements
POST /payments
Initie un paiement mobile money entrant.
Idempotency-Key obligatoireToutes 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
| Champ | Type | Requis | Description |
|---|---|---|---|
amount | number | ✅ | Entier, sans décimale — min. 100, max. 100000000 |
currency | string | — | XOF par défaut |
operator | string | ✅ | Slug opérateur : WAVE_CI, MTN_CI, MOOV_CI, OM_CI |
customerPhone | string | ✅ | Numéro de téléphone du payeur |
customerName | string | — | Nom du payeur |
customerEmail | string | — | Email du payeur |
merchantRef | string | ✅ | Référence interne marchand |
otpCode | string | — | Code OTP, requis par certains opérateurs (ex. OM_CI) |
notifyUrl | string | — | URL webhook de notification |
successUrl | string | — | Redirection en cas de succès |
failedUrl | string | — | Redirection en cas d'échec |
description | string | — | Description de la transaction |
metadata | object | — | Donné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ètre | Type | Défaut | Description |
|---|---|---|---|
page | number | 1 | Page (1-based) |
limit | number | 20 | Éléments par page (max 100) |
status | string | — | Statut unique ou liste : pending,success |
type | string | — | Type 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 }
}
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.