Skip to content
Commerce

Let the people in your app sell

Your users become sellers on Stripe Connect, list what they sell inside your app, and get paid. Run it as a marketplace that takes the payment, or a storefront where each seller is paid directly. You set the fee on every sale.

Two shapes, one setup

Choose who the buyer pays when you set selling up. Everything else on this page works in both.

Marketplace

The buyer pays your app. Stripe charges on your account and sends each seller their share, less your fee.

  • You answer refunds and disputes, from the console or your server
  • One Stripe page for a cart that spans several sellers
  • Stripe Tax, when on, runs on your account
  • Sellers give a contact email and onboard with Stripe inside your app
How selling works with Marketplace chosen: the buyer pays your app, which pays the seller out, with refunds, disputes and Stripe's fee on your side

Storefront

The buyer pays the seller. Stripe charges on the seller's own account and sends your fee to you.

  • Sellers refund their own sales from your app, and you can too
  • A cart across sellers is paid one seller at a time, each step on its own
  • Stripe Tax, when on, runs on each seller's account
  • Stripe's processing fee is the seller's, or yours if you choose
How selling works with Storefront chosen: the buyer pays the seller on their own Stripe account, and refunds and disputes are the seller's

Everything a sale needs

From what can be listed to the money reaching the seller's bank.

Items and item types

You design what can be sold in the console: the fields a seller fills in, how it may be priced and what a buyer gets. Sellers list items inside your app, never in a BuildBase login, and you can review each one before it goes live.

List a coaching session: add a title, a price and the message your buyer reads after paying.

Read about items and item types
The item type builder on the Pricing section of Coaching session, with the seller's form previewed on the right and Publish enabled

Checkout and orders

One button opens Stripe's checkout. Stock is held while the buyer pays, and every order records what was bought, your fee and the seller's share. Buyers get what they paid for at once: a message, a link, access in your app, files or licence keys.

Paid. Your session is booked, and the seller will be in touch.

Marketplace: the charge is on your account. Storefront: on the seller's.

Read about checkout and orders
An order page in the marketplace shape: buyer, seller, Coaching session at $45.00, your fee $4.50, the seller's share $40.50, the buyer's grants, and Mark fulfilled on the line

Carts across sellers

A buyer, signed in or a guest, pays for items from several sellers in one checkout. Each seller gets an order of their own, and refunds stay per order.

Two sellers, one cart. Check out.

Marketplace: one Stripe page, and each seller is sent their share. Storefront: one page per seller, in turn.

Read about carts across sellers
CartSummary at 360 pixels wide: lines from two sellers, the code SPRING applied, the discount and the new total, and Check out

Subscriptions

Sellers sell monthly or yearly prices with a free trial, an introductory price or a set number of payments. Buyers move between tiers, cancel at the end of the period and change their mind before then.

Intro price for your first two payments, then the regular price every month.

Marketplace: the subscription lives on your account. Storefront: on the seller's, with its events reaching you through your Connect endpoint.

Read about subscriptions
HoldingSubscription at 360 pixels wide: Member, $15.00 every month, Payment 2 of 6, the next payment date, the Patron tier to move to, and Cancel

Paying in parts

A one-time price paid as a deposit and a balance, as milestones the buyer approves, or in installments charged on their dates. The buyer has what they bought from the first part.

Milestone 2 is ready. Approve and pay.

Read about paying in parts
OrderParts at 360 pixels wide: three milestones, the first paid, the second due with Approve and pay, the third waiting

Coupons

Codes for money off: yours on every seller's items, or a seller's on their own. The discount comes off before your fee, so you and the seller share it in proportion.

SPRING takes 10% off your first payment.

Read about coupons
The New coupon dialog: code SPRING, 10% off, the first payment only on a subscription, 100 uses, once per buyer, no end date

Bundles

A seller sells several of their own items together at one price. The buyer gets everything each included item gives, as if bought on its own.

Course, ebook and a call, together.

Read about bundles

Options

Sizes, colours and other axes: the buyer picks a value per axis, and each combination has its own price and stock.

Size M, Red. One left.

Read about options
An item page at 1280 pixels wide: Size and Colour pickers with M and Red chosen, L marked sold out, the price and Buy

Bookings

Sell a time on the seller's calendar: weekly hours, seats per slot, held while the buyer pays and confirmed once paid, then cancelled or moved within the seller's rules.

Tuesday at 10:00, your time. Book.

Marketplace: a seller moves a booking, and you cancel with a refund. Storefront: the seller does both.

Read about bookings
SlotPicker at 360 pixels wide: a week of days, open times for Tuesday in the buyer's time zone, 10:00 chosen, and Book

Affiliates

People in your app earn a commission on the buyers they send, through your programs or a seller's. Commissions are held, then paid out by Stripe transfer, PayPal, a Wise batch file or by hand.

Share your link. You earn on every sale it brings.

A seller's program comes off the seller's share: a smaller transfer in the marketplace shape, a larger fee in the storefront shape.

Read about affiliates
AffiliateDashboard at 1280 pixels wide: the affiliate's link and code, earned, pending and paid totals, and their latest commissions

Shipping and returns

Rates at checkout, the address on Stripe's page, shipments with tracking, labels through your own EasyPost or Shippo account, and returns the seller approves. Buyers hear when it ships and when it arrives.

Your order is on its way. Track it.

Read about shipping and returns
OrderTracking at 360 pixels wide: one parcel In transit with its carrier, tracking number and link, and Request a return below

Tax

Turn on Stripe Tax and Stripe works out the tax on each checkout, each renewal and each part. The order keeps the tax apart from your fee and the seller's share.

Subtotal, tax and total, on every order.

Marketplace: on your Stripe account. Storefront: on each seller's.

Read about tax
The Money step: a 10% fee, the live preview of what a seller keeps at $5, $10, $50, $100 and $500, keep or return the fee on a refund, and Tax at checkout off

Payouts and exports

Stripe pays each seller's balance to their bank, and sellers see their payouts inside your app. You and each seller export paid orders as a spreadsheet for the books.

Payouts and balance: what is ready, what is on its way.

Read about payouts and exports
A seller's page in the console: Active, Can sell and Can get paid, the Stripe balance, and the latest payouts with their arrival dates

Seller screens and a buy button

Ready screens for sellers and hooks for your own, in @buildbase/sdk. From 1.2.0; the server routes work with any version.

app/selling/page.tsxTSX
import { SellerHome, SellerItems, SellerSales } from '@buildbase/sdk/react';

export function SellingPage() {
  return (
    <>
      <SellerHome subject={{ user: true }} />
      <SellerItems subject={{ user: true }} />
      <SellerSales subject={{ user: true }} />
    </>
  );
}
app/shop/page.tsxTSX
import { BuyButton, usePublishedItems } from '@buildbase/sdk/react';

export function Shop() {
  const { items } = usePublishedItems({ typeKey: 'coaching-session' });
  return items.map((item) => {
    const variant = item.variants[0];
    return (
      <BuyButton
        key={item._id}
        itemId={item._id}
        variantId={variant.id}
        priceId={variant.prices[0].id}
      />
    );
  });
}

Test in Staging, then go live

Each environment sells with its own Stripe keys: test keys in Staging, where nothing real is charged, then live keys in Production. The console checks each step before you switch.

  1. Set it up in Staging

    In a Staging environment, which takes Stripe test keys only, save your test keys, choose a shape, set your fee, your terms and who can sell, and turn selling on. Nothing real is charged.

  2. Make a test sale end to end

    Still in Staging, onboard a test seller, buy with a Stripe test card, fulfil it and refund it. The console ticks off each step it can check.

  3. Go live in Production

    In your Production environment, once live selling is open for your app, set selling up, save your live keys, set up the live Connect endpoint and turn selling on. Sellers onboard again in live mode.

Test a sale in Staging on the Overview tab: every check Done, tax on sales worth a look, and going live in Production

Frequently Asked Questions

What is the difference between a marketplace and a storefront?

In a marketplace the buyer pays your app: Stripe charges on your account, you answer refunds and disputes, and each seller is sent their share. In a storefront the buyer pays the seller on their own Stripe account, the seller answers their own refunds and disputes, and your fee is sent to you. You choose once, before the first seller joins.

Whose Stripe account is used?

Yours. Selling runs on Stripe Connect with the keys you save in the console, and each seller gets a Stripe account of their own through Stripe's onboarding inside your app. Your app never handles their identity documents or bank details.

Can I try it without real money?

Yes. Test in a Staging environment, which takes Stripe test keys only: make a sale with a Stripe test card and refund it, and nothing real is charged. Then go live in your Production environment with your live keys, once live selling is open for your app.

Do my sellers need a BuildBase account?

No. Sellers start selling, list items and see their sales inside your app. Only you and your team use the BuildBase console.

Make your first test sale

Save your Stripe test keys, choose marketplace or storefront, and follow the guide from a seller onboarding to a refund.

Free plan7-day free trial on paid plansNo credit card required