In App purchase and paypal - iphone

I have to create an application in which the user are of two types : basic and premium.
Now the problem in that a user can change its type using website and from iPhone application as well.
So tell me is there any issue if we allow user to change the user type
either from application or from website i.e. using Paypal.
As per the guidelines of apple we can not unlock any feature in the application using any other mode except InApp purchase.
So please advice.

As you already discovered:
As per the guidelines of apple we can not unlock any feature in the application using any other mode except InApp purchase.
Which means that you cannot let users change their type from any other source, the reason is simple: Apple gets part of the income from every in app purchase, i.e. you need to play by the rules and use only their app store network for selling any type of content to the user.

Related

App Store Rejection With Reason: your app requires users to register personal information to purchase non account-based in-app purchase products

For last few days this cat and mouse game is going on between me and App Store Reviewers. And despite searching everywhere, I have not been able to find an answer to this question, so seeking help here.
I have submitted an app with auto-renewable subscriptions in it.
My app requires that users sign-in in order to see additional options, which includes subscription option as well.
App Store Reviewers keep rejecting my app citing this same text every time:
Regarding 5.1.1, we continue to notice that your app requires users to register with personal information to purchase non account-based in-app purchase products, which does not comply with the App Store Review Guidelines.
To resolve this issue, it would be appropriate to make it clear to the user that registering will enable them to access the content from any of their iOS devices and provide them a way to register at any time, if they wish to later extend access to additional iOS devices.
We look forward to reviewing your resubmitted app.
Best regards,
App Store Review
What is non account-based in-app purchase products by the way?
I have also made it clear in my app what App Reviewer have asked above, i.e. make clear to the users that registering will enable them to access the content from any of their iOS devices. I didn't say iOS devices specifically, but said other devices since I'll have the same app on Android devices as well.
While I appreciate App Store Reviewers to help me improve my app, but I am totally lost here. I have submitted two updates to my app but every time it got rejected with the same reason.
Over this period I have also read their guidelines, read many similar cases online, but am still not clear what is required of me here.
Do they want the users to be able to purchase subscriptions even if they are not signed in? If so then technically how does this work? First it'll break the core functionality of the app since without registration I don't have user's info to create an account for them. Secondly how will I know which user purchased the subscription? I have to tie the subscription to the user's account on my backend. This means first I need to create an account for the user before user can purchase a subscription.
Please help me to get this right.
Currently I am waiting App Store's reply and my screens looks like these, with all other options removed when not signed in, and added text bottom of the Sign-In option, and help icon on top right of the screen where there is more information available for the user; and the one when user is signed-in.
If I would be a user of your app, I think I would find this behavior quite odd.
I would expect a login/registration screen when starting your app. If I decide to create an account, the Subscription button would always be visible within the settings.
However, there would also be an option "Continue without registration". If you do not create an account, the settings page could show some info text like "Some features are only available for registered members. Please tap here to create an account". Tapping the corresponding cell would show the registration page that is also shown when starting your app for the first time.
Maybe some users created an account in the past but forgot their passwort? Then they would not be able to restore their purchases, right?
Your login/registration form should also contain a "Forgot Password" option.
My app was eventually approved last year. The change I made was to remove the Subscriptions button from the Settings menu. And move it inside the user profile page. This means that user can see the Subscription option only after signing in and by going to their profile page. While this doesn't make sense to me, but that's how probably Apple wanted it. Subsequent updates to my app were also approved without any problem.

App rejected on 11.13 (New user registration is not appropriate)

DTMF call mechanism is my app.To access the app's feature first the user needs to sign in. If the user is new without any account created he can even sign up. The reasons to get rejected are the following.
11.13
We found that your app provides access to external mechanisms for
purchases or subscriptions to be used in the app, which is not in
compliance with the App Store Review Guidelines.
New user registration is not appropriate. Please see the attached
screenshot/s for more information.
To be in compliance with the App Store Review Guidelines, it would be
appropriate to remove the access to these mechanisms - including fully
qualified links to your site that could indirectly provide access to
these mechanisms, such as links to web pages for support, FAQ, product
or program details, etc.
On occasion, there may be apps on the App Store that don't appear to
be in compliance with the App Store Review Guidelines. We work hard to
ensure that the apps on the App Store are in compliance and we try to
identify any apps currently on the App Store that may not be. It takes
time to identify these occurrences but another app being out of
compliance is not a reason for your app to be.
Please help me by giving a solution for this problem. It will be very helpful if I could get the exact reason for rejecting my app.
You are probably trying to sell something, that could be part of your app. For that you should use the IAP api, that means 30% to Apple. You should demonstrate to them that what you sell is not a part of your application or a subscription service.
The whole 11 chapter of Apple store guidelines is about purchasing.
You must be really sure that what you are selling cannot be "part" of your application or you need to use In App Purchase.
Can the user sign up within the app?
If not (if the user needs to open a site to sign app) that is the problem.
You should add a signup procedure inside the app.

Paid App : need to uniquely ID the user

I am designing a paying app that will require users to create their own profile.
This app will of course be downloadable on each of the devices the user has.
This is the precise scenario I want to bypass :
the user downloads the App on an iPhone
he creates an account and start using the app that makes server
calls
he downloads the app on his iPad and with his login & password
retreives the data on the server, so far so good
Now, he lends his iPad to a friend (who didn't pay for the app).
The friend wants to use the App, and wants to create his own
account. Yet, I want to forbide this since he didn't pay for the
App.
So my problem is : I want to restrict the use of the app only to the user that paid for the App, not for his friend.
Of course, I cannot use the AppleID since there is no way to reach it from code.
I thought one moment that I could use iCloud like mentioned here but since the ( iOS unique user identifier )user can choose not to use iCloud, my problem is not solved ...
Is there an easy solution that I missed to solve that issue?
You friend will be using different apple id. You could use Restoring Transactions api of apple to get understand whether the user has purchased the app or not. This is possible for non-consumable in app purchase. Please do check the below link :
https://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/MakingaPurchase/MakingaPurchase.html#//apple_ref/doc/uid/TP40008267-CH3-SW1

In-App-Purchasing iPhone application?

I am facing problem on In-App-Purchasing in my iPhone/iPad application.
My Issues are :
1> What is the use of Shared Secret - Where we have to use this?.
2> How we can all our application form store?
3> How we can test our application?
4> To enable in app purchase - We need application on app store?
Please give me some guide line for implementing in app purchasing.
Thank you.
I am gone through the apple process to enable in app purchase but I dn't know what I missed in my steps that's why I need more clear steps to understand the In-App-Purchasing with in my application?
Basically I need full steps for In-App-Purchasing.
Thank you.
Start with reading the Apple "In App Purchase Programming guide": https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction/Introduction.html
1)http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/RenewableSubscriptions/RenewableSubscriptions.html YOU CAN FIND YOUR ANSWER HERE.
2)Sorry, didn't get you on this one
3) To test in-app-purchase
step1: log into iTunes connect, Navigate to manage your applications-->add new application (FILL THE INFORMATION)--> Availability date can be set at a later stage, select the price range-->enter the METADATA.
step2: Navigate to contracts, Tax & banking section in Itunes Connect & complete the IOS PAID APPLICATIONS CONTRACT.(Enter bank details, tax & contacts).If your app is free complete IOS FREE APPLICATIONS CONTRACT as well.
step3: Navigate to the manage users section & create a TEST user account.
step4: ADD products to your application.
step5: Transfer the application to your device using developer provisioning profile. The developer provisioning profile should use the SAME BUNDLE ID which was used while adding the application. before transferring the application navigate to settings--> store--> logout from any iTunes user account.
4) There IS NO NEED for APPLICATION TO BE ON APP STORE TO ENABLE IN APP PURCHASES.
I don't fully understand what you exactly need
Apple has a really good documentation on The Store Kit framework.
http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction/Introduction.html
I myself never created something for in-app purchase but to clarify a little bit.
I believe there are 2 ways to implement this
one is writing predefined stuff in youre source
for example, in infinity blade they let you buy extra gold.
The user asks for the list of available purchases from the app store the app store produces a list of in-app identifiers (which are predefined in code and on itunes connect)
the user selects for example "10.000 extra gold" for 0.99 dollar cents
The transaction will be made to the app store, the app store after succes returns a ok message in which the code should have a listener implemented that basically in this example add 10.000 to your "currentGold" variable.
The other way I don't know much about is connecting via an app to app store which in his turn connects to a server that is set up by you.
From what I can gather is that is what is being uses for level unlocks in for example sudoku games etc
as for Testing the purchase.
Whenever you have store kit implemented and try to connect it in the iOS Simulator.
The simulator automatically connects to a Sandbox envirenmont and therfore simulates the payment too

iPhone/iPad app rejected because of subscription model?

We intend to launch a free iPhone/iPad app on the AppStore.
The content will actually be accessible thanks to a subscription model (login/pwd authentication in iPhone app).
The subscription (about 100$ a month) is handled via a dedicated web server.
If used without subscription, this app will provide minimum value.
Does anyone know if this kind of subscription model can be rejected by Apple ?
I know some apps follow this model, but I'd like to have your thought on this before starting in this direction.
Thanks for your answer.
This is fine AFAIK - As long your app is free and you put in the description that it requires a subscription to whichever service. When you submit the app, you'll need to hand over details to a test account to Apple so that they can test it, but other than that it's no hassle at all.
I know of an app which works just like that on the app store right now - Spotify for iPhone. It's a music playing app which streams music from the web - but you need a Spotify premium account. When you first open the app, you have to sign in, and if you don't have a premium account it just tells you that you're not allowed in!
Javawag
There are plenty of apps which only work if I have an account somewhere, and some for which I have to pay for that account so, without knowing the specifics, there is nothing which immediately rules out your subscription model. There are even Apple apps, iDisk for example, which are useless if you don't have a $100 mobile me subscription.
If there are issues you can look at selling your subscription as an in app purchase (apple will take their 30% which should make them happy) or look at making the app more functional without the subscription.
Either way, when submitting for approval make sure to set up a sample account with a full subscription that the apple testers can use (there is space in the submission for including logins for this kind of thing).
Our app, previously approved, update was just rejected because we sell subscriptions through our website. (We have been doing this for 15 years, without giving Apple 30% of our money.) They are requiring that all subscriptions for iphone/ipad content go through in-app purchasing. I guess we will be looking at building a browser based app instead.
Cheers,
Gerry