The receipt keeps returning this:

is this an internal issue on Roblox’s behalf, or is there something I can do to correct this error? What are possible causes of the process failure?
Ask away if you need help understanding anything.
The receipt keeps returning this:

is this an internal issue on Roblox’s behalf, or is there something I can do to correct this error? What are possible causes of the process failure?
Ask away if you need help understanding anything.
I would really hope this isn’t an internal issue on roblox, because this would be a massive issue. There is a strong possibility that an error is occurring somewhere within the function that gets called when a receipt is created. Assure that your different exceptions are accounted for and that it is working as intended.
More info can be found here : MarketplaceService.ProcessReceipt
For the specifics of why your function might be failing i would have to see your receipt handling function which I don’t currently see.
LOCAL SCRIPT
-- Bools
local Bools = {
CanDonate = true
}
-- Client Modules
local ClientModulesFolder = game.ReplicatedFirst:WaitForChild("ClientModules")
local ClientModules = {
NotificationFunctions = ClientModulesFolder:WaitForChild("NotificationFunctions")
}
ClientModules.NotificationFunctions = require(game.ReplicatedFirst.ClientModules.NotificationFunctions)
-- Marketplace Modules
local MarketplaceModulesFolder = game.ReplicatedStorage:WaitForChild("Modules"):WaitForChild("Marketplace")
local MarketplaceModules = {
DeveloperProducts = MarketplaceModulesFolder:WaitForChild("DeveloperProducts")
}
MarketplaceModules.DeveloperProducts = require(game.ReplicatedStorage.Modules.Marketplace.DeveloperProducts)
-- UI
local DonationWindowFrame = script.Parent:WaitForChild("DonationWindowFrame")
local DonationFramesFrame = DonationWindowFrame:WaitForChild("DonationFrames")
-- Functions
local function BindClickEvents()
if DonationFramesFrame then
for i, frame in pairs(DonationFramesFrame:GetChildren()) do
local textButton = frame:WaitForChild("TextButton")
local productId = MarketplaceModules.DeveloperProducts.Ids.Donations[frame.Name]
if productId then
textButton.MouseButton1Click:Connect(function()
if Bools.CanDonate then
Bools.CanDonate = false
local Purchased = MarketplaceModules.DeveloperProducts.Functions.PromptUserDeveloperProduct(
game.Players.LocalPlayer,
productId,
false
)
if Purchased then
ClientModules.NotificationFunctions.OnClientNotification(
{
Title = "Donations",
Text = "You donated " .. textButton.Text .. " robux.",
Icon = "http://www.roblox.com/asset/?id=5136674998"
}
)
end
Bools.CanDonate = true
end
end)
end
end
end
end
BindClickEvents()
RECEIPT SCRIPT
-- Modules
local ProcessFunctions = {
Donation = require(script.Donation)
}
-- Marketplace Modules
local MarketplaceModulesFolder = game.ReplicatedStorage:WaitForChild("Modules"):WaitForChild("Marketplace")
local MarketplaceModules = {
DeveloperProducts = MarketplaceModulesFolder:WaitForChild("DeveloperProducts")
}
MarketplaceModules.DeveloperProducts = require(game.ReplicatedStorage.Modules.Marketplace.DeveloperProducts)
-- Tables
local HandlerFunctions = {}
-- Setup DeveloperProductFunctions
for productName, productId in pairs(MarketplaceModules.DeveloperProducts.Ids.Donations) do
HandlerFunctions[productId] = ProcessFunctions.Donation
end
-- Connect Process Receipt Event Function
game.MarketplaceService.ProcessReceipt = function(receiptInfo)
local HandlerFunction = HandlerFunctions[receiptInfo.ProductId]
if HandlerFunction then
local Success, Processed = pcall(HandlerFunction, receiptInfo)
if not Success
or not Processed
then
warn(
"Handler function for product id '" .. tostring(receiptInfo.ProductId) .. "' failed to process receipt.",
"PlayerId:", tostring(receiptInfo.PlayerId)
)
return Enum.ProductPurchaseDecision.NotProcessedYet
end
end
return Enum.ProductPurchaseDecision.PurchaseGranted
end