the different kinds of in-app purchases and how they work in the Apple’ App Store

We all knew that there are in-app purchases in the apps; what we didn’t know was the classification. Madhubalan, our iOS Super Star was kind enough to list the classification and explain patiently, that even a dumb fellow like me was able to understand.

The Classification

There are four kinds:

Consumables Non-consumables Auto subscription Manual subscription

Instead of giving a boring textbook explanation of the same, let us consider that we are making a ‘Shooting’ practice app.

The app has a bunch of guns, bullets to go with it and a target. All the user has to do is to shoot at the target. New guns and corresponding bullets get added every month.

The app lets the user use two guns and 100 bullets each for free; for more guns and bullets, there are in-app purchases.

There is one trick you should remember: Vouchers. Apple considers these in-app purchases as user-buying-something-with-a-voucher and sends you, the developer, a code; you can ‘unlock’ purchases for the user.

If the user continues to use the same two guns, but just buy more bullets, it is called a Consumables purchase. Apple lets you configure bullets as consumables, and the users can buy as much as they want. Apple sends you vouchers everytime the user buys, and it is your responsibility to store the ‘truth’ of purchase.

Suppose you create a really cool gun, and the user hits the ‘buy’ button, it is a Non-consumable purchase. Apple sends you a voucher for you to ‘unlock’ it for user. Bonus: Apple remembers what the user bought, and when the user switches device, or deletes app, or adds a device, in other words “Restore”: no worries; Apple will resend the information. Downside: You have to resubmit the app to the store everytime you add a non-consumable item.

Let us say you keep adding gorgeous guns every month, and you want to give an option for the user to purchase it periodically, it is Subscription. If the guns get pushed to the user whenever you add one, it is Auto Subscription; if the user wants to decide if they really want the gun everytime you add one, it is Manual Subscription. Easy.

There is one point to ponder: When the subscription expires, the user will lose access to what has been purchased; in other words, when the subscription expires, the user will be back to two guns. In a non-consumable purchase, the gun will be with the user perpetually.

Apple sends out vouchers in both the cases. When it is auto subscription, Apple does all the hard work of remembering purchases and restoring it for the user; they make more money, right?

This is the end of Solomon Grundy.

No pain, no gain

We learnt this IAP the hard way. We made a really gorgeous eating-review app based on cities. If the user travels to the particular city, he can in-app purchase the city and make use of the information. We made cities as consumables.

We had no authentication in the app, so we systemmatically failed to remember what the user purchased. *Towards the end of the build* we realised this and added the friction called authentication to fix the ‘problem’. Now, we remember the ‘truth’ in our database because Apple considers cities as generic purchase.

Why could we not have made it as non-consumable? Because we wanted to add cities dynamically to the build and not have to submit and go through the approval process.

The pain? Had a hard time explaining the customer about adding a layer of authentication. oAuth, yeah; but still, it is friction.

That’s it. That’s really it, on IAP.