← ClaudeAtlas

roblox-monetizationlisted

Handling Robux purchases correctly - developer products, game passes, subscriptions, ProcessReceipt and its exactly-once semantics, MarketplaceService checks, and granting items without duplicating or losing them. Use when implementing or auditing any purchase flow, when players report paying without receiving, or when investigating duplicated purchased items.
ibrohim1234567881717/game-dev-ai-skills · ★ 0 · AI & Automation · score 71
Install: claude install-skill ibrohim1234567881717/game-dev-ai-skills
# Roblox Monetization ## Purpose Purchases involve real money, which makes every failure mode expensive in a way gameplay bugs are not. A player who pays and receives nothing files a complaint; a duplication bug in a purchase flow is an unbounded loss. Roblox's purchase API has one subtlety that causes most of these problems: **`ProcessReceipt` may be called more than once for the same purchase**, and it is your handler's job to make that harmless. Treating it as a "purchase happened, grant the item" callback is the defect. Treat this skill with the same rigour as `roblox-security`. It is a security skill that happens to be about money. ## When to use - Implementing developer products, game passes, or subscriptions. - Auditing an existing purchase flow. - Players report paying and not receiving. - Investigating duplicated purchased items or currency. - Adding a new purchasable, into a flow that already exists. ## When NOT to use - Auditing the general remote boundary. Use `roblox-security`. - General player data storage. Use `roblox-datastore-persistence`, which this skill depends on — a purchase flow is only as safe as the write underneath it. - In-game economies with no real money, where the stakes and mechanisms differ. ## Required context | Fact | Why it matters | Where to find it | |---|---|---| | Which product types are used | One-time passes and consumable products behave differently | The design | | Whether `ProcessReceipt` is already assigned, and where |