Managing your subscription

How checkout and the customer portal work from the Billing page.

Subscription management happens in two places from the billing page: the buttons on the plan cards (which start a Stripe checkout) and the Manage subscription button (which opens Stripe's customer portal).

Plan-card buttons

Each plan card renders a button whose label depends on state:

  • If it's your current plan: a disabled-looking pill labeled Current plan (no action).
  • With an existing subscription, clicking a non-current card:
    • Free → Downgrade
    • Any paid plan → Switch to [plan name]
  • Without a subscription:
    • Free → Stay on Free
    • Any paid plan → Subscribe to [plan name]

Clicking a paid-plan button starts a Stripe-hosted checkout in a new window. Card is required and billing starts immediately. The Free card uses an outline button; paid plans use a solid button.

What happens at checkout

When you click to upgrade, the app:

  1. Creates a Stripe checkout session for the plan you chose.
  2. Redirects you to Stripe's hosted checkout page to enter payment details.
  3. Sends you back to /app/billing once you're done.

If something goes wrong creating the session, a flash message appears — "Could not create checkout session." — and you stay on the billing page.

Manage subscription button

Top-right of /app/billing. This button only appears once you have a subscription. Clicking it opens Stripe's customer portal in a new window, where you can:

  • Update your payment method
  • Download past invoices
  • Change plan
  • Cancel

If the portal can't open, a flash message appears: "Could not open billing portal."

Current-plan strip

Above the plan grid:

  • Without a subscription — neutral strip with "You're on Free. Upgrade anytime for more chatbots, messages, and AI tools."
  • With a subscription:
    • "Current plan: [plan name]" (the name is highlighted)
    • "Renews [month] [day], [year]" if there's a paid renewal date (Free never renews — the line is hidden on Free)

Free plan copy

ChatbotGen does not offer a paid-plan trial. New accounts start on the Free plan indefinitely — 1 chatbot, 50 messages/month, WhatsApp + web widget + Telegram. No credit card required.

The top of the page displays (verbatim):

Start on Free — upgrade when you're ready. Cancel anytime, no questions asked.

And in the trust row further down:

Free plan, no card — 1 chatbot, 50 messages/month, all three channels. Stay free as long as you want.

Plan card CTAs reflect this model:

  • On the Free card, with no subscription: Stay on Free
  • On a paid card, with no subscription: Subscribe to [plan name] — card required, billing starts immediately
  • On any card, with a subscription: Switch to [plan name] or Downgrade

What this page doesn't do

  • There's no in-dashboard cancel button — use Manage subscription and cancel from Stripe's customer portal.
  • You can't change your payment method in-app — same portal flow.
  • Invoices and receipts live in Stripe — download them from the portal.