Tebex store integration
RevenueConnect your Tebex store with a signed webhook so purchases land against the source that brought the buyer.
The clip shows, in order:
- Each sale goes to the buyer's first source.
- Every purchase sits in the ledger.
- No matching player: Unmatched, never guessed.
- Refunds have their own tab.
#Connecting the webhook
The dashboard gives your network its own webhook address. Add it as a webhook endpoint in your Tebex panel, then copy the webhook secret Tebex shows you into Settings, Integrations, and press Connect store. Every delivery is checked against that secret before we read a single field, and a delivery that fails the check is refused.
The address contains your network id, so it belongs to your network and to no other. Only the owner of the network can connect the store.
https://mcanalytics.org/api/v1/tebex/webhook/<your-network-id>#How a purchase is matched
We read the transaction id, the amount, the currency, the package names, and the premium UUID of the buyer.
The UUID is the only thing we match on. Usernames are never used, because a username can be reused and a purchase credited to the wrong player is worse than a purchase credited to nobody.
Once the buyer is matched, the amount is credited to the source that player first joined through, however long ago that was.
#Unmatched purchases
A purchase we cannot match to a player on your network stays in an explicit unmatched group. It is counted in your totals and it is never quietly attached to the nearest guess.
The usual cause is a buyer who has not joined the network yet, or a Bedrock buyer whose store account carries no premium UUID.
On a network that lets cracked players in, a buyer who only ever joins as a cracked player has no premium UUID, so their purchases stay unmatched. Creator code revenue on Growth still counts every coded purchase, because it reads the code rather than the player.
A buyer who owns the game and logs in through premium login on a Velocity proxy, with nLogin, FastLogin or LibreLogin, is matched from connector 1.0.12. The proxy keeps their Mojang UUID next to their cracked name, and purchases that were waiting in Unmatched move to that player and the source they first joined through.
#More than one store
A network can connect several Tebex stores, for example one per region, next to CraftingStore, PayPal or Stripe. Add each one in Settings, Integrations with Add store. The first Tebex store keeps the address above. Every other store gets its own address, /api/v1/stores/webhook/ followed by the store id, and its own secret.
Revenue adds every store together. Pick one store at the top of Revenue to see only its sales, and read Revenue by store to compare them. Sources and creator codes always count every store.
