Use it as a design reference
For a technical producer, this purchase recovery prototype should make every player action and player-visible outcome easy to evaluate. Write how to handle reloads, interrupted delivery, duplicate clicks, and insufficient Koin without double granting. Map preview, confirmation, cancelling the action, an insufficient balance, pending, success, delivery, owned, and reload. Give every failure a safe next action. Validate item value, wording, state order, and player recovery in the browser before translating behavior into Unity scenes, prefabs, services, and platform-specific implementation tasks.
Write the Unity handoff separately
Identify UI states, game-state ownership, durable entitlements, native billing adapters, security, refunds, and test environments. The playable page does not configure Unity IAP or produce a store build.
Compare the later implementation
When a Unity version exists, replay the same cancel, insufficient Koin, interruption, success, delivery, and reopen scenarios. Match player outcomes rather than copying browser code or assuming parity.
Name every state and owner
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.
Define idempotent recovery
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.
Turn the prototype into tickets
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.
Keep pending understandable
If delivery is interrupted, explain whether the result is pending, safe to retry, or already complete. Do not show both failure and success. Test that behavior using Unity prototype teams. SEELE does not claim to configure Unity IAP or ship a native Unity store build from this page.
Make retry idempotent
Repeated clicks and reloads should resolve to one purchase result. The player must never receive duplicate items or lose Koin twice. Test that behavior using Unity prototype teams. SEELE does not claim to configure Unity IAP or ship a native Unity store build from this page.
Return to a safe game state
A player cancellation, not enough Koin, and recoverable errors should preserve progress and offer a clear return or retry action. Test that behavior using Unity prototype teams. SEELE does not claim to configure Unity IAP or ship a native Unity store build from this page.