Split de paiement pour marketplace : implémentation technique avec sa passerelle de paiement
Une marketplace encaisse un paiement unique auprès d'un acheteur, mais doit le répartir entre un ou plusieurs vendeurs tiers et sa propre commission. Ce mécanisme — le split de paiement — ne s'improvise pas : il touche à la réglementation, à la comptabilité, à la gestion des litiges et à l'architecture technique de la passerelle de paiement. Ce guide détaille les modèles disponibles (Stripe Connect, wallets Mangopay et Lemonway, Adyen for Platforms), les flux, les calculs et le code pour implémenter un split fiable.
Qu'est-ce que le split de paiement ?
Le split de paiement (ou split payment) désigne la répartition automatique d'un paiement acheteur entre plusieurs bénéficiaires. Sur une marketplace, un panier de 100 € réglé par un acheteur ne revient pas intégralement à la plateforme : il doit être ventilé entre le ou les vendeurs qui ont expédié les produits et la commission que prélève la plateforme pour son service d'intermédiation. Sans passerelle de paiement adaptée, ce fractionnement serait impossible à réaliser légalement et proprement, car il implique d'encaisser des fonds pour le compte de tiers.
C'est là tout l'enjeu : dès qu'une plateforme collecte de l'argent qui appartient à quelqu'un d'autre, elle exerce une activité de service de paiement, réglementée en Europe par la DSP2. Elle a alors deux options : obtenir elle-même un agrément d'établissement de paiement ou de monnaie électronique (long, coûteux, plusieurs centaines de milliers d'euros de fonds propres), ou s'appuyer sur un prestataire déjà agréé qui porte cette responsabilité. La quasi-totalité des marketplaces choisissent la seconde voie, en s'appuyant sur Stripe Connect, Mangopay, Lemonway ou Adyen for Platforms. Pour le cadre métier complet, notre panorama des passerelles pour marketplace pose les fondations.
Un split bien conçu répond à trois questions : qui reçoit quoi (la ventilation), quand (immédiatement, ou de façon différée jusqu'à la livraison), et qui supporte le risque (frais PSP, remboursements, chargebacks). Ces trois dimensions guident le choix du modèle technique.
Il faut aussi distinguer le split de paiement de deux notions voisines avec lesquelles il est souvent confondu. Le paiement en plusieurs fois (BNPL, split en 3x ou 4x) concerne le fractionnement dans le temps d'un paiement pour un même acheteur, pas la répartition entre bénéficiaires : c'est un sujet distinct. Le split de TVA (mécanisme d'autoliquidation dans certains pays) est encore autre chose. Ici, nous parlons exclusivement du marketplace split payment : un encaissement, plusieurs destinataires. C'est le mécanisme qui permet à une place de marché de rester un simple intermédiaire technique et financier sans jamais devenir propriétaire des fonds des vendeurs, ce qui est à la fois une contrainte réglementaire et une protection pour toutes les parties.
Les grands modèles de split : charges Stripe vs wallets e-money
Deux philosophies s'opposent. La première, celle des charges Stripe Connect, repose sur des comptes connectés reliés directement au réseau des cartes : l'argent transite via des charges et des transfers entre comptes. La seconde, le modèle wallet / monnaie électronique (Mangopay, Lemonway), matérialise chaque vendeur par un portefeuille électronique : l'argent entre par un PayIn, se stocke dans des wallets cantonnés, puis sort par un PayOut vers l'IBAN du vendeur. Adyen for Platforms propose une approche hybride, avec des balance accounts.
| Critère | Stripe Connect | Wallet e-money (Mangopay / Lemonway) | Adyen for Platforms |
|---|---|---|---|
| Principe | Charges + transfers entre comptes connectés | PayIn → wallets cantonnés → PayOut | Balance accounts + transferts internes |
| Escrow / rétention | Via transferts différés (fonds sur la plateforme) | Natif : fonds cantonnés dans le wallet | Natif via balance accounts |
| KYC vendeurs | Onboarding Connect (Express/Custom) | Collecte réglementaire complète | Onboarding hébergé Adyen |
| Cible | Time-to-market rapide, international | Marketplaces FR/EU, escrow fort | Gros volumes, retail omnicanal |
| Agrément porté par | Stripe | Mangopay / Lemonway (EME) | Adyen |
Le choix dépend de votre besoin de rétention des fonds, de votre géographie et de votre appétit pour l'intégration. Une marketplace de services avec livraison différée privilégiera souvent un wallet pour son escrow natif ; une marketplace de produits numériques à livraison instantanée se contentera d'un modèle de charges plus léger. Notre comparatif Mangopay vs Lemonway détaille les différences entre les deux acteurs e-money français de référence.
Stripe Connect : destination, separate et direct charges
Stripe Connect propose trois façons d'encaisser et de fractionner un paiement. Le choix conditionne qui porte la charge, qui supporte les frais et qui apparaît sur le relevé bancaire de l'acheteur.
Destination charges
C'est le modèle le plus courant pour une marketplace. La charge est créée sur le compte de la plateforme, qui la porte, puis Stripe transfère automatiquement la part du vendeur vers son compte connecté grâce au paramètre transfer_data[destination]. La commission de la plateforme est retenue via application_fee_amount. Concrètement, sur un paiement de 100 €, la plateforme définit une commission de 15 € : le vendeur reçoit 85 € (moins les frais Stripe), la plateforme conserve 15 €.
// Destination charge — la plateforme porte la charge
stripe.paymentIntents.create({
amount: 10000, // 100,00 € en centimes
currency: 'eur',
application_fee_amount: 1500, // 15,00 € pour la plateforme
transfer_data: { destination: 'acct_vendeur_123' },
});
Separate charges and transfers
Ce modèle sépare l'encaissement du reversement. La plateforme encaisse d'abord la totalité sur son compte via un PaymentIntent classique, puis crée un ou plusieurs transfers vers les comptes connectés, potentiellement plus tard. C'est le modèle idéal pour un panier multi-vendeurs (un acheteur commande auprès de trois vendeurs dans le même panier) ou pour un escrow : on retient les fonds tant que la livraison n'est pas confirmée, puis on déclenche les transfers.
// 1) Encaissement global sur la plateforme
const pi = await stripe.paymentIntents.create({
amount: 10000, currency: 'eur',
transfer_group: 'ORDER_4821',
});
// 2) Reversements différés (ex. après livraison confirmée)
await stripe.transfers.create({
amount: 4250, currency: 'eur', // 42,50 € vendeur A
destination: 'acct_A', transfer_group: 'ORDER_4821',
});
await stripe.transfers.create({
amount: 4250, currency: 'eur', // 42,50 € vendeur B
destination: 'acct_B', transfer_group: 'ORDER_4821',
});
// La plateforme conserve les 15 € restants (commission)
Direct charges
Ici, la charge est créée directement sur le compte connecté du vendeur : c'est lui qui porte la transaction, supporte les frais Stripe et les éventuels chargebacks. La plateforme prélève sa part via application_fee_amount. Ce modèle convient aux plateformes de type SaaS où chaque marchand est autonome (par exemple une solution qui équipe des commerçants indépendants), moins aux marketplaces classiques où la plateforme veut garder la maîtrise de la relation client.
Point clé : avec les destination et separate charges, c'est la plateforme qui porte la charge et donc le risque de chargeback. Avec les direct charges, c'est le vendeur. Ce détail détermine qui doit être provisionné pour absorber les litiges.
Le modèle wallet : Mangopay et Lemonway
Les prestataires agréés Mangopay (monnaie électronique, Luxembourg) et Lemonway (établissement de paiement, France) raisonnent en wallets. Chaque acteur (acheteur, vendeur, plateforme) possède un portefeuille électronique. Le flux se décompose en trois temps distincts, ce qui rend l'escrow naturel et la comptabilité très lisible.
- PayIn : l'acheteur paie. Les fonds entrent et créditent un wallet (souvent le wallet de la plateforme ou un wallet dédié à la commande).
- Transferts internes : la plateforme ventile les fonds entre le wallet de chaque vendeur et son propre wallet de commission. Ces transferts sont instantanés et gratuits car internes à l'EME.
- PayOut : le vendeur demande (ou la plateforme déclenche) un virement SEPA de son wallet vers son IBAN. C'est la seule étape qui fait sortir l'argent du système et engendre un coût de virement.
// Pseudo-flux Mangopay
// 1) PayIn : 100 € crédités sur le wallet de commande
payIn = createCardPayIn({ amount: 10000, creditedWallet: 'WALLET_ORDER' });
// 2) Transferts internes après validation
transfer({ from: 'WALLET_ORDER', to: 'WALLET_VENDEUR', amount: 8500 }); // 85 €
transfer({ from: 'WALLET_ORDER', to: 'WALLET_PLATEFORME', amount: 1500 }); // 15 €
// 3) PayOut : le vendeur récupère ses fonds
payOut({ from: 'WALLET_VENDEUR', bankAccount: 'IBAN_VENDEUR', amount: 8500 });
L'avantage majeur du modèle wallet est le cantonnement : les fonds des vendeurs sont juridiquement séparés de ceux de la plateforme, ce qui protège les vendeurs en cas de défaillance de la marketplace. C'est aussi ce qui permet de conserver l'argent en attente (escrow) sans enfreindre la réglementation. En contrepartie, l'onboarding est plus lourd : la collecte KYC/KYB est exhaustive avant tout PayOut. Notre article sur le KYC et la conformité des paiements détaille ces obligations.
Adyen for Platforms
Adyen for Platforms cible les marketplaces à fort volume et les plateformes retail omnicanal. Le modèle repose sur des balance accounts rattachés à des account holders (les vendeurs). Chaque paiement crédite un balance account, puis des règles de split (les splits définis lors de l'autorisation) ventilent le montant entre le vendeur, la commission de la plateforme et une éventuelle réserve pour litiges. Les payouts vers les vendeurs sont ensuite planifiés selon un calendrier configurable (quotidien, hebdomadaire, à la demande).
L'intérêt d'Adyen est la consolidation acquisition + split + payout au sein d'un seul acteur, avec des tarifs interchange++ souvent plus compétitifs à volume élevé (de l'ordre de 0,4 à 0,8 % + 0,11 € selon les cartes, plus l'interchange plafonné en Europe à 0,2 % en débit et 0,3 % en crédit). L'intégration est en revanche plus exigeante : Adyen s'adresse à des équipes techniques structurées et à des volumes qui justifient l'investissement.
Gérer la commission (application fee) et le calcul du split
La commission de la plateforme est le nerf de la guerre. Trois modèles coexistent :
- Commission en pourcentage : le plus répandu (10 à 20 % du montant vendeur selon les secteurs). Simple à comprendre pour les vendeurs.
- Commission fixe par transaction : un montant en euros par commande, indépendant du panier.
- Modèle hybride : un pourcentage plus un fixe (par exemple 12 % + 0,30 €), souvent calqué sur la structure de frais du PSP pour ne jamais être à perte.
Le point de vigilance technique est de décider qui supporte les frais du PSP. Sur un panier de 100 € avec 15 % de commission et des frais Stripe à 1,5 % + 0,25 € (soit 1,75 €), deux options existent :
| Poste | Frais à la charge de la plateforme | Frais à la charge du vendeur |
|---|---|---|
| Montant panier acheteur | 100,00 € | 100,00 € |
| Commission plateforme (15 %) | 15,00 € | 15,00 € |
| Part vendeur brute | 85,00 € | 85,00 € |
| Frais PSP (1,5 % + 0,25 €) | −1,75 € (plateforme) | −1,75 € (vendeur) |
| Vendeur reçoit | 85,00 € | 83,25 € |
| Plateforme conserve | 13,25 € | 15,00 € |
Sur Stripe, l'application_fee_amount déclaré est prélevé sur la charge, et les frais Stripe sont, par défaut, débités de la commission de la plateforme (compte qui porte la charge). Pour reporter les frais sur le vendeur, il faut ajuster l'application_fee_amount ou le montant du transfer en conséquence. Documentez ce calcul noir sur blanc dans vos conditions vendeurs : c'est la première source de litiges commerciaux sur une marketplace.
Arrondis : travaillez toujours en centimes (entiers) et jamais en flottants. Un split de 100 € en trois parts égales donne 33,33 € + 33,33 € + 33,34 € — décidez d'une règle explicite pour attribuer le centime résiduel, sous peine d'écarts de réconciliation.
Paiement différé et escrow jusqu'à la livraison
Beaucoup de marketplaces veulent retenir les fonds tant que l'acheteur n'a pas reçu et validé sa commande — pour protéger l'acheteur et se prémunir contre les vendeurs défaillants. C'est le principe de l'escrow. Techniquement, il se traduit par un délai entre l'encaissement (PayIn ou charge) et le reversement (PayOut ou transfer).
- Avec un wallet : les fonds restent simplement dans le wallet de commande. On ne déclenche les transferts internes vers le vendeur qu'après confirmation de livraison. C'est le cas d'usage natif des EME.
- Avec Stripe separate charges : on encaisse sur la plateforme, et le
transfervers le compte connecté n'est créé qu'après l'événement de livraison. Attention : Stripe impose une fenêtre maximale entre la charge et le transfer associé (au-delà, le lien de charge source est perdu et le transfer devient un transfert libre depuis le solde plateforme).
La règle de déblocage doit être pilotée par un état métier clair : commande.statut = livrée ou expiration d'un délai de contestation (par exemple 14 jours). C'est ce moteur d'états qui déclenche les reversements, jamais un appel manuel.
Remboursements partiels et impact sur le split
Un remboursement sur une marketplace est plus délicat qu'une boutique classique car il faut défaire le split. Si l'acheteur est remboursé de 30 € sur un panier de 100 €, qui rend l'argent : le vendeur, la plateforme, ou les deux au prorata ?
La bonne pratique est le remboursement proportionnel. Sur notre exemple à 15 % de commission, un remboursement de 30 € se ventile ainsi : 25,50 € repris au vendeur (85 % de 30 €) et 4,50 € repris à la commission plateforme (15 % de 30 €). Sur Stripe, cela se pilote avec le paramètre refund_application_fee lors du remboursement, et éventuellement un reversal du transfer si le vendeur avait déjà été crédité.
// Remboursement partiel de 30 € avec reprise proportionnelle
stripe.refunds.create({
payment_intent: 'pi_ORDER_4821',
amount: 3000, // 30,00 €
refund_application_fee: true, // rend 4,50 € de commission
reverse_transfer: true, // reprend 25,50 € au vendeur
});
Le cas épineux est celui où le vendeur a déjà retiré ses fonds (PayOut effectué) et que son wallet est vide au moment du remboursement. Il faut alors soit provisionner une réserve sur chaque vendeur, soit prévoir contractuellement une dette recouvrable, soit — le plus sûr — ne débloquer les payouts qu'après la fin de la période de rétractation. Cette question conditionne fortement votre politique de payout.
Chargebacks : qui supporte le litige ?
Le chargeback (rétrofacturation) est le cauchemar des marketplaces multi-vendeurs. Quand un acheteur conteste un débit auprès de sa banque, l'argent est repris sur le compte qui a porté la charge, plus des frais de litige (souvent 15 à 20 € par cas selon le PSP).
- Destination / separate charges Stripe, wallet e-money : la charge est portée par la plateforme, donc le chargeback est débité à la plateforme. À elle de refacturer le vendeur si le contrat le prévoit et si les fonds sont récupérables.
- Direct charges Stripe : la charge est portée par le compte connecté du vendeur, donc c'est lui qui subit le chargeback.
La protection la plus efficace reste préventive : activer l'authentification forte pour bénéficier du transfert de responsabilité. Notre guide sur le bon usage d'une API de paiement et l'article dédié au 3DS2 expliquent comment le liability shift déplace le risque de fraude vers la banque émettrice. Pour le reste (litiges produit non conforme, non-livraison), prévoyez une réserve de garantie par vendeur — un pourcentage retenu sur chaque transaction et libéré après X jours.
Les webhooks à écouter
Un split fiable ne se pilote jamais à partir de la seule réponse HTTP de l'API : le paiement peut échouer, être contesté ou remboursé plus tard. Il faut écouter les webhooks et faire d'eux la source de vérité de vos états. Les événements essentiels côté Stripe Connect :
payment_intent.succeeded: l'encaissement est confirmé, on peut déclencher (ou planifier) les transferts.charge.refunded: un remboursement a eu lieu, on met à jour le split.charge.dispute.created: un chargeback est ouvert, on gèle le reversement au vendeur concerné.transfer.created/transfer.reversed: suivi des reversements et de leurs annulations.payout.paid/payout.failed: le virement vers l'IBAN a réussi ou échoué.account.updated: l'état KYC d'un compte connecté a changé (capacité de payout activée ou suspendue).
Côté wallet (Mangopay, Lemonway), on écoutera les notifications équivalentes : PayIn succeeded/failed, Transfer normal/failed, PayOut succeeded/failed, et les événements KYC (documents validés ou refusés). Traitez tous les webhooks de manière idempotente : un même événement peut être livré plusieurs fois, votre traitement doit produire le même résultat sans double comptage.
Reversements, payouts et planning
Le planning des payouts est un arbitrage entre satisfaction vendeur et gestion du risque. Payer vite fidélise les vendeurs mais expose la plateforme aux remboursements et chargebacks futurs (si le vendeur a déjà été payé et son wallet est vide). Retenir longtemps sécurise la plateforme mais irrite les vendeurs.
| Planning | Avantage | Risque |
|---|---|---|
| À la livraison confirmée | Escrow maximal, protège l'acheteur | Trésorerie vendeur lente |
| J+X après livraison (ex. J+7 / J+14) | Couvre la période de rétractation | Compromis équilibré |
| Calendrier fixe (hebdo / quotidien) | Prévisible pour le vendeur | Peut payer avant fin des litiges |
| À la demande du vendeur | Souplesse, contrôle du vendeur | Multiplie les frais de virement |
Chaque PayOut SEPA a un coût (de l'ordre de 0,10 à 0,25 € par virement selon le prestataire). Regrouper les reversements d'un vendeur en un payout hebdomadaire plutôt qu'un payout par commande réduit sensiblement ces frais. Notre guide complet des passerelles pour marketplace compare les grilles tarifaires des différents acteurs sur ce point précis.
Réconciliation comptable
La réconciliation est ce qui distingue une marketplace amateur d'une plateforme sérieuse. À tout instant, vous devez pouvoir répondre à : combien d'argent est encaissé, combien appartient à chaque vendeur, combien de commission a été gagnée, combien a été reversé et combien reste en attente. Chaque commande doit porter un identifiant qui relie le PayIn/charge, les transferts, les remboursements et les payouts.
- Un grand livre par vendeur : solde entrant, transferts, remboursements, payouts, solde disponible. Le wallet e-money fournit ce grand livre nativement.
- Rapprochement avec les relevés PSP : les rapports de balance transaction Stripe ou les états Mangopay/Lemonway doivent réconcilier au centime près avec votre base.
- Traitement de la TVA : la commission de la plateforme est un service soumis à TVA ; la vente du vendeur relève de son propre régime. Le split doit être conçu pour isoler ces flux comptablement.
Travaillez toujours en centimes entiers, stockez chaque mouvement dans un journal immuable (append-only) et générez des états de rapprochement quotidiens. Une réconciliation qui ne tombe pas juste est le symptôme d'un bug de split qu'il faut corriger immédiatement, avant qu'il ne se propage sur des milliers de commandes.
En pratique, adossez votre modèle de données à une logique de double écriture comptable : chaque mouvement (encaissement, commission, transfert, remboursement, chargeback, payout) génère des écritures qui, sommées, doivent toujours ramener le solde global à zéro. Cette discipline vous permet de détecter en une requête tout écart entre ce que le PSP détient réellement et ce que votre application pense détenir. Prévoyez enfin des rapports exportables pour vos vendeurs — chaque vendeur doit pouvoir télécharger son relevé de ventes, commissions et reversements sur une période donnée, condition indispensable à la confiance et à la conformité fiscale de vos partenaires.
Conformité : KYC et cantonnement en bref
Encaisser pour le compte de tiers impose deux obligations réglementaires incontournables. La première est le KYC/KYB : vous devez vérifier l'identité de chaque vendeur (pièce d'identité pour un particulier, extrait Kbis et bénéficiaires effectifs pour une entreprise) avant tout reversement, au titre de la lutte contre le blanchiment. Aucun payout ne doit partir vers un vendeur non vérifié. La seconde est le cantonnement : les fonds détenus pour le compte des vendeurs doivent être séparés des fonds propres de la plateforme, sur des comptes de cantonnement dédiés tenus par l'établissement agréé.
C'est précisément parce que ces obligations sont lourdes que la plupart des marketplaces délèguent l'encaissement à Stripe, Mangopay, Lemonway ou Adyen. Ces prestataires portent l'agrément et assument le cantonnement, mais la responsabilité de la conformité reste partagée : la plateforme doit collecter les bonnes informations, surveiller les transactions suspectes et coopérer aux contrôles. Traitez la conformité comme une brique produit à part entière, pas comme une formalité de dernière minute.
Questions fréquentes
Quelle est la différence entre split de paiement et virement à un vendeur ?
Le split organise, dès l'encaissement, la répartition d'un paiement acheteur unique entre plusieurs bénéficiaires. Un simple virement suppose que la plateforme encaisse tout sur son compte puis reverse manuellement — ce qui, en Europe, relève de la fourniture de services de paiement et exige un agrément ou le recours à un prestataire agréé (Stripe, Mangopay, Lemonway, Adyen).
Qui supporte le chargeback dans une marketplace ?
Cela dépend du modèle. Avec les destination charges Stripe ou un wallet e-money, le litige est débité à la plateforme (compte qui porte la charge), à charge pour elle de refacturer le vendeur si le contrat le prévoit. Avec les direct charges, c'est le compte connecté du vendeur qui supporte le chargeback. Contractualisez toujours ce point.
Le paiement différé (escrow) est-il légal pour une marketplace ?
Oui. Le cantonnement des fonds dans un wallet jusqu'à la livraison est l'un des motifs pour lesquels la réglementation impose de passer par un établissement de monnaie électronique ou de paiement agréé. Les fonds des vendeurs doivent être cantonnés sur des comptes séparés des fonds propres de la plateforme.
Combien coûte un split de paiement ?
Le coût se décompose en frais d'acquisition carte (souvent 1,4 à 2,9 % + 0,25 € selon le PSP et la carte) et, selon la solution, des frais de plateforme, de wallet et de payout (SEPA sortant de l'ordre de 0,10 à 0,25 € par virement). Stripe Connect facture par exemple des frais additionnels par compte actif et par payout selon la configuration.
Faut-il faire du KYC sur ses vendeurs ?
Oui. Toute plateforme qui encaisse pour le compte de tiers doit vérifier l'identité de ses vendeurs avant de leur reverser des fonds, au titre de la lutte anti-blanchiment. Stripe, Mangopay et Lemonway gèrent cette collecte, mais la responsabilité de la conformité reste partagée avec la plateforme.
Peut-on splitter un même panier entre plusieurs vendeurs ?
Oui, c'est le cas d'usage central des marketplaces multi-vendeurs. On encaisse un paiement unique auprès de l'acheteur (une seule charge ou un seul PayIn), puis on crée autant de transferts ou de transferts internes que de vendeurs concernés, en retenant la commission plateforme. Le modèle separate charges (Stripe) et les transferts internes de wallet (Mangopay, Lemonway) sont conçus pour ce fractionnement multi-bénéficiaires.
Articles liés :
