/bubble-tutorials

How to set up subscription plans in Bubble

Learn how to set up subscription plans in Bubble with a simple step-by-step guide that helps you launch recurring payments quickly and efficiently

Matt Graham, CEO of Rapid Developers

Book a call with an Expert

Starting a new venture? Need to upgrade your web or mobile app? RapidDev builds Bubble apps with your growth in mind.

Book a Free Consultation

How to set up subscription plans in Bubble

To set up subscription plans in Bubble, you typically use Stripe because Bubble already has a built‑in Stripe plugin that supports recurring subscriptions. The core idea is: create your subscription products and prices inside Stripe, connect your Bubble app to Stripe, let the user check out using Stripe Checkout, then store the returned subscription status in your Bubble database so your app knows whether the user is active or not.

 

What You Need to Do

 

You create the subscription plans inside Stripe (not Bubble), connect the Stripe plugin, trigger a Stripe Checkout Session for subscriptions, then store the user’s subscription data when Stripe redirects back to your app. Bubble never “processes” the subscription itself — Stripe handles billing, renewals, cancellations, and webhooks; Bubble just reads the status.

  • Create Products & Prices in Stripe Dashboard (each price can be monthly, yearly, etc.).
  • Enable Stripe in Bubble using Bubble’s Stripe plugin. Add your Stripe Secret Key (backend) and Publishable Key (frontend).
  • Trigger a Checkout Session using the workflow action “Stripe → Start a Subscription Checkout Session”.
  • Use the Success URL to update your User in Bubble after Stripe confirms payment.
  • Use a Stripe Webhook to keep subscription status synced (e.g., canceled, past\_due).
  • Gate features using a field like “User’s subscription status = active”.

 

Simple Workflow

 

  • User clicks “Subscribe”.
  • You run Start a Subscription Checkout Session with the Stripe Price ID.
  • Stripe Checkout opens; user pays.
  • Stripe redirects user to your Success URL.
  • On that page, run a workflow: “Retrieve Stripe Checkout Session” → save subscription ID and status into User.

 

Example Webhook Handler (Bubble Backend Workflow)

 

{
  "type": "customer.subscription.updated",
  "data": {
    "object": {
      "id": "sub_123",
      "status": "active"
    }
  }
}
// In Bubble backend workflow: use event → "When API workflow receives a request"
// Extract sub ID and status → Make changes to User → update subscription fields

 

Important Fields to Store

 

  • subscription\_id (text)
  • stripe_customer_id (text)
  • subscription\_status (active, canceled, trialing)
  • current_period_end (date)

 

Once stored, you can easily restrict features using Bubble conditions like “When Current User’s subscription\_status is active → allow access”.

Explore More Valuable No-Code Resources

How to integrate Bubble.io with Git?

Learn how to seamlessly integrate Bubble.io with Git through our comprehensive step-by-step guide. Perfect for beginners and professionals.

Explore

How to integrate Bubble.io with Reddit Ads?

Learn how to seamlessly integrate Bubble.io with Reddit Ads using our easy step-by-step guide. Boost your ad management today!

Explore

How to integrate Bubble.io with AWS S3?

Explore our step-by-step guide on integrating Bubble.io with AWS S3, making your app development process more efficient and secure.

Explore

How to integrate Bubble.io with Lucidchart?

Follow our step-by-step guide to seamlessly integrate Bubble.io with Lucidchart, enhancing your workflow & productivity.

Explore

How to integrate Bubble.io with Kentico?

Learn how to seamlessly integrate Bubble.io and Kentico with our comprehensive, easy to follow step-by-step guide.

Explore

How to integrate Bubble.io with Box?

Discover easy-to-follow steps for integrating Bubble.io with Box. Boost your workflow and secure your files seamlessly today.

Explore

Stuck in Bubble.io? We’re here to help!

Fix broken workflows | Optimize logic | Boost performance | Scale with confidence

4.9
Clutch rating 🌟
600+
Happy partners
17+
Countries served
190+
Team members

By clicking “Accept”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.

Cookie preferences