GoogleChrome / GoogleChrome/android-browser-helper
getDigitalGoodsService consistently returns null / unsupported despite correct configuration (TWA, PBL 7.1.1)
- Dominant language
- Java
- Stars
- 832
- Forks
- 370
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 6
Description
**Environment**
- App: PadelScore (com.remlinpl.padelscore), published on Play Console Closed Testing
- Device tested: Samsung Galaxy S21 5G, Chrome 150.0.7874.183 (default browser)
- androidbrowserhelper: 2.7.1 (billing: 1.1.0, PBL 7.1.1)
- targetSdkVersion: 36, compileSdkVersion: 36
**Issue**
`window.getDigitalGoodsService("https://play.google.com/billing")` consistently
returns null (or the calling code treats it as unsupported) in a TWA installed
from a Google Play Closed Testing track. Purchase flow shows our fallback
"purchases only available in Play-installed version" message; restore-purchase
flow silently falls back to cached (false) entitlement.
**What I've verified is correct**
- assetlinks.json served correctly and matches Play App Signing certificate
(verified via Digital Asset Links Tester — "Success")
- Android App Links verified on-device (domain shows under Settings > Apps >
[app] > Open by default > Supported links)
- 3 subscription SKUs + 1 one-time SKU active in Play Console, all "Active"
status
- AndroidManifest.xml includes PaymentActivity + PaymentService with correct
org.chromium.default_payment_method_name = https://play.google.com/billing
- com.android.vending.BILLING permission added (was missing initially, added
in a later build — no change in behavior)
- App runs as genuine TWA (no address bar visible, confirmed on-device)
- App published and active on Closed Testing track, installed via the tester
opt-in link (not sideloaded)
- Full clean reinstall performed: uninstalled app, cleared Play Store cache,
rebooted device, reinstalled fresh from tester link — no change
**Request**
Could someone confirm whether there's a known issue with Digital Goods API
availability for apps that are very recently published (first Closed Testing
release) or with a small number of opted-in testers? Or any other diagnostic
steps beyond what's listed above?
Happy to share the AAB, twa-manifest config, or Play Console screenshots if helpful.
Contributor guide
Research direction
Start with the AndroidManifest.xml entries for PaymentActivity and PaymentService, then reproduce the issue in the Play Closed Testing installation using window.getDigitalGoodsService("https://play.google.com/billing"). Compare the TWA and Play Billing configuration with the observed fallback behavior; done means identifying a confirmed cause or documenting the remaining diagnostic evidence needed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android
- Domain
- mobile, payments
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100