The Google Play Billing Library is the official Android API that lets apps sell digital products and subscriptions through Google Play’s billing system. It manages the connection to Google Play, the purchase flow, and the lifecycle of one-time products and subscriptions, and it is the required way to process in-app purchases in apps distributed on the Play Store.

How the Google Play Billing Library works
The library exposes a central object called BillingClient, which your app uses to communicate with Google Play. A typical purchase follows the same sequence:
- Initialize a
BillingClientinstance and connect it to Google Play. - Query the products you configured in Google Play Console using
queryProductDetailsAsync. - Launch the purchase flow with
launchBillingFlow, which displays Google’s native payment sheet. - Receive the outcome through a
PurchasesUpdatedListener. - Acknowledge the purchase, or consume it for consumable products, so Google registers it as delivered.
- Verify the purchase on your server before granting access to the content.
Acknowledgment is not optional: if a purchase is not acknowledged within three days, Google automatically refunds it and the user loses access to what they bought.
What you can sell with it
The Google Play Billing Library supports two product types. One-time products can be consumable, meaning they can be bought repeatedly such as in-game currency, or non-consumable, meaning they are purchased once such as a permanent feature unlock. Subscriptions, the second type, renew automatically until the user cancels.
Library versions and the deprecation timeline
Google ships a new major version of the Billing Library roughly once a year and retires older ones on a fixed schedule. The current major version is 9, released in May 2026. Google enforces a minimum supported version for publishing: once a version is deprecated, your live app keeps working, but you cannot ship new updates until you migrate.
| Version | Status |
|---|---|
| 9.x | Latest version, released May 2026 |
| 8.x | Minimum version required to publish updates from September 2026 |
| 7.x | Deprecated; not accepted for new updates after August 31, 2026 |
| 6.x and earlier | No longer accepted for new releases or updates |
The August 31, 2026 cutoff is a publishing gate rather than a runtime switch: apps already on the Play Store continue to transact, but any new update must target version 8 or later. There is no direct jump from version 7 to version 9, so teams complete the version 8 migration first. Developers who need more time can request a short extension through the Play Console. The official details are documented in Google’s Play Billing documentation.
How to integrate the Google Play Billing Library
Integrating the library means defining your products in Google Play Console, wiring up the BillingClient lifecycle, and handling verification along with edge cases such as pending, restored, and deferred purchases. For step-by-step walkthroughs, see the guides on in-app purchases with the Google Play Billing Library and Android in-app subscriptions.
Google Play Billing Library vs StoreKit
The Google Play Billing Library is the Android counterpart to Apple’s StoreKit, which fills the same role on iOS, as covered in the iOS in-app purchase tutorial. Cross-platform apps usually wrap both: a plugin sits on top of the Billing Library on Android and StoreKit on iOS, which is how purchases are handled in Flutter and React Native apps.