The billing pages and the setup checklist decide "Stripe is configured" from the integration settings, while the member pages and Checkout decide it from the key's mode #300

Open
opened 2026-10-30 22:44:40 +00:00 by cgalo5758 · 0 comments
Owner

What a contributor runs into

The rule "Stripe is configured" is stated in two places. The operator's billing pages show an empty state when Stripe is not configured, and the setup checklist counts Stripe as configured; both decide it from the integration registry's required settings. The member Products page, the operator's product page and the Checkout route take the answer from the key's mode, which the console derives from the Stripe API key at start (stripeConfigured, internal/server/product_readiness.go).

Why it costs

Boot accepts a key only with its webhook secret and only with a prefix that names a mode, so the two answers agree for every configuration it accepts today. A change to either rule has to be made in both places, and a contributor reading one place does not learn that the other exists.

Where

internal/server/operator_billing.go; internal/server/setup_state.go; internal/server/product_readiness.go; openspec/specs/operator-billing-views/spec.md

Done when

The billing pages' empty-state gate and the setup checklist take the answer from the key's mode, so the rule is stated once; the Stripe provider page, the Integrations list and the overview's Integrations card keep reading the registry, because they print which settings are missing; and the billing views' empty-state requirement, which names the required-settings check, says so.

### What a contributor runs into The rule "Stripe is configured" is stated in two places. The operator's billing pages show an empty state when Stripe is not configured, and the setup checklist counts Stripe as configured; both decide it from the integration registry's required settings. The member Products page, the operator's product page and the Checkout route take the answer from the key's mode, which the console derives from the Stripe API key at start (`stripeConfigured`, `internal/server/product_readiness.go`). ### Why it costs Boot accepts a key only with its webhook secret and only with a prefix that names a mode, so the two answers agree for every configuration it accepts today. A change to either rule has to be made in both places, and a contributor reading one place does not learn that the other exists. ### Where `internal/server/operator_billing.go`; `internal/server/setup_state.go`; `internal/server/product_readiness.go`; `openspec/specs/operator-billing-views/spec.md` ### Done when The billing pages' empty-state gate and the setup checklist take the answer from the key's mode, so the rule is stated once; the Stripe provider page, the Integrations list and the overview's Integrations card keep reading the registry, because they print which settings are missing; and the billing views' empty-state requirement, which names the required-settings check, says so.
cgalo5758 added the
kind
debt
area/billingarea/operator-ui
labels 2026-10-30 22:44:40 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wiki-cafe/member-console#300