I am experiencing an issue with the "Transfer if there are no active subscriptions" restoration strategy. This behavior works as expected on iOS but appears to be bypassed on Android.
The Scenario:
-
Both User A and User B are identified (non-anonymous App User IDs).
-
User A has an active subscription linked to a specific Google Play / Apple ID.
-
I log out User A and log in as User B on the same device.
-
User B calls
Purchases.restorePurchases().
Expected Behavior (observed on iOS): On iOS, RevenueCat correctly blocks the transfer (there won’t be any transfer event) and returns the RECEIPT_ALREADY_IN_USE_ERROR because User A still has an active subscription.
Actual Behavior (observed on Android): On Android, the restorePurchases() will return an error but the transfer event will still happen.
This contradicts the documentation for this transfer behavior. I have confirmed that this is happening in a sandbox environment, User A's subscription has not expired, and I’m applying "Transfer if there are no active subscriptions" to my entire project (including sandbox env).
Is this a known limitation on Android, or is there a specific configuration I'm missing?

