Manage subscription with different underlying store accounts.

  • 11 December 2023
  • 1 reply

Badge +1

I want to build a subscription management page in my flutter application, where users can see their current plan and can choose to upgrade or downgrade the subscription.

What i do not understand is the following scenario:

User with id x, logs into my app for this first time and purchases a subscription. On my backend server he will be marked with a subscription with the help of webhooks. Then he logs into another store account(google/apple) then the one used to make the purchase and he logs into the app with the same user x which currently has a sub on my server. He goes to the subscription management page and sees his current plan as active and wants to upgrade to a higher tier plan. From my understanding he will have no problem upgrading to a higher tier plan, but this will not be an upgrade it will be a purchase with the new account. So he will have a subscription active on the first store account for which he still pays and another active on the new store account for which he pays also. On my backend server probably a new intial purchase event will be sent for the same userid that already has a sub in my backend(which i do not know how to handle at this point).

I have the following questions:

  1. Is there any way to avoid this from happening? is there any way to tell if a user is making a purchase from another account then the one where he first purchased the subscription? 
  2. If the subscription management page is dropped from the app and instead the user is redirected to the underlying store subscription page using the management url and he logs in with the correct account, is there a way he can upgrade/downgrade his subscription from there? From what i can see on ios it is possible to subscribe directly from the store subscriptions page, but on android i can only see the possibility to pause and cancel subscription. Is there some settings that i am missing or on android you cannot do this?

Thank you for your time.

1 reply

Userlevel 4
Badge +8


Happy to help here. I asked our team and, unfortunately, there’s not much we can do to prevent a user from signing into a different store account and purchasing again in the app.

What other apps do is to hide any currently purchased subscriptions from the appUserId, and if they go to upgrade/downgrade their subscription, place a message that says something like “make sure you make any subscription changes with the original Apple/Google account”

Apple and Google don’t reveal the underlying account email to us, so that’s why we’re unable to detect a user that does this.