so i made a shop using surface gui! and add some buttons and add localscript to the buttons! so my problem is when i click it. it does nothing! no error also!

Script(Main)

local MPS = game:GetService("MarketplaceService")
local realplayer = game.Players.LocalPlayer
-->>:Currency Main
MPS.ProcessReceipt = function(receiptInfo)
		  if receiptInfo.ProductId == 979338363 then 
        local player = game.Players:GetPlayerByUserId(receiptInfo.PlayerId)
        realplayer:WaitForChild("Robux").Value = realplayer:WaitForChild("Robux").Value + 1000
        return Enum.ProductPurchaseDecision.PurchaseGranted
    	end
end

LocalScript(Button)

MPS = game:GetService("MarketplaceService")
id = 979338363
local player = game.Players.LocalPlayer
 
script.Parent.MouseButton1Click:connect(function()
    MPS:PromptProductPurchase(player, id)
end)