Different purchases in Apple receipt - ios

I.m testing my app with in-app purchases. For testing i'm using two devices, each logged with the same iTunes account, i've purchased (in sandbox) some products, but when i retrive the receipt and verify it with Apple server, i've noticed that the purchases are not the same, but the account is the same.
Is this the normal behaviour?

In-App-Purchases are bound to an user account, not a device.
You can't buy non-consumable products more than one time anyway.
Non-consumable products are purchased only once by a particular user. Once a non-consumable product is purchased, it is provided to all devices associated with that user’s iTunes account. Store Kit provides built-in support to restore non-consumable products on multiple devices.
Apple require that purchases be restorable on every device that is associated with a common account and that the user be allowed to reinstall the software and restore the purchase on the same device as many times as they like.
In 99.99% of cases, iTunes accounts are linked to credit card details. People therefore tend not to share them. In theory you could use the same login on more than one devices but you'd run the risk of whatever anti-fraud measures Apple have in place flagging up a potential card theft.

Related

Our iOS game just got rejected for not having restore mechanism to the life time goods

I have used consumable virtual currency purchases in my game.
The user can use that currency to unlock different types of jetpacks.
Apple rejected the game saying it requires a restore purchase button.
But apple's documentation says that consumable products does not require restore.
Why is apple considering the unlocked jetpacks as non-consumable products?
Following is the message that i have received in iTunes connect.
From Apple
10.6 - Apple and our customers place a high value on simple, refined, creative, well thought through interfaces. They take more work but are
worth it. Apple sets a high bar. If your user interface is complex or
less than very good, it may be rejected
10.6 Details Your app uses intermediary currency to purchase items that function as non-consumable products but does not include a
restore mechanism. Users restore transactions to maintain access to
content that they’ve already purchased. Next Steps Please modify
your app to include an optional user registration feature that allows
users to restore their purchases to all of their iOS devices. We
recommend indicating that account registration is necessary to restore
previously purchased In-App Purchase products, and providing a way for
users to register later if they wish to access this content in the
future.
Should i make a restore mechanism for the jetpacks ?
I am using Soomla and unity3d for iap.
In summary, what Apple are saying is that you must include some kind of user registration / account feature where you are storing the users items on your server.
When they sign in on a new device, they should still have everything they have bought in your game.
It seems that Apple considers these purchases as non-consumable products because they are non-consumable products, no matter how you try to handle them in your app. If you define them as consumables, that means a customer loses them when they uninstall and reinstall the app, buy a new phone and restore their old phone to the new one, use the app on several phones, and so on. In other words, Apple considers your use of a consumable purchase to be cheating.
Your customers would feel exactly the same. If your marketing people try to maximise the flow of money from customers to your company, they should consider methods that Apple and your customers don't consider to be cheating.

Is it possible to offer Apple's In App Purchases on an app that offers multiple user log-ins

We're designing an iPad app at the moment which offers in-app purchases for non-consumable items.
As the scope of the project has expanded, we want to allow the option to sign in to an account, and then sign out of that account and into another - similar to how one could on an app like the Facebook app.
My question is: is it possible to link Apple's in-app purchases to one of our system's user accounts, so that a User may sign in to a different device and access their purchases, but if another User signs in to my device, they cannot access my purchases (despite the device being signed in to my Apple ID)?
Any suggestions welcome
All completed in app purchases are tied to the Apple ID that was used at the time of the transaction. Since non-consumable in app purchases can only be purchased once, you can't use those. So, the only option would be to use consumable in app purchases and keep track of which system user account made the purchase. You need to store those purchase records on an external server somewhere though, since Apple will have no way of telling you which purchase went to which of your internal users. If you lose that purchase history your users will have to buy the item again, and probably not be very happy.

Made In app purchase Using with Device token or Apple ID

I am implementing In-App Purchase in my app and test around the existing apps to get some ideas. But I found a scenario which I am quite confused on it.
I have installed an iOS app and purchased the particular levels. Later I uninstall this app, sign out from existing iTunes store account and sign in again with another apple id, then reinstall that app again (same app). Here i can again i need to purchase the particular levels.But my doubt is In-App purchase method we can use based on the purchase Apple ID or Device token ?
If the user can purchased with Apple ID ,then the user can login with another device they no need to purchased again but one user can purchase app and user can login to another users Devices is the one problem..!why because another users no need to purchase.
And if we set the Device token, based on the in-app purchase user can only login that device only ,they can't login another devices with same Apple ID,here it is a problem.
I am quite confused on it... so is the purchased items tied on device if we use multiple apple ids on same device?
I understand that I can restore my purchased items on different devices using same apple id. But how about multiple apple id on multiple devices? If I have 2 apple id associated on an device, I use one of them purchased item, but later I use these 2 apple id login to another device, am I still need to pay again to download items I have purchased on previous device?
Please let me know if my questions are not clear... I hope someone can give some idea on sharing purchased items against different devices and apple ids.And which one use the in-app purchase.
Any suggestions and comments are welcome. Thanks a lot.
IAPs fall into two categories - consumable, and non-consumable.
Non-consumable purchases (purchase level 10-15 of a game, upgrade to pro, etc) are synced across devices by the system, and are restored by the system. They are tied to the Apple ID.
Consumable purchases (purchase 5 gold coins) are NOT synced or restored. Your application needs to remember that the purchase has been made, and store information about that so that a backup and restore correctly restores the user's state. If the user uninstalls and then reinstalls, they have lost any previous consumable purchases (but they will retain all non-consumable purchases, and your application can query for these). You can, of course, sync all information about consumable purchases to your own server, but you would then need to have the user create an account with you. This would allow you to sync consumables between devices.
The Device ID (which you can't get, anyway) has no relevance.
See https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/Products.html for more discussion.
If the IAPs are non-consumables (or autorenewables) they can be 'restored' by the user (i.e. the app would execute a restoreCompletedTransactions or refreshReceipt). I believe that the username/password log-in required to restoreCompletedTransactions (or refreshReceipt) must be the same username/password as the person who downloaded the app onto the device. Given that requirement, I still believe that a single 'purchaser' can share their single purchase of a non-consumable IAP on many devices.

How to choose a correct in-app type?

I've read all the in-app documentation and I've tired of fighting with App Review Board, that's why I'm asking for your advice.
Please, help me to choose the right type of in-app purchase for my app and to upgrade my app to use a subscription in-app model (non-renewing subscription is also possible).
This app has an entertaiment text and photo content, which is dynamicaly updated twice a day.
I've got a free version, which has:
Ads
Limitations (limited number of new messages)
No photos
And premium-account with:
No ads
No limitations
Photo content
I want to sell this content like subscription (you can buy a premium-account for a period of time), also I've get a mechanism, that allows to use premium-account from every device you have and you can restore your purchases easily, but App Review Board writes:
The App Review Board evaluated your app and determined that the
original rejection feedback is valid. Your app does not comply with:
11.15
The Purchasability Type for one or more of your In-App Purchase
products was inappropriately set.
Your In-App Purchase is currently flagged as Auto-Renewable
Subscription. However, it would be more appropriate to use the
Non-Consumable In-App Purchase type because the product is used to
unlock features of the app. Non-consumable products are only purchased
once by users and are always available on all devices that are
associated with that user's iTunes account.
How should I change my app to sell my content as subscription?

iTunes Connect In-App Purchase multiple apps

We have two targets from the same code. Reason is to be able to localize the icon in the app store and on the device. They have different App IDs, but we was hoping to use the same IAPs for both.
We use Urban Airship to look after the IAPs, but iTunes Connect doesn't allow us to enter the same Product ID in the different apps.
We don't really want to keep different sets of codes and IAPs, so is there any way of getting this to work?
Thanks
No.
In-app purchases require non-wildcarded App IDs (foo.bar.bang, not foo.bar.*).
App IDs must be different.
In-app purchases can only access their own App IDs available purchases.
I suggest you rethink the need for localized icons. (If there is text on your icon, you should definitely rethink it!) Otherwise, genericize the icon.
Possible workaround (i think you can do this): both apps can use iCloud to access shared defaults. Unlock purchases made from one app in the other as identified by defaults.
No you can't use the same subscription as #bshirley mentioned - according to https://developer.apple.com/app-store/subscriptions/
But you can create two subscriptions and sync between the apps so your users will not pay twice for the same thing.
Offering Subscriptions to Multiple Apps
You can offer auto-renewable subscriptions to access multiple apps in your portfolio. Each app must be approved to use auto-renewable in-app purchases and must be published under the same developer name on the App Store.
In iTunes Connect, you’ll need to set up separate and equivalent auto-renewable in-app purchases in each app offered in the multi-app subscription so that users can subscribe from any app. To avoid users paying multiple times for the same offering, you are responsible for verifying that they are subscribers in one of the apps before showing any subscription options. To do this, consider maintaining an account management system in which users create an account with your business to sign in to each app.

Resources