Search code examples
iosobjective-cin-app-purchasein-app-billing

iOS - InApp Purchase - Subscription model


I am working on ipad app development. In this we have following scenario:

  • This app used by trainers.
  • Trainer provides training to students.
  • Trainer can have more than one students.

Client want to have below business revenue model:

  • Trainer need to pay fix amount when [s]he wants to add new student
  • Paid amount during adding student should be repeated after every month
  • i.e. trainer need to pay per child per month basis

Now please suggest which model do i need to implement

  • Consumable or non-consumable ?
  • How to consider Subscription model etc?

Solution

  • Your model is either recurring subscription (auto-renewal) or non-recurring subscription. For the second case, the trainer would buy a new 1-month subscription for each student as the new month begins. For the first case, this renewal would happen automatically until the trainer cancels the subscription for that student.

    Your problem will not be with selecting an IAP product type, but you will have a problem with the number of students. For all subscription types, there can be only one purchase of that item. While that subscription is active, there can be no further purchase of it. Therefore, if you have an IAP product called Monthly_Student, you cannot expect trainers to have 20 instances of this product.

    So what should you do? You should probably prepare to argue with Apple that you have a consumable IAP product. This would allow the trainer to purchase one IAP product for each student. You could have pre-paid months of student training as your IAP items:

    Student_Training_1
    Student_Training_2
    …
    

    Apple will argue that if you are selling time, then it must be a subscription. However, given that you are selling the Trainer access to content for students, you might be able to convince them that consumable is more appropriate.

    The trainer, however, would need to make n purchases, one for each student, each month. This user experience might be tedious and you should consider how to reduce the burden on the user.