We have a problem with multiple subscriptions in an App Store Connection Subscription Group being owned at the same time. Is this normal behaviour? Shouldn't it be only be 1?
We have 4 Subscriptions available for our app in a Subscription Group, but when one Subscription is purchased and then an attempt to upgrade/downgrade is made it displays the normal inapp purchase dialog box again (the same text as first time, no discussion of an upgrade/downgrade..should it?) and the status after the second purchase is 2 subscriptions are owned concurrently. The expected behaviour after an upgrade is only the 1 new subscription is owned, and the old subscription is cancelled.
Subscriptions Group:
Standard
Professional
Premium
Enterprise
E.g. The user purchase the Professional subscription. Then click to purchase Premium which should be an upgrade, and they should no longer own Professional. However, our view of the receipt (via a library) says the user still owns Professional and Premium at the same time.. not just Premium.
Could it be the configuration? Library? Or is this expected behaviour that we need to handle with custom code?
We have 4 Subscriptions available for our app in a Subscription Group, but when one Subscription is purchased and then an attempt to upgrade/downgrade is made it displays the normal inapp purchase dialog box again (the same text as first time, no discussion of an upgrade/downgrade..should it?) and the status after the second purchase is 2 subscriptions are owned concurrently. The expected behaviour after an upgrade is only the 1 new subscription is owned, and the old subscription is cancelled.
Subscriptions Group:
Standard
Professional
Premium
Enterprise
E.g. The user purchase the Professional subscription. Then click to purchase Premium which should be an upgrade, and they should no longer own Professional. However, our view of the receipt (via a library) says the user still owns Professional and Premium at the same time.. not just Premium.
Could it be the configuration? Library? Or is this expected behaviour that we need to handle with custom code?