Product Fields
Every product is a set of fields. Some are managed (they have dedicated inputs in the admin editor); anything else you add is custom data and is passed straight to your reward handler.

Managed fields
value
string
Internal identifier — vehicle model, item name, weapon hash, etc. Unique within a category.
label
string
Display name shown to players.
price
number
Cost of the product.
stock
number
Units available. ≥ 9999 means unlimited.
account
string
Which balance is charged (tokens, bank, cash, money, crypto).
account_label
string
How the currency is labelled on the card.
category
string
The category the product belongs to.
image
string
Optional custom image URL.
website
string
Optional. Turns the product into a web link (see below).
months
number
VIP category only — months of VIP granted.
vip
boolean
Player must already be an active VIP to buy.
preview
boolean
Allow zoom (vehicles / peds).
moneySymbol
string
Optional currency symbol shown on the price.
Custom data
Anything that isn't a managed field is custom data. Add it in the Custom data section of the product editor as key → value pairs. It is stored inside the product's data JSON and delivered to your handler via payload.info.
Values are auto‑typed when saved:
500→ numbertrue/false→ boolean{...}/[...]→ parsed JSONanything else → string
Reserved (managed) field names are blocked in the custom‑data editor, so a custom field can never accidentally overwrite a managed one.
Web / redirect products
Set a website URL to make a product a redirect instead of an in‑game item:
The card shows Free and a Buy on web button.
Clicking opens the URL in‑game; nothing is sent to the server.
priceandstockare ignored, and the server refuses to "purchase" it — so it's safe from exploits.
This is the typical setup for a "Buy tokens on our Tebex store" tile.

Last updated