Marketplaces
Stripe payments for marketplaces
The Marketplace Starter charges with a one-time Checkout Session and price_data in cents. It does not use Stripe Connect.
Marketplace checkout in the Marketplace Starter is mode: "payment". The route is a POST and redirects with status 303 so the browser follows with GET. The amount is the listing’s priceCents passed as unit_amount inside price_data. A listing stored as 2400 is 24.00 EUR.
That is a charge to your platform account. The kit does not create Connect accounts, destination charges, or transfers. If session.url is missing, send the user back instead of redirecting to an empty URL. The same session shape is compared with subscriptions in Stripe Checkout with Next.js.
The order row stays "pending" until you record the paid session. The starter does not ship a Connect webhook that splits funds. Recording payment is your success handler or a webhook you add, the same rule as accepting paid job submissions on the job board.
Listing fields the amount comes from are in seller and listing architecture.