Productos para Desarrolladores

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

Crear Productos para Desarrolladores

  • Actualizar la información
  • Guardar
  • Vuelve a Productos para Desarrolladores para verificar el ID del producto actualizado
  • Copiar ID al Portapapeles
Image 1
Image 2
Roblox Studio

Iniciar Compra

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
)

Respuesta de Compra en Roblox

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

… processReceipt Method


MarketplaceService.ProcessReceipt = processReceipt

Procesar la Respuesta

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

Lógica para Compra Exitosa

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

Si encuentras útil este tutorial y deseas apoyar mi trabajo, considera invitarme a un café.

¡Muchas gracias por tu apoyo!

Invítame a un café