in-app purchase

Hi,

Can someone explain to me why it is not allowed for developpers to integrate an other paiement system than in-app purchase but conversely Apple allow some apps to provide credit card paiement and Paypal inside app for their users ?

Some compagny dont get the same guideleines ?


Cant wait someone can explain to me.


Regards,

Accepted Answer

Hi


Read the App Store review guidelines, point 11. Purchasing and currencies


You should use InApp purchases "to purchase content, functionality, or services ", such as a new game level, or to unblock a premium feature of your app. But you should not use InApp purchases "to purchase physical goods or goods and services used outside of the App". For instance, to buy an uber ride or to make an hotel reservation. In such cases you can use another payment method such as paypal or Apple pay.

There are two questions in your question:


1) can I use a system other than IAP to allow users to make purchases?

2) if I can, can I use that system within the app.


The answer to #1 depends on what you are selling. Apple requires the use of IAP for use of code that they distribute but not for real world goods sold using an app that they distribute. This is explained in the guidelines with an interesting exception in 11.14.


If the use of a non-IAP system is allowed, then the answer to whether that system can be imbedded in the app depends on how Apple is interpreting 11.2. One way it can be interpreted is that you can't have that "system" "in an App". This interpretation is supported by the requirements in 11.14. But another way to interpret 11.2 is that the "system" can be in the app, just the stuff bought ("content, functionality, or services") can't be used in the app. Here is the ambiguous 11.2:

11.2 Apps utilizing a system other than the In-App Purchase API (IAP) to purchase content, functionality, or services in an App will be rejected


So it is unclear whether you can imbed a system other than IAP into an app for purchases of real world goods and services. But clarity to that question is clearly not obtained through the argument "they did it why can't I".

What I feel is unclear in the guidelines is whether you can use Stripe for features of your back-end. For example, I have an app where free users get less storage space on my server, and premium users get more storage space on my server. All functionality inside the app is the same. But if a free user passes their storage limit, their files will no longer sync.


Is Storage Space on a server considered "content, functionality, or services"? Or is it considered "physical goods/goods and services used outside the app"?


To me it seems like the latter, but there's no definite answer and I don't want to spend a bunch of time integrating the SDK only to get rejected. Any clarity on this? Also, in my app Android users will have access to the same files as iOS users. And they could go to a web site, log in, and see their files there too.

>.... premium users get more storage space on my server.....if a free user passes their storage limit, their files will no longer sync.....Is Storage Space on a server considered "content, functionality, or services"? Or is it considered "physical goods/goods and services used outside the app"?


If the storage space is used from within the app then it is clearly NOT 'services used outside the app'. If it is used from outside the app then it clearly is 'services used outside the app'. But this is from a guideline that would disqualify using IAP. It has NOTHING to do with whether you may use a non-IAP system to make the purchase. (for example - 'You may not harm a person with a knife' does not mean that 'you may harm a person with a gun.')

If you are using the storage in the app then 11.2 applies no matter how you interprete it.

11.2 Apps utilizing a system other than the In-App Purchase API (IAP) to purchase content, functionality, or services in an App will be rejected

If you are not using the storage in the app then 11.2 applies only under one of the two posted interpretations.

in-app purchase
 
 
Q