Apple Auto Renewal In-App Purchase Expiry Time - ios

I am making an app with auto renew in-app purchase. It is my first time with this api so I am bit confused about the auto renewal logics.
Would be grateful if you guys can help me with these 2 logics-
1) When a user buys a new subscription, does the expiry equal to the date or date/time.
For example - I buy a subscription for a month today at 2.00pm. Will it expire next month at 2.00pm or at midnight. Means it just renew the subscription by date or by the time you purchase it.
2) During Auto renewal, as mentioned in apple docs, apple starts trying to renew the subscription 24 hours before the expiry date. If the user somehow cancels auto renewal between these 24 hours will apple still renew his subscription or the cancellation will take affect immediately (assuming his subscription hasn't already been renewed).
please somebody answer it. Thanks a lot in advance.

Related

Will I get Appstore notifications for auto renewable subscription during the Offer period?

I am having an app which contains auto renewable subscription. The renewal of the subscription occurs every month. We have designed our app in a way that user get "1 credit" every month after the subscription renews. Now we have a new requirement in which we have to implement Offer Code or Promo Code which offers Subscription for free for a 1 year. Will we get monthly subscription renewal App Store notification during this offer period?. I just want to confirm this as there is no provision to test Offer codes in sandbox mode. This is critical to our design as if we don't get App Store notification user will not be credited his coin for 1 year.
I not sure you really need notifications.
You can read the app receipt on launch or foreground move ( you probably already do it ), enumerate all expired subscriptions and use expiration dates and other properties to get your credits.
By replaying the scenario, you can get the state at any past date up to now.

Subscription status not called for auto renewable subscription in iOS

I am facing issues with my auto-renewing subscription for an iOS app that offers auto-renewable subscription.
The Subscription Status URL is at times, not being called when the subscription is renewed. This is making it difficult for us to track the user's subscription status. Funnily, this behaviour is completely arbitrary at times it is called and everything works smoothly, but at times it is not called at all.
Also, once the user's subscription is renewed, at times the user is not charged on his/her credit card instantly. Is this behaviour normal?
You have to follow basic rules for subscription based application.
Whenever you buy any auto renew subscription, in success verify your receipt and verify expiry date.
On every application launch very receipt and verify subscription. On depending result you can notify your server.
In sandbox environment for monthly subscription it will auto renew for every 5 mins. It will auto renew for 5 times. So you can check your test cases. After that it will be expire.
In real world case subscription will auto renew before 24 hours of renew date. So if user cancels subscription before that.
If you are using SwiftyStorekit than it will be very much easy for you to handle each and every steps. Let me know you if you want more coding approach in this case.I will share example code details if you want.
The Subscription Notifications are pretty unreliable and the descriptions of how they work aren't very clear. For example:
RENEWAL events aren’t sent when a subscription renews. ... RENEWAL
is sent when a subscription has expired, then later, the user starts
the subscription again.
CANCEL does not mean a user normally cancelled their subscription. It only is sent when a user cancels their subscription via customer
support. This is also known colloquially as a refund.
Source: RevenueCat (Disclaimer: I work there)

How to set up In-App purchase Free for One Year?

In my application, I have to give my app features free for one year but user should be charged for every one year later.
The Auto-Renewable Subscription does not give a Free Trial for one year. The Auto-Renewable Subscription’s max free Trial Duration is 3 Months. I can use this Auto-Renewable Subscription after first year. But for giving free subscription for one year which In-App Purchase type should I use and how to validate user that his one year free subscription has expired?
You can use Non renewing subscriptions for this, and you can handle the date of expiration using a Web Service.
Details on non renewing subscriptions:
http://www.raywenderlich.com/36270/in-app-purchases-non-renewing-subscription-tutorial

Does Apple try to renew an IOS subscription past the renewal date?

I have an app that supports auto renewal and I am trying to determine if I should should keep checking past a renewal date for the auto renewable subscription if Apple tries to renew it past the date if there is an issue with the transaction failing or some other reason. If so, how long?
Thanks
If a subscriber of your App has opted for auto renewal then Apple will keep renewing his/her a/c till the time the subscriber doesn't opt out from it.
Also till the time the billing method which the subscriber has provided the information is valid.
Regards
Rajeev

When can I re-verify auto-renewing subscriptions with Apple?

Say a user purchases a auto-renewing one-month subscription. When can I re-verify the receipt that I'll get a new receipt for the renewed subscription. Do I have to wait exactly 31 days from the time of purchase? Or is 30 days enough?
You can verify whenever you like and as often as you like. If it's after a renewal has happened you'll get the new receipt in the response. Otherwise you'll just get the receipt from the existing period.

Resources