Checkout cancellation can get stuck when Hub and Checkout are authorized as different player UIDs
Last updated: June 29, 2026
Checkout cancellation can get stuck when Hub and Checkout are authorized as different player UIDs
If a purchase flow stays on action in progress after the player closes the Aghanim payment window, one possible cause is a player identity mismatch between the game session and the Checkout session.
Symptoms
- A purchase can be opened normally, but closing the payment tab or window does not return the game to an idle state.
- The game does not appear to receive the cancellation-related activity event.
- The issue may reproduce only in specific environments or login combinations.
Expected cancellation signal
When the Checkout window is closed without completing the purchase, Aghanim should send an activity event similar to:
{"nonce":"...","type":"order.received_activity","payload":{"id":"ord_...","status":"created","item_sku":"...","activity":"tab_closed","currency":"USD","amount_decimal":1.99}}Root cause
This issue can happen when the game hub is logged in as one player UID, but the WebGL or Checkout session is authorized as a different player UID for the same human user.
In that case:
- Checkout is opened on behalf of Player B.
- When the player closes the payment form, the
activity=tab_closedevent is delivered to Player B. - The game client or hub is still listening for events for Player A.
- As a result, the cancellation event is not observed by the active game session, and the UI may remain stuck on
action in progress.
How to verify
- Confirm which player UID is active in the game or hub session.
- Confirm which player UID is actually authorized in the WebGL or Checkout context.
- Compare the UID that owns the Checkout order with the UID that the game is using to subscribe to events.
- If they differ, reproduce the cancellation flow and check whether the
order.received_activityevent is being emitted for the other UID.
Typical scenario
This can occur after account selection, account merge, social login changes, or incomplete relinking, where a user has multiple linked player identities and the frontend and backend do not switch to the same final UID.
Recommended resolution
- Ensure the game session, Game Hub session, and Checkout launch all use the same player UID.
- After account selection or relinking, verify that the backend updates the effective player binding before Checkout starts.
- If you support multiple linked identities for one user, add diagnostics that log both the in-game player UID and the UID used to create or open Checkout.
Notes
This is not necessarily a payment-processing failure. The purchase cancellation can be handled correctly on Aghanim's side, but the event may be routed to a different authorized player than the one the game is observing.