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 or a game pass
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 and pass
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 opens a store screen that looks like your store on Enviglo, where players buy with developer products or game passes and take free products.
It needs:
the Integrations permission, to download it;
a developer product or a game pass for each paid product. Enviglo creates developer products for you once your Roblox experience is connected, or you add their IDs yourself.
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.
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, unless you use the in-game hub, which records passes itself.
You can mix them. For example, a store can run the in-game hub for most of its products and sell a few more in its own game.
From purchase to license
A player buys in game.
The hub or your script tells Enviglo, which records the purchase.
Enviglo puts the license on the Enviglo account the player's Roblox account is linked to. The hub asks them to link before it sells, so there is one; a purchase that reaches Enviglo another way waits for their Roblox account instead. See 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.
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.
The hub asks before it sells
The in-game hub won't sell to a player whose Roblox account isn't linked to an Enviglo account, free products included. The first time they press Buy, the hub shows them a code and the address to type it at. They sign in on Enviglo, type the code, and the hub carries on with the purchase, with no rejoining, and nothing to set up on your side.
This is deliberate: what they are buying is a license and a file to download, and both live on an Enviglo account. Held for a Roblox ID alone, a purchase does the buyer no good until they come back for it, and many never do.
Buying before they link
A purchase can still reach Enviglo from a Roblox account with no Enviglo account behind it: a game pass bought on the Roblox website, or your own script through the API. The license waits for that Roblox ID. Until they link it:
your game can still check what they own, by 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 waiting for it moves to their 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.
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.
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.
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 place, which Enviglo takes from your in-game hub: publish the hub game and join it once, and the place it runs in becomes your store's place; or
Place ID for this product, on the product's Delivery page, to send buyers of one product somewhere else.
If you publish the hub somewhere else, the store's place follows it the next time it connects. Start again on the hub card, under Settings → Integrations, forgets the place so a hub published elsewhere can set it. See Set up the in-game hub.
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.