My developer product was purchased a few times in my game today but It isn’t following through to the pending sales on the group revenue page.
This bug seems to happen every time a developer product is purchased
Here is the example of the group revenue page.
T-shirts and other clothing works fine but developer products haven’t worked.
I’l show you my scripts of the developer product.
Prompt Purchase
--server script
local marketplace = game:GetService("MarketplaceService")
local players = game:GetService("Players")
local ID = script.ID
script.Parent.ClickDetector.MouseClick:Connect(function(plr)
if plr then
marketplace:PromptProductPurchase(plr,tonumber(ID.Value))
end
end)
Purchases handler
--inside server script service.
local players = game:GetService("Players")
local marketplace = game:GetService("MarketplaceService")
local dataStoreService = game:GetService("DataStoreService")
local preveiosPurchases = dataStoreService:GetDataStore("PreviosPurchases")
local currency01Name = "Money"
local currency02Name = "Gems"
local rep = game:GetService("ServerScriptService")
local TEN_GEM_ID = 684338890
marketplace.ProcessReceipt = function(receipt)
local ID = receipt.PlayerId.."-"..receipt.PurchaseId
local success = nil
pcall(function()
success = preveiosPurchases:GetAsync(ID)
end)
if success then
--purchase has been done
return Enum.ProductPurchaseDecision.PurchaseGranted
end
local plr = players:GetPlayerByUserId(receipt.PlayerId)
if not plr then
--player: left, disconnected
return Enum.ProductPurchaseDecision.NotProcessedYet
elseif plr then--if player is there
if receipt.ProductId == TEN_GEM_ID then
plr.leaderstats[currency02Name].Value = plr.leaderstats[currency02Name].Value + 10
print(plr.name.." Purchased: "..tostring(receipt.ProductId))
end
pcall(function()
preveiosPurchases:SetAsync(ID,true)
end)
return Enum.ProductPurchaseDecision.PurchaseGranted
end
end
Could the problem be a bug in my purchase script or is it not my fault?