Skip to main content
Solved

How to know the difference between the Google Store account I subscribed to and the current Google Store account?

  • November 28, 2022
  • 3 replies
  • 122 views

Forum|alt.badge.img+3
  • User John
  • Custom App ID: 8EFA
  • Android Device A
  • Android Device B
  • Goole Play Account: John
  • Goole Play Account: Tom

Scenario:

  1. John logs in RevenueCat device A(John account) with custom ID(8EFA) and purchases Subscription $5 monthly Item.
  2. John logs in RevenueCat with the same custom ID(8EFA) device B(Tom account).
  3. Click the $10 monthly subscription Item.

Expected Result: Pop up Message “The current Google Play Store account does not match the account you paid for” and link the managementURL deepLink

Actual Result: Purchase process again.

 

What I have done:

I read this question. 

and Idea with Google Play Developer API

  1. Save play store account ID after purchase(using billingFlowParam?? or receipt)
  2. When subscription event fire,  check current play store account and saved store account

Here is the question

  1. How to know current Google Play account
  2. Is it accurate above idea? or I would love to better idea

Best answer by sharif

But. the question still remain. Block the paywall if user has any existing purchases. then How user upgrade or downgrade subscription?

 

I didn’t consider this scenario, in that case yes hiding the paywall may result in some confusion on the user’s side.

If John tries to upgrade on Tom’s Google Play account, Tom’s subscription will be upgraded. This can be confusing for the user, but this makes sense because John must log in to the Play Store with his own Google account in order to upgrade his own subscription. As long as John doesn’t restore purchases (meaning you do not call restorePurchases or syncPurchases in your app) then the only thing John can do while logged in to Tom’s device is update Tom’s subscription.

It may make sense for you to block restores in RevenueCat: https://www.revenuecat.com/docs/restoring-purchases#restore-behavior. This will ensure that John can’t restore or take Tom’s purchases. But it shouldn’t be used if you allow users to purchase without logging in to your app.

View original
Did this post help you find an answer to your question?

sharif
RevenueCat Staff
Forum|alt.badge.img+9
  • RevenueCat Staff
  • November 30, 2022
  1. How to know current Google Play account

 

I’m not sure but I don’t think Google lets you do this and I don’t think RevenueCat will work well with any workarounds that use Google’s Billing Client directly.

 

  1. Is it accurate above idea? or I would love to better idea

 

The closest solution would be to first check RevenueCat to see if 8EFA has any existing purchases, and if so don’t let them make another purchase (for example, don’t show them the paywall.) The management URL will always point to the Google account of the current device, there’s no way around this (because the Google account is used to log in to the Play Store and the management URL sends the user to the Play Store.)


Forum|alt.badge.img+3
  • New Member
  • December 1, 2022
sharif wrote:
  1. How to know current Google Play account

 

I’m not sure but I don’t think Google lets you do this and I don’t think RevenueCat will work well with any workarounds that use Google’s Billing Client directly.

 

  1. Is it accurate above idea? or I would love to better idea

 

The closest solution would be to first check RevenueCat to see if 8EFA has any existing purchases, and if so don’t let them make another purchase (for example, don’t show them the paywall.) The management URL will always point to the Google account of the current device, there’s no way around this (because the Google account is used to log in to the Play Store and the management URL sends the user to the Play Store.)

 

Thank your for your reply.

But. the question still remain. Block the paywall if user has any existing purchases. then How user upgrade or downgrade subscription?


sharif
RevenueCat Staff
Forum|alt.badge.img+9
  • RevenueCat Staff
  • December 3, 2022

But. the question still remain. Block the paywall if user has any existing purchases. then How user upgrade or downgrade subscription?

 

I didn’t consider this scenario, in that case yes hiding the paywall may result in some confusion on the user’s side.

If John tries to upgrade on Tom’s Google Play account, Tom’s subscription will be upgraded. This can be confusing for the user, but this makes sense because John must log in to the Play Store with his own Google account in order to upgrade his own subscription. As long as John doesn’t restore purchases (meaning you do not call restorePurchases or syncPurchases in your app) then the only thing John can do while logged in to Tom’s device is update Tom’s subscription.

It may make sense for you to block restores in RevenueCat: https://www.revenuecat.com/docs/restoring-purchases#restore-behavior. This will ensure that John can’t restore or take Tom’s purchases. But it shouldn’t be used if you allow users to purchase without logging in to your app.


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings