Developer Products don't work 100% of the time but still takes your robux

I want my developer products to work 100% of the time. This is one of those bugs that occur half the time and the other half it works perfectly normal. My developer product code is from the roblox developer api site and then tailored to suit my game.

I’ve tried replicating the issue for the past week and it only happened to me once, and the developer product took my robux, printed “id 1082728926 was bought” and then never gave me the tool.

This is the code snippet that “half-works half doesn’t-work”:

function awardProduct(plr, receiptInfo)
	local id = receiptInfo.ProductId
	print(id, ' was bought') -- this printed when the bug happened to me
	if id == 1082728926 then -- BIGIFY
		if plr and plr.Backpack then
			local tool = game.ServerStorage.Tools["Make Everyone Big"]:Clone() -- I never got the tool but it still took my robux.
			tool.Parent = plr.Backpack
			if plr.DP:FindFirstChild(tool.Name) then
				plr.DP[tool.Name].Value = true
				return true
    return false

I’ve tried different developer product scripts from multiple sources yet the same half-half outcome of the developer products stays the same. Also yesterday I found a weird glitch where newly added backpack tools don’t show on the toolbar when I was using the mobile emulation in studio. Maybe it has always worked but it never showed in the toolbar? I’m very confused and I’m considering either forcing the equip upon purchase or making the purchase automatically apply to the buyer(although it will ruin part of the fun)

It’s not even printing the right ID. Are you sure the ID you provided was right? Is the prompt ID wrong?

My mistake. I put that number in quotes just as an example. I fixed it now.