Articles on: Native: Building

Understanding In-app Purchases

While the below content talks about Apple's In-app purchases, pretty much everything applies in the same manner to Google's In-app billing for Android


What are In-app purchases


When you want to sell something to your native app users, you have to use one of the two payment platforms :


This screenshot shows an example of In app purchase (pay via FaceID)




You are probably already familiar with Stripe, since it is the most popular way of processing payments on bubble apps. You can broadly think of In-app purchases as Apple's own version of stripe, but much more restrictive and limited. Further, Apple and Google take a commission on every sale, which is much higher than Stripe's card fees. Check their current rates before you set your prices.


In addition, you can't set dynamic prices, create dynamic products, cancel subscriptions at any time, generate payment analytics and dashboard etc. using In-app purchases. These interfaces are all limited to what Apple provides on its Appstore connect portal (i.e. Apple developer portal).



Why would anyone use In-app purchases


Because Apple requires you to use in-app purchases for certain types of services / content sold.
In a nutshell, when you want to sell something in your native app you have to figure out if you can use 3rd party platforms or In app purchases. This depends on what & how you're selling.


The general rule here is if you are selling goods or services “outside of the app” you must use a payment service other than IAP (such as Stripe). If all that you are selling to the user is provided within the app/device itself (aka “digital goods”) then you must use IAP. Which side your product falls on is Apple's and Google's call, not ours.


At this point, you should go through this article that explains the comparison pretty well: iOS Renewable Subscriptions Overview: Stripe vs. In App Purchases


Also see Apple's Guidelines here (Section #3)



Can you explain this with some examples


  1. Amazon - Sells physical goods outside the app. Hence their app implements their own payment systems.
  2. Uber - Sells physical service outside the app. Hence their app implements their own payment systems.
  3. Headspace - Sells mindfulness content inside the app. Hence their iOS app has to use In app purchases


Apple and Google also have strict rules about sending users from inside the app to your website to pay. Read their current guidelines before you add a 'subscribe on our website' button or link to your app.



Where do I create my In app products


You create and manage your In app products in your Appstore connect account for iOS and Play store console for Android.
These cannot be created / modified by your bubble app or native app. They are hosted by Apple & Google on their servers.


Any purchasable digital item through in-app purchases is called a product.


App Store offers four different kind of products:

  • Consumable: These are products which can be bought again and again after users have consumed them
  • Non-consumable: These are products bought just once. In subsequent app installations users do not pay again to acquire them; instead these products are restored from the App Store
  • Auto-renewable subscriptions: Users can buy content or features for a certain period of time. Upon expiration, subscription is renewed automatically. Users have always the option to cancel
  • Non-renewing subscriptions: Similar as above, but the subscription does not renew automatically. The content of the in-app purchase also differs


Play store offers two different kind of products with ability to consume them, thereby making it similar to the 4 kinds for App store mentioned above:

  • Managed products
  • Managed subscriptions



How do I get my payments


Your payments are handled by Apple & Google as well. In essence, the customer is buying your product from their store.
They transfer the balance amount after taking their cut to your bank account details.
These details, signing of agreements etc. have to be done by your in your Appstore connect account for iOS and Play store console for Android.



What role does my bubble app & native app play in the process then, for In app purchases


Though the product creation, management, pricing, payments are all handled by you via your Apple and Google account consoles, you still need to trigger the In-app purchases when a user decides to purchase your product. BDK Native engine handles all the code part of it.


All you need to do is trigger the in-app purchase from your bubble app. Then the native engine and Apple / Google servers take care of the rest. Once the transaction is successful / failed, the transaction information is sent back to your bubble app for your use.


Your bubble app still decides what each purchase unlocks (e.g. marking the user as subscribed). We don't create, price or tax your products. You do that in Appstore connect and Play store console.



At this point, you should refer to the In-app Purchases (iOS) and In-app Purchases (Android) sections in the Native Apps (bdk) plugin documentation



Can I test In-app purchases in preview


Yes & No.


You can test the In-app purchase flow in preview, using our own sample products

  • These are products listed on our own app listing, so you can try the flow before your own store setup is done


You cannot test In-app purchases for your own products in preview

  • This is because only products listed on the account which owns the app are granted access by Apple & Google
  • When you purchase our service to get your app built, you will be able to test your products on your app



Do the same rules apply to Android


Pretty much. Digital goods used inside the app generally go through Google Play's billing, and physical goods and real-world services generally don't. But the fine print differs from Apple's.
So there are cases where you may be forced to use In app purchases on iOS but not on Android.
We recommend looking at Android's In-app billing guidelines and deciding for yourself.


Got a message from Google about your Play Billing Library version? Here's what to do.


Is Apple Pay the same as In app purchases


No. Apple pay is not related to In app purchases (or Stripe purchases) discussed above.


Apple pay is simply a replacement for users having to enter find / remember their credit card details and then enter it. Similar to how face ID and touch ID have removed the need to remember passcode lock for iPhones, Apple pay aims to remove the need to have credit card details handy. It is a feature Independent of Stripe or In app purchases.



Can Stripe be used in place of In app purchases
Am I limited to using Apple's In-App purchase for charging for in-app consumables?
Can Stripe be used in place of Google IAB for multi-platform apps?

Updated on: 11/04/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!