Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to program auto-renewing in app purchase to satisfy Apple guidelines?

I have 2 auto-renewing in-app subscriptions being reviewed by Apple, but I keep getting rejected. Note that this is not related to IAP product (which apparently have not yet been reviewed) but instead to how I present the information in the UI. I can never get Apple to say expressly how to overcome the rejection. I appealed it once and it was again rejected, although I did put the requested information in the metadata and in the binary. I changed the flow of the app so that I present the information as soon as the user chooses the subscription and before I send the purchase request to the StoreKit. Apple apparently thinks that I am "adding to" the StoreKit modal alert, but I am not. I am presenting the information in a UIAlertController alert BEFORE the user requests to Buy or Restore. All of the buy and restore code is thoroughly tested, but I am stuck at this UI rejection.

Here is the rejection notes from itunes connect:

Guideline 3.1.2 - Business - Payments - Subscriptions

We continue to find that your app and its metadata did not fully meet the terms and conditions for auto-renewing subscriptions, as specified in Schedule 2, Section 3.8(b).

Your app's binary did not include:

– Information about the auto-renewable nature of the subscription – Links to the privacy policy and terms of use

While your app displays subscription information in a modal alert, this information must be clearly listed within the app itself before the user initiates the in-app purchase. Displaying this information in a modal alert is not sufficient.

Your app's metadata did not include:

– The length of the subscription – A privacy policy in the Privacy Policy URL field of iTunes Connect

For your convenience, we've included Schedule 2, section 3.8(b) below.

You clearly and conspicuously disclose to users the following information regarding Your auto-renewing subscription:

– Title of publication or service

– Length of subscription (time period and/or content/services provided during each subscription period)

– Price of subscription, and price per unit if appropriate

– Payment will be charged to iTunes Account at confirmation of purchase

– Subscription automatically renews unless auto-renew is turned off at least 24-hours before the end of the current period

– Account will be charged for renewal within 24-hours prior to the end of the current period, and identify the cost of the renewal

– Subscriptions may be managed by the user and auto-renewal may be turned off by going to the user's Account Settings after purchase

– Links to Your Privacy Policy and Terms of Use

– Any unused portion of a free trial period, if offered, will be forfeited when the user purchases a subscription to that publication, where applicable

Next Steps

To resolve this issue, please revise your app or its metadata to include the missing information. Adding the above information to the StoreKit modal alert is not sufficient; the information must also be listed somewhere within the app itself, and it must be displayed clearly and conspicuously.

If the above information is in your app, please reply to this message in Resolution Center to provide details on where to locate it.

like image 533
Nelson Capes Avatar asked Dec 04 '22 22:12

Nelson Capes


2 Answers

My app was approved this morning. The two keys that led to approval are: 1) putting all of the requested information into the metadata in the Description field on itunesconnect; and 2) changing the UI to a tableview controller with all of the requested information in a UITextView inside a static cell, with active links to the terms of use and privacy policy. Given my experience, I doubt that the way Evernote did it in a comment on this thread will work in the future (it looks like a UIAlertController modal alert, which has been one of the sticking points in my case - Apple absolutely does not want modal alerts, apparently because the user must click on something to display the required information). In contrast, the solution that worked for me was to have all of the information passively displayed in a tableview, and to have the in app purchase selected by clicking on a row in the tableview.Screenshot from allowed app

like image 23
Nelson Capes Avatar answered Dec 30 '22 08:12

Nelson Capes


You should try to look at what other apps are doing to get an idea of what is required. Here are the things they asking for:

1- Information about the auto-renewable nature of the subscription:

For this you need to include this section from the apple contract in you app. I think they don't want you to use a UIAlertView for this. This might be what they are referring to by 'a modal alert'. This is the text you need to include (exactly or rephrased):

• Payment will be charged to iTunes Account at confirmation of purchase

• Subscription automatically renews unless auto-renew is turned off at least 24-hours before the end of the current period'

• Account will be charged for renewal within 24-hours prior to the end of the current period, and identify the cost of the renewal

• Subscriptions may be managed by the user and auto-renewal may be turned off by going to the user’s Account Settings after purchase

• Any unused portion of a free trial period, if offered, will be forfeited when the user purchases a subscription to that publication, where applicable.

Here is an example of how evernote does it:

enter image description here

2- You also need to include links to you privacy policy and terms of use inside the app. You can put these the same place you put the information above

3- You need to include the length of you subscriptions in app description from itunes connect. (e.g monthly and annual subscriptions plans ... )

4- You need to put you privacy policy in the privacy policy URL field:enter image description here

like image 103
l-l Avatar answered Dec 30 '22 09:12

l-l