What this page is for
Disputes → Stripe Health (/platform/stripe-health, Admin+) shows the state of every gym's Stripe Connect account. It is the fastest answer to "the gym says payments have stopped".
What is tracked
Each gym has a row in gym_stripe_account_health holding:
- charges_enabled — can the gym take payments at all.
- payouts_enabled — can money reach their bank.
- Requirement lists —
currently_due,past_due,eventually_due,pending_verification, straight from Stripe. These name the exact document or detail Stripe is waiting for. - severity and payout_issue — how urgent it is and whether payouts specifically are blocked.
- notified_severity / notified_fingerprint — deduplication so a gym is not alerted repeatedly about the same unchanged problem.
How it refreshes
Automatically twice a day and whenever a relevant Stripe webhook arrives. The Run sweep action on the page triggers stripe-account-health-sweep immediately — use it before telling a gym their account is fine. Alerts are sent by notify-stripe-account-health.
Unreportable accounts
Gyms listed as unreportable have no usable Stripe connection — the account was never completed, was rejected, or was disconnected at Stripe's end. These need the gym to reconnect; nothing on our side will fix them.
How to use it in support
- Run the sweep so you are reading current data.
- If
charges_enabledis false, the gym cannot bill members at all — treat as urgent. - If only
payouts_enabledis false, members are still being charged but the money is held at Stripe. Tell the gym exactly that. - Read the requirement list back to the gym verbatim — it names the document Stripe wants. We cannot upload it for them.