Skip to main content
RapidDev - Software Development Agency
bubble-tutorial

How to Create a Multi-Vendor Marketplace on Bubble

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.

What you'll learn

  • How to structure a multi-vendor marketplace with vendor and buyer roles
  • How to implement vendor onboarding and product management
  • How to set up Stripe Connect for split payments and commissions
  • How to build order management across vendors and buyers
Book a free consultation
4.9Clutch rating
600+Happy partners
17+Countries served
190+Team members
Advanced5 min read40-50 minGrowth plan+ (for backend workflows and Stripe Connect)March 2026RapidDev Engineering Team
TL;DR

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

1

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.

2

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.

Stripe Connect account creation (JSON)
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.

3

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.

4

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.

5

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.

6

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

Workflow summary
1MULTI-VENDOR MARKETPLACE SUMMARY
2=====================================
3
4DATA TYPES:
5 Vendor: user, store_name, stripe_account_id,
6 is_approved, commission_rate
7 Product: vendor, title, price, images, category, stock
8 Order: buyer, vendor, items, total, status,
9 commission_amount, vendor_payout
10 OrderItem: product, quantity, price_at_purchase
11
12VENDOR ONBOARDING:
13 Apply Create Vendor (pending)
14 Admin approves Stripe Connect account
15 Vendor completes Stripe onboarding
16
17CHECKOUT FLOW:
18 Cart items grouped by vendor
19 Single Stripe payment from buyer
20 Transfer to each vendor's Connected Account
21 Platform retains commission
22
23PAYMENT SPLITTING:
24 Commission = order_total * rate / 100
25 Vendor payout = order_total - commission
26 Stripe Transfer to vendor's account_id
27
28ADMIN DASHBOARD:
29 Vendor approvals, all orders
30 Revenue: GMV, commissions, payouts
31 Dispute management

Common 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.

ChatGPT Prompt

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?

Bubble Prompt

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.

RapidDev

Talk to an Expert

Our team has built 600+ apps. Get personalized help with your project.

Book a free consultation

Need help with your project?

Our experts have built 600+ apps and can accelerate your development. Book a free consultation — no strings attached.

Book a free consultation

We put the rapid in RapidDev

Need a dedicated strategic tech and growth partner? Discover what RapidDev can do for your business! Book a call with our team to schedule a free, no-obligation consultation. We'll discuss your project and provide a custom quote at no cost.