Configuration
Configure billing for your mobile application.
Mobile billing configuration consists of a few key components that must be set up correctly to work across platforms.
If you're new to in-app purchases, the most important thing to understand is that the native stores are the source of product truth (what can be bought, for how much, and where it's available). Your billing provider (and your app) can only display and sell what you've correctly configured in either App Store Connect for iOS or Google Play Console for Android.
As a rule of thumb, set things up in this order:
- Store: fulfill agreements, create products in the native stores and make sure they're available for testing
- Offerings: group those products into the options your app will show (monthly/yearly, tiers, etc.)
- Paywall: present offerings in-app and trigger purchases/restores
Note that all of these components are closely tied together and need to be configured correctly in order to make the billing flow work smoothly. The following sections will guide you through the configuration of each component.
Store
Store configuration is the foundation: every in-app purchase ultimately goes through the native store (App Store on iOS, Google Play on Android). Complete this first—otherwise your paywall won't be able to display the correct products and prices.
Create and configure your products in App Store Connect:
Create and configure your products in the Google Play Console:
Offerings
Offerings are what your app presents to the user. They typically map store products into a set of purchasable options (for example: monthly vs. yearly), plus the “what do I unlock?” logic.
Make sure you:
- Define entitlements (the features a user gets after purchase)
- Map each entitlement to one or more products/pricing options
- Keep identifiers consistent across environments (dev/staging/prod), if applicable
Paywall
The paywall is the UI users interact with to purchase an offering. Depending on your provider, this might be:
- A provider-managed paywall (configured remotely)
- A custom in-app screen that renders your offerings and triggers purchase actions
Whichever approach you choose, verify that:
- The paywall displays the correct offerings and prices for the current platform
- Successful purchases unlock the intended entitlements
- Restore purchases works correctly (especially important on iOS)
How is this guide?
Last updated on