Developer Products – In‑Game Purchases

Developer Products – In‑Game Purchases

10 min

Developer products are items which players can buy more than once, making them perfect for in-game currency, ammo, or similar purchases.

Creating a Developer Product

To make a new developer product, navigate to the game’s main page, click the button, and select Configure this Game from the context menu.

Now follow these steps to create a developer product:

  1. Select the Developer Products tab in the left column and then click the Create new button.
  2. On the product creation page, fill in all of the necessary boxes, then click Create.
  3. After creating the developer product, Roblox assigns it a unique ID. You’ll need this number when scripting developer products, but don’t worry if you forget a product ID — just return to the game configuration page where all of your developer products are neatly listed:

Scripting for Developer Products

To take full advantage of developer products, you’ll need to use scripting. Here are some common examples:

Getting a Game’s Developer Products

To gather data for all of the developer products in a game, use the MarketplaceService/GetDeveloperProductsAsync|GetDeveloperProductsAsync() method. This returns a Pages object that you can inspect and filter to build an in-game store, product list GUI, etc.

Getting Product Info

To get information (price, name, image, etc.) for a specific product, use the MarketplaceService/GetProductInfo|GetProductInfo() function with a second argument:

Prompting a Purchase

You can prompt a player to purchase one of your developer products with the MarketplaceService/PromptProductPurchase|PromptProductPurchase() method of MarketplaceService. In the following code, the promptPurchase() function can be called when the player presses a Articles/Creating GUI Buttons|button, talks to a vendor NPC, or whatever fits your game design.

After a purchase is made, it’s your responsibility to handle and record the transaction. This can be done through a Script within ServerScriptService using the MarketplaceService/ProcessReceipt|ProcessReceipt callback. The function you define will be called repetitively until it returns Enum.ProductPurchaseDecision.PurchaseGranted.

  • product
  • purchase