Skip to content

[Bug/Feature] Purchase confirmation guard on store checkout — accidental Plutonium spends #4218

@iiamlewis

Description

@iiamlewis

Summary

Players can accidentally purchase skins with a single click. There is no confirmation step between clicking an item in the store and the purchase executing — the transaction completes instantly and deducts Plutonium/Caps from the player's balance.

This has generated recurring reports in Discord, increasing in frequency, and at least one manual refund has already been issued. Acknowledged by Evan as a todo.

Steps to reproduce

  1. Have a balance of Plutonium/Caps in your account.
  2. Open the in-game store.
  3. Click a purchasable skin in the store grid.
  4. Observe that the purchase completes immediately, with no confirmation.

Expected behavior

Clicking a purchasable item should open a confirmation dialog before any transaction occurs. The purchase should execute only on an explicit Confirm.

Actual behavior

The purchase executes instantly on a single click. Currency is deducted with no chance to cancel, leading to accidental purchases and manual refund requests.

Example report (Discord, 06/11/2026)

Player had Plutonium in account, accidentally clicked a skin, purchase completed instantly with no confirmation.

Acceptance criteria

  • Clicking a purchasable item opens a confirmation dialog instead of executing the purchase
  • Dialog displays item name, rarity, price, and resulting Plutonium/Caps balance (before/after)
  • Purchase only executes on explicit Confirm
  • Escape / click-outside / Cancel dismisses the dialog with no transaction
  • Cancel is the default focused action
  • Server rejects duplicate purchase requests (idempotency key or equivalent) to prevent double-charge on double-click

Scope

  • Confirmation dialog on all store purchases (skins, and bundles when shipped)
  • Dialog shows item name, rarity, price, and balance before/after
  • Idempotent purchase endpoint to prevent double-charge on double-click

The guard should apply to the full checkout path, not just the skin grid — any future purchasable surface (bundles, subscription upsells) should inherit it.

Related

  • In-game store redesign
  • Bundles feature

Impact

Reduces manual refund workload and store-related support tickets.

Metadata

Metadata

Assignees

Labels

BugfixFixes a bugapprovedApproved for a PR, if you assigned to the issue.

Type

No fields configured for Task.

Projects

Status
Triage

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions