app-onboarding
US-1.1 · US-1.5Merchant installs the app and walks through onboarding
First-touch experience for a merchant who's just installed bc-subscriptions. Welcome screen, setup checklist, and registration health check.
Prototype · readyStencil · n/aCatalyst · n/aCustom headless · n/aBC Admin · partial
Expected: Merchant completes the checklist; app reports healthy registration with all required scopes granted. Subscription products can now be enabled.
processor-onboarding
US-2.1 · US-2.2 · US-2.7Merchant connects a payment processor
Merchant lands on Settings → Payment after install and connects either Stripe (by key entry) or BC Payments (one-click auto-detect). The Setup Checklist item flips from pending to active once a connection is established. Capture timing preference is also set here.
Prototype · readyStencil · n/aCatalyst · n/aCustom headless · readyBC Admin · ready
Expected: Processor connection row appears in the Connected processors panel with an 'active' badge. Setup Checklist item processor_connected flips from pending (red) to complete (green). Capture timing preference is persisted.
Merchant copies a plan to multiple products
Merchant on the plan-edit page picks 'Copy to products', selects one or more target products via multi-select, and runs the copy. Conflict detection flags target products that already have a same-interval plan; the merchant decides per-product to overwrite or skip.
Prototype · readyStencil · n/aCatalyst · n/aCustom headless · readyBC Admin · ready
Expected: Copy operation creates one new plan row per non-conflicting target product, mirroring the source plan's interval, pricing, options, and eligibility config. Conflicting targets are reported with the existing-plan id so the merchant can resolve manually.
Merchant deactivates a subscription plan (3 choices)
Merchant clicks 'Deactivate plan' on a product's plan panel; modal presents three radio choices — stop new signups, end all subscribers at next cycle, cancel all subscribers immediately. Each choice has distinct customer-impact semantics; merchant confirms after reading the impact summary.
Prototype · readyStencil · n/aCatalyst · n/aCustom headless · partialBC Admin · partial
Expected: Selected deactivation choice runs to completion: stop_new flips the plan to refuse new signups (existing subscribers untouched); end_at_next_cycle marks the plan paused and clears next-charge dates on all subscriptions; cancel_immediately atomically cancels every subscription and audit-logs each. NOTE: only stop_new calls a real backend (pausePlan) today; end_at_next_cycle and cancel_immediately are visual-only placeholders pending backend implementation — Demo Scene 6 instructs operators to hover-only, not click, on the stubbed choices.
Merchant enables subscriptions on a product
Merchant picks an existing BC product, opens the subscription panel, and configures one or more billing intervals + pricing rules. After save, the product is shoppable as a subscription.
Prototype · readyStencil · n/aCatalyst · n/aCustom headless · n/aBC Admin · ready
Expected: Product appears in storefront with subscription widget rendered on the PDP. Shopper can pick subscribe-once vs subscribe-and-save.
plan-design
US-5.2 · US-5.4Merchant designs pricing strategy + intervals across plans
Merchant configures pricing strategy (fixed vs catalog-follow), available intervals (weekly / monthly / quarterly), and how plans compare in the storefront UI.
Prototype · readyStencil · n/aCatalyst · n/aCustom headless · n/aBC Admin · partial
Expected: Pricing strategy applied across the merchant's subscription catalog. Storefront PDP renders the comparison view if multi-plan; single-plan products show the simpler subscribe CTA.
eligibility-rules
US-4.3 · US-26.2 · US-26.10Merchant configures catalog eligibility rules
Rules engine determines which products / variants are subscribable: by category, by custom field, by explicit include/exclude lists. Storefront widget hides on ineligible products automatically.
Prototype · readyStencil · n/aCatalyst · n/aCustom headless · readyBC Admin · partial
Expected: Rules saved and enforced. Audit tool shows which products are eligible / ineligible and why. Widget hides on ineligible products with no shopper-visible error.
storefront-widget-config
US-8.4 · US-8.5Merchant configures storefront widget appearance
Widget colors, CSS variables, copy A/B variants, and which BC theme regions to render in.
Prototype · readyStencil · partialCatalyst · partialCustom headless · readyBC Admin · ready
Expected: Widget renders with merchant-chosen colors / copy variants. CSS variables make it themable without code changes.