Technical producer focus
Turn the purchase into named states and transitions. Separate the player-facing prototype from identity, persistence, native billing, security, and refund work.
Technical Producer guide · PWA Games · Koin purchase UX
Use a playable browser prototype to work through inventory delivery for PWA games. The goal is to make the player journey concrete before the team commits to native commerce implementation.
Create this game flow
Turn the purchase into named states and transitions. Separate the player-facing prototype from identity, persistence, native billing, security, and refund work.
Design for the input, layout, interruption, and return behavior players expect from PWA games.
PWA packaging does not create native platform IAP entitlements.
Show one item the player may decline, its preview, precise Koin price, balance before spending, and ownership rule in a layout suited to PWA games.
Write how to connect successful purchase to a visible owned or quantity state. Keep each change visible to the player rather than hiding it in technical state.
Make a cancelled choice, a Koin shortage, pending, interrupted delivery, and reload visually distinct, with a safe next action.
Map preview, confirmation, cancellation, not enough Koin, pending, success, delivery, owned, and reload. Give every failure a safe next action. Use the prototype to resolve player-facing questions before creating platform integration tasks.
For a technical producer, this inventory delivery prototype should make every player action and result the player can inspect easy to evaluate. Write how to connect successful purchase to a visible owned or quantity state. Map preview, confirmation, a player cancellation, too little Koin, pending, success, delivery, owned, and reload. Give every failure a safe next action. Try the flow in a regular tab and an installed presentation. Navigation, focus, and recovery should remain understandable even when browser controls are reduced or the app resumes from suspension.
An unavailable connection must not look like a completed purchase. Explain when the action cannot continue, preserve the game state, and provide a safe retry after connectivity returns.
PWA installation does not create platform IAP ownership. Durable identity, cross-device state, refunds, billing integration, and app-store policy remain outside the browser prototype.
Separate preview, confirmation, pending, success, delivery, owned, insufficient Koin, cancel, interrupted, and reopened states. Assign later production work for identity, persistence, native billing, security, refunds, policy, and monitoring.
Repeated confirmation, a slow response, navigation during delivery, and reopening must resolve to one result. Record which state is authoritative and how the player can safely retry without another grant or Koin deduction.
Capture the visible behavior first, then create implementation tasks with expected examples for each transition and platform boundary. Do not translate a working browser interaction into an unsupported claim that backend commerce is complete.
A success message is not delivery. Place the cosmetic, consumable, unlock, or upgrade in the screen where the player expects to use it. Test that behavior using PWA games. PWA packaging does not create native platform IAP entitlements.
Use owned, equipped, unlocked, or remaining quantity as appropriate. The state should match the promise made on the offer card. Test that behavior using PWA games. PWA packaging does not create native platform IAP entitlements.
Reload the prototype and return to inventory. The item should remain visible without subtracting Koin or granting a second copy. Test that behavior using PWA games. PWA packaging does not create native platform IAP entitlements.
Choose the input and screen behavior for PWA games. State the platform limit beside the prototype brief.
Result: An honest scope
Write how to connect successful purchase to a visible owned or quantity state. Describe the player action and visible response at each point.
Result: A clear inventory delivery sequence
Show the item, exact price, balance, confirm, cancel, pending, success, and delivery without payment-provider screens.
Result: A complete player journey
Map preview, confirmation, a cancelled choice, a Koin shortage, pending, success, delivery, owned, and reload. Give every failure a safe next action.
Result: Technical producer focus
Interrupt delivery, repeat the input, and reload. The prototype should never grant twice or leave the player in an unexplained state. Repeat the test after interruption and reload.
Result: A stable prototype
Create installable web presentation and offline-aware states for a technical producer. Focus the IAP prototype on connect successful purchase to a visible owned or quantity state. Use a direct Koin item transaction with preview, exact price, confirmation, cancel, insufficient balance, success, delivery, and reload behavior. The technical producer must be able to name every state, owner, failure path, and expected check. Do not add subscriptions, payment-provider UI, revenue analytics, or native platform claims. State this boundary: PWA packaging does not create native platform IAP entitlements.
Keep the item optional. Show its clearly stated Koin cost, available Koin balance, confirm, cancel, low-balance, success, visible delivery, and reload states.
Write how to connect successful purchase to a visible owned or quantity state. The result is shown as a playable Koin flow.
No. The player spends Koin directly on one named item or unlock.
Return to the same game state without spending Koin or delivering the item.
Explain the shortage, preserve progress, and do not deliver the item.
No. It covers the player-facing purchase experience, not financial reporting.
No. PWA packaging does not create native platform IAP entitlements.
Open the complete prompt in SEELE, adjust the item and Koin price, then generate a playable version you can test.
Open this prompt in Workspace