Rex

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?