> ## Documentation Index
> Fetch the complete documentation index at: https://docs.macropay.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# How to create product variants

> Sell Good/Better/Best tiers as separate Macropay products and let customers self-serve upgrades and downgrades from the customer portal.

Most SaaS pricing isn't one plan — it's a ladder. Macropay models each rung as its own **product**, then groups them behind a single checkout link so buyers pick a tier at purchase and switch tiers later without contacting you. Because Macropay is the **merchant of record**, every tier inherits the same tax, VAT, and compliance handling automatically — you define the price, we remit the sales tax and stay the seller of record on the customer's statement.

In this guide we'll stand up a three-tier subscription ladder — **Starter ($15/mo)**, **Growth ($35/mo)**, and **Scale (\$75/mo)** — wire them into one checkout link, and walk through how a customer upgrades and downgrades from the portal on their own.

<Info>
  A "variant" in Macropay is just a separate product offered alongside its siblings. Same data model, same API — the only difference is price and billing logic. This keeps each tier independently configurable (entitlements, metering, trials) instead of locking them into rigid option matrices.
</Info>

## Step 1 — Build the tier products

<Steps>
  <Step title="Open your Products catalogue">
    From the Macropay dashboard sidebar, go to **Products** > **Catalogue** for your organization, or jump straight there:
    `https://macropay.ai/dashboard/${org_slug}/products`

    <img height="200" src="https://mintcdn.com/macrodeepinc/Uu6hOe0dMZnKqgkh/assets/guides/variants/product-catalogue.png?fit=max&auto=format&n=Uu6hOe0dMZnKqgkh&q=85&s=3cf0dc9d4007a3ad4bb450437ebbc9bc" data-path="assets/guides/variants/product-catalogue.png" />
  </Step>

  <Step title="Create the first tier">
    Click **New Product** and fill in the details. We'll start with the entry tier: a monthly subscription named **Starter** priced at \$15.

    <img height="200" src="https://mintcdn.com/macrodeepinc/Uu6hOe0dMZnKqgkh/assets/guides/variants/basic-version.png?fit=max&auto=format&n=Uu6hOe0dMZnKqgkh&q=85&s=5d3266bf1f1e0df620ea90d7fb44ffe8" data-path="assets/guides/variants/basic-version.png" />

    <img height="200" src="https://mintcdn.com/macrodeepinc/Uu6hOe0dMZnKqgkh/assets/guides/variants/basic-version2.png?fit=max&auto=format&n=Uu6hOe0dMZnKqgkh&q=85&s=32900f25e5a1d6506f46b26e92504ce3" data-path="assets/guides/variants/basic-version2.png" />

    Once saved, the tier appears in your catalogue:

    <img height="200" src="https://mintcdn.com/macrodeepinc/Uu6hOe0dMZnKqgkh/assets/guides/variants/catalogue-basic.png?fit=max&auto=format&n=Uu6hOe0dMZnKqgkh&q=85&s=f8ff8237e519d90626317b719fe31afa" data-path="assets/guides/variants/catalogue-basic.png" />
  </Step>

  <Step title="Add the remaining tiers">
    Repeat **New Product** for the next two rungs of the ladder:

    * **Growth** — a monthly subscription priced at \$35.

    <img height="200" src="https://mintcdn.com/macrodeepinc/Uu6hOe0dMZnKqgkh/assets/guides/variants/mid-version.png?fit=max&auto=format&n=Uu6hOe0dMZnKqgkh&q=85&s=b99da3f071e6dff6f5ea17afe203ce23" data-path="assets/guides/variants/mid-version.png" />

    <img height="200" src="https://mintcdn.com/macrodeepinc/Uu6hOe0dMZnKqgkh/assets/guides/variants/mid-version2.png?fit=max&auto=format&n=Uu6hOe0dMZnKqgkh&q=85&s=da50d8e904d55062681c4db02acbebee" data-path="assets/guides/variants/mid-version2.png" />

    * **Scale** — a monthly subscription priced at \$75.

    <img height="200" src="https://mintcdn.com/macrodeepinc/rPF293t5zy_Onjx_/assets/guides/variants/advanced-version.png?fit=max&auto=format&n=rPF293t5zy_Onjx_&q=85&s=3a55a284220379716735c20e7cb56e9d" data-path="assets/guides/variants/advanced-version.png" />

    <img height="200" src="https://mintcdn.com/macrodeepinc/rPF293t5zy_Onjx_/assets/guides/variants/advanced-version2.png?fit=max&auto=format&n=rPF293t5zy_Onjx_&q=85&s=8bd29c34c8370f8bc60005043ba2ebe6" data-path="assets/guides/variants/advanced-version2.png" />

    With all three saved, your catalogue lists the full ladder side by side:

    <img height="200" src="https://mintcdn.com/macrodeepinc/Uu6hOe0dMZnKqgkh/assets/guides/variants/catalogue-with-3-products.png?fit=max&auto=format&n=Uu6hOe0dMZnKqgkh&q=85&s=a50e7acd3df9d9ab2e39eac8594618ed" data-path="assets/guides/variants/catalogue-with-3-products.png" />
  </Step>
</Steps>

<Tip>
  Tiers don't have to be flat monthly prices. Mix pricing models across the ladder — a free or pay-what-you-want entry tier, a fixed mid tier, and a **usage-based** top tier metered on real activity. For AI products you can meter by **usage, activity, or outcome**, so a "Scale" tier can bill on tokens consumed or value delivered rather than a static seat count.
</Tip>

## Step 2 — Group the tiers behind one checkout link

A single checkout link can present every tier at once, letting the customer choose their entry point on the same page.

<Steps>
  <Step title="Open Checkout Links">
    In the sidebar, go to **Products** > **Checkout Links**, or navigate directly:
    `https://macropay.ai/dashboard/${org_slug}/products/checkout-links`

    <img height="200" src="https://mintcdn.com/macrodeepinc/Uu6hOe0dMZnKqgkh/assets/guides/variants/checkout-links.png?fit=max&auto=format&n=Uu6hOe0dMZnKqgkh&q=85&s=34f84b46da098f02a5e26927d0629788" data-path="assets/guides/variants/checkout-links.png" />
  </Step>

  <Step title="Bundle the tiers into a link">
    Click **New Link** and select all three products you want offered as variants — Starter, Growth, and Scale.

    <img height="200" src="https://mintcdn.com/macrodeepinc/Uu6hOe0dMZnKqgkh/assets/guides/variants/create-checkout-links.png?fit=max&auto=format&n=Uu6hOe0dMZnKqgkh&q=85&s=4db903cdb06dd37fa40af7cdf3e2b4f9" data-path="assets/guides/variants/create-checkout-links.png" />

    Before saving, you can set:

    * a **label** for the link (internal name),
    * a **success URL** to redirect to after purchase,
    * custom **metadata** to carry through to orders and webhooks,
    * whether **discount codes** are accepted,
    * whether a **billing address** is required.

    Click **Create Link** once configured.
  </Step>

  <Step title="Grab the shareable URL">
    Your new link shows up under **Checkout Links** — here the system applied the default label **3 products**.

    <img height="200" src="https://mintcdn.com/macrodeepinc/Uu6hOe0dMZnKqgkh/assets/guides/variants/link-created.png?fit=max&auto=format&n=Uu6hOe0dMZnKqgkh&q=85&s=ee890ad275b097a66e787b1394a16045" data-path="assets/guides/variants/link-created.png" />

    Open the label to reveal the public checkout URL.

    <img height="200" src="https://mintcdn.com/macrodeepinc/rPF293t5zy_Onjx_/assets/guides/variants/access-link.png?fit=max&auto=format&n=rPF293t5zy_Onjx_&q=85&s=8428d03c0b70e025cc76bf515df9fe7a" data-path="assets/guides/variants/access-link.png" />

    Copy it and drop it anywhere — a pricing page, an email, a docs CTA — and customers can purchase any tier from it.
  </Step>
</Steps>

## Step 3 — Customer picks a tier at checkout

<Steps>
  <Step title="Choose a tier and pay">
    On the hosted checkout, the customer selects their tier, enters their email, and pays. Card details are tokenized in our PCI DSS Level 1 compliant vault — neither you nor the page ever touches raw card data.

    <img height="200" src="https://mintcdn.com/macrodeepinc/Uu6hOe0dMZnKqgkh/assets/guides/variants/full-page-checkout-page.png?fit=max&auto=format&n=Uu6hOe0dMZnKqgkh&q=85&s=eb60a4ec3588028c58f5abddbeca7406" data-path="assets/guides/variants/full-page-checkout-page.png" />
  </Step>

  <Step title="Receive the portal access email">
    After purchase, the customer gets a confirmation email with a link into their **customer portal**, where they can manage the subscription and change tiers later.

    <img height="200" src="https://mintcdn.com/macrodeepinc/Uu6hOe0dMZnKqgkh/assets/guides/variants/customer-mail-2.png?fit=max&auto=format&n=Uu6hOe0dMZnKqgkh&q=85&s=0083648ead69346c9480a21b291bb658" data-path="assets/guides/variants/customer-mail-2.png" />
  </Step>
</Steps>

<Note>
  The portal is fully self-serve, so plan changes don't generate support tickets. And because Macropay is the merchant of record, proration, tax recalculation, and the invoice are all handled for you on every switch.
</Note>

## Step 4 — Self-serve downgrades

When a customer moves to a cheaper tier — say from **Growth** down to **Starter** — they drive the change themselves.

<Steps>
  <Step title="Open the portal and click Change Plan">
    From the email link, the customer opens the portal and clicks **Change Plan**.

    <img height="200" src="https://mintcdn.com/macrodeepinc/Uu6hOe0dMZnKqgkh/assets/guides/variants/customer-portal-1.png?fit=max&auto=format&n=Uu6hOe0dMZnKqgkh&q=85&s=fe374e33ba2ca56c13a0fee91db65b7b" data-path="assets/guides/variants/customer-portal-1.png" />
  </Step>

  <Step title="Pick the lower tier">
    They select the tier to move to and confirm with **Change Plan**.

    <img height="200" src="https://mintcdn.com/macrodeepinc/Uu6hOe0dMZnKqgkh/assets/guides/variants/customer-portal-3.png?fit=max&auto=format&n=Uu6hOe0dMZnKqgkh&q=85&s=cd2398482e4ad6850c712e6a11446417" data-path="assets/guides/variants/customer-portal-3.png" />
  </Step>

  <Step title="Downgrade applied">
    The active subscription is now **Starter** instead of **Growth**.

    <img height="200" src="https://mintcdn.com/macrodeepinc/Uu6hOe0dMZnKqgkh/assets/guides/variants/customer-portal-4.png?fit=max&auto=format&n=Uu6hOe0dMZnKqgkh&q=85&s=0b98108a8f7bcbdc56c8d74df9da4ffb" data-path="assets/guides/variants/customer-portal-4.png" />
  </Step>
</Steps>

## Step 5 — Self-serve upgrades

Upgrades follow the same path in reverse — here the customer steps up to **Scale**.

<Steps>
  <Step title="Open the portal and click Change Plan">
    From the email link, the customer opens the portal and clicks **Change Plan**.

    <img height="200" src="https://mintcdn.com/macrodeepinc/Uu6hOe0dMZnKqgkh/assets/guides/variants/customer-portal-1.png?fit=max&auto=format&n=Uu6hOe0dMZnKqgkh&q=85&s=fe374e33ba2ca56c13a0fee91db65b7b" data-path="assets/guides/variants/customer-portal-1.png" />
  </Step>

  <Step title="Pick the higher tier">
    They select **Scale** and confirm with **Change Plan**.

    <img height="200" src="https://mintcdn.com/macrodeepinc/Uu6hOe0dMZnKqgkh/assets/guides/variants/customer-portal-5.png?fit=max&auto=format&n=Uu6hOe0dMZnKqgkh&q=85&s=2bd58c5c82c6fb9b4d9cec53e484cbd7" data-path="assets/guides/variants/customer-portal-5.png" />
  </Step>

  <Step title="Upgrade applied">
    The active subscription is now **Scale**.

    <img height="200" src="https://mintcdn.com/macrodeepinc/Uu6hOe0dMZnKqgkh/assets/guides/variants/customer-portal-6.png?fit=max&auto=format&n=Uu6hOe0dMZnKqgkh&q=85&s=b75a1f62baa08575501c87cd6e16e854" data-path="assets/guides/variants/customer-portal-6.png" />
  </Step>
</Steps>

<Check>
  You now have a Good/Better/Best ladder selling from one link, with customers upgrading and downgrading on their own. Tax, VAT, dispute handling, and PCI scope ride along on every tier — that's the merchant-of-record model doing the heavy lifting.
</Check>
