Packages
Packages are the products you sell on your store: ranks, kits, cosmetics, currency, anything you can deliver with a server command. This page covers every option you’ll see when creating or editing one.
Creating a Package
From Products in your dashboard, click Create Package and fill in the basics:
- Name — display name on your storefront, e.g. “VIP Rank” or “64 Diamonds”
- Description — rich text with bold, italic, lists, links
- Image — recommended 512×512, PNG/JPG/WEBP
- Category — optional. Skip it and the package goes into an Other bucket on the storefront. See Categories
- Price — in your store’s base currency
- Delivery commands — what runs on your Minecraft server when someone buys (full reference below)
Click Save and the package appears on your storefront immediately, unless you have it disabled or your store is in maintenance mode.
Pricing models
A package is one of four pricing shapes. You pick when creating, and you can’t switch a package between shapes after customers have bought it — create a new one instead.
One-time purchase
The default. Customer pays once, commands execute once. Permanent ranks, kits, cosmetics — anything you don’t want to charge for again.
Subscription
Recurring payment on an interval you choose. Customer is billed every N days/weeks/months/years; commands execute on each successful renewal. Full guide at Subscriptions.
Timed
A one-time payment that grants access for a fixed duration, then expires. Set Duration days and (optionally) Duration hours for fine-grained control — e.g. “30-day VIP” or “12-hour double XP”. After the duration passes, FluxStore runs your Expiry commands to revoke the perk.
Timed packages are simpler than subscriptions when you don’t want to handle billing failures — the customer pays up front and you don’t deal with dunning. Trade-off: no auto-renewal.
Pay what you want
Turn on Allow custom price to let the customer enter their own amount at checkout (with the package price you set acting as the minimum). Useful for donations, tip jars, or “name your price” support packages.
Optional configuration
These flags apply to any pricing model:
Tiered upgrades
Toggle Is tiered on and pick a Previous package. Customers who already own the lower-tier package see an Upgrade button instead of a Buy button on the higher tier, and they only pay the price difference. This is how you build “VIP → VIP+ → MVP” ladders without the customer paying full price for each step.
Cumulative purchases
Toggle Is cumulative on for packages that can be bought repeatedly. Pick a cumulative mode:
- Stack — purchases stack into a level. Five purchases of “Booster Pack” = level 5.
- Count — purchases increment a counter that your commands can use. Three purchases of “Wand Charge” =
{count}is 3.
Cumulative packages can be purchased again and again by the same player; non-cumulative packages can’t (subject to the per-user limit below).
Purchase limits
Cap how many times a package can be sold:
- Global limit — total purchases across all customers (e.g. “Founder rank: 100 ever”).
- Per-user limit — purchases per individual customer (e.g. “Mystery box: max 3 per player”).
Leave either field blank for unlimited.
Customer-picks-server at checkout
Toggle Allow users to select server on for packages whose commands target multiple servers. The customer is prompted at checkout to pick which connected server the commands run on. Useful when one package (“VIP”) delivers to whichever server they currently play on instead of every server you own.
For subscriptions, you can also enable Allow subscribers to change their server so they can switch the renewal target later from their Purchase History page.
Stripe Tax code
Override the store-wide default with a per-package Stripe tax code. Most stores don’t need this; see Stripe Tax for when and how.
Upsells
Pick one or more packages to suggest after a customer adds this one to their cart. Choose Cross-sell (related products) or Upgrade (next tier up). The chosen packages appear in the cart side panel; the customer can one-click add them.
Delivery Commands
Delivery commands are the server commands FluxStore runs on your Minecraft server when a purchase completes (and on each renewal for subscriptions, on expiry for timed packages, on refund/chargeback if you’ve configured those). Commands are sent over WebSocket to the FluxStore plugin in milliseconds.
Enter commands without a leading slash. Use variables in curly braces:
give {player} diamond 64Command types
A package can carry different commands for different events:
| Command type | When it runs |
|---|---|
| Initial | When the customer first buys. Always runs |
| Renewal | On every successful subscription renewal. Only for subscription packages |
| Expiry | When a timed package’s duration ends, or when a subscription is cancelled and the paid period runs out |
| Refund | When you refund the order, to take back the items you delivered |
| Chargeback | When a chargeback is opened (separate from refund — you can be harsher) |
Initial and Renewal are required for their respective package types. The others are optional but recommended; without them a refund won’t claw back the perks you gave.
Variables
| Variable | Description | Example value |
|---|---|---|
{player} | Buyer’s Minecraft username | Steve |
{username} | Same as {player} (alias) | Steve |
{uuid} | Buyer’s Minecraft UUID | 069a79f4-44e9-4726-a5be-fca90e38aaf5 |
{transaction_id} | Unique transaction identifier | pi_1234567890 |
{price} | Price the customer paid | 9.99 |
{quantity} | Quantity purchased | 1 |
{count} | Cumulative count (cumulative packages only) | 5 |
Examples
Giving items:
give {player} diamond 64
give {player} golden_apple 16Setting ranks with LuckPerms:
lp user {player} parent set vip
lp user {player} permission set essentials.fly trueGranting permissions temporarily (timed packages, LuckPerms):
lp user {player} permission settemp essentials.fly true 30dCurrency:
eco give {player} 1000A full VIP package:
lp user {player} parent set vip
eco give {player} 5000
give {player} diamond 64
tellraw {player} ["",{"text":"Welcome to VIP! Enjoy your perks.","color":"gold"}]Multiple commands per package
Add as many commands as you want under each command type. They run sequentially. A single command failing doesn’t abort the others — the others still run, the failed one shows up in the order’s delivery log so you can resend it.
Per-command server selection
If your package targets multiple servers, you can pick which server each command runs on. A VIP package might set the LuckPerms rank on your hub server and run give commands on the survival server — different commands, different destinations, one package.
Test your commands on your server before going live. A typo in a command makes that one command fail (with a clear error in the delivery log); the others still run.
Package ordering
Drag packages within a category on Products to reorder them. The new order saves automatically and appears on your storefront immediately. Category order is set separately — see Categories.
Enabling and disabling
Toggle a package’s visibility from Products without deleting it. Disabled packages don’t appear on the storefront and can’t be bought, but they stay in your dashboard and existing orders + active subscriptions are untouched.
Editing and deleting
Click any package in Products to edit name, description, image, price, commands, or category. Changes take effect immediately on the storefront.
Changing the price doesn’t affect orders already placed or subscriptions already running. New price applies to new purchases only.
To remove a package permanently, open it and click Delete. Cannot be undone. Disable it instead if you might want it back.
Next Steps
- Categories — group packages on your storefront
- Subscriptions — recurring-payment packages in depth
- Server Setup — connect a server to receive delivery commands
- Command Delivery — what happens when commands fail and how to resend