[New Feature] In-app purchase subscriptions are here (beta)

Hi everyone,

I’m Nick, a product manager at Bubble, and very excited to announce that subscription-based in-app purchases are now available in beta for all Bubble mobile apps!

This has been one of our most requested features since mobile launched, and for good reason. Until now, it wasn’t possible to monetize subscriptions for mobile apps, but now you can do it natively in Bubble.

What this update changes for mobile subscriptions

Bubble’s in-app purchases let you connect directly to the Apple App Store and Google Play Store billing systems to sell subscription access through your mobile app, using the same workflows and data you’re already familiar with.

Bubble guides you through connecting to Apple and Google’s systems, creating your subscription plans, and building the purchase flows. Once configured, Bubble handles receipt validation, renewals, cancellations, and automatic subscription status tracking.

Who this feature is for

If you’re building (or planning to build) a mobile app with subscription-based access, such as premium features, content memberships, or recurring services, this gives you a guided, native way to handle mobile monetization on Bubble without third-party tools.

What’s included in the beta

This release supports subscriptions only (monthly or annual).

The in-app purchases setup walks you through:

  • Connecting your app to Apple App Store Connect and Google Play Console
  • Creating subscription products in both stores from within Bubble
  • Building purchase workflows using familiar Bubble actions and data sources
  • Testing your subscription flow before going live

When to use in-app purchases vs. web billing

If you’re wondering whether your app needs in-app purchases or can use other payment methods:

  • Use in-app purchases if your mobile app sells subscription access to digital content or features. Apple and Google require in-app purchases for recurring subscriptions sold through mobile apps.
  • Use web billing (like Stripe) if you’re selling physical goods, real-world services, or users are paying outside the mobile app (like through your website).

If you have both web and mobile versions of your app, you’ll need both — web billing for your website and in-app purchases for your mobile app.

What to expect after beta

During the beta period, we’ll be monitoring your feedback and making updates to in-app purchases. When the beta period ends, we plan to implement a 1% fee on subscription revenue above $5,000 per month. This fee applies to the gross amount charged to end users, before Apple or Google take their platform fees.

We don’t have a specific timeline yet, but we want to be transparent about our plans now so you can factor this into your business planning. We’ll share more details as we get closer to that point.

How to get started

  1. Head to the Native mobile settings > in-app purchases tab
  2. Check out the Bubble Manual to get set up or watch the walk-through tutorial below.

This feature involves connecting to external systems (Apple and Google), so the setup has some technical steps but we’ve built guidance into each step to help you through the process.

IAP Arcade

What’s next

Early feedback from beta testers like Mikael Selander with ZAPGRADE has been encouraging:

“We are about to launch ZAPGRADE globally, and Bubble’s IAP solution made the final hurdle feel like a breeze. It’s seamless, powerful, and let us focus on building a great product instead of wrestling with payment code. Love it!”

We’re continuing to gather feedback to refine the experience before the beta period ends, and we’re excited to see what you build with in-app purchases. If you run into issues or have suggestions, please share them in this thread.

— Nick and the Mobile team

23 Likes

Let’s go!

1 Like

:fire: been sitting on a few builds waiting for this to go live, time to get crackin

Hey @nick.carroll @fede.bubble, a data type called Subscription Purchase just started appearing in all my apps after refreshing my editor (as reported here).

Can you confirm if it’s related to this new IAP feature for mobile apps and whether or not it’s supposed to be there?

:clap: :clap: :clap:

This is now resolved. :+1:

Hey,

I’m trying to set up in-app purchases as per your tutorial, but the very last step doesn’t work. I’ve added a subscription in Apple store (“norm”) with a single product (“norm” for both reference name and product ID), as well as in Google (also, “norm” for everything). Then I’ve added a subscription group, tier and billing variant in Bubble, also with the same name. But:

  1. I don’t see anything for Apple (when adding a new billing variant, “select a subscription” under Apple is grayed out). The “Apple Group” under the subscription group’s title is also empty.
  2. I do see options for Google, but despite selecting them the billing variant keeps saying “GOOGLE MISSING”.
  3. I’ve tried fetching new data repeatedly, it doesn’t change a thing.

Please see pictures attached. Am I doing something wrong?

Apple Subscription:

Google Subscription:

Bubble Integration:

(As an aside: following your tutorial step-by-step failed to enable the pub/sub API in Google Cloud even after granting pub/sub admin permissions to the service; apparently, you need to enable the API manually, and then it works. Just putting it here in case other people run into a similar problem.)

Update:

After creating another subscription group, I managed to select the Apple subscription, but not the Google one. It seems to “belong” to the first subscription, but the problem is that I can neither edit nor delete them:

What should I do? Thanks!

When you created the first subscription group, did you have the option to link an Apple Subscription Group from the dropdown like you did in the second Subscription Group?

Since you finalized the billing variants, they are locked and cannot be edited. Apple and Google have similar behavior for when products are created or activated. Since you haven’t deployed yet, I’ll see what our options are for undoing this so you can clean up your subscription model.

No, initially it was grayed out. I think it might’ve not fetched the data yet, and in my attempts to make it work I’d already finalized it, which seems to have prevented me making future edits to the subscription. It might be good to add some sort of confirmation when finalizing (via the … in the subscription’s menu) that asks whether you’re sure, and tells you you won’t be able to make changes to it if you do, so make sure to link your Apple/Google subscriptions first.

For other people who run into a similar problem: I ended up creating new subscription objects in both Apple and Google, and managed to create a third subscription, fetch data, and this time link both of them before finalizing, and it seems to have worked.