Skip to main content
Question

Restore purchase not working on Android

  • January 20, 2025
  • 8 replies
  • 161 views

Forum|alt.badge.img

Hi All,

I have built a Flutter app and used the purchases_flutter package. In the official release environment on the Google Play Store, one of my users encountered an error with the following steps:

  1. The user made a purchase before logging in (Purchases.login) with AppUserID = $RCAnonymousID:....
  2. After that, the user logged into the system, and their AppUserID was assigned as their system userId.
  3. The user attempted to restore the purchase (Purchases.restorePurchases), but it did not work. The app could not retrieve the previous purchase information ($RCAnonymousID) and sync it with the current user (userId in the system). The Google Store account used for the purchase is still active and retains the purchase history.

I checked the Google Store console, and the purchase history is recorded there. When checking the Order ID in the RevenueCat console, and the system recorded the payment with AppUserID = $RCAnonymousID, which was created at the time of the initial purchase.

 

For this issue, I would like to ask:

  • What could be the possible causes of this issue?
  • How can it be resolved?

Since this is an urgent matter, I hope the team can review and respond as soon as possible.

Thank you!

8 replies

Forum|alt.badge.img+2
  • New Member
  • 1 reply
  • January 23, 2025

Just posting to say that I have the same /similar issue in my live app (only on Android). Several users have purchased a free trial, yet somehow lose entitlement access and restoring purchase doesnt work, even though the subscription is still active. How can this happen? 

I tried to reproduce the issue locally, but couldn’t.

Could this be related to anonymous user account and transfers not working?

 

Would also appreciate support!


Forum|alt.badge.img+2

Hi I have also problem with restore subscription. Have a user with the following device 

Device Brand:Google

Model: Pixel 8a

Operating System Version:Android 15

Check if the user has active subscription on play store on the same device that restore action will happen → true

Don’t know why it’s not working. In user logs I see that no subscription is given to the user. Check localy on my older devices and it’s ok.

 

Expected behaviour. Restore button should transfer user subscription from google play to revenuecat. 

 


Forum|alt.badge.img+8
  • RevenueCat Staff
  • 507 replies
  • February 7, 2025

Hi ​@huunam-d09e3a, sorry for the delay here. Can you please share with me the version of our SDK you are on and full debug logs of what you are seeing? And are you seeing this on a specific version of Android? As a current workaround, can you try to manually transfer purchases via the customer history as shown here? https://www.revenuecat.com/docs/dashboard-and-metrics/customer-history/active-entitlements#transferring-entitlements

@lo-cool ​@proactivebit-1fef14 can you both please share the same information as above? 


Forum|alt.badge.img
  • New Member
  • 1 reply
  • February 7, 2025

Hi, I have a similar issue on android. it’s a Flutter app without auth.
Some users that have changed devices or reinitialized their device, complains that when they hit the restorePurchase button in the app, nothing is restored.
But they are on the same google account with valid proof of purchase, receipts, that they emailed me. 

The transfer to a new app id, is not happening… 

Could you please tell us why it’s not working and how to fix ?

Thanks

Edit: I have updated to the last version of the sdk, but still not working for my users


Forum|alt.badge.img+8
  • RevenueCat Staff
  • 507 replies
  • February 13, 2025

Hi ​@k-1b8938, I replied in your other post below.

Can you please provide those details so I can dig into what might be happening here?


Forum|alt.badge.img+2

Hi I still have problem. Don’t know if this should work like this. I have user with active subscription. This user has multiple accounts in google play store. If the user install the app from the account that has no subscription restore will not happen. Only instaling app from the account that has this subscription will help.


Forum|alt.badge.img+2
Haley Pace wrote:

Hi ​@huunam-d09e3a, sorry for the delay here. Can you please share with me the version of our SDK you are on and full debug logs of what you are seeing? And are you seeing this on a specific version of Android? As a current workaround, can you try to manually transfer purchases via the customer history as shown here? https://www.revenuecat.com/docs/dashboard-and-metrics/customer-history/active-entitlements#transferring-entitlements

@lo-cool ​@proactivebit-1fef14 can you both please share the same information as above? 

cannot transfer, because subscription not exists in revenucat system. I’m transferring from old payment system to revenucat. As I read this should happen automatically. Revenuecat should read subscription from google play account and this is not happening.

I was able to simulate this:

I’m logged in to google play with two accounts. One of them has active subscription. I install the app from the account that has no subscription and click restore - restore not working. When I install the app from the account that has this subscription restore is working. This can happen often. When you have multiple gmails account you are logged in to google play to multiple accounts. 
Switching account in google play to the one that has active subscription not help - still restore not working. Only deleting the app and installing from the account that has it help.

I’m also not able to see what account was being used to install the app. I think google not provide this information. When I ask customer to reinstall the app from the account that has this subscription and user says that it’s still not working I cannot confirm if this was installed from correct google play account.

Should this work in this way. Can revenucat team confirm?

 


Forum|alt.badge.img+8
  • RevenueCat Staff
  • 507 replies
  • February 28, 2025

Hi ​@proactivebit-1fef14, that is expected behavior. When an app is downloaded in the phone, it’s attached to the user that downloaded the app. Any interaction with Google play billing within that app will be associated to that user account. As such there isn’t very good support to multiple accounts for cases like this.


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