---
title: "A marketplace with several sellers: a Hypamoon recipe · Hypamoon"
description: "Sellers with their own products, one checkout over several sellers, your commission, and payouts per seller through your own Stripe account, tested end to end. Paste one prompt in your chat with Hypamoon connected and fill in your system."
url: https://hypamoon.com/r/marketplace
---

[Say this](https://hypamoon.com/say-this)Recipe

# A marketplace with several sellers

Sellers with their own products, one checkout over several sellers, your commission, and payouts per seller through your own Stripe account, tested end to end.

Type this in your chat

> Build the Hypamoon recipe marketplace

Fill in the brackets and send it in a chat with Hypamoon connected. Your chat fetches the full recipe below and builds it, and stops only where you have to act. Or paste the full prompt below yourself: same result.

## What you get

-   An app with sign-in where you are the marketplace admin and every seller has the role seller
-   Your own Stripe account as the marketplace: buyers pay you, each seller gets their share minus your commission
-   Sellers verified by Stripe, with the details the reporting rules of your country ask for
-   One checkout over several sellers, a sub-order per seller, and a refund of just one of them
-   The rules per country in plain words, with how certain each one is

## Cost

Test mode: no money moves

-   Everything in this recipe runs on test keys and test cards.
-   Live, the marketplace fee is charged on your balance per payment; your own payment provider charges its own fees.

[All plans and limits](https://hypamoon.com/pricing)

## The full recipe

Show the full prompt

Build a test marketplace with Hypamoon, step by step, and prove the money flow end to end in test mode. Example: a wine marketplace where private and business sellers list bottles and the holder takes 10%.

1. App with roles. Create the app with sign-in and the roles marketplace\_admin and seller (create\_app\_from\_template or deploy\_app with auth). The holder signs in as marketplace\_admin; every seller is a user of the app with the role seller. Build a page for sellers (their details and products, through /api/v1/marketplaces/{app\_id} from the app's own server code with the signed user headers) and a shop page with a cart over several sellers (quote, then checkout).

2. Product collection. create\_collection with role products: approved products of active sellers appear there by themselves.

3. Configure. configure\_marketplace with app\_id, holder\_country (where the holder's business is), commission\_percent (the commission from the conversation, like 10) and payout\_moment on\_shipment (the safe default). Use get\_marketplace\_rules to explain to the user what the rules say for their country, with the certainty of each rule.

4. Connect with a test key. connect\_marketplace\_payments with app\_id. Give the user the vault link: in their Stripe Dashboard in test mode they turn on Connect, create a restricted key (rk\_test\_) with exactly the permissions in required\_permissions and paste it in the vault, never in the chat. When they say they are done, call connect\_marketplace\_payments again.

5. A test seller through KYC. invite\_app\_user with role seller and an address that never receives email (like seller-a@example.test), then invite\_seller with that user id, country and kind. create\_test\_login\_link lets the user sign in as that seller to fill in the details on the seller page. Then create\_seller\_onboarding\_link and let the user complete Stripe's test onboarding with Stripe's test data. get\_seller shows payments.kyc\_status verified. Do the same for a second seller.

6. A purchase from two sellers. Each seller adds a product on the seller page. On the shop page, buy one product of each seller in one checkout, with Stripe's test card 4242 4242 4242 4242. list\_suborders shows two sub-orders, one per seller, each with its commission.

7. Refund one sub-order. refund\_order with app\_id and suborder\_id for one of the two, after the user says yes (in a chat the user confirms in the Hypamoon portal). list\_suborders shows it refunded; get\_payouts shows what that seller gave back, and the other seller untouched.

8. Readiness. check\_readiness with marketplace\_app\_id (and the site). Tell the user what is ready and what is not: a live marketplace needs a live key, verified sellers and the marketplace terms, which are on Hypamoon's side.

If a rule refuses something (rule\_blocked), tell the user the rule\_id, what it says and its certainty; never work around it.

### Done when

-   The app has sign-in with the roles marketplace\_admin and seller.
-   configure\_marketplace returned the marketplace with the commission and payout\_moment from the conversation.
-   connect\_marketplace\_payments says connected in test mode, and the key never appeared in the chat.
-   Two test sellers have payments.kyc\_status verified in get\_seller.
-   One paid order has two sub-orders in list\_suborders, one per seller.
-   One sub-order is refunded; get\_payouts shows the other seller untouched.
-   check\_readiness with marketplace\_app\_id was run and its result told to the user.

## What you need

-   **A Stripe account of your own, in test mode.** You turn on Connect and create a restricted key there; you paste it in the Hypamoon vault, never in the chat.
-   **Claude, or another chat with the full Hypamoon connection.** The marketplace tools are not offered in ChatGPT. If your chat has no configure\_marketplace tool, reconnect it.

[Connect your chat](https://hypamoon.com/connect?via=recipe~marketplace) [How recipes work in the docs](https://hypamoon.com/docs/mcp)

## More recipes

-   [**Find your perfect coffee** A Typeform-style product quiz: one question at a time, pictures to tap, a personal coffee at the end and a working Order button.](https://hypamoon.com/r/coffee-quiz)
-   [**Build an adapter for your system** Your chat writes the link to any system with a REST API, and Hypamoon runs it: the key in a vault, only the hosts you allow, rights per action that you click, every call logged.](https://hypamoon.com/r/build-an-adapter)
