iOS In-App Purchase: Managing multiple auto-renewal subscription families - ios

In our application, we support four types of subscription like:
Single User Monthly Subscription
Single User Yearly Subscription
Family User Monthly Subscription
Family User Yearly Subscription
and we divide these subscription in two family like below:
Single User Subscription
Single User Monthly Subscription
Single User Yearly Subscription
Family User Subscription
Family User Monthly Subscription
Family User Yearly Subscription
we have some query to understand the auto-renewal flow, which I listed:
Can user switch between auto-renewal product families from iTunes Manage Subscription / from Application?
Suppose I purchase Single user monthly subscription and now I want to switch to family user monthly subscription.
Which options, iTunes manage subscription will show when I try to change subscription means it display both subscription family or only family in which I currently subscribed?
if I purchase these different family subscription, Apple will charge at that time or will charge after current subscription expire?
Suppose I purchase Family User Yearly Subscription and now I want to switch to Family User Monthly Subscription.
Can I able to purchase "Family User Monthly Subscription" because as i already subscribed with same family subscription which is "Family User Yearly Subscription"?
When I change these subscription from iTunes manage subscription, new subscription will start when current subscription expire and will charge from new subscription at that time.
Am I correct with Apple subscription flow?
Are we violating any Apple policy by managing two auto-renewal family in our application?

Can user switch between auto-renewal product families from iTunes Manage Subscription / from Application?
Yes, users will be able to switch between Monthly and Yearly but not between Single and Family unless they are of the same Subscription Family.
Which options, iTunes manage subscription will show when i try to change subscription means it display both subscription family or only family in which i currently subscribed?
It will only show the options for the other products in the same Subscription Family. So if the only other option is Yearly then it will only show that.
if i purchase these different family subscription, Apple will charge at that time or will charge after current subscription expire?
Apple will only charge the user once the original subscription duration is over, e.g. if a user buys a Yearly subscription then 8 months later she switches to Monthly, there is still 4 more months until the yearly subscription ends so she will be billed for the Monthly subscription in 4 months.
Can i able to purchase "Family User Monthly Subscription" because as i already subscribed with same family subscription which is "Family User Yearly Subscription"?
Yes, users can change the subscription to any other product of the same Subscription Family.
When i change these subscription from iTunes manage subscription, new subscription will start when current subscription expire and will charge from new subscription at that time. Am i correct with Apple subscription flow?
The new subscription will start immediately, effectively replacing the old one, however the user will not be billed until the pro-rata credit of the original subscription is exhausted.
Are we violating any Apple policy by managing two auto-renewal family in our application?
Not that I am aware of, if in doubt seek clarification from Apple or a lawyer.
One final note. It seems as though you may want your Single User and Family User durations to be in the same Subscription Family, otherwise a user could purchase both kinds subscriptions which i'm not sure that is what you want. It also prevents users from switching from Single to Family or vice-versa which may frustrate some users.

Related

How to buy multiple products in IAP with Auto-renewable subscription for iOS?

I have some issue about implement Auto-renewable subscription in iOS.
In my iOS app, I need to implement Auto-renewable subscription monthly of my products in iOS app. Users can purchase multiple products. The number of the product is a value that user can enter manually from iOS app.
Ex: My shop has product ABC. User want to monthly Auto-renewable subscription for 9999 product ABC. 9999 is a number was entered by the user.
Does Apple IAP have support for this case? Thanks
No, a user can only purchase one subscription from a given subscription group at any time. They can cancel, upgrade or downgrade.
You could have different levels of subscription in your subscription group "1 ABC","2 ABC" and so on, but each subscription needs to be a separate product in the subscription group and you have to create them and price them; you can't have the user enter an arbitrary number.
No, you cannot set a quantity to an auto renewing subscription.
The quantity option only applies to consumables or non renewing subscriptions and the limit is 10.
https://developer.apple.com/documentation/storekit/product/purchaseoption/3749445-quantity

Manage Auto-renewable in-app purchase and consumable in-app purchase

I am working in an app which uses 3 in-app product
Monthly subscription (Auto-renewable)
Yearly subscription (Auto-renewable)
Lifetime subscription (Consumable)
The app has a feature that a logged in user can add other app user's accounts to his account and can switch to their account.
So, a logged in user can buy all 3 above types of in-app products but he can buy only lifetime subscription for others (if he switched to others account) with the same apple account. That is why Lifetime subscription is of Consumable type.
Monthly and Yearly Subscription belongs to same subscription group as they both are auto-renewable type.
My doubt here is,
If logged in user buys a Yearly/Monthly subscription first which is Auto-renewable type that means it renews or make payment automatically after it expires monthly or yearly.
Suppose after buying Yearly subscription and then he likes the app and now buys a lifetime subscription,
Will both Yearly subscription and lifetime subscription will
continue simultaneously? That means along with lifetime
subscription, yearly subscription will continue to charge every
year?
or will Yearly subscription cancel right after lifetime subscription
is made?
or will apple accept the lifetime request and after 1 year it will
cancel yearly subscription to renew itself automatically and
activates lifetime subscription.
What I want, is point 3. The lifetime subscription should not renew after 1 year and lifetime subscription should continue. If it is going to renew, is there any way to programmatically cancel the previous (Yearly/Monthly) subscription?
I want the customer should not be double paying for the app. Customer must have only one subscription activated at a time and he must be able to make lifetime subscription purchase for other app users with same apple account.
How best can I achieve this? Any help will be appreciated
Thanks in advance!

Handling 'lifetime' subscriptions alongside auto-renewing in-app purchases

I would like to offer three subscription options in my app:
Monthly recurring
Yearly recurring
Lifetime
I can setup the monthly and yearly subscriptions as auto-renewable products, and put them in the same group so that upgrades and downgrades are handled nicely. However, the lifetime subscription has to be a regular non-consumable product since the maximum duration for a renewing product is one year.
What can I do to handle users moving from a monthly or yearly subscription to the lifetime subscription? I can't offer any partial refund/credit for remaining time, and most importantly I can't cancel their existing subscription on their behalf. Am I limited to some informational messaging ("Please make sure you cancel your existing subscription") with a link to the Manage Subscriptions settings? Or is there more I can do?
As far as I know you have no possibility to cancel his subscription for him. So before a user can buy the lifetime IAP you have to check if he has an active subscription and if so you need to prompt him to cancel it. Otherwise he would end up with lifetime and a subscription.

iOS In-App Purchase: Managing auto-renewal subscription of different families

In our application, we support 3 types of subscription like:
Silver Monthly auto-Subscription price: 9.99$/monthly
Gold Monthly auto-Subscription price: 15.99$/monthly
Platinum Monthly auto-Subscription price: 24.99$/monthly
All this subscription belong to the different family and each family has only one type of Subscription that is monthly -silver, gold, and platinum.
we have some query to understand the auto-renewal flow, which I listed:
Can user switch between auto-renewal product families from iTunes Manage Subscription / from Application? (in our case b/w silver<-> gold<->platinum).
our aim is to keep anyone subscription at a single time and give user option to upgrade and downgrade their subscription plan.
Are we violating any Apple policy by managing 3 auto-renewal subscriptions in our application of same time period (1 month)and different price?

Handling Multiple Subscription in GooglePlay

In ios and amazon - we have a subscription family - example if i have purchased a one month subscription, I cannot purchase a six month subscription of the same family. But it appears that this is not the case in google play. For example a user might have a monthly subscription running with a one year subscription also running simultaneously.
Do we have to handle the logic of not allowing a user to purchase a second subscription if he has already subscribed to one subscription?
In iOS the user can change duration for the same subscription family though their iTunes subscription management page. On android you must implement this in the app using the getBuyIntentToReplaceSkus() method:
This method is used to upgrade or downgrade a subscription purchase. The method is similar to getBuyIntent(), except that it takes a list of already-purchased SKUs that are to be replaced with the SKU being purchased. When the user completes the purchase, Google Play cancels the old SKUs and credits the user with the unused value of their subscription time on a pro-rated basis. Google Play applies this credit to the new subscription, and does not begin billing the user for the new subscription until after the credit is used up.
http://developer.android.com/google/play/billing/billing_reference.html#upgrade-getBuyIntentToReplaceSkus

Resources