Today

Robloxghghhgyy

image

local DEV_PRODUCT_ID =tonumber(game:GetService("ReplicatedStorage"):WaitForChild("DEVPRODUCTID").Value)
local productIdUGC = game:GetService("ReplicatedStorage"):WaitForChild("UGCID").Value

local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local bought = {}

local function processReceipt(receiptInfo)
    local player = Players:GetPlayerByUserId(receiptInfo.PlayerId)
    print(player.Name .. " - dev product id", receiptInfo.ProductId)

    local player = Players:GetPlayerByUserId(receiptInfo.PlayerId)
    if not player then
        return Enum.ProductPurchaseDecision.NotProcessedYet
    end

    if receiptInfo.ProductId == DEV_PRODUCT_ID then
        bought[receiptInfo.PlayerId] = DEV_PRODUCT_ID
        return Enum.ProductPurchaseDecision.PurchaseGranted
    end

    return Enum.ProductPurchaseDecision.NotProcessedYet
end

MarketplaceService.ProcessReceipt = processReceipt
local success, result = pcall(function()
    MarketplaceService.ProcessReceipt = processReceipt
end)

if not success then
    warn("processreceipt:", result)
end


MarketplaceService.PromptProductPurchaseFinished:Connect(function(player, productId, wasPurchased)
    if tonumber(productId) == DEV_PRODUCT_ID and wasPurchased == true and bought[player] == DEV_PRODUCT_ID then
      pcall(function()  MarketplaceService:PromptPurchase(game.Players:GetPlayerByUserId(player), productIdUGC)
end)
        bought[player] = nil
    end
end)