I’m using “Transfer if no active subscriptions”, however, I’ve noticed if an anonymous user id calls `restorePurchase`, the anonymous can always transfer the subscriptions, no matter the subscription is active or not.
Here’s the complete flow where the transfer happens even if there are active subscriptions:
- On device 1, user logs in and purchase subscription
- On device 2 with the same Google Play account signed in, anonymous user is not logged in, but taps the “restore purchase” button
- The subscription is now transferred to anonymous user
However, in the following flow the “Transfer if no active subscriptions” works as expected:
- On device 1, user A logs in and purchase subscription
- On device 2 with the same Google Play account signed in, user B logs in and tap “restore purchase” button
- The restore failed due to `ReceiptAlreadyInUseError`
In case anyone’s curious, the reason why we have a `restorePurchase` button even if user is signed out is that we support consumables.