[Tutorial] Shop Maker Pro - How to update your shop to charge Robux for products

This is a dev forum post that visually walks you through how to update the Shop in Shop Maker Pro

A few other concepts for setting up a Successful Shop

1. Choosing Your Product: Developer Products vs. Game Passes

Before you start, you need to decide how you want to charge your players.

  • Developer Products: These are typically “consumable” items that a player can buy multiple times. Think of currency packs, health refills, or temporary speed boosts.

  • Game Passes: These are one-time purchases that grant a permanent privilege or item. Use these for “VIP” access, permanent weapons, or special skins that you wouldn’t expect users to buy multiple of.

Pro Tip: If you want a player to be able to buy a “Sword” again if they lose it, use a Developer Product. If the sword should stay in their inventory forever, use a Game Pass.

2. Registering Items and Handling Rewards

Once you have created your product on the Roblox Creator Dashboard and copied the Product ID , you must tell the server what to do when that ID is purchased. In Roblox Studio, open ServerScriptService and locate the ShopServerHandler. Inside this script, you will find a function called applyProductReward.

This is where you use an elseif statement to map your Product ID to an action. For example, if you want to grant a speed boost:

elseif productId == "YOUR_ID_HERE" then
    local character = player.Character
    if character and character:FindFirstChild("Humanoid") then
        character.Humanoid.WalkSpeed = 200
    end

3. Utilizing ServerStorage for Security

In the plugin’s workflow, you are instructed to drag tools into the ServerStorage → BuyableItems folder. This is a critical security practice. ServerStorage is only visible to the server; players (clients) cannot see or access its contents.

By keeping your tools here, you prevent exploiters from stealing items. When a purchase is successful, the ShopServerHandler clones the tool from ServerStorage and places that clone into the player’s Backpack . This ensures that only players who have actually paid for the item receive it.

4. Persistence and DataStores

The ShopServerHandler also features a toggle for Persistence . In Roblox, a game “forgets” everything about a player once they leave unless you use DataStores . When persistence is enabled in the plugin settings, the server will automatically save the player’s in-game currency to Roblox’s cloud when they leave and reload it when they return. This is handled via DataStoreService, ensuring that players feel their progress is meaningful and permanent.

1 Like