Simulators
Dashboard
The Dashboard shows the simulator’s account as the Stripe Dashboard draws it, so you can watch your integration’s effect and act on the account as a person would. Open $RYSTIC_URL/_rystic/ui in a browser:
curl -s -o /dev/null -w '%{http_code}\n' "$RYSTIC_URL/_rystic/ui"
# -> 200
The Dashboard card draws Home, with volume, payment and customer charts; Payments and Refunds; Customers; Payment links; Checkout sessions; and Developers, with Webhooks and Events. It redraws as your integration calls the API.
Act as the Dashboard does
Refund all or part of a payment, capture or cancel a PaymentIntent, add, edit or delete a customer, create or deactivate a payment link, expire a Checkout Session and add, update, disable or delete a webhook endpoint. Each action goes through the simulator’s own /v1 API with a placeholder key, so it lands as your integration’s call would: it takes the next id and the simulator’s clock, renders its events to the event log and shows in GET /_rystic/calls. Each dialog’s footer names the call it makes. An amount must be positive, with no more decimal places than its currency has.
Find anything
The search bar jumps to any object id and matches descriptions, emails and amounts. Every detail page opens a drawer with the raw JSON records. A customer’s spend, refunds and disputes show per currency; currencies are never added together.
Events
The Events page lists every /v1/events record, each marked as seeded or as caused by a request. An endpoint’s page matches the newest 300 retained events against the endpoint’s current subscriptions, events from before the endpoint existed included. Those matches change with the endpoint’s settings and are not a delivery history; the main page’s Webhooks section says what is delivered.
Beside the Dashboard
Your integration lists the live API calls, Webhook egress lists the rendered events and the endpoints subscribed to each and Clock shows and moves the simulator’s clock and resets or loads a scenario.
What it does not run
Balances, payouts, disputes (a disputed charge shows its flag), products, billing, receipts and hosted payment pages are drawn but inert: a click says so. The page contacts nothing but the simulator. Times are UTC, and “today” is the simulator’s clock. A reset or scenario load closes open dialogs and detail pages, and a reply from the previous scenario cannot change the new one.