GoogleChrome / GoogleChrome/android-browser-helper

getDigitalGoodsService consistently returns null / unsupported despite correct configuration (TWA, PBL 7.1.1)

Open
#606 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.