Marketplaces
Seller and listing architecture
In the Marketplace Starter a seller is a user, and a listing stores priceCents plus a category.
The Marketplace Starter does not have a separate seller profile model. Listing.sellerId points at User. The user has an email, a name, and a password hash. Public seller pages are that user plus their published listings.
A listing has a unique slug, title, summary, priceCents, category, and status. New listings default to "published". Price is cents, so the checkout line item can use unit_amount without converting a float. The full columns are in the marketplace schema.
Search and category pages should read listings, not orders. An order is a buyer email, a listing id, and a status that starts at "pending". It is not a cart and it does not split a payout.
Creating the Checkout session for that amount is Stripe payments for marketplaces. The product walkthrough is building a marketplace with Next.js.