Premier paiement
Initier un paiement
POST /api/v1/payments
Authorization: Bearer mbp_live_VOTRE_CLE_API
Content-Type: application/json
Idempotency-Key: 7f3a1c94-2b8e-4d61-9a05-1e2c3d4f5a6b
{
"amount": 5000,
"currency": "XOF",
"operator": "OM_CI",
"customerPhone": "+2250700000000",
"customerName": "Jean Dupont",
"merchantRef": "ORDER-12345",
"notifyUrl": "https://votre-site.com/webhooks/mabipay",
"successUrl": "https://votre-site.com/merci",
"failedUrl": "https://votre-site.com/erreur"
}
Réponse :
{
"reference": "PAY-3F2A9C7B4D1E8056A1B2C3D4E5F60718",
"status": "pending",
"amount": 5000,
"currency": "XOF",
"paymentUrl": null,
"checkoutUrl": "https://pay.dev.mabipay.com/pay/PAY-3F2A9C7B4D1E8056A1B2C3D4E5F60718"
}
Idempotency-Key obligatoireSans cet en-tête, l'API répond 422. Utilisez une valeur unique par requête (un UUID). Rejouer la même clé renvoie le résultat initial au lieu de créer un second paiement.
Quelle URL utiliser pour rediriger le client ?
Redirigez vos clients vers checkoutUrl : c'est la page de paiement hébergée par MabiPay, toujours présente.
paymentUrl est l'URL renvoyée par l'opérateur lorsqu'il en fournit une — elle peut valoir null selon l'opérateur. Ne construisez jamais votre redirection dessus sans repli.
Les références sont au format PAY- suivi de 32 caractères hexadécimaux majuscules.
Vérifier le statut
GET /api/v1/payments/PAY-3F2A9C7B4D1E8056A1B2C3D4E5F60718
Authorization: Bearer mbp_live_VOTRE_CLE_API
Statuts possibles
| Statut | Description |
|---|---|
pending | En attente de confirmation |
processing | En cours de traitement |
success | Paiement réussi |
failed | Échec du paiement |
expired | Délai expiré |
cancelled | Annulé |