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