CraftingStore's Gold plan can send a JSON payment webhook to ServerStats. Use it to see purchases alongside the player's game activity rather than checking store and server reports separately. This integration is narrower than the Tebex and PayNow connections: CraftingStore's webhook sends payments, but ServerStats does not receive CraftingStore refund or chargeback events. Keep CraftingStore's dashboard and payment gateway as your financial source of truth.
Connect CraftingStore to ServerStats
- Install the ServerStats agent on your server and sign in as an organisation owner or admin. Under Store connections, add CraftingStore and copy its unique webhook URL.
- In the CraftingStore dashboard, open Webhooks and create a webhook with that URL. Copy the exact JSON payload template shown by ServerStats into CraftingStore's payload field. The template includes only the fields ServerStats needs, such as transaction ID, package, price, player UUID and referral; it leaves out email, name and IP.
- Copy the CraftingStore webhook secret key into ServerStats. CraftingStore signs the raw JSON body with an
X-SignatureHMAC; ServerStats verifies it before accepting the payment. - Set your store currency in the ServerStats connection's Settings. CraftingStore's webhook price has no currency code, so an unset or wrong currency would make converted revenue misleading. Make a real store payment and check the connection status; CraftingStore says dashboard-created manual payments do not trigger webhooks.
The payload template uses CraftingStore placeholders including {uuid}, {payment_name}, {price}, {transaction_id} and {referred_by}. Preserve the JSON exactly as the app gives it to you: removing {uuid} prevents player matching, and removing {referred_by} loses referral-code data. CraftingStore documents its Gold webhook feature, placeholders and signature.
What appears in ServerStats
Operator and Network show CraftingStore payments in net revenue, paying share, ARPU, ARPPU, package and server breakdowns, and revenue per player-hour. A referral entered at checkout becomes a creator/referral code in ServerStats when the payload includes {referred_by}. That code can help compare buyers and revenue attributed by the store, but it is not a commission or return-on-investment calculation. ServerStats can display the buyer's playtime beside their purchase when the IDs match.
There is an important accounting limit: because this webhook carries payments only, a refund or chargeback made in CraftingStore will not automatically subtract from ServerStats totals. Reconcile financial totals in your store or payment gateway. If you need automated reversals in ServerStats, the Tebex and PayNow integrations support their respective refund and dispute events.
Player matching and attribution
The store's {uuid} value must match the ID used by the server agent. Minecraft Java and Hytale UUIDs, or SteamID64 on supported Steam games, can match. Offline-mode usernames do not; FiveM requires serverstats_id_type fivem; Bedrock purchases currently remain unlinked. An unmatched purchase still counts in store totals. ServerStats hashes the game ID instead of keeping the raw value.
For Minecraft Java, Velocity and Hytale, the first join hostname can group player lifetime value by acquisition source. A tracked link click is not itself proof of which buyer paid. Webhooks are accepted on every ServerStats plan, while Store analytics needs Operator or Network. For a full explanation of net revenue and player metrics, read the store revenue guide.