Developer products work in studio, doesnt work in game however

Developer products work in studio, but not in game. I’ve gotten alot of dislikes about this. Any help?

local mps = game:GetService("MarketplaceService")

local function processReceipt(receiptInfo)
	local player = game.Players:GetPlayerByUserId(receiptInfo.PlayerId)
	if not player then
		return Enum.ProductPurchaseDecision.NotProcessedYet
	end
	print(receiptInfo.ProductId)
	if player then
		if receiptInfo.ProductId == 1150355282 then
			local Gui = player.PlayerGui.LoomiNow.Frame
			local loomiNow = workspace.LoomiNows:FindFirstChild(Gui.Current.Value)
			loomiNow.particle.Sparkles.Enabled = true
			loomiNow.Timer.Value = 300
			loomiNow.EnabledToBuy.Value = false
			Gui.Visible = false
			print("Player bought loominow")
		elseif receiptInfo.ProductId == 1171239712 then
			game.ReplicatedStorage.Mutagon.Parent = workspace
			print("player bought mutagon")
		elseif receiptInfo.ProductId == 1199719176 then
			game.ReplicatedStorage.ShowRoll:FireClient(player,"Basic")
		elseif receiptInfo.ProductId == 1199719231 then
			game.ReplicatedStorage.ShowRoll:FireClient(player,"Fine")
		elseif receiptInfo.ProductId == 1199719256 then
			game.ReplicatedStorage.ShowRoll:FireClient(player,"Awesome")
		elseif receiptInfo.ProductId == 1199719283 then
			game.ReplicatedStorage.ShowRoll:FireClient(player,"Ultra")
		elseif receiptInfo.ProductId == 1199999073 then
			game.ReplicatedStorage.ShowRoll:FireClient(player,"Gleaming")
		end
		return Enum.ProductPurchaseDecision.PurchaseGranted
	end
end

mps.ProcessReceipt = processReceipt