silentser
silentser

Reputation: 2123

Restoring in-app-purchased items without using restoreCompletedTransactions

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

Answers (3)

user392406
user392406

Reputation: 1323

I have developed storekit for the non consumable product. See if it is useful for you or not. :)

Upvotes: 0

silentser
silentser

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

Daniel Martín
Daniel Martín

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

Related Questions