> For the complete documentation index, see [llms.txt](https://guides.paynow.gg/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guides.paynow.gg/products/creating-a-product.md).

# Creating a Product

This is the full reference. For one working product quickly, start with [Your First Product](/getting-started/your-first-product.md) and come back here for the detail.

*Dashboard → Content → Products → **Create Product**. Needs `product_create`.*

<figure><img src="/files/0n2VwUaSfBrVVL2dbAi6" alt="The Create a Product page showing the Details section with name, slug, description and price."><figcaption></figcaption></figure>

## Details

| Field           | What it does                                                                        |
| --------------- | ----------------------------------------------------------------------------------- |
| **Name**        | Customer-facing product name.                                                       |
| **URL slug**    | Appears in the product's storefront address. Changing it later breaks shared links. |
| **Description** | What the customer receives.                                                         |
| **Price**       | The amount charged, in your store currency.                                         |

List every feature the buyer receives, concretely. "VIP rank" tells them nothing; "VIP rank: `/fly` in spawn, 3 home points, coloured chat name, priority queue" tells them what they're paying for, and gives you something to point at if they later claim they were misled.

## Regional Pricing

Charge different amounts in different regions rather than converting one price everywhere. A **Business** plan feature, and it appears only when you **edit** a saved product: a globe button beside the **Price** field.

Per region you set **Price**, **Currency**, whether the price is **Tax Inclusive**, and an **Enabled** toggle. **Base Price Percentage** covers every region you haven't given an explicit override, as a percentage of your base price.

PayNow's own note in that dialog: regional pricing is for advanced users, and there is **no proxy or VPN prevention** behind it. Anyone can present themselves as being in your cheapest region. Price the gap accordingly.

This is separate from [Adaptive Currency](/store-settings/adaptive-currency.md), which converts one price into local currency at PayNow's expense. Regional pricing sets genuinely different prices.

## Tags

Tags organise and categorise products on your storefront. See [Tags](/your-webstore/tags.md).

## Game Servers

**Select the server(s) this product applies to.** This is how PayNow knows where to deliver the purchase.

{% hint style="danger" %}
Miss this and the product sells but delivers nowhere. If you run several servers from one store, selecting the wrong one is just as bad: the customer pays and the perk lands somewhere they aren't playing. See [Game Servers](/integrations-and-commands/game-servers.md).
{% endhint %}

## Custom Variables

Select [custom variables](/integrations-and-commands/custom-variables.md) from the dropdown to collect input from the customer at checkout, such as a colour, a name tag or a quantity. The values feed into command execution, so delivery can be personalised rather than fixed.

## Required Products

Gate this product behind other purchases: the customer must already own the listed products before buying this one. Useful for add-ons, expansions, and anything that only makes sense on top of a base package.

| **Require all products** | Behaviour                                                |
| ------------------------ | -------------------------------------------------------- |
| **Off** (default)        | The customer needs **any one** of the selected products. |
| **On**                   | The customer needs **all** of them.                      |

## Tier Group

Assign the product to a [tier group](/products/tier-groups.md) for cumulative pricing and automatic subscription upgrades and downgrades. Customers who own a lower tier pay only the difference.

## Lifetime

Two cards that are easy to confuse. **Lifetime cycle** is how long access lasts *after* a purchase. **Availability period** is when the product can be *bought at all*.

### Product lifetime cycle

| Field                        | What it does                                                                      |
| ---------------------------- | --------------------------------------------------------------------------------- |
| **Allow One Time Purchases** | Customers can buy it outright.                                                    |
| **Allow Subscriptions**      | Customers can subscribe to it.                                                    |
| **Should Expire**            | Access ends after a set duration. Most servers use one month.                     |
| **Expires / Renews in**      | The length of that duration. For subscriptions this is also the renewal interval. |

You can enable both purchase types on one product.

### Product availability period

| Field               | What it does                                                |
| ------------------- | ----------------------------------------------------------- |
| **Disable product** | Turns it off immediately by setting *Enabled until* to now. |
| **Enabled from**    | When it becomes purchasable. Empty = available now.         |
| **Enabled until**   | When it stops being purchasable. Empty = no end date.       |

Use this for scheduled launches, limited drops, and retiring a product without losing its order history.

### Trial configuration

Trials work on **subscription products only**. **Allow Subscriptions** must be enabled for any trial setting to take effect. In PayNow's production testing, trials converted roughly **1 in 4** users into paying subscribers.

| Field                                                      | What it does                                                                                      |
| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| **Allow Trials**                                           | Enables trials for this product.                                                                  |
| **Revoke immediately when canceled**                       | Removes access on cancellation instead of at the trial's scheduled end.                           |
| **Trial Period**                                           | How long the trial lasts. At the end the customer is charged automatically unless they cancelled. |
| **New Customers Only**                                     | Only customers with no prior orders in a configurable window can start a trial.                   |
| **Customer must have no orders in the last**               | That window.                                                                                      |
| **Allow Repeat Trials**                                    | Lets previous trialists or owners trial again after a cooldown.                                   |
| **Customer must not have ordered the product in the last** | That cooldown.                                                                                    |

Trials have their own command triggers: **On Trial Started** and **On Trial Expired** in the Commands section. The old docs call the second one "On Trial Ended"; the dashboard says **On Trial Expired**. **On Purchase fires only when a trial converts to paid**, so a product relying solely on On Purchase delivers nothing during the trial itself. Dedicated webhooks exist for trial started and trial ended events. A custom storefront needs its template updated to support the trial flow. Full detail: [Trials](/orders-and-subscriptions/trials.md).

## Stock

Limit how many can be sold, for balance (too many of one package can distort a server) or for scarcity (limited availability drives urgency, and restocks are an event worth announcing).

## Upselling

Configure upsells specific to this product. When it's added to the cart, your recommendations are offered at checkout.

Tick **Enable Upselling**, then **Add Recommendation**. The fields match store-wide upsells plus one that only exists here: **Min. Product Qty**, the minimum quantity of *this* product required in the cart before the upsell shows. **Per-product upsells take priority over store-wide upsells** where both apply. See [Upselling](/marketing/upselling.md).

## Deliverable Actions

### Commands

How the purchase reaches the player. Commands run on the game server(s) you selected, using placeholders that PayNow swaps for the buyer's real details.

```
lp user {customer.minecraft.uuid} parent add vip
```

Each command has a **stage** deciding when it fires, an **Execute when online** option, and an optional server override. There are 33 placeholders, and the two customer sets are not interchangeable: `{customer.*}` is who the product is *for*, `{order.customer.*}` is who *paid*. On a gift those differ.

[Commands & Placeholders](/integrations-and-commands/commands.md) covers all of it, with the full placeholder reference and worked examples per game.

### Gift card

Issue a [gift card](/marketing/gift-cards.md) equal to the product's price on purchase.

### Discord

Trigger [Discord](/integrations-and-commands/discord-servers.md) actions on purchase: assign roles, kick or ban a user, or generate an invite link. Requires a Game Server entry configured for the Discord bot, set up much like a normal game server.

### Downloadable files

Attach a file the customer receives immediately. The download link appears on the checkout screen and is emailed to them for later access.

{% hint style="warning" %}
**Updating the file gives every previous buyer the new version automatically.** To sell an expansion rather than give it away to everyone who bought the original, **create a new product**. Only update the file in place when you're fixing or improving the thing they already bought.
{% endhint %}

## Metadata

Click **Add field** and enter a key and value. Customers never see metadata; it appears in **webhook payloads** and the **Product API** response. Use it to send structured data to external systems, tag products for backend automation, or store configuration read by delivery scripts.

## Product image

Add the image after creating the product: open it again and use the control in the top right of the edit page. Recommended size is at least **256×256px**. Customers process the image before they read your description.
