Users can restore removed inapp purchases? - iphone

In my app I would like to replace an in-app purchase by a new one.
Users can restore the previous in-app purchase if the in-app is deleted or just hidden?
Thanks.
EDIT: I mean restored an in-app removed from iTunes connect.
Are the in-app are stored in the itunes servers?

Yes, if is already bought it; the same thing with app: the user can restore the app even if you remove the app from sales after he already bought it.
The restore functions restores all transactions from your app that was ever made from your Apple!
But, you can check in
paymentQueueRestoreCompletedTransactionsFinished
all the restored productIdentifier and "respond" accordingly

Related

How do I maintain state of in app purchase across devices and restores

I am trying to implement in app purchase for an iOS application
Did some googling and read this thread : Maintaining records of iOS in-app-purchases
It seems the way to go indicated is to use keychain
My in app purchase type is - Non-Consumables
Am wondering what is the best strategy for :
1
If a user has made an in-app purchase and resets the phone / deletes the app and then again downloads the app - do not want the user to pay up again
2
if the user does an in app purchase on an iPhone and then does an update on the iPad - he should get the in app purchase content without paying again
As far as possible do not want to store anything on my server if at all possible and am sure storing something locally on the device is useless for resets / multiple devices
Thanks!
akila
Apple keeps a record of what the user has purchased.
You also must implement a in app purchase restore button for the user in case of the two situations you mentioned above.
The inapp purchase restore button asks the App Store if the user has purchased before and sends you authorization if the have.
I recommend you use a library like RMStore on github to deal with in app purchases, the only big manual thing you need to do is obfuscate the in app purchase status as it stores it in the NSDefaults.
If a user has made an in-app purchase and resets the phone / deletes the app and then again downloads the app.... you want to restore the transactions by keeping an Restore button . Once you click on the restore button you want to connect with the storekit for restore the transactions. Their you can get the list of products that user has already purchased . Check the list of productids if your productid is match then unlock the content. All the best

Restore functionality for paid application in iPhone

I am going to upload an iphone app with in-app purchase. Previously i had made this application paid. Now i am going to make it free with in-app. Now the users which have already downloaded the app needs not to do that in-app purchase part. How is this possible?
If existing user will download updated version, then he has to upgrade app by paying through In-App purchase.
There is no such facility if user updates the application.

In-App purchase storing the purchase state

I am implementing in-app purchase to my iPhone App. I am following with this tutorial http://xcodenoobies.blogspot.com/2012/04/implementing-inapp-purchase-in-xcode.html and everything working fine.
But in the above tutorial purchase state is saving in the Phone KeyChain Utility. We can able to purchase it only once.
The second time when i downloaded the App it installs with purchased state .
In in-app purchases purchase should be unique to Apple ID or Device or Both ?
Thanks.
Yes, if you create product as Non-Consumable then it will allow only once to buy.
I haven't found any possibility to undo a purchase of a non-consumable product, neither on the device nor in iTunes Connect. So you have to either test your in-app purchases with a consumable product, or you need to delete your test user in iTunes Connect and register a new one.

iphone - Is it necessary to create new app in itunes connect for in-app purchases

I'm already having a free application in app store (itunes connect)
Now I want to add in-app purchase for that.
So, I created a new product in in-app purchase and trying to test it. Its saying the product id is invalid.
But I created new app in app store with product id's and when I'm testing, its working fine.
Is it necessary to create new app to distribute my old app with in-app purchases. Can't I add in-app purchase for already existing application?
Yes, you can add in-app purchases to existing apps that previously did not support them.
Is your device jailbroken? If so, you need to revert the jailbreak for IAP to work.

Why doesn't in-app purchase show my application's name when testing in the sandbox?

I have completed in app purchase for my application. Its working fine.
The only problem i have , when i test in app purchase in sandbox enviornment, It shows a message do you want to buy an "un known app" for 1.79. why doesnt it shows the name of the app.
Plus when i am going to upload the final binary to app store. what i need to do to swrich in app purchase from sandbox enviornment to real in app purchase or it will switch automaticall?
Thanks guys
Probably your configuration on iTunes connect for this in app purchase is wrong, maybe you forgot to enter the name.
Go to iTunes connect, Manage you in app purchases, select the desired app, and make sure that you have all the fields correctly filled.
When you release on the app store, you don't have to do anything, the sandbox environment is just used when you are developing, when the app is uploaded to the app store, this behavior changes and you can't use your sandbox account anymore
Hope that helps.
When I added in-app purchase support to my application, I had already released a version so there was an entry in iTunes Connect. But I've read that you need to add a new application in iTunes Connect, but check the option to upload a binary later. Then you can enable In-App Purchase on it and configure items.
And your sandbox does not go away after the application is submitted. The In-App Purchase system determines whether to use a sandbox based on the account that is currently logged in to the store on the device. I think as long as you don't have a credit card (or any payment information?) associated with the account, and the account is designated as a In-App Purchase Test User in iTunes Connect, it will use the sandbox. You can log out and use a different account through the "Store" item in Settings.