1
votes

My team is working on a digital music app where users can buy music from local artists on their smartphone. We are targeting Android and iOS platforms to start with. We have the following payment mechanisms on our Android app (among others):

  1. PayTM wallet
  2. Credit card
  3. Netbanking

Our Android app passed the review and is live on the play store.

We used the same payment mechanisms on iOS - Apple rejected our submission saying:

We noticed that your app enables the purchase of content, services, or functionality in the app by means other than the In-App Purchase API, which is not allowed on the App Store. Specifically, your app utilises the PayTM wallet system.

Given our business model, what is the best possible way to comply with Apple's In-App Purchase guidelines, yet function in a truly cross-platform manner. Fundamentally, content purchased for an account should sync to all the devices the user is logged in, irrespective of the platform.

We don't mind using Apple's IAP model, however:

  1. The user's purchase on iOS is mapped to his Apple ID which does not map to his account on our platform. As per Apple's guidelines:

Non-Consumables are In-App Purchases that only need to be purchased once by the user and are available to all devices registered to a user.

  1. Our music is priced by the artists($0.5, $2.4) whereas Apple requires their in-app purchase products to be in specific tiers (Tier1: $0.99, Tier2: $1.99, etc.)

  2. App store allows a maximum of 1000 IAP ids per app. How can we possibly map a product Id uniquely to a piece of music when we have more than 1000 different items to sell?

1

1 Answers

2
votes

2) You can allow the user to purchase 'tokens', say 99 Tokens for $0.99 or 1099 tokens for $10.99 then charge a certain number of tokens for each purchase - 50 Tokens for a song that costs $0.50. The Token is a consumable IAP. But it is used to purchase something that is non-consumable in that your server will forever remember that they purchased the song. Tell App Review that you are using a Token system (consumable) but creating a non-consumable purchased item if/when they object to the purchase being unsuitable as a consumable.

1) Regarding the cross platform - the user can only purchase Tokens on the iOS app and only spend Tokens on the iOS app and that gets them the songs. When they get a song they write to your server that they have the rights to that song. If they log into your server from a different device then that song is available to them. Ditto from their Android device. Read Guideline 11.14 regarding why they can play that song on their iOS device.

3) not an issue.