Docs/Billing

Paywall & checkout

What happens between the preview chat and the dashboard.

Flow after setup

After you finish the setup wizard: 1. Training screen (~3-second progress animation) 2. Preview chat — test the bot 3. Signup wall — sign up if you don't have an account (email/password or Google) 4. Email verification (if email/password, 6-digit code) 5. Paywall — pick a plan + 3-day trial CTA 6. Stripe Checkout — card 7. /dashboard/welcome — welcome screen, then dashboard

Why a paywall?

The paywall sits between signup and dashboard because the dashboard is the only place to activate real channels (Instagram, Calendar). Without active channels the bot doesn't run. So we ask for payment before letting you into the dashboard.

Stripe Checkout

We go to Stripe Checkout (Stripe-hosted page). Fields: email (auto-filled), card, billing address. The session is created via `/api/checkout` with metadata for userId, receptionistId, plan, billingCycle and a trial flag. Stripe validates the card. On success — redirect to `/dashboard/welcome?rid={receptionistId}`. On cancellation — `/dashboard?checkout=cancelled&rid={receptionistId}`.
Paywall with plan options

Payment failure

If the card is declined: Stripe shows the reason (insufficient funds, expired, fraud check, 3DS rejection). On 3DS — Stripe sends you back for extra confirmation. If nothing works — email <a href="mailto:ai@raiceptionist.com">ai@raiceptionist.com</a>.
Paywall & checkout · rAIceptionist Docs