How do you gate features behind Tebex API checks? RAX Development never unlocks paid perks from client menus alone. We gate features on the game server after Tebex confirms the player bought the right package — using the Tebex API, purchase webhooks, and/or Tebex-FiveM command delivery, then mapping package IDs to concrete perks (extra character slot, job access, garage slot, Discord role, queue priority).
Quick answer: Store Tebex secret server-side → on join or perk request, server calls API / reads cached entitlement → unlock only if package id matches → log failures. Pair with automated VIP delivery. Get setup
What “gating behind Tebex API checks” means
A gate is a server check before a feature runs:
- Extra character slot — only if Tebex package
12345is active - VIP garage — only if subscription package still valid
- Custom job / item — only if one-time purchase found
- In-game command — only after entitlement refresh passes
The Tebex API (Headless API / plugin API per your Tebex plan) lets the server ask: “What has this FiveM license / Discord / username purchased?” Answers must be processed on the server, not in NUI or client Lua.
Three ways Tebex unlocks features (we combine them)
| Method | How it works | Best for |
|---|---|---|
| Package commands | Tebex runs FXServer command on purchase | Instant VIP grant (VIP automation) |
| Tebex API poll | Server HTTP to Tebex with secret; check entitlements on join | Reconnects, subscription expiry, slot limits |
| Webhooks | Tebex POSTs payment JSON to your endpoint | Real-time cache update, Discord bots, logging |
API gating matters when commands are not enough — e.g. player must prove purchase days later, or you gate a menu option that is not a single console command.
Our server-side gating flow
- Map packages — Spreadsheet: Tebex package id → perk id (slot +1, vip_garage, etc.)
- Secrets — Tebex private key in
server.cfg/ env only (never in Git) - Identify player — Match FiveM
license:, Discord id from Tebex checkout (player must link accounts) - Check entitlement — API request or local cache row in MySQL (
tebex_entitlementstable we add) - Gate feature — Multichar, inventory export, ACE group, routing bucket, job whitelist
- Deny with message — “Purchase VIP on our Tebex” + link; no silent fail
- Refresh — Re-check on schedule or webhook; revoke expired subs
- Log — Staff Discord on suspicious repeat checks (webhooks)
Example: gate extra character slot
- Default slots: 2 (config)
- Package
extra_character(Tebex id 98765) grants +1 - On character select screen open, server counts slots used vs allowed
- Allowed max = base + API count of active
98765purchases for that license - Client cannot send “slot 5” without server approval (multichar)
Security rules (non-negotiable)
- Never expose Tebex secret to client or NUI
- Never trust
TriggerServerEvent('giveVIP')without API/cache proof - Rate-limit API calls per player (cache 5–15 min on join)
- Handle chargebacks — webhook removes entitlement; kick from VIP groups if required
- Cfx.re compliant perks only (TOS, monetization)
- Validate all item/money grants server-side (secure triggers)
Caching and performance
Calling Tebex on every button click lags the server and hits rate limits. We cache entitlements in MySQL or Redis, refresh on playerConnecting, purchase webhook, and manual /refreshdonator for staff. Expired subs flip a active = 0 flag so gates close without restart.
Common mistakes we fix
- VIP works once then lost (no cache on reconnect)
- Wrong identifier (username vs license mismatch)
- Package id typo between Tebex dashboard and Lua config
- Client-side “if isDonator then” bypassed by mod menus
- Double grant on webhook + command firing twice (no idempotency)
- Chargeback still has ACE permission weeks later
Custom gating scripts
We build thin entitlement modules your jobs call: exports['rax_tebex']:HasPackage(source, 'vip_plus'). Works with QBCore / ESX and ox_target VIP menus. From $49+ for simple gates; full store sync quoted.
How RAX Development helps
- Tebex store + package design aligned to in-game gates
- API / webhook integration and MySQL entitlement table
- Multichar, garage, job, and Discord role hooks
- Testing with Tebex sandbox purchases on staging
- Documentation for staff adding new packages later
US Navy Veteran, 13 years IT. Reviews · Shop · Contact
Related: Tebex VIP automation · Monetization guide · Server build
Conclusion
How do you gate features behind Tebex API checks? Map Tebex packages to perks, verify purchases on the server via API and webhooks, cache entitlements, and never trust the client. RAX Development builds and documents that stack so VIP features stay fair, revocable, and policy-aligned.