Removing autorenewable subscriptions from iPhone App
Asked Answered
O

2

8

I have an iPhone app that also features autorenewable products as an in-app purchase. The products are subscriptions to our service for up to 1 year in the future. We wanted to remove the whole in-app-purchase and autorenewable product from our app in the next version.

To accomplish this, we removed the signup option inside our app, so no new user should be able to sign up. Now we would like to disable the automatic renewal for all existing users.

How can I accomplish this? Is it sufficient to remove the in-app-products for our app inside iTunes Connect? Do the users get notified about this?

Overtask answered 28/3, 2013 at 11:8 Comment(0)
M
17

According to Apple (see WWDC 2011 Session 510, In App Purchases for iOS and OS X, at the 48:55 mark), the only things you can do as a developer to prevent subscriptions from auto-renewing are:

  • Raise the price.
  • Remove the auto-renewing IAP product from iTunes connect.

In both cases, notification emails are sent to subscribers, though not immediately. The talk says Apple checks 10 days before a (yearly) subscription renewal and sends email at that time. It's not documented anywhere, though, so I'd treat that as an implementation detail.

I've done the latter (removing the product) several times with my own (monthly) apps, and it seems to work as advertised.

One important note: if your app is a Newsstand app, it must have at least one auto-renewing subscription available. If you remove the last one, the app will be removed form the App Store. Users who have already purchased it will still be able to use it, and will be able to download copies from the "previously purchased" section of the app store, but no new copies will show up for purchase in the App Store proper.

Melodimelodia answered 6/4, 2013 at 17:7 Comment(1)
can user still restore a running subscription, if the product is deleted from itunes-connect?Rochkind
K
-1

It will depend on how you've implemented your system. Do you check receipts (and provide data/service) from your own server, or do it all within the app directly with Apple's servers?

In iTunes Connect you can remove a product from sale, effective immediately or at a future date. I suspect that's enough to stop a renewing subscription. (Remember you can test this with shortened timescales in the Sandbox.) But if not:

  • If you use your own server to validate receipts, go and give it an incorrect shared secret so that the verification step fails. That means the subscription validity will return as false (although for the 'wrong' reason) so your customers won't be able to renew.

  • If you do it within the app, generate a new shared secret so the one within your existing structures is incorrect. Then, as above.

  • If you can, I suggest sending a notification to your current users notifying them of the change, suggesting that they change, and letting them know it will 'fail' in the future but that's ok.

Kenspeckle answered 2/4, 2013 at 9:12 Comment(2)
Thanks! However testing the removal of products is not possible, the sandbox only has access to the production products. However what should Apple do in case of a renewal - they cannot sell a non-existent product. I think the only possibility is to test this on live data then.Overtask
Why not create a test product for the sandbox environment (analogous to before you submitted your 1.0 version)? Surely you can create a new subscription product but not submit it for release, and test with that? I'm pretty sure all you need to do is remove the product from sale, not delete it entirely. Deleting it might have adverse consequences for those who are still subscribed—e.g. receipt verification failing and locking out legitimate users in the interim period.Kenspeckle

© 2022 - 2024 — McMap. All rights reserved.