No charge
Checkout closed before completion. Nothing changed.
No charge completed
Checkout was closed before completion. Nothing has been charged or changed.
Billing flow states
Checkout closed before completion. Nothing changed.
You can read terms, compare plan details, or ask support before trying again.
Use the upgrade page when you are ready to restart checkout.
Actual payment architecture
The website return pages are informational and recovery-oriented. The extension remains responsible for starting checkout, polling status, and syncing the local tier.
Extension calls `create-checkout` with price and plan ID. Stripe receives the customer and subscription request.
Stripe returns to `/prolifica/checkout-success?session_id={CHECKOUT_SESSION_ID}` or `/prolifica/checkout-cancel`.
Supabase Stripe Sync Engine mirrors Stripe subscription data into the database.
Prolifica polls `get_my_subscription_status()` and syncs the local tier through licenseManager.
Return URL note
Checkout success should include `session_id`; cancel is a neutral recovery page with no charge completed.
No checkout was completed from this return state. You can continue using the beta flow or contact support before trying again.