Solde et règlements
Ce que vous détenez, ce que vous pouvez envoyer aujourd'hui et quand le reste devient disponible.
Wajub ne détient pas votre argent. Les encaissements sont réglés par un partenaire de paiement agréé qui conserve les fonds pour votre compte. Le solde représente cette position consultée via l'API.
Un seul montant permet de payer quelqu'un : available. Tout le reste correspond à de l'argent que
vous détenez, mais ne pouvez pas encore dépenser. La plupart des questions des marchands sur les
payouts concernent en réalité l'écart entre ces deux montants.
Un seul appel
https://api.wajub.com/balanceLa clé secrète est obligatoire. Comme toutes les autres routes de payout, une clé publique renvoie
406 Private Key Required. Il n'existe aucun autre endpoint de solde : aucun historique, aucune
consultation par portefeuille et aucun ajustement.
curl https://api.wajub.com/balance \
-H "Authorization: sk.xxxxxxxxxxxxxxxx…"La réponse live contient dix champs. Sept décrivent votre argent. Les trois autres existent pour des raisons sans rapport avec celui-ci.
Voici les sept champs à lire. Les cinq premiers répondent à des questions différentes sur les mêmes fonds. Les deux derniers indiquent comment les montants sont exprimés.
totalnumberfacultatifavailable, pending, reserved et disputed.availablenumberfacultatifpendingnumberfacultatifreservednumberfacultatifdisputednumberfacultatifavailable à l'ouverture d'un litige. Ils reviennent dans available si vous gagnez, et sortent si vous perdez.currencystringfacultatifenvironmentstringfacultatiflive ou sandbox.Les trois champs absents de ce tableau le sont volontairement.
Trois champs restent toujours à zéro
in.transit, hold et credit figurent dans la réponse et valent toujours zéro : ils sont
réservés à un usage futur. Ne construisez aucune interface à partir d'elles et ne les soustrayez
d'aucun montant. Notez le point dans in.transit : la clé contient un point. Dans tous les
langages, balance.in.transit ne renvoie donc rien. Utilisez balance["in.transit"] si vous
devez malgré tout la lire.
Les montants utilisent l'unité principale, comme pour un transfert. 1250000 en XAF signifie un
million deux cent cinquante mille francs, et non douze mille cinq cents.
Il ne s'agit pas d'un portefeuille, mais de leur ensemble
Wajub conserve un portefeuille par devise. GET /balance n'en renvoie pas un seul. Il lit tous vos
portefeuilles, convertit chacun dans une même devise, puis les additionne.
currency est donc une unité d'affichage, pas un filtre. ?currency=XOF n'affiche pas votre
portefeuille XOF, mais tous vos fonds exprimés en XOF. Les fonds sous-jacents ne bougent pas et
aucun portefeuille n'est exclu.
curl "https://api.wajub.com/balance?currency=USD" \
-H "Authorization: sk.xxxxxxxxxxxxxxxx…"Seul cURL est présenté, car les SDK n'acceptent ici aucun argument. balance.retrieve() ne possède
aucun paramètre dans les différents SDK. Omettez le paramètre d'URL pour obtenir la devise définie
sur votre compte. Il s'agit de XAF jusqu'à sa modification, quel que soit votre pays d'activité.
La conversion est indicative
Les taux viennent de la propre table de devises de Wajub, actualisée régulièrement. Ils ne constituent pas un taux de change négocié. N'envoyez qu'un code de devise pris en charge par Wajub : un code inconnu n'est pas refusé. Utilisez cette conversion pour lire un montant, jamais pour régler un compte.
Pourquoi available est inférieur à total
Un encaissement n'arrive pas sous forme de fonds utilisables. Il est crédité dans pending et y
reste pendant une durée fixe avant son transfert. Cette rétention protège la plateforme contre un
paiement contesté après que vous l'avez déjà retiré.
La durée est calculée pour chaque paiement selon son canal d'origine.
| Canal | Rétention de base |
|---|---|
Mobile Money, y compris cm.mtn, cm.orange et cm.eu | 24 heures |
| Banque | 48 heures |
| Carte | 72 heures |
| Cryptomonnaie | 72 heures |
La rétention peut être plus courte ou plus longue que cette base selon le profil de risque de votre compte, et elle ne dépasse jamais sept jours. Votre plan ou un accord avec Wajub peut remplacer directement cette durée de base.
À l'expiration d'une rétention, les fonds peuvent mettre quelques minutes de plus à devenir disponibles. Ce décalage est normal et ne signifie pas que le solde est bloqué.
Signification de reserved
reserved correspond aux fonds engagés dans des payouts qui ne sont pas terminés. La création d'un
transfert retire le montant et une estimation des frais de available, puis les place dans
reserved avant même de contacter l'opérateur.
Ces fonds quittent reserved au résultat du transfert. Ce résultat détermine leur destination. Avec
transfer.succeeded, ils sont réellement débités et total diminue. Avec transfer.failed, ils
reviennent dans available et aucuns frais ne sont prélevés. Un payout retenu pour examen conserve
ses fonds réservés pendant toute la rétention. C'est le seul cas où reserved peut rester inchangé
pendant des heures.
Le montant consulté peut dater de trois minutes
Le montant peut avoir jusqu'à trois minutes de retard. Un payout créé il y a une minute peut ne pas
avoir encore modifié available.
Le solde ne convient donc pas au suivi d'une boucle. Consultez-le une fois avant un lot pour estimer
votre position, puis laissez les appels de transfert faire foi. Un payout impossible à financer est
refusé à la création avec sa propre erreur 422, sans créer de découvert.
Ne conditionnez pas chaque payout à une lecture du solde
Consulter le solde avant chacun des cinquante payouts d'une boucle produit cinquante réponses obsolètes et consomme votre limite de requêtes. Vérifiez une fois, envoyez les payouts, puis gérez l'erreur de financement si elle survient.
Solde simplifié dans la sandbox
La sandbox répète un seul montant. total et available contiennent la même valeur. pending,
reserved et les autres restent à zéro. Il n'existe aucune rétention, réservation ou règlement à
reproduire.
Le solde commence aussi à zéro. Il n'existe aucun endpoint de recharge ni aucun bouton dans la Konsole. Seul un paiement sandbox réussi crédite ce solde. C'est pourquoi le Démarrage rapide Transferts commence par encaisser des fonds avant d'en envoyer.
Suivre les changements
Au lieu d'utiliser le polling, abonnez-vous à balance.updated. Cet événement est émis à chaque
mouvement. Son payload décrit le mouvement lui-même, et non le nouvel objet solde.
balance_type indique le solde modifié, pending ou available. Vous pouvez ainsi distinguer un
nouvel encaissement d'une rétention qui vient d'expirer. direction vaut credit ou debit.
Les frais ne produisent pas balance.updated
Le débit des frais est volontairement exclu de cet événement et publié sous fee.charged. Un
rapprochement fondé uniquement sur balance.updated trouvera donc des fonds manquants. Abonnez-vous
aux deux événements.
Règlement vers votre compte de versement
Chaque jour à 02:00 UTC, Wajub verse ce que vous avez encaissé sur le rail Wajub vers votre compte de versement, avec un payout par devise. Le montant correspond à ce que ces paiements ont crédité, moins les remboursements, les frais et les litiges perdus déjà prélevés sur eux. Rien n'est envoyé sous 1 000 dans la devise créditée, et les paiements encaissés via votre propre prestataire n'en font jamais partie. Si vous avez plusieurs comptes de versement et qu'aucun n'est choisi pour le règlement, la journée est ignorée : Wajub ne devine jamais où va votre argent.
Ajouter des fonds et lire vos revenus
Revenue, Funding alimente votre solde live, par Mobile Money sur cm.mtn, cm.orange ou
cm.eu, ou par virement bancaire lorsqu'il est proposé : vous envoyez le virement, puis vous
déposez le justificatif sur la même page. Le reste de Revenue présente vos paiements encaissés
par canal et par devise, les frais de traitement facturés par Wajub, ce qui a été rendu aux clients,
et un rapport de solde qui montre ce qui est retenu pour les litiges et la date de règlement prévue
des encaissements récents. Il est réservé au mode live et s'exporte en PDF ou en Excel.
Aucun endpoint de registre
Aucun endpoint de l'API ne renvoie la liste des mouvements d'un solde. Pour rapprocher une période,
listez les ressources à l'origine des mouvements avec GET /payments, GET /transfers et GET /refunds, puis ajoutez les frais provenant de vos événements fee.charged. La Konsole exporte les
mêmes données pour la comptabilité.
Pages associées
- Frais et tarificationLe coût de chaque opération et le moment de son prélèvement.
- TransfertsCe qu'un payout réserve et ce qui libère cette réservation.
- Statuts et webhooksLes événements qui modifient le solde et leur traitement.
- Catalogue des événementsLe catalogue complet, y compris les événements liés au solde et aux frais.