Hello !
I made a shop gui with multiples values of money you can buy :
The problem is that, when i buy something, robux are debited but no coins are added to my leaderboard.
Here’s my marketplacehandle script (located in ServerScriptService) :
local mps = game:GetService("MarketplaceService")
mps.ProcessReceipt = function(receiptInfo)
if receiptInfo.ProductId == 974176413 then
local player = game.Players:GetPlayerByUserId(receiptInfo.UserId)
player.leaderstats.Coins.Value = player.leaderstats.Coins.Value + 30000
return Enum.ProductPurchaseDecision.PurchaseGranted
elseif receiptInfo.ProductId == 974176698 then
local player = game.Players:GetPlayerByUserId(receiptInfo.UserId)
player.leaderstats.Coins.Value = player.leaderstats.Coins.Value + 62500
return Enum.ProductPurchaseDecision.PurchaseGranted
elseif receiptInfo.ProductId == 974176849 then
local player = game.Players:GetPlayerByUserId(receiptInfo.UserId)
player.leaderstats.Coins.Value = player.leaderstats.Coins.Value + 125000
return Enum.ProductPurchaseDecision.PurchaseGranted
elseif receiptInfo.ProductId == 974177194 then
local player = game.Players:GetPlayerByUserId(receiptInfo.UserId)
player.leaderstats.Coins.Value = player.leaderstats.Coins.Value + 500000
return Enum.ProductPurchaseDecision.PurchaseGranted
elseif receiptInfo.ProductId == 974177420 then
local player = game.Players:GetPlayerByUserId(receiptInfo.UserId)
player.leaderstats.Coins.Value = player.leaderstats.Coins.Value + 1000000
return Enum.ProductPurchaseDecision.PurchaseGranted
end
end
And here’s a 30’000 buy button local script :
mps = game:GetService("MarketplaceService")
id = 974176413
local player = game.Players.LocalPlayer
script.Parent.MouseButton1Click:Connect(function()
mps:PromptProductPurchase(player, id)
end)
Script localisation :