# Client Store Usage Guide - forge-docus
The client store addon provides the storefront browser UI for catalog browsing, category hydration, payment source display, cart handling, and checkout requests.

Client Addons

# Client Store Usage Guide

The client store addon provides the storefront browser UI for catalog browsing, category hydration, payment source display, cart handling, and checkout requests.

# Client Store Usage Guide

The client store addon provides the storefront browser UI for catalog browsing, category hydration, payment source display, cart handling, and checkout requests.

## Open Store UI

    call forge_client_store_fnc_openUI;

The UI opens `RscStore`, loads `ui/_site/index.html`, and routes browser alerts through `forge_client_store_fnc_handleUIEvents`.

## Bridge

`forge_client_store_fnc_initUIBridge` owns:

- browser control lookup
- store hydrate requests
- category requests
- checkout requests
- category hydrate/failure responses
- checkout success/failure responses
- store config refresh after successful checkout

Store currently uses its own `StoreUIBridge.receive(...)` browser bridge rather than the shared `ForgeBridge.receive(...)` delivery used by newer bridges.

## Browser Events

Event | Client behavior
--- | ---
`store::ready` | Request store hydrate from the server.
`store::category::request` | Request catalog items for a category.
`store::checkout::request` | Forward checkout JSON to the server.
`store::close` | Close the display.

## Browser Response Events

Event | Purpose
--- | ---
`store::hydrate` | Initial storefront/session/config payload.
`store::config::hydrate` | Refreshed payment/source config.
`store::category::hydrate` | Category catalog payload.
`store::category::failure` | Category request failure.
`store::checkout::success` | Checkout success payload.
`store::checkout::failure` | Checkout failure payload.

## Category Requests

Category requests require a non-empty category value.

    {
      "category": "weapons"
    }

The client lowercases the category before forwarding it to the server store addon.

## Checkout Requests

Checkout requests send a serialized checkout payload:

    {
      "checkoutJson": "{\"items\":[],\"paymentSource\":\"cash\"}"
    }

The client only forwards the checkout data. The server store addon and extension validate prices, inventory grants, payment source authorization, and integration with bank, organization, locker, and garage state.

After a successful checkout, the client asks the server for a fresh store config payload so payment-source balances and permissions stay current.

## Authoritative State

Catalog data, prices, checkout validation, money movement, organization funds, credit lines, locker grants, garage grants, and persistence are server-owned.

## Related Guides

- Store Usage Guide
- Client Bank Usage Guide
- Client Organization Usage Guide
- Client Locker Usage Guide
- Client Garage Usage Guide

Edit this page or Report an issue

Client Phone Usage Guide

The client phone addon provides the in-game phone UI for contacts, SMS messages, email, and local utility apps such as notes, calendar events, world clocks, and alarms.

Client Common Usage Guide

The client common addon contains shared browser UI bridge declarations and common client-side browser integration patterns.