The requirement
Google's billing documentation and the Play Console warnings say that from 31 August 2026, new apps and app updates must use Play Billing Library version 8 or later. Apps that need more time can request an extension until 1 November 2026 from the Policy status page in Play Console.
Treat the extension as a delay, not a fix. The upgrade is still required, and the extension date is close.
Who is affected
- Apps with in-app purchases or subscriptions.
- Apps that include the billing library through a third-party SDK, even if you never sell anything yourself. Some ad, analytics and paywall SDKs bring it in.
If your app sells nothing, check its dependency list. If the billing library is only there by accident, removing that dependency can end the warning without any billing work.
How to check your version
- Open the app module's
build.gradleand search forcom.android.billingclient:billing. The number after the last colon is your version. - If it is not there, run
./gradlew app:dependenciesand search the output forbilling. This shows a billing library that arrives through another SDK. - Check the warning in Play Console under Policy status. It names the affected app and the date that applies to it.
What changes in the code
Version 8 removes several older calls. Google's migration guide lists them with their replacements. The ones we see most in older apps:
| Old call (removed) | What replaces it |
|---|---|
querySkuDetailsAsync | queryProductDetailsAsync |
queryPurchaseHistoryAsync | Your own purchase records, or a server check |
enablePendingPurchases() without parameters | enablePendingPurchases(...) with pending purchase parameters |
setOldSkuPurchaseToken, setReplaceProrationMode | setOldPurchaseToken, setSubscriptionReplacementMode |
What this means in plain words:
- Old apps that still use "SKU" calls need their product loading rewritten. This is the most common job.
- "Restore purchases" and free-trial checks that read purchase history from the device have to be redesigned, usually with your own records or a small server check.
- Subscription upgrades and downgrades use new method names.
Test with real purchases
Billing code compiles easily and fails quietly. A build that succeeds tells you nothing about whether people can pay. Before release we check, with licence testers on a real device:
- a one-time purchase, including a slow or pending payment method;
- restore after reinstalling the app;
- subscription start, renewal, upgrade and cancellation, if the app has subscriptions;
- a refund, so that access is removed when it should be.
Also update every release track. An old bundle left on a closed or internal testing track can keep the warning active.
What we do
Checking your billing library version is part of the free check on every job. If the billing code needs rewriting, that part is quoted separately, before work starts, together with the rest of the update. Billing work usually goes together with the target API level update, so both are done in one pass.
Frequently asked questions
My app has no in-app purchases. Does this apply?
Only if the billing library is included, for example through an SDK. Check your dependencies and remove it if it is not needed.
Can I just ask for an extension?
You can request one from Policy status in Play Console, but it only delays the deadline. The upgrade is still required.
Is billing a separate cost?
Checking the version is free. If the code needs rewriting, that part is quoted separately before any work begins.
Keep reading
Not sure which billing version you use?
BrightRevamp updates older native Android apps (Java and Kotlin) to Google Play's current rules. Same app, same design, same features.
Email us about your appSources
- Google Play Billing Library version deprecation (Android Developers)
- Migrate to Google Play Billing Library 8 (Android Developers)
- Check your app's policy status (Play Console Help)
Checked against the official documentation on 8 Oct 2026. Google's billing page lists dates per library version, so always confirm the date shown in your own Play Console warning.