Reputation: 2123
My App uses in-app-purchases for contents (non-consumable) and keeps audit of all the purchases in the backend. According to Apple Guidelines, the app should implement restore functionality for restoring already purchased items. Does it always has to be done via a call to SKPaymentQueue:restoreCompletedTransactions
or can I use my own mechanism in which I get the list of the purchased items from my backend and restore them in the app?
Upvotes: 1
Views: 750
Reputation: 1323
I have developed storekit for the non consumable product. See if it is useful for you or not. :)
Upvotes: 0
Reputation: 2123
Apparently, Apple requires the usage of SKPaymentQueue:restoreCompletedTransactions
method for restoring in app purchases. Here is the response we got from Apple:
We found that your app initiates the In App Purchase process in a non-standard manner.
It would be appropriate to use the Store Kit to restore In-App Purchases. In addition, it would be appropriate to initiate the same process that takes place when performing the initial In-App Purchase, i.e. prompting the user to provide the Apple ID password and confirming the transaction has been completed.
I know, that App review is sometimes a very subjective thing, but to be on the safe side, use the Store Kit functionality for that.
Upvotes: 0
Reputation: 7845
SKPaymentQueue:restoreCompletedTransactions
is a convenience method. You can restore in-app purchases using information stored on your server, if you wish. In fact, you have to implement the restore functionality yourself for non-renewing subscriptions, because Store Kit doesn't provide it for that kind of in-app purchase.
Upvotes: 2