Design for a shareable session
For a game designer, this purchase confirmation prototype should make every player action and result the player can inspect easy to evaluate. Write how to show the exact item, Koin amount, balance impact, and explicit confirm/cancel actions. Choose the offer moment, explain the game benefit, and protect the complete free path. Compare the experience before and after ownership. Assume a player may open the game from a link in a new browser with limited prior context. Put item identity, Koin balance, and the return route inside the playable experience.
Handle tabs and navigation
Try refresh, back navigation, a second tab, and returning after the page was suspended. A browser interaction must not imply native-store ownership or silently repeat a delivery action.
Keep canvas and interface coordinated
If the game uses a canvas, make focus, keyboard input, scaling, and purchase overlays cooperate. Closing the choice should restore game controls without leaving hidden buttons or trapped focus.
Judge the offer in the core loop
Run the game without opening the purchase choice, then run it with the item. Compare pacing, motivation, difficulty, and recovery so the offer supports play instead of repairing frustration that was added deliberately.
Make the player promise concrete
Describe what changes on screen, how long it lasts, where it appears, and what remains available without it. Replace value labels such as better or premium with rules a player can observe.
Review the moment of choice
Check what the player was doing immediately before the offer and where cancel returns them. The item should arrive after enough context to understand it, but never during a time-critical or emotionally pressured action.
Repeat the complete choice
The confirmation should repeat the selected item, exact Koin amount, current Koin balance, remaining balance, and ownership rule without introducing a different offer. Test that behavior using HTML5 games. Browser delivery does not prove native store billing or platform approval.
Separate confirm from cancel
Use distinct actions with clear labels and enough spacing for the target input method. Returning to the game should never spend Koin. Test that behavior using HTML5 games. Browser delivery does not prove native store billing or platform approval.
Prevent repeated confirmation
After confirmation, show a pending state and disable repeated input until the result is known. A slow response should not create duplicate grants. Test that behavior using HTML5 games. Browser delivery does not prove native store billing or platform approval.