Purchases
Report a completed purchase from your ProcessReceipt callback so revenue shows up in the Revenue dashboard within seconds.
MonetizationService.server.lualua
MarketplaceService.ProcessReceipt = function(receiptInfo)
local player = Players:GetPlayerByUserId(receiptInfo.PlayerId)
DevSuite.purchase({
player = player,
productId = receiptInfo.ProductId,
purchaseId = receiptInfo.PurchaseId,
robux = 199
})
return Enum.ProductPurchaseDecision.PurchaseGranted
endIdempotency
purchaseId should be the receipt's unique purchase id. DevSuite deduplicates on this field, so it's safe to call DevSuite.purchase again if ProcessReceipt retries.
Game passes
For game passes, call DevSuite.purchase from your PromptGamePassPurchaseFinished handler instead, using the game pass id as productId.