Question

Sorry but I am bit confuse on implementing non renewable subscriptions.

Basic concept of app is user can post item to sell within the app. For each item to post he has to pay $.99. This item will remains there for 20 days.

As per apple documentation this kind of In App Purchase should be non renewable subscription with expiration logic to be implemented on Server side. I am done with everything like creating non-renewable IAP and integrating with app. Server maintains the expiration for each item.

Now my query is since user can post as many item he wants, how should the IAP ids should be maintain.

User Case #1: - User A posted one item after he pay $.99 for that. So far so good. - When he try to post next item, he is shown with the message "You have already purchase this, tap to renew or extend it" instead it should be something "Do you want to buy one xxx for $0.99" Am I missing something here?

Use Case #2: Now say item is expired (after 20 days), For renewing shall I use the same IAP id (Product ID in IAP) to renew? or I need to create different IAP id?

Please guide me on this so that Apple shall not reject the app.

Thanks in advance!!

Was it helpful?

Solution

OK I used following:

  • non renewable subscription with expiration logic implemented on Server side.
  • Same Product ID works for me for Buying for first time and renewing after 20 days expiration.

And application got approved!

OTHER TIPS

What I would suggest to you would be using Consummable in-app purchases.

Once the user owns the purchase, manage on your side how long should the registration last (server-side if the user has an account or NSUserDefaults if everything is local).

Once the subscription time is Over, just lock the functionality. During the subscription time, you can either disable the purchase button, or let them own new ones and stack the durations :)

As stated above, I would like to recommend consumable in-app. You have to maintain a database based on post id and date of purchase when user purchases a post.

You'll have to maintain this database such that it can be restorable for example if still 5 days are remaining. So user will be happy.

To maintain this data you can use your server if you have, or else you can use iCloud, any way this is a simple data sheet. Or you can use any third party library which gives free cloud storage.

Last but not least you can save locally, but I would recommend server, iCloud method. So users can restore their purchases.

So this way you can handle multiple subscription logically.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top