Marketplace
Règles
- Modèle de données multi-vendeur : un
User a un profil Seller — les produits appartiennent aux vendeurs, les commandes lient acheteur + vendeur
- Stripe Connect pour les paiements : intégrez les vendeurs avec Connect Express — gère KYC, formulaires fiscaux, comptes bancaires
- Commission : calculez les frais de plateforme en pourcentage — utilisez
application_fee_amount sur les PaymentIntents ou les sessions de paiement
- Flux séquestre : capturez le paiement à l'achat, bloquez les fonds, transférez au vendeur après confirmation de livraison ou après la fenêtre de litige
- Tableau de bord vendeur : mise en page séparée avec analytics des ventes, gestion des commandes, CRUD produits, historique des paiements
- Avis acheteur/vendeur : un avis par commande, dans les deux sens — notes agrégées avec moyenne pondérée
- Recherche avec filtrage vendeur : inclure le nom du vendeur, la note, l'emplacement dans les facettes de recherche
- Intégration vendeur : flux en plusieurs étapes — infos entreprise → Stripe Connect → mise en ligne des produits → mise en production
Modèles
const account = await stripe.accounts.create({
type: "express",
email: seller.email,
metadata: { sellerId: seller.id },
});
const accountLink = await stripe.accountLinks.create({
account: account.id,
refresh_url: `${baseUrl}/seller/onboarding?refresh=true`,
return_url: `${baseUrl}/seller/onboarding/complete`,
type: "account_onboarding",
});
const session = await stripe.checkout.sessions.create({
line_items: [{ price: priceId, quantity: 1 }],
payment_intent_data: {
application_fee_amount: Math.round(price * 0.10),
transfer_data: { destination: seller.stripeAccountId },
},
mode: "payment",
success_url: `${baseUrl}/orders/{CHECKOUT_SESSION_ID}`,
cancel_url: `${baseUrl}/cart`,
});
À éviter
- Transferts directs sans séquestre — bloquez les fonds jusqu'à confirmation de livraison ou expiration de la fenêtre de litige
- Un seul compte Stripe pour tous les vendeurs — chaque vendeur a besoin de son propre compte Connect pour la conformité
- Laisser les vendeurs définir leurs plannings de paiement — utilisez des paiements contrôlés par la plateforme pour la protection contre la fraude
- Absence de vérification du vendeur — exigez la finalisation de l'intégration Stripe Connect avant la mise en ligne
- La plateforme gère les taxes pour les vendeurs — Stripe Connect Express gère la déclaration fiscale des vendeurs