# Purchases
Gamepasses and asset sales are already handled through the SDK automatically, meaning all you need to add yourself is support for developer products.
# Developer products
After installing the SDK via the plugin, game.ServerScriptService will have a folder called RoMonitor, inside RoMonitor will be Events which contains the event we want to trigger when processing a developer product.
# Code implementation
TrackProduct should be fired at the start of game:GetService("MarketPlaceService").ProcessReceipt function, with the receiptInfo as the argument.
local function processReceipt(receiptInfo)
game.ServerScriptService.RoMonitor.Events.TrackProduct:Fire(receiptInfo)
-- Code to handle giving the player what they bought
end
game:GetService("MarketPlaceService").ProcessReceipt = processReceipt
Warning
game:GetService("MarketPlaceService").ProcessReceipt can only be called once per game! Make sure to implement this into beginning of your pre-existing ProcessReceipt.
Debugging
If something goes wrong, open the developer console (F9) and look out for a "[RoMonitor] [Developer produdct] Error message" which will explain why it isn't working as intended.