Skip to main content
Votre compte possède un seul portefeuille. Les encaissements le créditent, les transferts le débitent. Il n’y a pas de compte de collecte distinct d’un compte de décaissement : vous n’avez donc rien à provisionner en double, ni à virer d’un compte à l’autre.

Les trois montants

C’est available qui détermine ce que vous pouvez engager, pas balance. Un transfert dont le total dépasse available est refusé en 402 INSUFFICIENT_BALANCE, même si balance paraît suffisant.

L’immobilisation, étape par étape

Prenons un portefeuille à 100 000 XOF et un transfert de 25 000 XOF, soit 500 XOF de commission à 2 %.
1

Avant la demande

2

Transfert accepté — le montant et la commission sont immobilisés

Deux écritures apparaissent au relevé : CASHOUT_HOLD.
3

Transfert exécuté — l'immobilisation devient un débit

Trois écritures : CASHOUT_RELEASE, CASHOUT_DEBIT (25 000), CASHOUT_FEE (500).
4

…ou transfert échoué — l'immobilisation est levée

Une écriture : CASHOUT_RELEASE. Rien n’a été débité.
C’est ce mécanisme qui vous empêche d’engager deux fois le même solde. Sans lui, deux transferts lancés simultanément pour la totalité de votre solde seraient tous les deux acceptés.
Sur un encaissement, il n’y a pas d’immobilisation : le crédit arrive d’un coup, à la confirmation.

Statut du portefeuille

Un portefeuille FROZEN renvoie 403 WALLET_FROZEN sur les transferts. Contactez votre référent Djonanko.

Relevé de mouvements

Le relevé est en ajout seul : une ligne posée n’est jamais modifiée. Une correction prend la forme d’une écriture inverse (REVERSAL_CREDIT ou REVERSAL_DEBIT), de sorte que l’historique reste lisible. Chaque ligne porte balanceAfter, le solde juste après l’écriture : vous pouvez rapprocher ligne à ligne avec votre comptabilité, sans rejouer toute la série.
Triez sur sequence, pas sur createdAt. Plusieurs écritures d’un même mouvement partagent l’horodatage à la milliseconde près ; sequence est strictement croissant et donne l’ordre réel du relevé.

Les natures d’écriture

Isoler les mouvements d’une opération

Pratique pour un litige : vous obtenez les trois ou quatre écritures d’un transfert, dans l’ordre, avec les soldes intermédiaires.

Commission

La commission Djonanko se calcule ainsi :
  • bps : taux en points de base. 200 vaut 2 %, 150 vaut 1,5 %.
  • flat : part fixe, en unités entières de la devise. 0 par défaut.
  • L’arrondi est au plus proche, sur l’entier.

Barème par défaut

Sans tarif négocié, le barème est de 2 % dans les deux sens :

Où elle s’applique

La commission ne s’applique pas du même côté selon le sens de l’opération :
La commission est retenue sur le montant encaissé. Votre client paie le montant plein, vous êtes crédité du net.Pour un encaissement de 5 000 XOF :
Deux écritures au relevé : CASHIN_CREDIT (5 000) puis CASHIN_FEE (100).
Si vous voulez encaisser un montant net précis, calculez le montant brut à demander : pour recevoir 5 000 XOF nets à 2 %, demandez arrondi(5 000 / 0,98) = 5 102 XOF.

La commission est figée à la création

operation.fees est calculé une fois, à la création de l’opération, et stocké sur celle-ci. Une renégociation tarifaire ne modifie donc jamais la commission d’opérations déjà passées : vos relevés déjà émis restent exacts, et un rapprochement comptable sur un exercice clos reste reproductible.

Consulter votre barème

Lisez votre barème depuis cet endpoint plutôt que de le coder en dur. Si un taux négocié vous est appliqué, votre calcul reste juste sans redéploiement.
Le barème et les plafonds ne sont pas modifiables par l’API : ils sont contractuels. Leur évolution se demande à votre référent Djonanko. dailyCashoutLimit à 0 signifie qu’aucun plafond glissant sur 24 h n’est appliqué.

Suivre ce que vous avez payé

Le cumul des commissions est dans totalFees sur GET /merchants/me/wallet. Pour le détail, filtrez le relevé :