How Stripe handles membership billing
Rex uses Stripe to power membership billing. When you create a membership plan, Rex creates corresponding products and prices in Stripe. Guests subscribe through a Stripe Checkout session, and Stripe handles recurring charges automatically.
Connecting Stripe for memberships
Membership billing uses a separate Stripe connection at the account level β not the per-venue connection used for reservation payments.
Navigate to: Memberships > Settings
Click Connect with Stripe to start the OAuth flow. Once connected, a Stripe Account ID is stored for your account. All membership products and subscriptions are created under this account.
Creating a membership plan
When you create a membership plan in Rex:
1. Rex creates a Stripe Product with the plan name and description.
2. For each pricing interval you configure (monthly, quarterly, biannual, annual), Rex creates a Stripe Price attached to that product.
3. If you set a one-time rate instead of recurring billing, Rex creates a one-time Stripe Price.
4. If you add a setup fee, Rex creates a separate Stripe Product and Price for the fee.
All Stripe objects are created under your connected account using the account's currency.
Guest subscription flow
When a guest subscribes to a membership:
1. Rex creates a Stripe Checkout Session in `subscription` mode (or `payment` mode for one-time plans).
2. The guest is redirected to Stripe's hosted checkout page to enter payment details.
3. After successful payment, Stripe redirects the guest back to Rex's confirmation endpoint.
4. Rex records the subscription and links it to the guest's account.
For recurring plans, Stripe automatically charges the guest at each billing interval. No action is needed from the venue.
Trial periods
If a plan includes a trial period, Rex passes the trial days to Stripe when creating the Checkout Session. The guest is not charged until the trial ends.
Setup fees
Setup fees are added as a separate line item in the Checkout Session. The guest pays the setup fee along with the first billing cycle charge (or during the trial sign-up if applicable).
Taxes on memberships
If you assign taxes to a membership plan, Rex calculates the tax amount and adds it as a recurring line item in the Stripe Checkout Session. The tax recurs at the same interval as the subscription.
Application fees on memberships
If a membership fee percentage is configured, Rex applies it as an application fee on each subscription payment. For recurring plans, this is set as `application_fee_percent`. For one-time plans, it is calculated as a flat amount based on the total.
Subscription management
### Viewing subscription status
Rex periodically syncs subscription status with Stripe. For each active subscription:
### Cancelling a subscription
When a subscription is cancelled, Rex sets `cancel_at_period_end: true` in Stripe. The guest retains access until the end of the current billing period.
### Changing plans
Rex supports updating a subscription to a different price. Stripe handles proration automatically β the guest is credited for unused time on the old plan and charged the new rate.
### Billing portal
Guests can access Stripe's hosted billing portal to:
Rex generates a portal session URL and redirects the guest.
Deleting a membership plan
When you delete a membership plan, Rex removes all associated subscriptions, discount relations, and package relations from the database. The Stripe product is also deleted from your connected account.
Updated May 14, 2026
Was this helpful?