Reversement sous-marchand et collecte automatique des fonds : piloter l'argent d'un réseau
Reversement sous-marchand et collecte automatique des fonds : le circuit de l'argent d'un réseau, plafonds, double validation, remboursements et relevés.
Dans un réseau de sous-marchands, le reversement sous-marchand et la collecte automatique des fonds forment un seul circuit : un paiement crédite le wallet du sous-marchand désigné, la collecte automatique alimente votre compte de collecte chaque jour ou chaque semaine, et chaque reversement exige un demandeur et un approbateur distincts. Un plafond de solde peut être fixé pour chaque wallet, avec une alerte à son approche ; des campagnes de remboursement en masse traitent les annulations d'ampleur, et un relevé mensuel est établi pour chaque sous-marchand. Ce guide décrit chaque étape du circuit, les décisions qui vous reviennent et la façon de rapprocher l'ensemble.
Le circuit de l'argent dans un réseau
ChariPay est une plateforme de paiement marocaine, un PSP opéré par Chari Money, établissement de paiement agréé par Bank Al-Maghrib. Son espace distribution s'adresse aux agrégateurs, franchises et réseaux d'agents. Quel que soit le réseau, l'argent y suit le même chemin :
- 1Le client d'un sous-marchand paie. Le mécanisme publié pour désigner le wallet à créditer est le paramètre
config.settlementd'une session de paiement ; pour les autres outils d'encaissement, comme les liens, la question se traite au montage. - 2Le montant crédite le wallet du sous-marchand. Les encaissements suivent la répartition définie à la mise en place du partenariat ; rien n'est mutualisé dans un pot commun.
- 3La collecte automatique alimente votre compte de collecte, chaque jour ou chaque semaine.
- 4Les reversements partent à double validation : le demandeur et l'approbateur sont toujours distincts.
- 5Un relevé mensuel est établi pour chaque sous-marchand, et vous rapprochez l'ensemble grâce aux références portées par chaque mouvement.
Autour de ce circuit, deux outils de pilotage : les plafonds de solde, fixés wallet par wallet et signalés par une alerte à leur approche, et les campagnes de remboursement en masse, pour les annulations qui touchent beaucoup de clients à la fois. L'offre complète est décrite sur la page distribution et sous-marchands ; pour l'organisation d'un réseau de magasins en particulier, voyez franchises et réseaux de points de vente.
Avant le montage, vous pouvez voir à quoi ressemblent un compte de paiement, ses mouvements et son export CSV : Commencer en mode test. Trois champs — nom, e-mail professionnel, entreprise —, un lien d'activation reçu par e-mail pour choisir votre mot de passe, puis le portail, où vous créez vous-même votre clé de test. Vous y faites des paiements avec la carte de test et exportez les mouvements, sans argent réel. C'est gratuit, sans limite de durée et sans validation à attendre : la vérification de votre entreprise (KYB) ne conditionne que le passage en production. L'espace distribution, lui, se prépare avec l'équipe d'intégration.
La collecte automatique des fonds : quotidienne ou hebdomadaire
La collecte automatique se fait vers votre compte de collecte, selon une fréquence quotidienne ou hebdomadaire. Nous n'en publions pas d'autre paramètre ; l'essentiel est ailleurs : vous n'avez aucun geste quotidien à faire pour centraliser l'argent du réseau.
Le choix de la fréquence se fait au montage, avec l'équipe d'intégration. Il dépend de deux choses : le rythme d'encaissement de vos points de vente et vos besoins de trésorerie au niveau central.
| Votre situation | Fréquence qui s'y prête |
|---|---|
| Votre trésorerie centrale a besoin des fonds chaque jour | Quotidienne |
| Certains points de vente approchent souvent de leur plafond de solde | Quotidienne |
| Vos points de vente encaissent à un rythme régulier, loin de leurs plafonds | Hebdomadaire |
| Vous voulez rapprocher moins de collectes, sur des périodes plus longues | Hebdomadaire |
Une collecte quotidienne garde les wallets légers et votre position centrale à jour ; une collecte hebdomadaire laisse les fonds plus longtemps au niveau des sous-marchands. Il n'y a pas de bonne réponse universelle : il y a celle qui s'accorde avec vos plafonds et avec votre façon de piloter la trésorerie.
Plafonds de solde et alerte submerchant.near_cap
Un plafond de solde se fixe wallet par wallet. Entre deux collectes, l'argent s'accumule sur le wallet de chaque sous-marchand : le plafond sert de repère pour suivre cette accumulation, point de vente par point de vente. Nous ne publions ni montant de plafond, ni règle de déclenchement de l'alerte, ni ce qui se passe une fois le plafond atteint ; le plafond se définit au montage.
Quand un sous-marchand approche de son plafond, votre système reçoit l'événement submerchant.near_cap par webhook signé. Ce qu'il est raisonnable d'en faire :
- prévenir le responsable du point de vente concerné, pour qu'il sache où il en est ;
- regarder l'activité de ce sous-marchand : pic ponctuel — une promotion, une saison — ou tendance de fond ;
- si l'alerte revient souvent, rediscuter du couple plafond et fréquence de collecte avec l'équipe d'intégration : c'est le signe qu'ils ne sont plus accordés à l'activité réelle.
Pour recevoir cet événement, votre endpoint de webhooks doit y être abonné ; une liste explicite d'événements est recommandée, une liste vide valant abonnement à tous les événements. La déclaration de l'endpoint, le routage sur l'en-tête Chari-Event-Type et le dédoublonnage sur Chari-Event-Id sont détaillés dans sous-marchands par l'API.
Reversement sous-marchand : un demandeur, un approbateur
Chaque reversement est soumis à double validation : le demandeur et l'approbateur sont toujours distincts. Celui qui demande n'est jamais celui qui approuve. C'est la même règle que pour toutes les actions sensibles de la plateforme — reversements, ajustements, gels de compte — et elle s'appuie sur le reste du dispositif : le journal d'audit est chaîné cryptographiquement, l'historique ne peut pas être réécrit ; l'accès au portail est protégé par la double authentification (TOTP), la ré-authentification avant chaque action sensible et des sessions sécurisées.
Ce qui vous revient, c'est l'organisation humaine :
- 1Désignez les personnes qui préparent les reversements et celles qui les approuvent, dans deux fonctions différentes — par exemple la gestion du réseau d'un côté, la direction financière de l'autre.
- 2Prévoyez un suppléant pour chaque approbateur, afin qu'une absence ne bloque pas le circuit.
- 3Retirez sans délai les accès d'un collaborateur qui quitte l'équipe.
Le résultat de chaque reversement vous parvient par webhook signé : payout.completed quand il est exécuté, payout.failed quand il échoue. Branchez le second sur une alerte à l'équipe finance, et analysez l'échec avant de redemander quoi que ce soit. Le calcul d'un reversement n'est pas décrit ici : il relève de la répartition définie à la mise en place du partenariat. Les contrôles d'accès eux-mêmes — double authentification, approbateurs, journal — sont détaillés dans sécuriser l'accès au portail.
Campagnes de remboursement en masse
L'espace distribution prévoit des campagnes de remboursement en masse. Elles servent quand une même cause touche de nombreux clients du réseau à la fois : un produit rappelé dans tous les points de vente, un événement annulé, une erreur de prix sur une opération commerciale. Plutôt que de traiter chaque client à la main, magasin par magasin, la campagne les regroupe.
Chaque remboursement de la campagne obéit aux règles de tout remboursement ChariPay : il est gratuit ; son montant est déduit d'un solde disponible, et si ce solde ne suffit pas, l'opération est bloquée plutôt que de créer un découvert ; un remboursement n'est pas instantané côté banque. Trois précautions avant de lancer une campagne :
- dressez la liste exacte des paiements concernés, avec leurs références ;
- assurez-vous que les soldes couvrent les montants à rembourser, pour éviter les blocages ;
- prévenez les clients que le remboursement prendra le temps de leur banque.
Pour un remboursement à l'unité — un client, une commande —, la procédure est décrite dans rembourser un client.
Le relevé mensuel par sous-marchand
L'espace distribution prévoit un relevé mensuel par sous-marchand, qui ne retrace que sa propre activité. Ce document change la relation entre la tête de réseau et ses membres.
Pour le sous-marchand, c'est une pièce qui ne parle que de lui : une fois partagée avec lui, elle se transmet à son comptable, se compare à ses propres ventes, et donne un appui précis à ses questions. Pour la tête de réseau, c'est une base commune : quand un point de vente conteste un montant, la discussion part de ce même document, et non de deux tableurs différents.
Si un écart apparaît entre le relevé d'un sous-marchand et vos propres totaux, cherchez d'abord un problème de période — un paiement de fin de mois daté en UTC — ou de rattachement : les références permettent de trancher.
Rapprocher les flux du réseau
Chaque mouvement du compte porte la référence de la vente, du remboursement ou du versement qui l'explique ; le portail distingue montant payé, frais et net, et l'export CSV reprend ces références — depuis le portail ou par GET /v1/transactions/export.csv (jusqu'à 10 000 lignes ; au-delà, découpez par période avec from/to). Les horodatages sont en UTC ; le Maroc est en UTC+1 : votre outil de rapprochement doit convertir.
| Élément | Ce qui permet de le rattacher | Où le lire |
|---|---|---|
| Vente d'un sous-marchand | Votre metadata, renvoyé tel quel, et la référence de la vente | Événement de paiement ; export CSV |
| Remboursement | Un mouvement distinct, lié à la transaction d'origine | Export CSV ; GET /v1/refunds/{reference} |
| Versement vers votre banque | La référence qui figure sur votre relevé bancaire | Export CSV ; relevé bancaire |
| Reversement | L'événement payout.completed ou payout.failed | Votre endpoint de webhooks |
| Activité mensuelle d'un sous-marchand | Le relevé mensuel | Relevé du sous-marchand |
Une règle de construction rend tout le reste facile : mettez la référence du sous-marchand dans le metadata de chaque session, pour que chaque événement de paiement dise d'emblée à qui appartient la vente. Attention aussi aux remboursements : un remboursement peut réduire le versement suivant sans ligne séparée sur le relevé bancaire ; c'est l'export qui l'explique. La méthode complète est dans rapprocher ses encaissements.
Questions fréquentes
À quelle fréquence la collecte automatique des fonds a-t-elle lieu ?
Quotidienne ou hebdomadaire : la collecte automatique se fait vers votre compte de collecte selon l'une de ces deux fréquences, fixée au montage avec l'équipe d'intégration. Le choix dépend du rythme d'encaissement de vos points de vente, de vos plafonds de solde et de vos besoins de trésorerie au niveau central. Vous n'avez aucun geste quotidien à faire.
Un reversement peut-il partir sans approbation ?
Non. Chaque reversement demandé dans votre équipe est soumis à double validation : le demandeur et l'approbateur sont toujours distincts. Cette règle vaut pour toutes les actions sensibles — reversements, ajustements, gels de compte —, et le journal d'audit est chaîné cryptographiquement : l'historique ne peut pas être réécrit. Prévoyez un suppléant pour chaque approbateur, afin qu'une absence ne bloque pas le circuit.
Que se passe-t-il quand un sous-marchand approche de son plafond ?
Votre système reçoit l'événement submerchant.near_cap par webhook signé. Prévenez le responsable du point de vente, regardez s'il s'agit d'un pic ponctuel ou d'une tendance, et si l'alerte revient souvent, rediscutez du plafond et de la fréquence de collecte avec l'équipe d'intégration. Nous ne publions ni montant de plafond ni règle de déclenchement.
Comment savoir si un reversement a échoué ?
Par l'événement payout.failed, envoyé par webhook signé ; un reversement exécuté envoie payout.completed. Abonnez votre endpoint à ces deux événements, routez sur l'en-tête Chari-Event-Type et dédupliquez sur Chari-Event-Id. Branchez l'échec sur une alerte à l'équipe finance, et analysez-en la cause avant de demander un nouveau reversement. Ne relancez rien automatiquement : toute nouvelle demande repasse par la double validation.
Peut-on rembourser des clients en masse dans un réseau ?
Oui : l'espace distribution prévoit des campagnes de remboursement en masse, utiles pour un rappel de produit ou une annulation qui touche de nombreux clients. Chaque remboursement est gratuit ; son montant est déduit d'un solde disponible, et l'opération est bloquée si ce solde ne suffit pas. Un remboursement n'est pas instantané côté banque : prévenez vos clients.
Chaque sous-marchand reçoit-il un relevé ?
L'espace distribution prévoit un relevé mensuel par sous-marchand, qui ne retrace que sa propre activité : il ne montre jamais celle des autres. Partagé avec le point de vente, il peut être transmis à son comptable et comparé à ses ventes ; la tête de réseau, elle, dispose d'une base commune pour discuter des chiffres du mois. En cas d'écart avec vos propres totaux, les références des mouvements permettent de trancher.
Comment rapprocher les encaissements de tout un réseau ?
Par les références : chaque mouvement porte celle de la vente, du remboursement ou du versement qui l'explique ; le portail distingue montant payé, frais et net, et l'export CSV reprend ces références. Mettez la référence du sous-marchand dans votre metadata, renvoyé tel quel dans l'événement de paiement, et convertissez les horodatages UTC en heure du Maroc.
Prochaine étape
Regardez d'abord un compte de paiement vivre : Commencer en mode test, faites quelques paiements avec la carte de test et exportez les mouvements. Préparez ensuite le montage de votre réseau — plafonds, fréquence de collecte, approbateurs — avec l'équipe d'intégration, à partir de la page distribution et sous-marchands.
Écrit par Équipe ChariPay.