[FIXED] My coins shop script doesn't give the money!

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 :
LOCAL

this could help you.

1 Like