📖 Documentation API v2
API REST compatible avec la structure CinetPay : mêmes conventions (apikey, site_id, transaction_id, code réponse 201/00).
POST /v2/payment
Initie un paiement. Corps JSON :
{
"apikey": "VOTRE_API_KEY",
"site_id": "VOTRE_SITE_ID",
"transaction_id": "CMD-202609-0042",
"amount": 15000,
"currency": "XOF",
"description": "Commande #42",
"channels": "ALL | WAVE_CI | ORANGE_MONEY_CI | MTN_MONEY_CI | MOOV_MONEY_CI",
"customer_phone_number": "0708091011",
"notify_url": "https://votre-site.tld/webhook",
"return_url": "https://votre-site.tld/merci"
}Réponse 201 :
{
"code": "201",
"message": "CREATED",
"data": {
"payment_token": "…",
"payment_url": "https://checkout.yamomarket-pay.ci/?token=…"
}
}POST /v2/payment/check
Vérifie le statut d'une transaction. Réponse 00 :
{
"code": "00",
"message": "SUCCES",
"data": { "transaction_id": "…", "status": "ACCEPTED | PENDING | REFUSED" }
}POST /v2/webhook (votre notify_url)
Notification serveur → serveur signée HMAC-SHA256 (en-tête x-token).
C'est ici — et jamais côté navigateur — que vous créditez la commande :
{
"data": {
"transaction_id": "CMD-202609-0042",
"status": "ACCEPTED",
"payment_token": "…",
"amount": 15000,
"currency": "XOF"
}
}Codes de canaux
| Canal | Opérateur | USSD |
|---|---|---|
WAVE_CI | 🌊 Wave | App / QR |
ORANGE_MONEY_CI | 🟠 Orange Money | #144# |
MTN_MONEY_CI | 🟡 MTN MoMo | *133# |
MOOV_MONEY_CI | 🔵 Moov Money | *155# |
Codes de réponse
| Code | Signification |
|---|---|
201 | Paiement créé (rediriger vers payment_url) |
00 | Requête de vérification réussie |
401 | Identifiants invalides (apikey / site_id) |
609 | Transaction introuvable |
403 | Signature webhook invalide |