cancel the iOS Subscription - ios

I am already subscribed to 12 month subscription and in the middle of subscription i want to subscribed to 1 month subscription. I am showing alert to user that you have remaining days of your existing subscription. But what if user still want to purchase the subscription. Can I Cancel the subscription through programming so that user can purchase new subscription.
In Background, I have two subscription of same group . One of 12 month subscription and other is 1 month subscription.

Any changes to the subscription renewal frequency will come into effect at the end of the current period.
If the user has six months remaining on an annual subscription and then subscribes to a monthly subscription then in six months time, when the annual subscription expires, their subscription will be renewed for one month and each month thereafter until they cancel their subscription or change the period again.
It is important that you set up your related subscriptions in the same subscription group. Assuming that both the annual subscription and monthly subscription are at the same level within the subscription group, the scenario you are describing is considered a cross-grade:
Crossgrade. When a customer switches between subscriptions within the same level. If the in-app purchases are of the same duration, the customer’s prorated amount from the prior in-app purchase is refunded to the original payment method. The new in-app purchase is charged and goes into effect immediately at the full price, which changes the customer’s renewal date to the upgrade date. If the in-app purchase are of different durations, the crossgrade goes into effect on the customer’s next renewal date.

Related

How Apple IAP Auto-renewable multiple subscriptions for same product works?

In my iOS app I have implemented an Auto-renewable subscription for one year. Let's say a user purchased a subscription one month ago, which will end after 11 months. At this time if the user purchase again he is getting the subscription for the next 12 months which I wanted to have for 11 + 12 = 23 months.
I was wondering:
Is it a limitation or a basic workflow of the category "Auto-renewable" product of Apple IAP.
Which category I should use to accomplish such type of subscriptions?
An auto-renewing subscription is either active or it isn't.
Once a user has purchased it, the subscription will renew automatically at the end of the current period unless they cancel the automatic renewal.
If they do cancel the renewal, then once that subscription period is up they can re-activate it by "purchasing" the subscription again.
It isn't possible to "stack" auto-renewing subscription IAPs.
If you use a non-auto renewing IAP then it is up to you to calculate the validity period for the users subscription. If they purchase another 12 months while the current 12 month subscription is active then you can add those periods together.

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!

Is it possible to upgrade to an IAP item with the same subscription duration in the same subscription group?

I have 4 items in an IAP subscription group :
auto-renewable monthly subcription - X USD
auto-renewable yearly subscription - Y USD
auto-renewable monthly subscription with 2 week trial period - X USD
auto-renewable yearly subscription with 2 week trial period - Y USD
My app currently shows the first two items :
auto-renewable monthly subcription - X USD
auto-renewable yearly subscription - Y USD
I am planning to push out an update of the app that shows the second two items :
auto-renewable monthly subscription with 2 week trial period - X USD
auto-renewable yearly subscription with 2 week trial period - Y USD
I already have users who subscribed to one of the first two items ( the non-trial ones ).
What happens when they install the updated app, and trying to purchase the two new items ( "auto-renewable monthly subscription with 2 week trial period - X USD" and "auto-renewable yearly subscription with 2 week trial period - Y USD") ?
Does the App Store show them this dialog :
You're currently subscribed to this.
Your <period> subscription renews on <date> for <price>. To review subscription settings or cancel this subscription, tap Manage.
Manage | OK
or this one :
Confirm Purchase
Do you want to modify your subscription to Pro Subscription for <period> at <price>? Your new subscription will begin and you'll be charged when your current subscription expires on <date>.
Cancel | Continue
or something else?
I want to make sure that our users won't be charged twice for two subscriptions that are overlapping.
Does having them in the same subscription group guarantees it?
I want to make sure that our users won't be able to purchase the old subscription (the non-trial one) any more.
How can I do this?
Thanks!
A user cannot purchase two subscriptions in the same group at the same time, so as long as all 4 subscriptions are in the same group, you won't have any problems.
However, users who have already purchased a non-trial subscription will not be able to convert to the trial version and receive a trial as trials cannot be completed once a real purchase has been made.
I would also suggest making sure the purchasing UI isn't visible if a user has an active subscription, this will save your users confusion and probably save you some customer service work.

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

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.

ios in-app subscriptions - when does original_transaction_id change?

When there is an auto-renewing subscription, consider the following model situation:
user buys 1 month subscription, lets say in January
cancels renewal
then waits until March (>1 month) and buys same subscription again
Does the AppStore return (on receipt verification) a new original_transaction_id for the new purchase? Or rephrased, can original_transaction_id be used for grouping receipts to determine intervals when user had active subscription?
Because in sandbox, when there is a simulated situation like this, it returns always original_transaction_id from the FIRST purchase of given subscription, regardless if there were some intervals where user had not active subscription. When there was multiple purchases of subscription with intervals between, when it was expired, Sandbox receipt verification returns original_purchase_date of first purchase, and expires_date of last purchase.
My problem is, to test it in live enviroment, I would have to wait more than a month to let subscriptions expire to test the exact behaviour.
I have maintained an production app with subscription for several years.
As far as I see, original_transaction_id does not change in that case you mentioned.
Moreover, original_transaction_id belongs to subscription group, not each product_id.
So it remains same in below cases.
User start subscription, stop auto-renew and expire, then start subscription again.
User start subscription and cancel it, but start again.
User start subscription and upgrade or downgrade to subscription in same group.
But this is not a guaranteed result, so you would better prepare in case original_transaction_id changes.

Resources