DevProduct not working

Button script:

local mps = game:GetService("MarketplaceService")

script.Parent.ClickDetector.MouseClick:Connect(function(plr)
	mps:PromptProductPurchase(plr,1250428901)
end)

Server script:

local mps = game:GetService("MarketplaceService")

local id = 1250428901 

mps.ProcessReceipt = function(data)
	if data.ProductId == id then
		local plrId = data.PlayerId
		local plr = game.Players:GetPlayerByUserId(plrId)
		if plr then
			local msg = Instance.new("Hint",game.Workspace)
			for i = 1,60 do wait(1)
				msg.Text = "["..60-i.."]"
			end
			--explode stuff here
		end
		return Enum.ProductPurchaseDecision.PurchaseGranted
	else
		return Enum.ProductPurchaseDecision.NotProcessedYet
	end
end

It doesnt show anything please help

Is that a gamepass or a dev product?

Are you sure you are using DevProduct or gamepass?

It is a dev product

I am sure it is a dev product

The script looks like it should work, remember that a game is restricted to a single ProcessReceipt callback.

Check the console for any errors.

local mps = game:GetService("MarketplaceService")

script.Parent.ClickDetector.MouseClick:Connect(function(plr)
	mps:PromptProductPurchase(plr,1250428901)
end)

Is this a local script? If so it should be a server script.