Cancelling iOS In-App-Purchase auto renew subscription within the app - in-app-purchase

The users can cancel the subscribed in-app-purchase by going to iOS settings. But I'm not seeing a way to allow the users to cancel the subscription from the app using SKStoreKit. Is there a way to allow the users to do so?

Related

Does In-App Purchase has payment methods same as stripe?

I'm currently stuck with some In-App Purchase (IAP) problems.
In my project, user has an account using both web application and mobile app.
I'm using Stripe on web and IAP on mobile to handle user's payment methods and I have to handle the user's subscription on both platform.
My questions are:
When user cancel subscription on web using Stripe, can I handle the event on Stripe to cancel the subscription on IAP?
I find out that user cannot cancel subscription within the App, user have to cancel it in Iphone Settings. Can I handle the event when user cancel subscription on IAP in order to cancel subscription on Stripe?
When user change subscription on web (ex: monthly to yearly) by using Stripe, how can I handle the event in order to cancel subscription on the Iphone by using IAP?
Do IAP has the schedule payment same as Stripe? and when user are using auto-renewable subscription on IAP, can I bring it to a schedule in order to change subscription in the future like Stripe do?
Thanks in advance!
I just started to research on IAP for IOS and I'm about to using react-native-iap to solve it
When user cancel subscription on web using Stripe, can I handle the event on Stripe to cancel the subscription on IAP?
When user change subscription on web (ex: monthly to yearly) by using Stripe, how can I handle the event in order to cancel subscription on the Iphone by using IAP?
i don't think there is any way that you can cancel/update the IAP
subscription without iPhone settings or app. StackOverflow link
I find out that user cannot cancel subscription within the App, user have to cancel it in Iphone Settings. Can I handle the event when user cancel subscription on IAP in order to cancel subscription on Stripe?
when user cancel the subscription or upgrade/downgrade your backend will get web-hook which you will provide in AppStoreConnect under app information.

iOS: Allow user to cancel subscription from app

Is there a way to allow a user within our iOS app to cancel or pause their subscription? I would prefer to have them manage their subscription in the app, as opposed to going through the app store to cancel.

How to Handle Canceled iOS In App Purchase Auto-Renewing Subscription

I'm wondering, if a user cancels a subscription and are trying to resubscribe am I supposed to present the management portal from within the App Store to this user and let them resubscribe from within the App Store or am I supposed to allow them to purchase a new subscription from within the App itself? It seems as if once a user has purchased the initial subscription from within the app itself Apple wants all other management to be done using the App Store.
I'm not exactly sure how this works and because I cannot access the 'Manage Subscriptions' portal for a sandbox App Store account I can't tell exactly how subscriptions are handled when they expire.
Thank you!
From the App Store subscription management page a user will be able to:
Change their auto-renew status
Upgrade or downgrade to a different subscription in the same group (e.g. change from a monthly to yearly subscription)
Resubscibe to an expired subscription
Paulw11’s comment is correct that you handle a re-subscribe exactly as a purchase in your app (the user won't receive a free trial if they had before). The purchase will go through as a normal subscription and it will be less confusing to your users.

Offering auto-renew subscriptions to multiple apps

As is confirmed by Apple here it should be possible to add the same auto-renew iap to multiple apps. I have an iPhone and an iPad app in which I want to offer one auto-renew iap, which when purchased once will unlock both apps.
To handle the subscription across both apps, I've setup a server where the auto-renew receipt is uploaded to once it's been purchased by the user. Each time a user opens one of these apps, a connection is made to the server to check if there is an active subscription, if there is one the app is unlocked, if not the 'buy a subscription' screen should pop up.
Now the question I am facing is how do I identify each user on the server when he checks for an active subscription ? How do I know when a user has bought a subscription before in on of the other apps ?
I have an iPhone and an iPad app in which I want to offer one auto-renew iap, which when purchased once will unlock both apps
I assume the iPhone and iPad app is not an universal app. Meaning, they do not share the same bundle ID. If it is an universal app, the receipt containing renewable subscriptions will be delivered as part of the App Store download.
how do I identify each user on the server
Since you don't want to bother the user with signing up for yet another account, you can persist the most recent active subscription date in iCloud. NSUbiquitousKeyValueStore is perfect for this. From a quick network inspection, this is how Ulysses seems to be handling universal subscriptions (they seem to be using a combination of iCloud KVS and CloudKit to determine if a user has already purchased a subscription on their Mac or iOS app). However, it now becomes an issue of whether your users have iCloud accounts.

How to get Auto-renewable in-app purchase status?

I am implementing auto-renewable in app-purchase. Here user can access application on difrent devices either iOS or android. when user is in app and allow purchase a auto-renewable subscription Then
1). is he will get a transaction success method or something same?
if yes
Then i submit a success bool and subscription end-time on local-server by hit a api-url. but my problem is
2). how can i get to know that money has been deducted from itunes (in automatically renew process)?
3).how can i get subscriptions state to save it on local server, if user never use that app on that device, or he changed his device from iOS to android?

Resources