Purchase-flow guide
Design the complete in-game purchase state machine
In-game purchases are player decisions, not only payment buttons. The visible experience begins when an offer appears and continues through confirmation, cancellation, pending feedback, failure, delivery, ownership, and recovery. A prototype should make every promise and exception inspectable before native billing work begins.
| State | Player must see | Safe outcome | Implementation question |
|---|---|---|---|
| Offer | Item, benefit, quantity or duration, price, balance, ownership | Continue or decline without lost progress | Where and why does the offer appear? |
| Confirmation | Selected item, exact cost, resulting balance, confirm and cancel | One deliberate decision | How is accidental or repeated input prevented? |
| Pending | Action received and still unresolved | Input disabled until one result is known | How are timeouts and retries reconciled? |
| Failure | No spend or grant, reason where appropriate, next action | Return safely with state preserved | Which failures can be retried? |
| Delivery | Owned item or unlocked content in its normal context | Promise matches the delivered result | Where is entitlement persisted? |
| Recovery | Owned, interrupted, duplicated, or restored state | No double grant and no lost ownership | How are receipts, accounts, and refunds reconciled? |
Decision boundary
Keep the prototype boundary explicit
SEELE can help structure and test a player-facing purchase concept in an AI-generated game. This page does not claim to process payments, configure native billing, manage subscriptions, calculate taxes, validate receipts, operate refunds, or provide revenue analytics.
Review the unpaid path with the same care as the purchase path. Declining, lacking balance, or encountering failure should not erase progress, close the game, trap focus, or create an artificial penalty.
