Problem with Review Guideline 3.1.1 and 3.1.5

Hello. I have an app which allows to sell 3D row scanned model. There is a lot of model with different price, including Free too.

Currently user can buy the model which they like via PayPal, then they will get email, which will contain model file with textures. That model users can use wherever they want.



But app rejected in 2nd update. By reason - Guidline 3.1.1.

Why i need to use IAP? The item which user buy, will be used outside of the app - Guidline 3.1.5, not inside the app(like gems in some games).

And here is some functions, which i cant understand how to implement in AIP.

1)before chekout, user can use discount code, so price will be changed dynamicly.

2)im able to chnage price of product from admin panel.

Replies

Guideline says:

3.1.1 In-App Purchase:

If you want to unlock features or functionality within your app, (by way of example: subscriptions, in-game currencies, game levels, access to premium content, or unlocking a full version), you must use in-app purchase. Apps may not use their own mechanisms to unlock content or functionality, such as license keys, augmented reality markers, QR codes, etc. Apps and their metadata may not include buttons, external links, or other calls to action that direct customers to purchasing mechanisms other than in-app purchase.

Do I interpret correctly that you app is giving access to premium content (the models).


3.1.5(a) Goods and Services Outside of the App: If your app enables people to purchase goods or services that will be consumed outside of the app, you must use purchase methods other than in-app purchase to collect those payments, such as Apple Pay or traditional credit card entry.


I agree, this is not totally clear in your case.

May be they understand that what is bought is not really external to the app ?

You could try to explain to the review board why you considered it external.



Was first version accepted with Paypal ?


For discount codes, could this help ?

https://stackoverflow.com/questions/50732606/ios-how-can-we-offer-discount-through-promo-code-for-in-app-purchase

No, there is no premium content. App shows models preview, which user can buy and use it outside of the app, wherever he/she wants.
Yes, very 1st version off app accepted with Paypal.
I checked that link. Seems it is what i could use, when Paypal version will completely ignored. The biggest problem is that user can add few items in cart. So is it possible to make IAP request for few items?
I relly cant understand why Apple team rejected it, becuase my app should be consider as Guideline 3.1.5.

At then, whatever we say, it is a sivereign Apple decision, whatever your interpretation of the rules.


When they speak of premium content, I understand they mean a content one cannot get without payment. I understand it is exactly the case here.


Anyway, only Reviewer can answer completely your question. Did you try to explain how your app works and why you think it does apply 3.1.5 ?

The demonstration must be very clear, not just an arguing why you estimate you comply… nor that you find it difficult to implement following the rules.


Good luck.

Hi. Sorry for very late reply.
Main reason of rejecting is that im selling digital content.
So, i decribed them all function of the app. But they dont want understand it. I exaplined all problems, why i can't use in-app purcase method. One of them is this: I have cart option in app. user can add items there and then pay total price,, and this cant be dont with in-app purchase.
Whatever, i get some other comment in other forums.
One person tells me: "Do like Netflix, ask user to add crefit card in theirs acount, and use it as a payment method: So user will buy item/s in app, without leaving app or being redirected somewhere else."
My question to you. What you thing about it? This is perfect solution for me - i can use Stripe in backend. and all functions will work.
I just afraid that they will reject it again, and i will lose time.
Thanks.

> No, there is no premium content. App shows models preview, which user can buy and use it outside of the app, wherever he/she wants.


One problem this presents is 4.2.2


>Yes, very 1st version off app accepted with Paypal.


That does not mean that App Review will accept the same app a second time.


>So is it possible to make IAP request for few items?


You can sell a package of 'tokens' as a consumable IAP. The user can then exchange those tokens for various products from a list of products within the app. Each product could require a different number of 'tokens'.


> I relly cant understand why Apple team rejected it, becuase my app should be consider as Guideline 3.1.5.


Actually, 3.1.5(a) refers to real life 'goods and services' not explicitly digital goods. But App Review may not realize that the purchase cannot be viewed within your app in which case, a clearly worded appeal might work. Be sure that it can be understood by App Review and doesn't use jargon like '3D row scanned model' which might not be understood by experts outside your field.

Hi. Thank You for reply.
Didnt get how 4.2.2 is connected to my app.
About tokens - thats is a good idea. Very good. I will use it lastly 🙂
Yes about 3.1.5 i already understand that. Please, can you check my answer above(about credit card payment) and share you ideas about it.
Thanks.

if all the app does is offer the '3d row scanned models' for sale then it is subject to:


4.2.2 .....apps shouldn’t primarily be marketing materials.....


> check my answer above(about credit card payment) and share you ideas about it.


If the app uses the models within the app then you must use IAP. If the app does not use the models within the app then you can use anything you want - provided you can convince App Review that you are not using the models within the app or otherwise unlocking code within the app after the purchase.

App does not use the models within the app, and its is not unlocking anything. I fuly explained how app works. but Review team want me to do IAP. So now i think about credit card system. Netflix uses same way - user adding card information, and then can purhcase films with it(and film is digital content too).

> but Review team want me to do IAP.

If you use IAP you do not use credit cards. You rely on Apple to collect revenues and distribute them to you.


>So now i think about credit card system

That means you will not use IAP. You can appeal App Review's rejection stating that you do not unlock code or display the contents of the models in your app.


>Netflix uses same way

Netflix operates as a reader app under

3.1.3(a) “Reader” Apps: Apps may allow a user to access previously purchased content or content subscriptions (specifically: magazines, newspapers, books, audio, music, video, access to professional databases, VoIP, cloud storage, and approved services such as classroom management apps), provided that you agree not to directly or indirectly target iOS users to use a purchasing method other than in-app purchase, and your general communications about other purchasing methods are not designed to discourage use of in-app purchase.


But you said you do not display the contents of the models in your app.

I said purchased models can't be used in app, they should be used outside of app - in films, cartoonss, games development, etc.
App is showing preview of the model(how it looks-user can rotate and look it from all sides), and giving information about poly counts, textures, UVs, etc.


About 3.1.3(a), I think my app can be considered as reader app to, becuase app allows user to access previously purchased content(3D model). There is a purchase history page in app, where user can check purchased models. If user lost purchased model, then he/she can request it again(wihtout any pay), and app will send email with model and textures inside.
I didnt exaplained this part to Review Team.
What do you think, if I explain it, will they approve the application?
Thanks for helping me. I really appreciate it.

>will they approve the application?


Pls. keep in mind that App Review isn't here, and no one here can promise what they will/won't accept reject. It is up to you to decide what approach to take. My opinion is that your best chance of success at this point is to submit your app as a reader.


Good luck.


Ken

I did not suggest that you consider operating as a reader app! (I see another developer suggested that his "opinion is that your best chance of success at this point is to submit your app as a reader." That is not my opinion.) NetFlix operates as a reader app when you purchase the subscription on their website not through the NetFlix app. Even if you are a reader app when you sell content in your app you must use IAP.


Let's get back to the idea of whether you are a 'reader app' were you to access content sold outside of the app.


1) After purchase of a model, does your app display ('access') that model differently than before the purchase? If it does not, then you are not a reader app - your use of the purchased content is even less than a 'reader app'. You can use a third party system (PayPal) to make the purchase even within the app if you can convince App Review that you do not unlock any code or functionality in the app with the purchase of a model.


2) After purchase of a model, does your app process that model in some way differently than it did before the purchase? By 'process' I mean something different than simply display or access it. If so you are not a reader app - your use of the purchase is more than a 'reader app' - you are unlocking code and functionality within the app. You must use IAP inside the app to make the purchase and you may not access a purchase made outside of the app. It is unclear to me whether just a 3d rendering of an image, only after purchase, is more than 'displayng or accessing' and would let you operate as a reader app.

I already mixed up everything. Is reader app allow me to use purchase method, other then in-app?
Answer to your question.
1) It does. In preview page, where user can look at the model from all sides, with all textures(like sketchfab app, if you know). In bottom part of that page there is a "Cart" icon, which will add model into cart. When previewing purchased model, intead of "Cart" icon, app shows "Get link" button. By pressing that user will get email, which will contain model with textures(actually it is a one time model download link. but user can get that link how much he/she want, becuase it purchased already(no limit)). Also user can find purchased models in page "Shoping history", where all displayed models have their own "Get Link".
So yes, there is difference between purchased and not purchased model.
2) After purchasing model, app will continue "process" model as before, nothing changing(expect cart icon, described above)
So in both question, my app can be considered as a reader app, right?
Thanks.

If you are operating as a reader app then consider the following comment:

In bottom part of that page there is a "Cart" icon, which will add model into cart.


Is the purchase of the contents of the "cart" done through IAP or by other means? If it is done by other means then it may be in violation of this requirement for a reader app:

you agree not to directly or indirectly target iOS users to use a purchasing method other than in-app purchase


As I understand your process, after a purchase the user just gets an email with a link. The contents of that email provides access to a model. The email is read outside the app, the model is viewed outside the app and the only difference in the app is that the purchase or download button changes. If that is correct then I would recommend you abandon 'reader app' and appeal the rejection stating:


"The app displays a complex catalog of models that can be or have been purchased by the user. Once purchased, a model is not used within the app nor is the display of the model within the catalog changed in any way. Once purchased no code is unlocked nor is any functionality changed within the app. The app does generate an email that provides access to the model. But that access is not through the app. The user downloads the model using their mail program and can transfer the model to a file in their computer. The model is never transfered into the app, read by the app nor used by the app. Therefore, the purchase does not 'unlock features or functionality within (the) app' and Guideline 3.1.1 does not require the use of IAP. In fact, guideline 3.1.5(a) may explicitly preclude the use of IAP were these models considered to be a 'Good or Service' because they are, in fact, 'consumed outside of the app' as referenced in 3.1.5(a)."



Here's what could happen

1) App Review responds that the app is used to distribute the access key - that email with a link in it - of the model and that access is unlocked through teh purchase and must be done through IAP

2) App Review ignores #1 and approves the app since most of the value is in the model not the distribution system.

3) App Review does not understand and rejects the app


Or use IAP. And point out that what you are selling are 'digital goods' not 'Goods and Services' as defined by 3.1.5(a).

It would be ironic if you added IAP and then got rejected because of 3.1.5(a).

Ok. Now it is clear for me about "Reader Apps".
Purchase of the contents of the "cart" done through PayPal. With IAP, i can't let user to buy few item at once. Also there is more problems with IAP, which i already explained to Review Team. Just for your inforation, i will share it with you too.

I will talk with Review Team, and will explain them with your provided text.


Problems with IAP:

1) As I know. the limit of consumable item in in-app purchase method is 10.000 items. Sooner or later I will reach that limit, because we are always adding new 3D scanned model into store.

2) Items price can be changed during some events - Easter, Halloween, New Year, etc.. I have group option in back-end side, and can discount price or make them free for all items in the same group. And this definitely cant be done in in-app purchase method.

3)IAP can send request only for one consumable item at the same time. (Cart functioanlity will be broken)

4) I'm providing discount codes, which user can use to reduce the total price(total price of few items in cart). It cant be done with in-app purchase method. I know, that in-app purchase provides "promo codes" , but with limits - 100 code PER 1 item, and up to 1000 codes for one app, and they don't do what I want. Also the codes are generating by Apple service, with random names. But I want to have custom code names, depending of upcoming events, and it can be done from backend.
Thanks.