Aller au contenu principal

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 obligatoire

Sans 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

StatutDescription
pendingEn attente de confirmation
processingEn cours de traitement
successPaiement réussi
failedÉchec du paiement
expiredDélai expiré
cancelledAnnulé