Building a multi-vendor marketplace on Bubble involves setting up vendor onboarding, product listings, buyer search and purchase flows, order management, and split payments via Stripe Connect. This tutorial takes a template-based approach — starting from a marketplace template or structured plan, customizing vendor dashboards and buyer experiences, and implementing commission-based payment splitting.
Overview: Multi-Vendor Marketplace on Bubble
This tutorial provides an alternative, template-focused approach to building a marketplace. You will structure the core data model, implement vendor onboarding with Stripe Connect, build the buying experience, and manage orders across multiple vendors.
Prerequisites
- A Bubble app on Growth plan or higher
- Stripe account with Connect enabled
- Understanding of user roles, Privacy Rules, and backend workflows
- Familiarity with payment processing concepts
Step-by-step guide
Design the marketplace data architecture
Design the marketplace data architecture
Create 'Vendor' with: user (User), store_name, description, logo, stripe_account_id, is_approved (yes/no), commission_rate (number, default 10). Create 'Product' with: vendor, title, description, price, images (list), category, stock, is_active. Create 'Order' with: buyer (User), vendor, items (list of OrderItems), total, status, commission_amount, vendor_payout, stripe_payment_id. Create 'OrderItem' with: product, quantity, price_at_purchase.
Expected result: Data model supports multiple vendors selling products to buyers with order tracking.
Build vendor onboarding with Stripe Connect
Build vendor onboarding with Stripe Connect
Create an 'Apply as Vendor' page with a form for store name, description, and logo. The workflow creates a Vendor record (is_approved = no). An admin reviews and approves vendors. When approved, trigger Stripe Connect onboarding: use the API Connector to call Stripe's Account creation endpoint, creating a Connected Account for the vendor. Redirect the vendor to Stripe's hosted onboarding to complete identity verification. Store the Stripe account ID on the Vendor record.
1{2 "type": "express",3 "country": "US",4 "email": "vendor@example.com",5 "capabilities": {6 "transfers": { "requested": true }7 }8}Pro tip: Use Express accounts for the simplest vendor experience — Stripe handles identity verification, tax reporting, and payouts directly.
Expected result: Vendors complete onboarding with a connected Stripe account for receiving payouts.
Build the vendor dashboard for product management
Build the vendor dashboard for product management
Create a 'vendor-dashboard' page (only accessible to users with a Vendor record). Show sections: Product Management (add/edit/delete products), Orders (incoming orders for this vendor), Earnings (total sales, commissions, payouts). The product management section includes a form for adding products with title, description, price, images, category, and stock quantity.
Expected result: Vendors can manage their products, view incoming orders, and track earnings from a dedicated dashboard.
Build the buyer browsing and checkout experience
Build the buyer browsing and checkout experience
Create a marketplace home page with search, category filters, and featured products from all vendors. Product detail pages show vendor information alongside product details. The cart supports items from multiple vendors. At checkout, create separate Order records per vendor (grouping cart items by vendor). Process a single Stripe payment from the buyer, then use Stripe Connect transfers to split the funds: platform keeps commission, vendor receives the remainder.
Expected result: Buyers can browse products from all vendors, add to cart, and checkout with automatic payment splitting.
Implement commission-based payment splitting
Implement commission-based payment splitting
When processing checkout payment, use Stripe's Payment Intents with transfer_group and separate transfers. For each vendor's order: calculate commission (order total * vendor's commission_rate / 100), calculate vendor payout (order total - commission). After successful payment, create a Stripe Transfer to each vendor's Connected Account for their payout amount. The platform automatically retains the commission.
Expected result: Payments are automatically split between the platform (commission) and vendors (payout) via Stripe Connect.
Build admin tools for marketplace management
Build admin tools for marketplace management
Create an admin dashboard with: Vendor Applications (approve/reject new vendors), All Orders (view across all vendors), Revenue Analytics (total GMV, commissions earned, vendor payouts), Dispute Management (handle buyer complaints), and Platform Settings (default commission rate, category management). For complex marketplace operations, RapidDev can help implement advanced features like dynamic commission tiers and vendor performance scoring.
Expected result: Platform administrators can manage vendors, monitor orders, and track marketplace revenue.
Complete working example
1MULTI-VENDOR MARKETPLACE — SUMMARY2=====================================34DATA TYPES:5 Vendor: user, store_name, stripe_account_id,6 is_approved, commission_rate7 Product: vendor, title, price, images, category, stock8 Order: buyer, vendor, items, total, status,9 commission_amount, vendor_payout10 OrderItem: product, quantity, price_at_purchase1112VENDOR ONBOARDING:13 Apply → Create Vendor (pending)14 Admin approves → Stripe Connect account15 Vendor completes Stripe onboarding1617CHECKOUT FLOW:18 Cart items grouped by vendor19 Single Stripe payment from buyer20 Transfer to each vendor's Connected Account21 Platform retains commission2223PAYMENT SPLITTING:24 Commission = order_total * rate / 10025 Vendor payout = order_total - commission26 Stripe Transfer to vendor's account_id2728ADMIN DASHBOARD:29 Vendor approvals, all orders30 Revenue: GMV, commissions, payouts31 Dispute managementCommon mistakes when creating a Multi-Vendor Marketplace on Bubble
Why it's a problem: Processing separate payments per vendor instead of one payment with splits
How to avoid: Collect one payment from the buyer and use Stripe Connect transfers to split funds to vendors
Why it's a problem: Not verifying vendor Stripe accounts are fully onboarded before allowing sales
How to avoid: Check the vendor's Stripe account status before allowing their products to be listed for sale
Why it's a problem: Storing the same product price on the order instead of capturing price_at_purchase
How to avoid: Capture and store the price at the time of purchase in the OrderItem record
Best practices
- Use Stripe Connect Express accounts for simplest vendor payment experience
- Capture price_at_purchase on order items to prevent retroactive price changes
- Group cart items by vendor and create separate Order records per vendor
- Require vendor Stripe onboarding completion before allowing product sales
- Set up admin review for new vendor applications to maintain marketplace quality
- Track commission rates per vendor for flexible pricing tiers
- Implement a dispute resolution workflow for buyer-vendor conflicts
Still stuck?
Copy one of these prompts to get a personalized, step-by-step explanation.
I want to build a multi-vendor marketplace in Bubble.io with vendor onboarding, product listings, buyer checkout, and Stripe Connect for split payments. What is the complete data model and payment flow?
Build a multi-vendor marketplace. Create Vendor, Product, Order, and OrderItem data types. Implement vendor onboarding with Stripe Connect. Build a buyer checkout that splits payments between the platform commission and vendor payouts.
Frequently asked questions
What is Stripe Connect and why do I need it?
Stripe Connect handles splitting payments between your platform and vendors. Without it, you would need to manually track and transfer money to each vendor, which is complex and legally risky.
How much does Stripe Connect cost?
Stripe charges the standard 2.9% + 30 cents per payment, plus 0.25% + 25 cents per payout to vendors with Express accounts. Your platform sets its own commission on top.
Can vendors set their own prices?
Yes. Vendors manage their own Product records including prices. The platform can set a minimum price or approve price changes if needed.
How do I handle returns and refunds in a multi-vendor marketplace?
Process refunds through Stripe to the buyer, then reverse the transfer to the vendor's Connected Account minus any restocking fee. Create a Return workflow with status tracking.
Can RapidDev build a complete marketplace platform in Bubble?
Yes. RapidDev specializes in marketplace development with vendor management, payment splitting, dispute resolution, analytics, and scalability optimization in Bubble.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your project.
Book a free consultation