Developer Product (bypassed)

So I might just be dumb, but I have this ServerSided handler for payments and some how by spamming the ‘buy’ button it bypass the payment and gives them there coins.
This is a “pls donate” type game with fake robuxs.


local mps = game:GetService('MarketplaceService')


local id = ...-- 
local id2 = ...-- 
local id3 = ...-- 
local id4 = ...-- 
local id5 = ...-- 
local id6 = ...-- 


-- // Server-Side Purchase
local function processReceipt(receiptInfo)
	
	local player = game.Players:GetPlayerByUserId(receiptInfo.PlayerId)

	if not player then
		return Enum.ProductPurchaseDecision.NotProcessedYet
	end

	if player then
		if receiptInfo.ProductId == id then
			local ldrStats = player:WaitForChild("leaderstats")
			game.ReplicatedStorage.Popup:FireClient(player, "Thanks, "..player.Name.." for buying 10,000 Robuxs!", Color3.fromRGB(41, 134, 255), 10)
			game.ReplicatedStorage.ServerToClientChat:FireAllClients(player.Name.." Just bought 10,000 ROBUXS!", Color3.fromRGB(243, 255, 7))

			ldrStats.Robux.Value = ldrStats.Robux.Value + 10000
		end
	end


	if player then
		if receiptInfo.ProductId == id2 then
			local ldrStats = player:WaitForChild("leaderstats")
			game.ReplicatedStorage.Popup:FireClient(player, "Thanks, "..player.Name.." for buying 100,000 Robuxs!", Color3.fromRGB(41, 134, 255), 10)
			game.ReplicatedStorage.ServerToClientChat:FireAllClients(player.Name.." Just bought 100,000 ROBUXS!", Color3.fromRGB(243, 255, 7))

			ldrStats.Robux.Value = ldrStats.Robux.Value + 100000
		end
	end


	if player then
		if receiptInfo.ProductId == id3 then
			local ldrStats = player:WaitForChild("leaderstats")
			game.ReplicatedStorage.Popup:FireClient(player, "Thanks, "..player.Name.." for buying 1,000,000 Robuxs!", Color3.fromRGB(41, 134, 255), 10)
			game.ReplicatedStorage.ServerToClientChat:FireAllClients(player.Name.." Just bought 1,000,000 ROBUXS!", Color3.fromRGB(243, 255, 7))

			ldrStats.Robux.Value = ldrStats.Robux.Value + 1000000
		end
	end

	if player then
		if receiptInfo.ProductId == id4 then
			local ldrStats = player:WaitForChild("leaderstats")
			game.ReplicatedStorage.Popup:FireClient(player, "Thanks, "..player.Name.." for buying 10,000,000 Robuxs!", Color3.fromRGB(41, 134, 255), 10)
			game.ReplicatedStorage.ServerToClientChat:FireAllClients(player.Name.." Just bought 10,000,000 ROBUXS!", Color3.fromRGB(243, 255, 7))

			ldrStats.Robux.Value = ldrStats.Robux.Value + 10000000
		end
	end


	if player then
		if receiptInfo.ProductId == id5 then
			local ldrStats = player:WaitForChild("leaderstats")
			game.ReplicatedStorage.Popup:FireClient(player, "Thanks, "..player.Name.." for buying 100,000,000 Robuxs!", Color3.fromRGB(41, 134, 255), 10)
			game.ReplicatedStorage.ServerToClientChat:FireAllClients(player.Name.." Just bought 100,000,000 ROBUXS!", Color3.fromRGB(243, 255, 7))

			ldrStats.Robux.Value = ldrStats.Robux.Value + 100000000
		end
	end


	if player then
		if receiptInfo.ProductId == id6 then
			local ldrStats = player:WaitForChild("leaderstats")
			game.ReplicatedStorage.Popup:FireClient(player, "Thanks, "..player.Name.." for buying 1,000,000,000 Robuxs!", Color3.fromRGB(41, 134, 255), 10)
			game.ReplicatedStorage.ServerToClientChat:FireAllClients(player.Name.." Just bought 1,000,000,000 ROBUXS!", Color3.fromRGB(243, 255, 7))
			
			ldrStats.Robux.Value = ldrStats.Robux.Value + 1000000000
		end
	end
	
	return Enum.ProductPurchaseDecision.PurchaseGranted
end


mps.ProcessReceipt = processReceipt