Google Play · RevenueCat BILLING_ISSUE

Recover Play subscribers stuck on a failed payment

A large share of Play “cancels” are not people walking away — they are cards that failed. FixMySub listens for RevenueCat’s BILLING_ISSUE event and nudges the subscriber (push and/or email) to fix the payment method. We sit on top of Play’s own grace period and in-app messages, not instead of them.

Illustration of a cracked payment card looping back to a phone with a successful recovery checkmark.

Play leaks more than the App Store

Same report, same source. Do not treat these as FixMySub’s numbers — they are RevenueCat’s.

Google Play involuntary share of cancellations32.3%
App Store involuntary share of cancellations15.2%

RevenueCat’s phrasing: “The primary platform difference is not unsubscribe behavior — it’s billing reliability.”

Two layers. Don’t skip the Play Console.

Layer 1 · Google / RevenueCat SDK

  • Grace period and account hold in Play Console (RevenueCat documents a 60-day recovery window).
  • Play In-App Messaging — RevenueCat SDK v7 shows it automatically.
  • That catches users who open the app during grace / hold.

Layer 2 · FixMySub

  • Same BILLING_ISSUE webhook RevenueCat already fires to Braze / OneSignal / etc.
  • Push + email for users who have not opened the app.
  • No extra CDP. Your FCM, our SendGrid, join key = RC app_user_id.

The RC article is explicit: platform tools are a floor. Push and email are the complementary channel for people who never launch the app after the decline. Read their dunning section →

What FixMySub actually sends

RevenueCat recommends a Day 0 / 1–3 / 7 / 14 cadence. We ship a smaller default: immediate message, then a 12-hour follow-up push if still unresolved. We do not claim Google’s 2× in-app or 40% Truecaller recovery rates as our own.

Hour 0

BILLING_ISSUE received

Push and/or email: payment failed, update the method.

+12 hours

Still not renewed

Follow-up push. Workflow stops on RENEWAL.

If they pay

Marked recovered

No more recovery messages for that incident.

FAQ

Is this instead of Google Play grace period and in-app messages?

No. Configure grace period, account hold, and Play In-App Messaging first (RevenueCat SDK v7 shows the Play snackbar automatically). FixMySub is the out-of-app nudge when BILLING_ISSUE fires and the user is not in the app.

Where does the 31% / 32.3% figure come from?

RevenueCat’s 2026 State of Subscription Apps, as reported in their post “Google Play’s billion-dollar billing leak.” They publish 32.3% of Play cancellations as involuntary billing errors (15.2% on the App Store). FixMySub did not invent this number.

What event do you listen to?

RevenueCat BILLING_ISSUE (and BILLING_ISSUE_DETECTED). That is the same event RC sends to other messaging tools. We match it to the user you registered via app_user_id.

Do you guarantee a recovery rate?

No. Google and RevenueCat publish platform and case-study rates (grace period, in-app messages, Truecaller). Those are not FixMySub’s results. We send the message; the store still owns the charge retry.

Catch the next Play billing failure.

First recovery free. Webhook only — no SDK.

Get started for free