# Commerce Hub



# 1.  Commerce Hub: Overview

The **Commerce Hub** section is your central hub for managing the ecommerce components of your platform. It includes Offerings, Orders, Configurations (order statuses), Categories, and Payment Methods—each tailored to support project-scoped setups and rapid cloning.

**Overview**

1. **Scope:** Everything under **Commerce Hub** in the left nav—Offerings, Orders, Configurations, Categories, Payment Methods.
2. **Project-Scoping:** Many pages let you choose a project context (via pills or dropdowns) so each project can have its own settings.
3. **Clone Support (Configurations):** Quickly copy order-status setups from one project into another.
4. **Unified UI Patterns:** List views with Total, Filter pane, Search bar, and a +Add button; side-panel forms for create/edit; inline actions for edit/delete.

# 2. Commerce Hub: Use Cases

<article class="text-token-text-primary w-full" data-scroll-anchor="true" data-testid="conversation-turn-486" dir="auto" id="bkmrk-use-case-%231%3A-publish">**Use Case #1: Publishing New Products**

Your e-commerce team wants to onboard a new line of items to the Marketplace. They click **Commerce Hub** **→ Offerings**, then **+ Add** to open the “Add product” form. They select the target Project, enter Name, SKU, Price, choose a Category, upload a Main Image, and toggle **Active**. Upon saving, the new product appears in the table (with Total count updated) and is immediately searchable and filterable by Name, SKU, Category, and Status—ready for customers to browse and purchase.

**Use Case #2: Reusing Marketplace Settings via Project-Scoped Configurations**

A second business unit needs the same Order Statuses, Category hierarchy, and Payment Methods you built for Project A. From **Commerce Hub → Configurations**, they select their Project in the “Settings by project” bar, click **Clone from project**, choose Project A in the modal, and hit **Clone**. Instantly, all statuses, labels, and configuration entries appear for the new Project. They can then tweak colors or labels in-place without rebuilding from scratch.

**Use Case #3: Building &amp; Managing Categories for Discovery**

Your merchandising team wants to group products by “Electronics,” “Accessories,” and “Clearance.” They go to **Commerce Hub → Categories**, click **+ Add**, pick the Project, enter the Label and URL slug, and optionally nest it under an existing parent. In the table view they can expand each row to see how many products already use that category, edit or delete categories, and drag-and-drop to reorder. Search and filtering on the Category name let them locate and manage any node in a large tree.

**Use Case #4: Enabling Multiple Payment Methods &amp; Integrations**

Your finance team needs to offer PayPal, Stripe, and an in-house “Manual” option. Under **Commerce Hub** **→ Payment methods**, they click **+ Add**, choose the Project, pick Type (e.g. “Stripe”), select Integration, set the Merchant ID, and define Currencies, Rules, and Credentials via the JSON editor. Toggling the Status switch immediately enables or disables that payment option on the storefront. The table shows Name, Type, Integration, and Project columns—so teams can audit and adjust live methods in seconds.

**Use Case #5: Reviewing &amp; Fulfilling Customer Orders**

Customer support needs to monitor incoming orders. They open **Commerce Hub** **→ Orders**, where the table lists Order ID, Date, Project, Customer, Cost, and Status—together with Total count, Search box, and a **Filter** drawer for date ranges, customer name, price slider, and status selectors. Clicking the expand-row arrow on any order reveals full order details on the right. From there, they can update the Status dropdown (e.g. “Shipped”), add internal notes, or trigger notifications—ensuring every order is tracked, processed, and closed in one unified interface.

<div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[72rem]:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="3d6c1ddc-0c29-46c4-832d-bd71c35a384a" data-message-model-slug="o4-mini-high" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose dark:prose-invert w-full break-words light">  
</div></div></div></div><div class="flex absolute start-0 end-0 flex justify-start">  
</div></div></div></div></div></article>

# 3. Commerce Hub: Offerings

The **Offerings** page in Commerce Hub is your central catalog for defining and managing the items available for customers to purchase. Each product can be scoped to a specific Project, assigned to one or more Categories, priced, and localized with rich content and SEO metadata.

<article class="text-token-text-primary w-full" data-scroll-anchor="true" data-testid="conversation-turn-490" dir="auto" id="bkmrk-finding-%E2%80%9Cproducts%E2%80%9D-i">##### Finding “Offerings” in Commerce Hub

Open the left-hand navigation menu.  
Scroll down to **Commerce Hub** and click its chevron to expand.  
Click **Offerings** under the **Commerce Hub** section.  
That will take you to the Products page where you can view, add, filter, and manage your catalog.

</article>##### Table View

**Total (top-left):** Shows the number of products in your current view.  
**Filter (funnel icon):** Opens a side-panel with advanced filters (see **Filtering &amp; Searching** below).  
**Search:** Instant, real-time search across product names and subtitles.  
**Columns:**

<div class="_tableContainer_16hzy_1" id="bkmrk-column-description-p"><div class="_tableWrapper_16hzy_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1901" data-start="850"><thead data-end="963" data-start="850"><tr data-end="963" data-start="850"><th data-col-size="sm" data-end="866" data-start="850">Column</th><th data-col-size="md" data-end="963" data-start="866">Description</th></tr></thead><tbody data-end="1901" data-start="1084"><tr data-end="1197" data-start="1084"><td data-col-size="sm" data-end="1100" data-start="1084">**Products**</td><td data-col-size="md" data-end="1197" data-start="1100">Thumbnail, **Name** link (e.g. “teast”), and subtitle below (e.g. “Teast”).</td></tr><tr data-end="1314" data-start="1201"><td data-col-size="sm" data-end="1217" data-start="1201">**Reference**</td><td data-col-size="md" data-end="1314" data-start="1217">Custom SKU or reference code (or “–” if none).</td></tr><tr data-end="1431" data-start="1318"><td data-col-size="sm" data-end="1334" data-start="1318">**Project**</td><td data-col-size="md" data-end="1431" data-start="1334">The Project the product belongs to (or “–” for global).</td></tr><tr data-end="1548" data-start="1435"><td data-col-size="sm" data-end="1451" data-start="1435">**Category**</td><td data-col-size="md" data-end="1548" data-start="1451">Primary Category label (e.g. “Test”).</td></tr><tr data-end="1665" data-start="1552"><td data-col-size="sm" data-end="1568" data-start="1552">**Price** ⇅</td><td data-col-size="md" data-end="1665" data-start="1568">Numeric price in your currency. Click header to sort ascending/descending.</td></tr><tr data-end="1782" data-start="1669"><td data-col-size="sm" data-end="1685" data-start="1669">**Status** ⇅</td><td data-col-size="md" data-end="1782" data-start="1685">Active (green) or Inactive (gray) badge. Click header to sort.</td></tr><tr data-end="1901" data-start="1786"><td data-col-size="sm" data-end="1802" data-start="1786">**Actions**</td><td data-col-size="md" data-end="1901" data-start="1802">✏️ **Edit** opens the Edit form; 🗑️ **Delete** permanently removes the product (with confirm).</td></tr></tbody></table>

</div></div>**+ Add (top-right):** Opens the “Add product” form (see below).

##### Filtering &amp; Searching

Click **Filter** to open these options:

1. **Name** – Free-text search on the product name.
2. **SKU** – Free-text search on SKU/reference.
3. **Reference** – Dropdown of existing reference codes.
4. **Categories** – Multi-select categories.
5. **Price** **range** – Enter a **From** and **To** value to set a minimum/maximum price range (e.g. 10 – 300).
6. **Show only** – Checkboxes for Active or Inactive.

After choosing criteria, click **Save** to apply filters (the Total count updates accordingly).

##### Adding a Product

**Open the Form:** Click **+ Add** in the Products table header.

**General Section**

1. **Project** – (Required) Select the Project context.
2. **Name** – (Required) Enter the product name.
3. **Categories** – Pick one or more categories for discovery.
4. **Reference** – (Optional) Select or type a reference/SKU.
5. **SKU** – (Optional) Enter your own SKU.
6. **Price** – (Required) Numeric price.
7. **Active** – Toggle on to make the product live.

**Images**

1. **Main image** – Drag-drop or browse to upload a primary photo (jpg/png).
2. **Main external image** – Paste a URL to load an off-site image.
3. **Additional images** – Upload multiple supporting photos.
4. **Additional external images** – Paste URLs for extra photos.

**Properties:** JSON editor for custom key/value attributes (e.g., color, weight).

**Save:** Click **Save** to create the product. It immediately appears in the table.

##### Editing a Product

Click ✏️ in the Actions column to open the Edit panel, which has two tabs:

**A. General Tab**

Identical to the Add form, but pre-populated. You can:

1. Change Name, Categories, Reference, SKU, Price, Active state.
2. Update or replace images.
3. Modify JSON **Properties**.

**B. Contents Tab**

This tab manages translations, page content, and SEO metadata:  
**Languages** – Select the target language badge (Ar, En, Es, Zh, etc.).  
**Title** – Localized product title for the storefront.  
**Subtitle** – Short tagline or description.  
**Page meta title** – SEO title tag.  
**Page meta description** – SEO meta description tag.  
**Properties** – JSON editor for any locale-specific attributes.  
**Text** – Rich-text editor for detailed product description, features, specs.  
**Clone translation from:** Opens a modal to select a source language; copies its fields into the current language.  
**Translate:** Invokes an integrated translation service (e.g., OpenAI) to auto-translate all fields into the current language.  
**Save:** Click **Save** (bottom-left) to apply edits in both tabs.

##### Deleting a Product

Click 🗑️ in the Actions column. A confirmation tooltip appears:

> **Are you sure?** \[Cancel\] \[Delete\]

1. **Delete** – Permanently removes the product.
2. **Cancel** – Closes the tooltip without action.

<p class="callout info">**Audit Logging:** Every deletion registers the product name, user, and timestamp in the system audit log.</p>

With these tools, the Marketplace **Products** module becomes a powerful, project-scoped catalog manager—fully searchable, sortable, localized, and audit-ready.

# 4. Commerce Hub: Orders

<article class="text-token-text-primary w-full" data-scroll-anchor="true" data-testid="conversation-turn-492" dir="auto" id="bkmrk-the-orders-page-give">The **Orders** page gives you a read-only ledger of all customer purchases. You can sort, search, and filter your orders—and expand any row to see the individual products (line items) in that order—but you cannot create, edit, or delete orders from this interface.

##### Navigating to Orders

<div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[72rem]:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="a1442716-83cb-4e64-9200-cd08ac51e5be" data-message-model-slug="o4-mini-high" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose dark:prose-invert w-full break-words light">1. Open the left-side menu.
2. Scroll to **Commerce Hub** and expand it.
3. Click **Orders**.

</div></div></div></div></div></div></div></div>**Table View**

<div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[72rem]:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="a1442716-83cb-4e64-9200-cd08ac51e5be" data-message-model-slug="o4-mini-high" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose dark:prose-invert w-full break-words light"><div class="_tableContainer_16hzy_1"><div class="_tableWrapper_16hzy_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="2943" data-start="475" style="width: 92.1429%; height: 386.122px;"><thead data-end="650" data-start="475"><tr data-end="650" data-start="475" style="height: 29.7017px;"><th data-col-size="sm" data-end="499" data-start="475" style="width: 18.3362%; height: 29.7017px;">Element</th><th data-col-size="md" data-end="650" data-start="499" style="width: 81.6509%; height: 29.7017px;">Description</th></tr></thead><tbody data-end="2943" data-start="827"><tr data-end="1003" data-start="827" style="height: 29.7017px;"><td data-col-size="sm" data-end="851" data-start="827" style="width: 18.3362%; height: 29.7017px;">**Total**</td><td data-col-size="md" data-end="1003" data-start="851" style="width: 81.6509%; height: 29.7017px;">Displays the total number of orders matching your current filters.</td></tr><tr data-end="1179" data-start="1004" style="height: 29.7017px;"><td data-col-size="sm" data-end="1028" data-start="1004" style="width: 18.3362%; height: 29.7017px;">**Filter** (funnel)</td><td data-col-size="md" data-end="1179" data-start="1028" style="width: 81.6509%; height: 29.7017px;">Opens the **Filters** drawer (see below).</td></tr><tr data-end="1357" data-start="1180" style="height: 29.7017px;"><td data-col-size="sm" data-end="1205" data-start="1180" style="width: 18.3362%; height: 29.7017px;">**Search…**</td><td data-col-size="md" data-end="1357" data-start="1205" style="width: 81.6509%; height: 29.7017px;">Free-text search by Order ID or Customer name.</td></tr><tr data-end="1533" data-start="1358" style="height: 29.7017px;"><td data-col-size="sm" data-end="1382" data-start="1358" style="width: 18.3362%; height: 29.7017px;">**+ Add**</td><td data-col-size="md" data-end="1533" data-start="1382" style="width: 81.6509%; height: 29.7017px;">*Not shown*—orders cannot be created here.</td></tr></tbody></table>

</div></div></div></div></div></div></div></div></div></div>**Columns**

<table class="w-fit min-w-(--thread-content-width)" data-end="2943" data-start="475" style="width: 92.1429%; height: 386.122px;"><tbody data-end="2943" data-start="827"><tr data-end="1885" data-start="1710" style="height: 29.7017px;"><td data-col-size="sm" data-end="1734" data-start="1710" style="width: 18.3362%; height: 29.7017px;">• ▾ Expand icon</td><td data-col-size="md" data-end="1885" data-start="1734" style="width: 81.6509%; height: 29.7017px;">Click to expand/collapse the row and reveal that order’s line items.</td></tr><tr data-end="2061" data-start="1886" style="height: 29.7017px;"><td data-col-size="sm" data-end="1910" data-start="1886" style="width: 18.3362%; height: 29.7017px;">Order ID</td><td data-col-size="md" data-end="2061" data-start="1910" style="width: 81.6509%; height: 29.7017px;">Unique identifier for the order.</td></tr><tr data-end="2238" data-start="2062" style="height: 29.7017px;"><td data-col-size="sm" data-end="2086" data-start="2062" style="width: 18.3362%; height: 29.7017px;">Date ⇅</td><td data-col-size="md" data-end="2238" data-start="2086" style="width: 81.6509%; height: 29.7017px;">Date/time when the order was placed. Click header to sort ascending/descending.</td></tr><tr data-end="2414" data-start="2239" style="height: 29.7017px;"><td data-col-size="sm" data-end="2263" data-start="2239" style="width: 18.3362%; height: 29.7017px;">Project</td><td data-col-size="md" data-end="2414" data-start="2263" style="width: 81.6509%; height: 29.7017px;">(Optional) Project tied to the order, if any.</td></tr><tr data-end="2590" data-start="2415" style="height: 29.7017px;"><td data-col-size="sm" data-end="2439" data-start="2415" style="width: 18.3362%; height: 29.7017px;">Customer</td><td data-col-size="md" data-end="2590" data-start="2439" style="width: 81.6509%; height: 29.7017px;">Clickable link to the Client profile who placed the order.</td></tr><tr data-end="2766" data-start="2591" style="height: 29.7017px;"><td data-col-size="sm" data-end="2615" data-start="2591" style="width: 18.3362%; height: 29.7017px;">Cost</td><td data-col-size="md" data-end="2766" data-start="2615" style="width: 81.6509%; height: 29.7017px;">Total sum of all line-item costs.</td></tr><tr data-end="2943" data-start="2767" style="height: 29.7017px;"><td data-col-size="sm" data-end="2791" data-start="2767" style="width: 18.3362%; height: 29.7017px;">Status</td><td data-col-size="md" data-end="2943" data-start="2791" style="width: 81.6509%; height: 29.7017px;">Colored badge showing the order’s current status. (View-only.)</td></tr></tbody></table>

##### Expanding an Order

When you click the ▾ icon on the left of a row, a nested section opens showing each product in that order:

<div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[72rem]:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="a1442716-83cb-4e64-9200-cd08ac51e5be" data-message-model-slug="o4-mini-high" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose dark:prose-invert w-full break-words light"><div class="_tableContainer_16hzy_1"><div class="_tableWrapper_16hzy_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3467" data-start="3083" style="width: 92.0238%;"><thead data-end="3159" data-start="3083"><tr data-end="3159" data-start="3083"><th data-col-size="sm" data-end="3108" data-start="3083" style="width: 31.3298%;">Field</th><th data-col-size="md" data-end="3159" data-start="3108" style="width: 68.6492%;">Notes</th></tr></thead><tbody data-end="3467" data-start="3237"><tr data-end="3313" data-start="3237"><td data-col-size="sm" data-end="3262" data-start="3237" style="width: 31.3298%;">Quantity × Product</td><td data-col-size="md" data-end="3313" data-start="3262" style="width: 68.6492%;">e.g. “2 × Test”</td></tr><tr data-end="3390" data-start="3314"><td data-col-size="sm" data-end="3339" data-start="3314" style="width: 31.3298%;">SKU</td><td data-col-size="md" data-end="3390" data-start="3339" style="width: 68.6492%;">The SKU of the product ordered.</td></tr><tr data-end="3467" data-start="3391"><td data-col-size="sm" data-end="3416" data-start="3391" style="width: 31.3298%;">Line-item Cost</td><td data-col-size="md" data-end="3467" data-start="3416" style="width: 68.6492%;">Subtotal cost for that quantity of the product.</td></tr></tbody></table>

</div></div></div></div></div></div></div></div></div></div><article class="text-token-text-primary w-full" data-scroll-anchor="true" data-testid="conversation-turn-640" dir="auto">**View Order Details (Drawer):** If you click the **Order ID** link (instead of the ▾ expand icon), a full‑height drawer slides in from the right to show low‑level metadata:

**Additional:** A read‑only JSON editor displaying the order’s `meta` object.

**JSON View:** You can expand/collapse properties to inspect all nested fields.

This drawer is strictly view‑only—useful for debugging or audit purposes when you need to see every piece of metadata attached to the order.

</article>##### Filtering &amp; Searching

Click **Filter** to open these options:

<div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[72rem]:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="a1442716-83cb-4e64-9200-cd08ac51e5be" data-message-model-slug="o4-mini-high" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose dark:prose-invert w-full break-words light">1. **Created date** (Start Date → End Date)
2. **Customer(s)** – multi-select your clients
3. **Price** – slider or min/max to narrow by total cost
4. **Status(es)** – multi-select one or more order statuses

</div></div></div></div></div></div></div></div>Enter values and click **Save** to apply. The table and total count will update accordingly.

##### Permissions &amp; Actions

<div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[72rem]:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="a1442716-83cb-4e64-9200-cd08ac51e5be" data-message-model-slug="o4-mini-high" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose dark:prose-invert w-full break-words light">1. **View-only**: There is no **Add**, **Edit**, or **Delete** on this page.
2. **Audit**: All orders are sourced from your e-commerce or billing system—changes must be made there.
3. **Expand**: The only action available is to expand a row and inspect its products.
4. **Sorting &amp; Searching**: Use the column sort buttons and search bar to narrow down orders quickly.

By centralizing your sales data here, the Orders page gives you a clear, filterable history of every purchase—perfect for reporting, auditing, or simply checking what goods a client has received.</div></div></div></div></div></div></div></div></article>

# 5. Commerce Hub: Configurations

<article class="text-token-text-primary w-full" data-scroll-anchor="true" data-testid="conversation-turn-494" dir="auto" id="bkmrk-the-configurations-p"><article class="text-token-text-primary w-full" data-scroll-anchor="true" data-testid="conversation-turn-538" dir="auto"><article class="text-token-text-primary w-full" data-scroll-anchor="true" data-testid="conversation-turn-540" dir="auto">The **Marketplace** **→ Configurations** page lets you set up all your Marketplace lookup‐lists—like order statuses, payment methods, and product categories—on a per-project basis. Each project has its own entries, but you can save time by clicking **Clone from project** to import another project’s configuration in one step.

</article></article>##### Navigating to Configurations

Open the side menu → **Marketplace** → **Configurations**.  
At the very top of the Configurations page you’ll find the **Settings by project** bar. This is your single-click switcher for viewing or editing any project’s lookup lists:

1. **Search** – Filter the pill list by typing part of a project’s name.
2. **Project pills** – Click a pill to load that project’s configuration panels below.
3. **Horizontal scroll** – If you have many projects, scroll left/right to reveal hidden pills.

Below the project selector, you’ll see **Order statuses.** For example:

> **Order statuses**  
> (If none exist yet) “No data to display”

##### Adding a New Order

Click **+ Add** on the **Order statuses** card.  
Fill in the **Add order** panel fields:

<div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[72rem]:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="5d116f38-070a-4e34-a5ff-afd271eca125" data-message-model-slug="o4-mini-high" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose dark:prose-invert w-full break-words light">1. **Project**: (pre-selected) the target project.
2. **Name: Business**-facing status name (e.g. Pending).
3. **Color picker**: Choose the badge color for quick recognition.
4. **Make as default**: Sets this status as the default when new orders are created.
5. **Final**: Marks this status as a terminal (can’t transition onward).
6. **Change reason required:** Requires users to enter a reason when changing the order status.

</div></div></div></div></div></div></div></div>Click **Save** to create the new status.

##### Editing &amp; Deleting Items

Once a status exists, use the **Edit** icon to modify Name, Color, or flags, and the **🗑️ Delete** icon to remove it.  
Label is displayed in the Edit panel as a read-only field and cannot be modified.  
**Cloning from Another Project:**

1. Click **Clone from project**.
2. In the modal, pick the **source project** whose items you want to copy.
3. Click **Clone**.
4. All statuses from that project instantly appear in your current project’s list.

<div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[72rem]:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="5d116f38-070a-4e34-a5ff-afd271eca125" data-message-model-slug="o4-mini-high" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]">  
</div></div></div></div></div></div></div><div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[72rem]:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="5d116f38-070a-4e34-a5ff-afd271eca125" data-message-model-slug="o4-mini-high" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose dark:prose-invert w-full break-words light">  
</div></div></div></div></div></div></div></div></article>

# 6. Commerce Hub: Categories

<article class="text-token-text-primary w-full" data-scroll-anchor="true" data-testid="conversation-turn-518" dir="auto" id="bkmrk-the-categories-secti">The **Categories** section lets you organize your Products into hierarchical groups for easy discovery and management. You can view, add, edit, nest, and translate categories—all scoped per Project.

##### Accessing Categories

<div bis_size="{"x":143,"y":120,"w":840,"h":44,"abs_x":729,"abs_y":338}" class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[72rem]:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)"><div bis_size="{"x":143,"y":120,"w":840,"h":44,"abs_x":729,"abs_y":338}" class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div bis_size="{"x":143,"y":120,"w":840,"h":44,"abs_x":729,"abs_y":338}" class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div bis_size="{"x":143,"y":120,"w":840,"h":44,"abs_x":729,"abs_y":338}" class="relative flex-col gap-1 md:gap-3"><div bis_size="{"x":143,"y":120,"w":840,"h":44,"abs_x":729,"abs_y":338}" class="flex max-w-full flex-col grow"><div bis_size="{"x":143,"y":120,"w":840,"h":44,"abs_x":729,"abs_y":338}" class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="1a6b3d4f-8a8d-4a12-98f8-5237ab957c63" data-message-model-slug="o4-mini-high" dir="auto"><div bis_size="{"x":143,"y":120,"w":840,"h":44,"abs_x":729,"abs_y":338}" class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div bis_size="{"x":143,"y":120,"w":840,"h":44,"abs_x":729,"abs_y":338}" class="markdown prose dark:prose-invert w-full break-words light">1. In the left sidebar, expand **Commerce Hub**.
2. Click **Categories**.

</div></div></div></div></div></div></div></div>##### Categories List

At the top of the **Categories** page you’ll see:  
**Total:** Total number of categories (updates as you filter/paginate)  
**Search…**: Live-search by category label or URL  
**+ Add**: Opens the “Add category” drawer

Below is a table of all categories visible to you:

<div bis_size="{"x":143,"y":371,"w":840,"h":183,"abs_x":729,"abs_y":589}" class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[72rem]:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)"><div bis_size="{"x":143,"y":371,"w":840,"h":183,"abs_x":729,"abs_y":589}" class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div bis_size="{"x":143,"y":371,"w":840,"h":183,"abs_x":729,"abs_y":589}" class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div bis_size="{"x":143,"y":371,"w":840,"h":183,"abs_x":729,"abs_y":589}" class="relative flex-col gap-1 md:gap-3"><div bis_size="{"x":143,"y":371,"w":840,"h":183,"abs_x":729,"abs_y":589}" class="flex max-w-full flex-col grow"><div bis_size="{"x":143,"y":371,"w":840,"h":183,"abs_x":729,"abs_y":589}" class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="1a6b3d4f-8a8d-4a12-98f8-5237ab957c63" data-message-model-slug="o4-mini-high" dir="auto"><div bis_size="{"x":143,"y":371,"w":840,"h":183,"abs_x":729,"abs_y":589}" class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div bis_size="{"x":143,"y":371,"w":840,"h":183,"abs_x":729,"abs_y":589}" class="markdown prose dark:prose-invert w-full break-words light"><div bis_size="{"x":143,"y":371,"w":840,"h":183,"abs_x":729,"abs_y":589}" class="_tableContainer_16hzy_1"><div bis_size="{"x":143,"y":371,"w":840,"h":183,"abs_x":729,"abs_y":589}" class="_tableWrapper_16hzy_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1391" data-start="642" style="width: 91.4286%;"><thead data-end="764" data-start="642"><tr data-end="764" data-start="642"><th data-col-size="sm" data-end="656" data-start="642" style="width: 12.667%;">Column</th><th data-col-size="md" data-end="764" data-start="656" style="width: 87.3181%;">Description</th></tr></thead><tbody data-end="1391" data-start="888"><tr data-end="1010" data-start="888"><td data-col-size="sm" data-end="902" data-start="888" style="width: 12.667%;">**▾**</td><td data-col-size="md" data-end="1010" data-start="902" style="width: 87.3181%;">Expand to reveal child categories (if any). Nested items indent under their parent.</td></tr><tr data-end="1134" data-start="1011"><td data-col-size="sm" data-end="1025" data-start="1011" style="width: 12.667%;">**Name**</td><td data-col-size="md" data-end="1134" data-start="1025" style="width: 87.3181%;">The category’s Label, with its URL slug shown beneath (e.g. `/test`).</td></tr><tr data-end="1257" data-start="1135"><td data-col-size="sm" data-end="1149" data-start="1135" style="width: 12.667%;">**Products**</td><td data-col-size="md" data-end="1257" data-start="1149" style="width: 87.3181%;">Number of Products currently assigned to this category (click to list them).</td></tr><tr data-end="1391" data-start="1258"><td data-col-size="sm" data-end="1272" data-start="1258" style="width: 12.667%;">**Actions**</td><td data-col-size="md" data-end="1391" data-start="1272" style="width: 87.3181%;">✏️ **Edit**: Modify this category’s settings   
➕ **Add**: Quickly attach Products here   
🗑️ **Delete**</td></tr></tbody></table>

</div></div></div></div></div></div></div></div></div></div>##### Searching &amp; Filtering

**Search**: Type any part of a category’s name or URL to filter the table in real time.  
**Expand**: Click a parent row’s arrow ▾ to see its children.

##### Adding a New Category

Click **+ Add** (top-right).  
In the **Add category** drawer, fill in:

**General: Project** – Select the Project to which this category belongs.  
**Label** – Human-readable category name (e.g. “Electronics”).  
**URL** – The slug used in your storefront (e.g. `/electronics`).  
**Properties:** A JSON tree picker for any custom metadata. Click the tree icon and **Append** to add key/value pairs. Read more on **«How to Manage Texts»** [here](https://wiki.wi.services/books/wifox-business-core-solution-wbcs/page/6-how-to-manage-texts).

##### Translation

Select one or more **Languages**.

For each language, enter:  
**Name** – Localized category name.  
**Text** – Optional description or tooltip.

Click **Save**. The new category appears in the list (and can be nested under its parent if you edit its URL to include a parent slug).

##### Editing an Existing Category

<div bis_size="{"x":143,"y":1172,"w":840,"h":67,"abs_x":729,"abs_y":1390}" class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[72rem]:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)"><div bis_size="{"x":143,"y":1172,"w":840,"h":67,"abs_x":729,"abs_y":1390}" class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div bis_size="{"x":143,"y":1172,"w":840,"h":67,"abs_x":729,"abs_y":1390}" class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div bis_size="{"x":143,"y":1172,"w":840,"h":67,"abs_x":729,"abs_y":1390}" class="relative flex-col gap-1 md:gap-3"><div bis_size="{"x":143,"y":1172,"w":840,"h":67,"abs_x":729,"abs_y":1390}" class="flex max-w-full flex-col grow"><div bis_size="{"x":143,"y":1172,"w":840,"h":67,"abs_x":729,"abs_y":1390}" class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="1a6b3d4f-8a8d-4a12-98f8-5237ab957c63" data-message-model-slug="o4-mini-high" dir="auto"><div bis_size="{"x":143,"y":1172,"w":840,"h":67,"abs_x":729,"abs_y":1390}" class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div bis_size="{"x":143,"y":1172,"w":840,"h":67,"abs_x":729,"abs_y":1390}" class="markdown prose dark:prose-invert w-full break-words light">1. Click the ✏️ **Edit** icon in the Actions column.
2. Update any of the **General**, **Properties**, or **Translation** fields exactly as in “Add category.”
3. Click **Save** to apply your changes.

</div></div></div></div></div></div></div></div>##### Deleting a Category

Click the 🗑️ **Delete** icon in the Actions column.  
Confirm to remove the category. (Products assigned to it remain, but lose that category tag.)

With these tools, you can quickly structure your Marketplace catalog, localize for global audiences, and ensure that Products are always grouped logically.

</article><article class="text-token-text-primary w-full" data-scroll-anchor="true" data-testid="conversation-turn-518" dir="auto" id="bkmrk-"><div bis_size="{"x":143,"y":1464,"w":840,"h":22,"abs_x":729,"abs_y":1682}" class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[72rem]:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)"><div bis_size="{"x":143,"y":1464,"w":840,"h":22,"abs_x":729,"abs_y":1682}" class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div bis_size="{"x":143,"y":1464,"w":840,"h":22,"abs_x":729,"abs_y":1682}" class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div bis_size="{"x":143,"y":1464,"w":840,"h":22,"abs_x":729,"abs_y":1682}" class="relative flex-col gap-1 md:gap-3"><div bis_size="{"x":143,"y":1464,"w":840,"h":22,"abs_x":729,"abs_y":1682}" class="flex max-w-full flex-col grow"><div bis_size="{"x":143,"y":1464,"w":840,"h":22,"abs_x":729,"abs_y":1682}" class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="1a6b3d4f-8a8d-4a12-98f8-5237ab957c63" data-message-model-slug="o4-mini-high" dir="auto"><div bis_size="{"x":143,"y":1464,"w":840,"h":22,"abs_x":729,"abs_y":1682}" class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div bis_size="{"x":143,"y":1464,"w":840,"h":22,"abs_x":729,"abs_y":1682}" class="markdown prose dark:prose-invert w-full break-words light">  
</div></div></div></div></div></div></div></div></article>

# 7. Commerce Hub: Payment Methods

<div class="flex basis-auto flex-col -mb-(--composer-overlap-px) [--composer-overlap-px:24px] grow overflow-hidden" id="bkmrk-the-payment-methods-"><div class="relative h-full"><div class="flex h-full flex-col overflow-y-auto [scrollbar-gutter:stable_both-edges] @[84rem]/thread:pt-(--header-height)"><div class="@thread-xl/thread:pt-header-height mt-1.5 flex flex-col text-sm pb-25"><article class="text-token-text-primary w-full" data-scroll-anchor="true" data-testid="conversation-turn-520" dir="auto">The **Payment Methods** section lets you configure which payment options appear in your storefront, per Project. You can enable/disable methods, connect integrations, set currencies, and manage rules and credentials—all without writing code.

##### Accessing Payment Methods

In the left sidebar, expand **Commerce Hub**.  
Click **Payment methods**.

##### Payment Methods List

At the top you’ll find:  
**Total:** Number of methods (updates as you search/paginate)  
**Search…**: Live-search by Name, Merchant ID, or Project  
**+ Add**: Opens the “Add payment method” drawer

Below is a table of all methods visible to you:

<div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[72rem]:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="be14d851-cec9-43e0-8b3b-92f7fa5bf575" data-message-model-slug="o4-mini-high" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose dark:prose-invert w-full break-words light"><div class="_tableContainer_16hzy_1"><div class="_tableWrapper_16hzy_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="2255" data-start="681" style="width: 103.69%;"><thead data-end="854" data-start="681"><tr data-end="854" data-start="681"><th data-col-size="sm" data-end="699" data-start="681" style="width: 12.146%;">Column</th><th data-col-size="lg" data-end="854" data-start="699" style="width: 87.8436%;">Description</th></tr></thead><tbody data-end="2255" data-start="1029"><tr data-end="1203" data-start="1029"><td data-col-size="sm" data-end="1047" data-start="1029" style="width: 12.146%;">**Status**</td><td data-col-size="lg" data-end="1203" data-start="1047" style="width: 87.8436%;">Toggle on (blue) to publish this method in the client-facing list; off (gray) to hide it.</td></tr><tr data-end="1376" data-start="1204"><td data-col-size="sm" data-end="1222" data-start="1204" style="width: 12.146%;">**Name**</td><td data-col-size="lg" data-end="1376" data-start="1222" style="width: 87.8436%;">The internal name or label for this method. In some cases it’s a translated label or icon title.</td></tr><tr data-end="1551" data-start="1377"><td data-col-size="sm" data-end="1395" data-start="1377" style="width: 12.146%;">**Project**</td><td data-col-size="lg" data-end="1551" data-start="1395" style="width: 87.8436%;">The Project this method belongs to. If “–”, it’s available globally.</td></tr><tr data-end="1728" data-start="1552"><td data-col-size="sm" data-end="1570" data-start="1552" style="width: 12.146%;">**Type**</td><td data-col-size="lg" data-end="1728" data-start="1570" style="width: 87.8436%;">**Auto** – Backend–driven (e.g. Stripe, Adyen)   
**Manual** – Offline or custom (e.g. cash, bank transfer)</td></tr><tr data-end="1905" data-start="1729"><td data-col-size="sm" data-end="1747" data-start="1729" style="width: 12.146%;">**Integration**</td><td data-col-size="lg" data-end="1905" data-start="1747" style="width: 87.8436%;">**External** – Uses a third–party connector (Stripe, PayPal)   
**Internal** – Built-in or in-house processor</td></tr><tr data-end="2078" data-start="1906"><td data-col-size="sm" data-end="1924" data-start="1906" style="width: 12.146%;">**Merchant ID**</td><td data-col-size="lg" data-end="2078" data-start="1924" style="width: 87.8436%;">Your account or merchant identifier in the payment provider’s system (e.g. Stripe account ID, PSP merchant code).</td></tr><tr data-end="2255" data-start="2079"><td data-col-size="sm" data-end="2097" data-start="2079" style="width: 12.146%;">**Actions**</td><td data-col-size="lg" data-end="2255" data-start="2097" style="width: 87.8436%;">✏️ **Edit** – Modify configuration (credentials, rules, currencies)   
🗑️ **Delete** – Remove this method (will prompt “Are you sure?”).</td></tr></tbody></table>

</div></div></div></div></div></div></div></div></div></div>##### Searching &amp; Filtering

**Search:** Type any part of a method’s Name, Merchant ID, or Project to instantly filter the list.  
**Toggle Status:** Switch off test or deprecated methods to focus on live options without deleting them.

##### Adding a New Payment Method

Click **+ Add**.  
In the **Add payment method** drawer, complete each section:

**General:**

<div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[72rem]:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="be14d851-cec9-43e0-8b3b-92f7fa5bf575" data-message-model-slug="o4-mini-high" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose dark:prose-invert w-full break-words light">1. **Project** – Choose a Project or leave blank for global availability.
2. **Type** – Select **Auto** (API-driven) or **Manual** (offline).
3. **Integration** – Pick **External** (third-party) or **Internal**.
4. **Show on main page** – Check to list this method prominently.

</div></div></div></div></div></div></div></div>**Label &amp; Credentials:**

<div class="text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[72rem]:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group/turn-messages focus-visible:outline-hidden" tabindex="-1"><div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"><div class="relative flex-col gap-1 md:gap-3"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-5" data-message-author-role="assistant" data-message-id="be14d851-cec9-43e0-8b3b-92f7fa5bf575" data-message-model-slug="o4-mini-high" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose dark:prose-invert w-full break-words light">1. **Label** – Choose from your predefined set (e.g. “Credit Card,” “Bank Transfer”), or enter your own custom label.
2. **Name** – The display name clients will see at checkout.
3. **Merchant ID** – Your identifier with that processor.

</div></div></div></div></div></div></div></div>**Currencies:** A JSON array of supported currency codes (e.g. `["USD","EUR"]`).  
Click the `{}` tree icon to append each currency node.

**Rules:** A JSON object defining conditional logic (e.g. minimum order amount, country restrictions).  
Use the tree picker to define key/value pairs.

**Credentials:** A JSON object for API keys, secrets, or other connection parameters.

**Language:** (If available) Translation badges to localize the Label and checkout text.

Click **Save**. The new method appears in your list, set to **Inactive** by default.

##### Editing an Existing Method

Click the ✏️ **Edit** icon in the Actions column.  
Update any of the **General**, **Label**, **Credentials**, **Rules**, or **Currencies** fields.  
Click **Save** to apply changes.

<p class="callout info">**Note**: You cannot change the Type or Integration after creation to avoid mismatched credentials.</p>

##### Deleting a Payment Method

Click the 🗑️ **Delete** icon.  
Confirm “Are you sure?” to permanently remove it.

With Payment Methods properly configured, you can control exactly which options your customers see—tailored by project, region, currency, or any custom business rule—while keeping your checkout flow secure and reliable.

</article></div></div></div></div>