Hello,
I am developing a marketplace app that enables creators to sell digital goods through the app. These goods will only be consumed in the app. So as per Apple's guidelines, I need to use in-app purchase (IAP) to handle the purchase.
But where I cannot find any anwser in the docs, is the definition and identification of such goods. The example below will give a better idea of my issue :
- Creator A sells through the app : object 1 for $1.99, object 2 for $1.99 and object 3 for $0.99
- Creator B sells through the app : object 4 for $0.99 and object 5 for $1.99
- Creator C sells through the app : object 6 for $4.99
- and so on.
Solution 1 : create through the appstore API, 1 IAP product per object. In the above example, that would be 6 products. However in real life, given the number of creators we are enrolling, this will rapidly increase to reach hundreds and even thousands or IAP products. Also, the creator can change the pricing whenever he wants, or even go back to distributing it for free on the platform. -> This solution is a nightmare in the making.
Solution 2 : create "generic" IAP products, here in this example that would be "object for $0.99", "object for $1.99" and "object for $4.99". This solution depletes drastically the number of IAP products, making it much more manageable for everyone (us developer and apple and users). The handling of purchase restoring will be natively supported by our platform since we will record every acquisition to send creators their share of the purchase. -> This solution is from far very easy to implement
Solution 3 : use a completely payment system outside of IAP => That would clearly be the easiest way to do for us since we could use a marketplace-ready payment provider instead of having to build the marketplace server nearly from scratch to use IAP.
I have searched the forums here and on google, even emailed and phoned Apple's support, but no one is able to provide me with an answer. Also, as we are a young startup, we cannot afford to go in one direction and hope for the best for Apple to validate our approach, or if not scratch everything if start again :/
Which solution do you think is the best ? Any thoughts ?
Thanks !