Stripe Connect pour marketplace : le guide complet en Suisse
Stripe Connect est devenu en 2026 la solution de référence pour construire une marketplace en Suisse. Comptes Standard, Express, Custom, splits de paiement, KYC, intégration TWINT. Tout ce qu'il faut savoir avant de se lancer.
Pourquoi Stripe Connect domine en 2026
Construire une marketplace, c’est manipuler de l’argent qui ne vous appartient pas. Vos vendeurs encaissent via votre plateforme, vous prenez une commission, vous transférez le reste. Cette mécanique simple à décrire est cauchemardesque à implémenter correctement : compliance KYC (Know Your Customer), AML (Anti-Money Laundering), splits automatisés, multi-currencies, gestion des disputes, conformité bancaire dans 30+ juridictions.
Stripe Connect résout ce problème depuis 2014 et domine le marché en 2026. C’est ce qui propulse Lyft, Uber Eats, Shopify, Substack, et des milliers de marketplaces moins connues. En Suisse spécifiquement, Stripe Connect est le choix par défaut depuis 2023 quand TWINT est devenu intégrable nativement via leur API.
Cet article couvre les trois grandes décisions architecturales à prendre quand vous construisez une marketplace en Suisse : quel type de compte Connect choisir, comment gérer le KYC suisse, comment splitter les paiements proprement. Si vous êtes en phase de scoping technique sur un projet marketplace entre CHF 50 000 et CHF 500 000, ce guide est pour vous.
Comprendre les 3 types de comptes Connect
Stripe Connect propose trois types de comptes pour vos vendeurs, du plus simple au plus complexe.
Standard Account
Pour qui : marketplaces où chaque vendeur a une vraie identité business indépendante, qui veut gérer son propre dashboard Stripe.
Comment ça marche : votre vendeur crée son propre compte Stripe (avec son email, sa banque, son business). Votre plateforme l’invite à se connecter via OAuth. Ensuite, les paiements transitent par son compte, vous prenez une commission via application_fee_amount.
Avantages : pas de responsabilité de KYC côté vous, le vendeur gère son dashboard, frais minimaux côté plateforme.
Inconvénients : votre vendeur voit le dashboard Stripe complet (peut compliquer le support), il peut quitter votre marketplace plus facilement, customisation limitée du flow d’onboarding.
Cas type : Airbnb-like où chaque hôte est un vrai business indépendant.
Express Account
Pour qui : marketplaces grand public où les vendeurs sont des particuliers ou très petites structures, qui veulent un onboarding ultra-simple.
Comment ça marche : vous embarquez Stripe-hosted onboarding (formulaire pré-fait par Stripe), Stripe collecte les infos KYC nécessaires, vous gardez le contrôle de l’expérience post-onboarding via votre dashboard custom.
Avantages : onboarding rapide (5-10 min côté vendeur), Stripe gère la compliance, expérience cohérente avec votre marque.
Inconvénients : moins de personnalisation que Custom, Stripe gère certains aspects que vous ne voyez pas.
Cas type : DoorDash, Lyft, plateformes de gig economy.
Custom Account
Pour qui : marketplaces qui ont besoin du contrôle total, qui veulent une expérience 100 % white-label, et qui acceptent la responsabilité KYC.
Comment ça marche : votre plateforme collecte toutes les infos KYC elle-même, les soumet à Stripe via API, gère tout le flow d’onboarding sans aucune redirection vers Stripe.
Avantages : expérience entièrement custom, branding pur, contrôle complet.
Inconvénients : responsabilité KYC côté vous (audit possible par Stripe), implementation 3-4x plus complexe que Standard.
Cas type : Substack, Shopify Payments, Stripe internalisé.
Recommandation Voren pour la Suisse
Pour 80 % des marketplaces suisses de PME ou scale-up, Express Account est le meilleur compromis. Onboarding rapide, compliance gérée par Stripe, expérience suffisamment custom. Standard si vos vendeurs sont des businesses établis. Custom seulement si vous avez un cas spécifique (volume très élevé, contrainte branding extrême, intégration multi-PSP).
KYC en Suisse : ce que Stripe attend
Stripe Connect en Suisse demande des informations spécifiques pour la compliance.
Pour un vendeur particulier (Express) :
- Identité : nom, prénom, date de naissance
- Adresse de résidence en Suisse
- Numéro de téléphone
- Pièce d’identité (CNI ou passeport) en photo
- Coordonnées bancaires (IBAN suisse)
Pour un vendeur entreprise (Standard ou Express) :
- Raison sociale et IDE (numéro d’identification suisse)
- Adresse du siège
- Représentant légal (gérant, directeur)
- Bénéficiaires effectifs si > 25 % de participation
- Coordonnées bancaires d’entreprise
Pour les paiements > CHF 1 000 / mois cumulés : Stripe peut demander des justificatifs additionnels (extraits du registre du commerce, attestations bancaires, bilans annuels).
Timeframe d’onboarding : 5-10 minutes pour un particulier sur Express, 15-30 minutes pour une entreprise sur Standard. Validation Stripe en 24-48h ouvrables. Pendant la validation, le compte peut encaisser mais ne peut pas être payé out vers la banque.
Erreurs courantes côté Suisse :
- IBAN au format non suisse (Stripe accepte les IBAN UE pour les sociétés multi-pays, mais préférable de demander un IBAN suisse pour les vendeurs suisses)
- Adresse de résidence en France voisine (frontaliers) : Stripe peut bloquer si l’IBAN est suisse mais l’adresse française, à valider au cas par cas
- Pièce d’identité expirée (à vérifier côté front avant d’envoyer à Stripe)
Splitter un paiement en pratique
C’est le cœur technique d’une marketplace. Voici comment ça marche.
Direct Charges
L’acheteur paie directement le compte Stripe du vendeur. Votre plateforme prend une commission via application_fee_amount.
const session = await stripe.checkout.sessions.create({
payment_method_types: ['card', 'twint'],
line_items: [{
price_data: { /* ... */ },
quantity: 1
}],
mode: 'payment',
payment_intent_data: {
application_fee_amount: 1500, // CHF 15.00 commission
transfer_data: {
destination: 'acct_VENDOR_ID',
},
},
success_url: 'https://yourmarketplace.com/success',
cancel_url: 'https://yourmarketplace.com/cancel',
});
Avantages : flux d’argent simple (paiement direct vendeur), comptabilité claire.
Inconvénients : votre plateforme n’est jamais propriétaire des fonds (impact selon votre modèle économique et fiscal).
Destination Charges
L’acheteur paie votre plateforme, qui transfère ensuite au vendeur après déduction de la commission.
const charge = await stripe.charges.create({
amount: 5000, // CHF 50.00 total
currency: 'chf',
source: 'tok_source',
application_fee_amount: 500, // CHF 5.00 commission
transfer_data: {
destination: 'acct_VENDOR_ID',
},
});
Avantages : votre plateforme est propriétaire des fonds temporairement, plus flexible pour le refund et la gestion des disputes.
Inconvénients : implication fiscale plus complexe (vous êtes considéré comme intermédiaire commercial).
Separate Charges and Transfers
Cas le plus avancé : vous chargez l’acheteur, et plus tard vous transférez à un ou plusieurs vendeurs avec votre logique custom (par exemple, retenir les fonds 7 jours avant transfer pour gérer les disputes).
// Étape 1 : charge sur votre compte
const paymentIntent = await stripe.paymentIntents.create({
amount: 5000,
currency: 'chf',
});
// Étape 2 : transfer plus tard
await stripe.transfers.create({
amount: 4500, // CHF 45.00 après commission CHF 5.00
currency: 'chf',
destination: 'acct_VENDOR_ID',
});
Avantages : contrôle maximal sur le timing et la logique de transfer.
Inconvénients : complexité accrue, responsabilité accrue.
Intégrer TWINT avec Stripe Connect
TWINT est natif dans Stripe Connect depuis avril 2023. Configuration :
const session = await stripe.checkout.sessions.create({
payment_method_types: ['card', 'twint'], // ajouter 'twint'
// ...
});
C’est tout. Stripe gère la redirection vers l’app TWINT du client, la confirmation du paiement, et le routing vers le bon compte Connect. Frais Stripe identiques (1,4 % + CHF 0,25 sur cartes européennes, idem pour TWINT).
Note : TWINT en Connect demande que le vendeur ait un compte bancaire suisse. Les vendeurs avec compte UE ne peuvent pas recevoir des paiements TWINT (limitation TWINT, pas Stripe).
Gestion des disputes
Sur une marketplace, les disputes (chargebacks, demandes de remboursement) sont fréquentes. Stripe Connect gère ça avec deux options.
Option A · Responsabilité vendeur. Le chargeback impacte le compte du vendeur. Votre plateforme n’est pas responsable financièrement. Frais Stripe chargés au vendeur.
Option B · Responsabilité plateforme. Votre plateforme assume le risque chargeback. Vous pouvez prélever cette somme du vendeur via API ou la retenir d’un futur paiement. Approche plus protectrice pour le vendeur (incentive à utiliser votre marketplace).
Configuration via le paramètre liability_shift ou via votre dashboard Connect.
Recommandation Suisse : option A pour les marketplaces où les vendeurs sont des businesses établis. Option B pour les marketplaces grand public (gig economy) où la confiance vendeur est plus fragile.
Tarification
Stripe Connect ajoute des frais en plus des frais standards Stripe sur les paiements.
- Standard et Express : pas de frais additionnels (vous payez seulement les frais de paiement standards). Stripe se rémunère sur le volume.
- Custom : frais additionnels typiquement 0,25 % + CHF 0,02 par paiement sur le volume net. Plus cher mais justifié par le contrôle accru.
Pour une marketplace qui traite CHF 100 000 / mois sur Express, frais Stripe totaux ~CHF 1 600 / mois (1,6 % du volume). Pour Custom à volume équivalent, ajouter ~CHF 270.
Frais cachés à anticiper :
- Frais de payouts vers les banques (CHF 0,25 par payout)
- Frais de conversion de devises si vendeurs en EUR ou USD (1 % spread)
- Frais Connect platform fee (négociable pour grandes plateformes)
Erreurs courantes en production
Erreur 1 · Ne pas tester en mode test exhaustivement. Stripe a un mode test (pk_test_* et sk_test_*) où vous pouvez créer des comptes Connect fictifs, simuler des paiements, simuler des chargebacks. Utilisez-le agressivement avant de basculer en live.
Erreur 2 · Sous-estimer la complexité KYC. Le KYC ne s’arrête pas à l’onboarding. Stripe peut demander des justificatifs additionnels en cours de vie du compte (audit aléatoire, augmentation de volume, signal de risque). Votre interface doit gérer ces flows.
Erreur 3 · Oublier les disputes. Sur la première année d’une marketplace, vous aurez 1-3 % de disputes. Préparez le code, l’UI, et les processus pour les gérer.
Erreur 4 · Webhook handling fragile. Stripe envoie des webhooks pour tous les events importants (paiement réussi, payout, dispute, compte mis à jour). Si votre handler webhook plante ou retourne 500, Stripe retry mais vous perdez de l’information. Implementer un système de retry idempotent côté vous est essentiel.
Erreur 5 · Pas de monitoring. Mettre en place Sentry pour les erreurs côté code et un dashboard Stripe en lecture seule pour visualiser le volume, les disputes, les payouts. Un dashboard Looker Studio connecté à BigQuery exporté de Stripe est très utile à partir d’un certain volume.
Quand ne pas utiliser Connect
Quelques cas où Stripe Connect est surdimensionné :
- Marketplace très petite (< 10 vendeurs) : un compte Stripe simple avec virements manuels peut suffire
- Marketplace 100 % service (pas de paiement transactionnel) : Stripe Connect ne s’applique pas
- Marketplace réglementée banque : si vous opérez de la véritable activité bancaire, vous avez besoin d’un PSP autorisé, pas de Stripe Connect
Pour 95 % des cas marketplace en Suisse, Stripe Connect Express ou Standard est le bon choix.
Pour aller plus loin
Si vous construisez une marketplace en Suisse et que vous voulez du sparring technique sur l’architecture Stripe Connect :
Configurer votre offre web app : voir le prix complet d’une marketplace custom avec Stripe Connect intégré.
Demander un audit d’architecture marketplace : analyse de votre projet en 7 jours, recommandations sur Connect, KYC, splits, scaling. Gratuit, sans engagement.
Voir notre service de développement web app : pour comprendre notre approche et nos forfaits.