Hey everyone,
I’ve been working on an Android app using Next.js 13 (with SSR), wrapped in a Capacitor container. I integrated RevenueCat (@revenuecat/purchases-capacitor
) to handle subscriptions. The native logs show that the plugin registers successfully and I can fetch product offerings just fine—RevenueCat pulls the subscription details from Google Play (e.g., monthly, annual). However, whenever I tap my “purchase” button, the actual Google Play purchase dialog never shows up.
Here’s what I do see in the logs:
-
Capacitor is recognized as running on Android.
-
RevenueCat logs: “Retrieved productDetailsList…” for my monthly/annual SKUs.
-
CustomerInfo gets fetched repeatedly from the cache (no active subscription found).
-
No sign of
purchasePackage(...)
or the “Launching billing flow” logs from BillingClient.
I also tried:
-
Uploading a signed release AAB to the Play Console in an Internal Test track and installing the app from the Play Store with my tester account.
-
Opt-in link is opened; I’m 100% logged in with the correct test account.
-
BillingClient initialization works—RevenueCat sees the offerings.
-
Adding debug logs in my code. But no matter what, I never see a purchase attempt.
I suspect the actual call to purchaseSubscription('monthly')
isn’t being triggered, or the BillingClient flow is silently canceled. But from all my checks, it looks like the code should be hit when tapping the button.
Has anyone run into this sort of behavior? Am I missing something about how Capacitor bridges the purchase call to the native BillingClient, or how the UI is supposed to invoke it? Any suggestions or debugging tips would be really appreciated!
Or any work-arounds?
I also created new customers in Sandbox mode, but I could not get the subscription to work.
Thanks in advance!