Products
Admin panel → Products. This page covers only the fields that need explaining.
Delivery method
| Method | Behaviour |
|---|---|
| Automatic | Sells card keys. Stock comes from the key pool; buyers are served automatically after payment with no involvement from you. |
| Manual / plugin | Nothing is delivered automatically. You fill in the content on the order, or a plugin fetches it from an external service. |
Manual delivery is not only for typing things by hand — it is also the entry point for plugin-driven delivery. For example, a plugin can call an upstream API after payment and return the result to the buyer. See plugin development.
Fixed content (a download link, a piece of paid documentation) also uses manual delivery: write it once into the delivery content and every buyer gets the same thing.
Pricing and member tiers
- Price — the guest price, paid when not logged in
- Member price — the price for logged-in users
On top of that, you can set a separate price for every member tier, including separate bulk pricing. This is how the reseller structure works: higher tiers buy cheaper. Anyone integrating with you over the API goes through the same pricing.
More elaborate pricing (bulk tiers, product variants, multi-dimension SKUs) lives in product config parameters, which is the single most important page in this manual.
Stock and card keys
For automatic delivery, stock is simply the number of unsold card keys — there is no field to fill in.
Hide stock replaces the exact figure on the storefront with a descriptive word.
Delivery message
An extra note shown to the buyer after payment. Typically a support group, a download link, or usage instructions.
Email notification
Sends the buyer an email containing the delivery content.
Configure SMTP under Site settings → Email and send a successful test first. Turning this on with broken SMTP means buyers silently receive nothing.
Query password
When enabled, buyers must enter a query password before purchasing, which stops people fishing for other buyers' card keys. Logged-in buyers are not asked.
Force login
Requires an account to buy this product. Use it for members-only items.
Purchase limit
Caps how many units one person may buy — useful for promotions. Enabling it also requires login, since otherwise there is no way to tell buyers apart.
Buyer-selectable stock
Lets the buyer choose which specific card key they want. Suited to things like game accounts, where every item differs.
When importing keys you can auto-generate the preview text shown to buyers, using a regular expression. If you are new to regex, start with this tutorial.
Coupons
Allows coupons to be applied to this product. Create them under Coupons.
Flash sale
Restricts purchases to a time window, with a countdown shown on the storefront.
API access
Must be enabled before another site can pull this product via store sharing or the API. Turn it off for products you do not want resold.
Custom widgets
Adds input fields to the storefront so buyers can supply information — game server, character ID, a requested nickname, and so on.
Available types: text input, dropdown, checkbox, radio, textarea.
Dropdowns, checkboxes and radios take their options from extended data, written as key-value pairs separated by commas:
Red panda=rp,Giant panda=gp,Dog=dog,Cat=catThe left side is what the buyer sees, the right side is the value actually submitted.
Widget values are stored with the order and are readable by plugins — which makes this the usual entry point for building automated fulfilment.
