Developer Products

Roblox Studio
>
File
>
Game Settings
>
Monetization
>
Developer Products
>
Create
Image 1
Image 2
Roblox Studio

Create a Developer Products

  • Update the information
  • Save
  • Go to the Developer Products again to check the updated Product ID
  • Copy ID to Clipboard
Image 1
Image 2
Roblox Studio

Initiate Purchase

local productId = YOUR_PRODUCT_ID  
local MarketplaceService = game:GetService("MarketplaceService")

game.Workspace:WaitForChild("ATM"):WaitForChild("SurfaceGui"):WaitForChild("Purchase").Activated:Connect(
	function()
		MarketplaceService:PromptProductPurchase(player, YOUR_PRODUCT_ID)
	end
)

Roblox Purchase Response

local productId = YOUR_PRODUCT_ID  
local MarketplaceService = game:GetService("MarketplaceService")

… processReceipt Method


MarketplaceService.ProcessReceipt = processReceipt

Process the Response

local function processReceipt(receiptInfo)

	-- Find the player who made the purchase in the server
	local player = Players:GetPlayerByUserId(receiptInfo.PlayerId)
	if not player then
		-- The player probably left the game
		-- If they come back, the callback will be called again
		return Enum.ProductPurchaseDecision.NotProcessedYet
	end

	-- Look up handler function from 'productFunctions' table above
	local handler = productFunctions[receiptInfo.ProductId]

	-- Call the handler function and catch any errors
	local success, result = pcall(handler, receiptInfo, player)
	if not success or not result then
		warn("Error occurred while processing a product purchase")
		print("ProductId:", receiptInfo.ProductId)
		print("Player:", player)
		return Enum.ProductPurchaseDecision.NotProcessedYet
	end

	return Enum.ProductPurchaseDecision.PurchaseGranted
end

Logic for Successful Purchase

local productId = YOUR_PRODUCT_ID  

local productFunctions = {}

productFunctions[YOUR_PRODUCT_ID] = function(receipt, player)

	-- examle of udpates for successful purchase
	local d = players_holder[player.Name]
	d["coin"] = d["coin"] + 200000
	fire_player_event_local(player, d)
	return true
end

Looking for more useful tools to boost your productivity?

Explore More Tools

If you found this tutorial helpful and would like to support my work, please consider buying me a coffee.

Thank you very much for your support!

Buy me a coffee