Handling purchase failures
Purchase Receipts

Restoring Transactions

When a user reinstalls your application they should be granted any Non-Consumable or Subscription products they already own. App stores maintain a permanent record of each user’s Non-Consumable and Subscription products which Unity IAP can retrieve.

On platforms that support it (Google Play and Universal Windows Applications) Unity IAP automatically restores any products the user owns upon initialization; the ProcessPurchase method of your IStoreListener will be called for each owned item the first time Unity IAP is initialized.

On Apple platforms users must enter their password to retrieve previous transactions so your application must provide users with a button letting them do so. During this process the ProcessPurchase method of your IStoreListener will be invoked for any items the user already owns.

extensions.GetExtension<IAppleExtensions> ().RestoreTransactions (result => {
    if (result) {
        // This does not mean anything was restored,
        // merely that the restoration process succeeded.
    } else {
        // Restoration failed.
    }
});
Handling purchase failures
Purchase Receipts