curl --request POST \
--url https://guichet.apidjonanko.tech/v1/cashin \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'x-api-key: <api-key>' \
--header 'x-api-secret: <api-key>' \
--data '
{
"amount": 5000,
"country": "CI",
"operator": "ORANGE",
"payerPhone": "0701020304"
}
'{
"operation": {
"reference": "GUI-CI-20261001-7K2M9QX4",
"type": "CASHIN",
"status": "CREATED",
"amount": 5000,
"fees": 100,
"netAmount": 4900,
"currency": "XOF",
"country": "CI",
"operator": "ORANGE",
"counterparty": {
"phoneNumber": "+2250701020304",
"name": "Aya Koné"
},
"externalReference": "CMD-2026-00184",
"description": "Commande 184",
"payerActionUrl": "https://pay.example.com/s/abc123",
"requiresPayerAction": true,
"failure": {
"code": "OPERATOR_INSUFFICIENT_FUNDS",
"message": "Le solde du compte mobile money du payeur est insuffisant."
},
"metadata": {},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"completedAt": "2023-11-07T05:31:56Z",
"expiresAt": "2023-11-07T05:31:56Z"
}
}Encaisser un paiement
Débite le compte mobile money du payeur et crédite votre portefeuille du montant net une fois l’encaissement confirmé.
Deux comportements selon l’opérateur :
| Opérateurs | Statut renvoyé | Ce que vous avez à faire |
|---|---|---|
| MTN, Moov | PENDING | Rien. Le payeur reçoit une demande de validation sur son téléphone. Attendez la notification. |
| Orange, Wave, Djamo | AWAITING_PAYER | Envoyer votre client sur payerActionUrl. Sans cela l’encaissement n’aboutira jamais. |
L’issue définitive arrive par notification (cashin.succeeded /
cashin.failed). Une opération sans issue au bout de 30 minutes passe en
EXPIRED.
curl --request POST \
--url https://guichet.apidjonanko.tech/v1/cashin \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'x-api-key: <api-key>' \
--header 'x-api-secret: <api-key>' \
--data '
{
"amount": 5000,
"country": "CI",
"operator": "ORANGE",
"payerPhone": "0701020304"
}
'{
"operation": {
"reference": "GUI-CI-20261001-7K2M9QX4",
"type": "CASHIN",
"status": "CREATED",
"amount": 5000,
"fees": 100,
"netAmount": 4900,
"currency": "XOF",
"country": "CI",
"operator": "ORANGE",
"counterparty": {
"phoneNumber": "+2250701020304",
"name": "Aya Koné"
},
"externalReference": "CMD-2026-00184",
"description": "Commande 184",
"payerActionUrl": "https://pay.example.com/s/abc123",
"requiresPayerAction": true,
"failure": {
"code": "OPERATOR_INSUFFICIENT_FUNDS",
"message": "Le solde du compte mobile money du payeur est insuffisant."
},
"metadata": {},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"completedAt": "2023-11-07T05:31:56Z",
"expiresAt": "2023-11-07T05:31:56Z"
}
}Authorizations
Votre clé publique, préfixée gk_live_ (ou gk_test_).
Votre secret, préfixé gs_live_ (ou gs_test_). Affiché une seule fois, à l'émission de la clé. Il ne doit jamais quitter vos serveurs.
Headers
Clé unique de votre côté, propre à cette intention d'opération. Un second appel portant la même clé et le même corps renvoie la réponse initiale sans rien réexécuter. 120 caractères maximum, conservée 24 heures.
120"cmd-184-tentative-1"
Identifiant de corrélation de votre choix. Repris tel quel dans la réponse et dans nos journaux. À défaut, nous en générons un.
200Body
Montant à encaisser, en unités entières. Aucune décimale.
x >= 15000
Pays, en ISO 3166-1 alpha-2.
CI, BF, ML, SN, TG, BJ, NE, CM, GN "CI"
Opérateur mobile money. Tous ne sont pas disponibles dans tous les pays — voir le guide « Pays et opérateurs ».
ORANGE, MTN, MOOV, WAVE, DJAMO "ORANGE"
Numéro du payeur. Format national ou international, avec ou sans espaces — il est normalisé en E.164.
24"0701020304"
160"Aya Koné"
Votre identifiant d'opération. Unique sur votre compte : une seconde opération portant la même valeur est refusée en 409. C'est votre garde-fou contre le double encaissement.
120"CMD-2026-00184"
200"Commande 184"
URL de notification propre à cette opération. À défaut, celle de votre compte est utilisée. HTTPS obligatoire.
Où renvoyer le payeur après un paiement réussi, quand une redirection est nécessaire.
Où renvoyer le payeur en cas d'échec.
Données libres, restituées telles quelles dans les notifications.
{ "cartId": "c_8891" }
Response
Rejeu idempotent : cette Idempotency-Key a déjà été traitée, la réponse initiale est renvoyée sans rien réexécuter.
Représentation d'une opération. C'est la forme renvoyée par les endpoints de création, de consultation, et dans le corps des notifications.
Show child attributes
Show child attributes
