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.
Related
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.
I have done some research but I can't find if apple has a way to manage my customer in-app subscription to do refund and cancel.
I look in itunes connect but I can't find any menus or informations about it.
In the developper documentation, I found that a user can manage is subscription in itunes by openning the link :
https://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/manageSubscriptions
I also found that to do a refund the users need to contact the Apple customer service in the working with subcription cancellation part. https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/Subscriptions.html
In the android console, there is menu to manage the order for the app and cancel or refund an order. So, if a customer call us we can do the refund on our side.
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?
I am working on an app which has our own user database and cross platforms subscription.
and my questions are:
pre-condition: in iOS, user did login with username and did auto-renew subscription.
1.if user deleted the app, will it cancel the auto-renew subscription for the app?
if user cancel the subscription from settings or from itunes, how do we know which user canceled the services?(I dont have game center id). I would like to inform my server that this user canceled subscription.
basically, how do we know a user did auto-renew or canceled the subscription without opening app. Is there any unique id in apple's receipt which we can get to validate the user id.
Thanks.
Got a rough solution. Basically, when user subscribe from application, you should also send receipt to your own server, and then from own server use receipt to request from apple server for the status. This is for cross platform subscription. It is unnecessary for single platform app.
Server notifications are now available.
How to enable them: https://developer.apple.com/documentation/storekit/in-app_purchase/enabling_status_update_notifications
How to set the server URL: https://help.apple.com/app-store-connect/#/dev0067a330b
Regarding your question, yes, you should keep base64 receipts on your server as well as original_transaction_id of each subscription to find this customer in your database, when you get cancellation notification webhook.
We have the same functionality implemented in our subscriptions revenue growing platform. Let me know if you have any questions.
I am first time developing an application which will have licensing to iPhone Application,
Our requirement is to develop an application that will have a license key and a subscription period, say 1 Month, 6 months, 1 Year.. Etc.
Once the subscription period is over user should not be able to reinstall the application without new subscription and license key, even if he/she has uninstalled the application.
How can this be done?
You could use a Non-Renewing Subscription in app purchase, This is the description in iTunes Connect : Non-Renewing Subscriptions allow the sale of services with a limited duration. Non-Renewing Subscriptions must be used for In-App Purchases that offer time-based access to static content. Examples include a one week subscription to voice guidance feature within a navigation app or an annual subscription to online catalog of archived video or audio.
or you could use a Auto-Renewable Subscription:
Auto-renewable Subscriptions allow the user to purchase updating and dynamic content for a set duration of time. Subscriptions renew automatically unless the user opts out, such as magazine subscriptions.
Alternative way:
You have to do the subscription process through some website instead of in-app purchase.
Don't go with license key. Just provide login credentials to the user once he subscribed. User has to subscribe externally to use the application (by getting the login credentials by mail to him). If the subscription period over, then just don't allow him to login and ask him to meet administration using the given generic mail id (user has to subscribe again).