Skip to main content

How it works

Use subscriptions when customers pay on a recurring schedule for access, memberships, retainers, plans, or ongoing services. Zite can build the subscription flow, store the current state, and create the dashboards or support tools your team needs. Subscriptions change after checkout. Renewals, failed payments, cancellations, trials, pauses, and plan changes can all happen in Stripe. Use Zite Database to track the current state, and use Stripe webhooks to keep it updated.

Plan the subscription flow

Before you build, decide:
  • Which plans, products, or tiers customers can buy
  • Whether customers get a trial
  • What should happen when payment succeeds
  • What access should change when payment fails
  • Whether customers can change, pause, or cancel a plan
  • Which dashboards support, finance, and leadership need
You can ask Zite:
Create a monthly subscription flow for members. Customers should choose a plan,
pay with Stripe, and get access when the subscription is active. Build an admin
dashboard for active, trialing, past due, canceled, and unpaid subscriptions.

Create a subscriptions table

Ask Zite to create a table with the Stripe subscription state your app needs. Minimum recommended fields include:
FieldWhat to store
stripe_subscription_idThe Stripe subscription ID. Use this as the stable key for updates.
stripe_customer_idThe Stripe customer ID connected to the subscription.
customer_emailThe customer’s email address.
app_user_idThe matching user, member, company, attendee, or account in your Zite app.
statusThe current subscription status, such as active, trialing, past_due, canceled, or unpaid.
price_idThe Stripe price ID for the plan or tier.
current_period_endWhen the current paid or trial period ends.
cancel_at_period_endWhether the subscription is scheduled to cancel at the end of the period.
access_statusWhether the customer should have access in your app.
last_event_idThe most recent Stripe event ID processed for this subscription.
You can ask Zite:
Create a Stripe subscriptions table. Track subscription ID, customer ID,
customer email, app user ID, status, price ID, current period end,
cancel_at_period_end, access status, and last event ID.

Build subscription checkout

1

Connect Stripe

If Stripe is not connected yet, follow How to Integrate with Stripe.
2

Choose the plan experience

Tell Zite whether customers should choose one plan, compare multiple tiers, apply discounts, or start with a trial.
3

Choose embedded or hosted checkout

Ask for Stripe Checkout when you want a Stripe-hosted page. Ask for embedded checkout when payment should happen inside your Zite app.See embedded checkout vs Stripe-hosted checkout.
4

Save the subscription

Ask Zite to save the Stripe customer, subscription, price, status, and period fields to the subscriptions table.
5

Connect access rules

Tell Zite how subscription status controls access.For example:
Give customers access when status is active or trialing. Show a billing
issue banner when status is past_due. Remove access when status is canceled
or unpaid.
6

Test subscription checkout

Because Stripe connects to your live account, create a 100% off coupon code in Stripe and use it at checkout. Then confirm:
  • the customer and subscription appear in Stripe
  • the subscription appears in Zite
  • access rules apply correctly
  • dashboards, emails, and support views update correctly
7

Add webhooks

Add Stripe webhooks so renewals, failed payments, cancellations, and plan changes update the subscriptions table after checkout.

What your team can manage

With subscription data in Zite, your team can build:
  • A billing support dashboard for payment issues and cancellation questions
  • A member portal that shows plan, renewal date, and access status
  • Revenue dashboards for active subscriptions, trials, churn, and failed payments
  • Internal workflows for renewals, upgrades, downgrades, and account reviews
Learn more in Stripe’s subscription webhook guide.
Last modified on June 3, 2026