Saved Sep 19, 2026 by @enviglo: First version
+ Paid products on Enviglo are bought with Robux, on Roblox. This guide is for sellers who make Roblox games. It compares the three ways to take those payments, then follows a purchase until it becomes a license on the buyer's Enviglo account.+ ## The three ways++ | | In-game hub | Your own game | Game passes |+ |---|---|---|---|+ | Where players buy | In Enviglo's ready-made hub place | In your game's own shop | On the pass's page on Roblox |+ | What they buy | A developer product | A developer product | A game pass |+ | What you set up | Download the hub, publish it, join it once | A script that sends each receipt to the API | A script that records the pass through the API |+ | How Enviglo hears about it | The hub reports each purchase | Your ProcessReceipt calls the API | Your game records the pass when it sees the player owns it |+ | License types | All three | All three | One purchase only |++ ### In-game hub++ A ready-made Roblox place you download from **Settings** → **Integrations**, in the **In-game hub** card. Your store's hub key is already inside. It loads Enviglo's hub module and lists your products for players to buy with developer products.++ It needs:++ - the **Integrations** permission, to download it;+ - a developer product for each paid product. Enviglo creates them for you once your Roblox experience is connected, or you add their IDs yourself.++ See [Set up the in-game hub](/wiki/set-up-the-in-game-hub).++ ### Your own game++ You sell your own developer products in your own shop. When someone buys one, your game's ProcessReceipt sends the receipt to Enviglo with `POST /api/v1/licenses`, including the receipt's PurchaseId, the Robux spent and the place ID.++ It needs:++ - an API key with the **Grant and revoke licenses** scope;+ - **Allow HTTP Requests** switched on in your game;+ - each developer product linked to its product, on the product's **Delivery** page.++ See [Sell with developer products](/wiki/sell-with-developer-products).++ ### Game passes++ Players buy a game pass from its page on Roblox. When they join your game, your game sees they own the pass and records it through the API. Enviglo records a pass once per player.++ It needs:++ - the product's license type set to **One purchase**, because a pass can only be bought once;+ - the pass's ID on the product's **Delivery** page;+ - an API key with **Grant and revoke licenses**, and a script in your game. The in-game hub only sells developer products.++ See [Sell with game passes](/wiki/sell-with-game-passes).++ You can mix them. For example, a store can run the in-game hub and add a script to the same place for its game passes.++ ## From purchase to license++ 1. A player buys in game.+ 2. The hub or your script tells Enviglo, which records the purchase.+ 3. Enviglo puts the license on the Enviglo account the player's Roblox account is linked to, or on a placeholder account until they link one. See [Why players should link Roblox](#why-players-should-link-roblox).++ Every payment is kept as a purchase record that never changes, even when it adds nothing to a license. What buying again does depends on the product's license type, set under **How buying works** on its **Pricing** page:++ | License type | Buying again |+ |---|---|+ | One purchase | Adds nothing while they own it. The payment is still recorded. |+ | Buy more than once | Adds another license: one for every purchase. |+ | Subscription | Adds the product's **Days per purchase** (30 unless you change it), counted from the current end if that hasn't passed yet. |++ After a license is revoked or given to someone else, buying again makes a new license. A game pass registered again isn't a new purchase, so it doesn't undo a revoke or a transfer.++ When a purchase gives the buyer something, they get a notification on Enviglo. If they've linked Discord, the Enviglo bot sends them a message, and they get the product's role in your server if it has one.++ If you've banned the player from your store, the purchase is still recorded, but the license is revoked straight away. See [Customers and bans](/wiki/customers-and-bans).++ ## Why players should link Roblox++ Licenses belong to Enviglo accounts, never to Roblox IDs. A game finds a player's licenses through the Enviglo account their Roblox account is linked to.++ ### Buying before they link++ A player who buys in game before joining Enviglo, or before linking Roblox, gets a placeholder account for their Roblox ID. Nobody can sign in to it. Until they link:++ - your game can still check what they own, because the placeholder belongs to their Roblox ID;+ - they can't see it on Enviglo. It lands in their library once they link their Roblox account.++ When they link that Roblox account, everything on the placeholder moves to their own account, and Enviglo lets them know their Roblox purchases are there.++ ### Products they got on Enviglo++ A free product, a code, or a license your team gave to their username sits on their Enviglo account. Your game only sees it once they've linked the Roblox account they play on.++ Point players to [Link your Roblox account](/wiki/link-your-roblox-account).++ ## Where purchases and licenses show++ In your store's dashboard:++ - **Orders** → **Purchases** lists every payment and grant, exactly as it happened. A Roblox purchase shows the Robux paid (when the game sent it), and its receipt or game pass under **Reference**. You can search by Roblox ID, receipt ID, username or product.+ - **Licenses** shows who owns what right now. Open one to revoke it, move it or see its history.+ - **Customers** has one entry per person, including players who haven't joined Enviglo yet.++ These need the **See sales and customers** permission. For more, see [View purchases](/wiki/purchases), [Give, revoke, restore and transfer licenses](/wiki/manage-licenses) and [Customers and bans](/wiki/customers-and-bans).++ ## The Buy on Roblox button++ A product page shows **Buy on Roblox** when the product has a developer product or a game pass.++ - For a developer product, it opens your store's Roblox place with `enviglo:buy:` and the developer product's ID as launch data. A game that reads the launch data can prompt the purchase as the player arrives: see [Sell with developer products](/wiki/sell-with-developer-products#the-buy-on-roblox-button).+ - For a game pass, it opens the pass's page on Roblox.+ - For a product with both, it opens the game pass.++ For a developer product, Enviglo needs a place to send buyers:++ - your store's **Roblox place ID**, under **Settings** → **Store** → **Links**; or+ - **Place ID for this product**, on the product's **Delivery** page, to send buyers of one product somewhere else.++ If your store has no place ID yet, the in-game hub's place becomes it the first time the hub connects.++ Instead of the button, a product page can show:++ - **Sold in-game**: the product has a developer product, but there's no place to send buyers to.+ - **Off-sale on Roblox**: Roblox reports the developer product or game pass as not for sale.+ - **Not available to buy yet**: the product isn't free and has neither a developer product nor a game pass.
Paid products on Enviglo are bought with Robux, on Roblox. This guide is for sellers who make Roblox games. It compares the three ways to take those payments, then follows a purchase until it becomes a license on the buyer's Enviglo account.
| In-game hub | Your own game | Game passes | |
|---|---|---|---|
| Where players buy | In Enviglo's ready-made hub place | In your game's own shop | On the pass's page on Roblox |
| What they buy | A developer product | A developer product | A game pass |
| What you set up | Download the hub, publish it, join it once | A script that sends each receipt to the API | A script that records the pass through the API |
| How Enviglo hears about it | The hub reports each purchase | Your ProcessReceipt calls the API | Your game records the pass when it sees the player owns it |
| License types | All three | All three | One purchase only |
A ready-made Roblox place you download from Settings → Integrations, in the In-game hub card. Your store's hub key is already inside. It loads Enviglo's hub module and lists your products for players to buy with developer products.
It needs:
You sell your own developer products in your own shop. When someone buys one, your game's ProcessReceipt sends the receipt to Enviglo with POST /api/v1/licenses, including the receipt's PurchaseId, the Robux spent and the place ID.
It needs:
Players buy a game pass from its page on Roblox. When they join your game, your game sees they own the pass and records it through the API. Enviglo records a pass once per player.
It needs:
You can mix them. For example, a store can run the in-game hub and add a script to the same place for its game passes.
Every payment is kept as a purchase record that never changes, even when it adds nothing to a license. What buying again does depends on the product's license type, set under How buying works on its Pricing page:
| License type | Buying again |
|---|---|
| One purchase | Adds nothing while they own it. The payment is still recorded. |
| Buy more than once | Adds another license: one for every purchase. |
| Subscription | Adds the product's Days per purchase (30 unless you change it), counted from the current end if that hasn't passed yet. |
After a license is revoked or given to someone else, buying again makes a new license. A game pass registered again isn't a new purchase, so it doesn't undo a revoke or a transfer.
When a purchase gives the buyer something, they get a notification on Enviglo. If they've linked Discord, the Enviglo bot sends them a message, and they get the product's role in your server if it has one.
If you've banned the player from your store, the purchase is still recorded, but the license is revoked straight away. See Customers and bans.
Licenses belong to Enviglo accounts, never to Roblox IDs. A game finds a player's licenses through the Enviglo account their Roblox account is linked to.
A player who buys in game before joining Enviglo, or before linking Roblox, gets a placeholder account for their Roblox ID. Nobody can sign in to it. Until they link:
When they link that Roblox account, everything on the placeholder moves to their own account, and Enviglo lets them know their Roblox purchases are there.
A free product, a code, or a license your team gave to their username sits on their Enviglo account. Your game only sees it once they've linked the Roblox account they play on.
Point players to Link your Roblox account.
In your store's dashboard:
These need the See sales and customers permission. For more, see View purchases, Give, revoke, restore and transfer licenses and Customers and bans.
A product page shows Buy on Roblox when the product has a developer product or a game pass.
enviglo:buy: and the developer product's ID as launch data. A game that reads the launch data can prompt the purchase as the player arrives: see Sell with developer products.For a developer product, Enviglo needs a place to send buyers:
If your store has no place ID yet, the in-game hub's place becomes it the first time the hub connects.
Instead of the button, a product page can show: