PurchasePromptScript: getProductInfo failed because MarketplaceService:getProductInfo() failed because rawProductInfo was empty Make sure a valid ID was specified <
LocalScript:
local MPS = game:GetService("MarketplaceService")
local RPS = game:GetService("ReplicatedStorage")
script.Parent.MouseButton1Click:connect(function()
MPS:PromptProductPurchase(game.Players.LocalPlayer, 643910613)
end)
RPS.Events.BuyPrompt.OnClientEvent:connect(function(player, product)
if product == "Upgrade" then
script.Parent.Text = "You Own This Item"
end
end)
Main Script:
local MPS = game:GetService("MarketplaceService")
local RPS = game:GetService("ReplicatedStorage")
local product = ""
MPS.ProcessReceipt = function(purchaseInfo)
local player = game:GetService("Players"):GetPlayerByUserId(purchaseInfo.PlayerId)
if purchaseInfo.ProductId == 643910613 then
product = "Upgrade"
RPS.Events.BuyPrompt:FireClient(product)
elseif purchaseInfo.ProductId == 653173240 then
product = "Elite"
RPS.Events.BuyPrompt:FireClient(product)
elseif purchaseInfo.ProductId == 659939994 then
product = "Palace"
RPS.Events.BuyPrompt:FireClient(product)
end
return Enum.ProductPurchaseDecision.PurchaseGranted
end

6 comments
Well, was a valid ID specified?
What does that mean?
The ids in the script are valid yes, if that is what you mean
Double check that those are valid IDs. They could have typos.
100% valid checked them 10 times
Double the times you've checked them.