Search results for

“restore purchases”

22,101 results found

Post

Replies

Boosts

Views

Activity

Reply to Sandbox parent authorization
I like this solution of manually re-adding the transaction observer as a way of manually checking if the purchase was approved, but I'm wonder if restoring purchases would achieve the same thing? I'm just hoping to avoid having to have a dedicated Check for purchase approval button if possible.
Topic: App & System Services SubTopic: StoreKit Tags:
May ’17
Reply to SKProductsRequest fails with SKErrorDomain error 0
You wrote One other odd thing I noticed in the user's logs, since I posted, is that the app receipt present, but not valid. On startup we check the receipt signature and GUID hash. These checks fail....There is a lot more wrong with this user than a call to request:didFailWithError:But again, you should reconsider the logic of your IAP - restoreCompletedTransactions does not require a list of products. The issue starts out with 'user cannot restore purchases' but the problem become 'user can't get list of products available' - that has nothing to do with restoring purchases; IMHO.
Topic: App & System Services SubTopic: StoreKit Tags:
Jul ’15
Reply to Is "Restore" button required for apps offering auto renewable subscriptions?
>but there is no official final wordFrom Technical Note TN2387:In-App Purchase Best PracticesProvide a UI for restoring productsIf your app sells non-consumable, auto-renewable subscription, or non-renewing subscription products, then you must provide a UI that allows them to be restored. See Differences Between Product Types and Restoring Purchased Products for more information.
Jun ’19
Dealing with IAP Purchase Restore
Do you let your users restore their IAP purchases with or without history of purchases? I don't. And it had not been a problem in the past 10 years or so till two days ago when the reviewer rejected my new iOS software submission. He or she said that it was a bug since the Restore button is disabled. I saw the screenshot he or she gave me in which it was obvious that the reviewer had not made a purchase. For me, I cannot think of a reason why one with no history of purchases should be allowed to proceed and restore purchases. I don't even know what the reviewer is trying to restore. So far, the reviewer doesn't buy my explanation or seems to ignore me. What do you think? Do you let them go lucky by accident? By the way, this is a non-consumable IAP product.
4
0
111
Aug ’25
Reply to Restore In app Purchase
Restore purchases is really a refreshed app receipt, it is successful whether there are 0 in-app purchases in it or 100. It is too to your API to review the transactions, if any, and entitle accordingly. Note: if you use VerifyReceipt or Subscription Status with the App Store Server API - then you can effectively do a “Restore” automatically by leveraging the latest_receipt _info and restore access (or see they are a new or expired subscriber) without any customer action.
Topic: App & System Services SubTopic: StoreKit Tags:
Oct ’21
Implement "traditional" in-app purchase restore
I love how flexible yet simple the StoreKit2 APIs work. With the help of the session video and the provided example code, Implementing pro-active in-app purchase has been relatively straightforward. Now I wonder, does Apple require me to add a button - Restore Purchases - to the set of in-app purchase options in my app at all? If the answer is yes, is there any best practice on how to implement the traditional way of restoring in-app purchases with StoreKit2?
1
0
1.1k
Sep ’22
InApp purchase subscription and Restore
I have a MacApp with a 1 year subscription. I can buy it, the purchase request for the buy shows up. Like this: NSSet *productIdentifiers = [NSSet setWithObject:@Test]; productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers]; productsRequest.delegate = self; [productsRequest start]; this should work with the Delegate. If a try to restore the InApp purchased subscription like this: NSLog(@Restore Purchase); productIdentifiers = [NSSet setWithObject:@Test]; productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers]; [productsRequest setDelegate:self]; [[SKPaymentQueue defaultQueue] addTransactionObserver:self]; [[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; } But the paymentQueueRestoreCompletedTransactionsFinished is not called. If i purchase the subscription again it shows me the SKPaymentTransactionStateRestored has been selected. Is this so ok? I think it is a little bit irritatin
0
0
586
Sep ’22
Receipt refreshing as a complete replacement for purchase restoration
Can receipt refreshing be used as a complete replacement for restoring previously purchased non-consumable products? If by pressing a 'Restore Purchases' button the app refreshes and validates the receipt, can -[SKPaymentQueue restoreCompletedTransactions] method and handling of the SKPaymentTransactionStateRestored state be completely dropped?
3
0
745
Jul ’16
Reply to iOS transactions not in SKPaymentTransactionStateRestored state during restore flow
RMStore switches to a block handling of purchase, restore and query. You no longer have to implement any of the oberserver delegate methods like updatedTransactions. From what I've seen from the docs and the demo project you also don't have to manually call finishTransaction on any transactions.https://github.com/robotmedia/RMStoreThis RMStore block is being called in relation to the Restore Purchases touch up inside.
Topic: App & System Services SubTopic: StoreKit Tags:
Aug ’17
Reply to In-App Purchase Refresh receipt
Thanks PBK for your help,Can we use verification Recipet API instead of Refreshing Receipt and Restoring purchases Products?Could you please help me on below items as well.0down votefavorite1.user1 make purchase a plan which is 30 days plan with device1 with his iTunes account and User 2 makes purchase another plan which is 60 days plan with device 2 with his iTunes account, what happens if user1 logged into device2 but device2 still have user2 iTunes account.if i restore purchase or receipt validation in device 2 i'll get User 2 purchase as auto-renewals will work with iTunes Account.how we can make sure that user1 should get 30 days plan only not 60 days plan?
Topic: App & System Services SubTopic: StoreKit Tags:
Apr ’17
Reply to In-App Purchase Refresh receipt
>4.Now if i restore purchasesYou (i) should not restore purchases. Let the user using the device restore purchases. When they restoreCompletedTransactions or refresh the receipt the user will be asked to log into their Apple account. User 1 will log into user 1's account not user 2's account since user 1 does not know user 2's password. (If user 1 knew user 2's password then user 1 is user 2 for all intents and purposes.) Actually, the system might not allow user 1 to access restore functions on a device on which the app was installed under user 2's Apple ID - I'm not sure.
Topic: App & System Services SubTopic: StoreKit Tags:
May ’17
Reply to Sandbox parent authorization
I like this solution of manually re-adding the transaction observer as a way of manually checking if the purchase was approved, but I'm wonder if restoring purchases would achieve the same thing? I'm just hoping to avoid having to have a dedicated Check for purchase approval button if possible.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
May ’17
Reply to SKProductsRequest fails with SKErrorDomain error 0
You wrote One other odd thing I noticed in the user's logs, since I posted, is that the app receipt present, but not valid. On startup we check the receipt signature and GUID hash. These checks fail....There is a lot more wrong with this user than a call to request:didFailWithError:But again, you should reconsider the logic of your IAP - restoreCompletedTransactions does not require a list of products. The issue starts out with 'user cannot restore purchases' but the problem become 'user can't get list of products available' - that has nothing to do with restoring purchases; IMHO.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Jul ’15
Reply to Is "Restore" button required for apps offering auto renewable subscriptions?
>but there is no official final wordFrom Technical Note TN2387:In-App Purchase Best PracticesProvide a UI for restoring productsIf your app sells non-consumable, auto-renewable subscription, or non-renewing subscription products, then you must provide a UI that allows them to be restored. See Differences Between Product Types and Restoring Purchased Products for more information.
Replies
Boosts
Views
Activity
Jun ’19
Dealing with IAP Purchase Restore
Do you let your users restore their IAP purchases with or without history of purchases? I don't. And it had not been a problem in the past 10 years or so till two days ago when the reviewer rejected my new iOS software submission. He or she said that it was a bug since the Restore button is disabled. I saw the screenshot he or she gave me in which it was obvious that the reviewer had not made a purchase. For me, I cannot think of a reason why one with no history of purchases should be allowed to proceed and restore purchases. I don't even know what the reviewer is trying to restore. So far, the reviewer doesn't buy my explanation or seems to ignore me. What do you think? Do you let them go lucky by accident? By the way, this is a non-consumable IAP product.
Replies
4
Boosts
0
Views
111
Activity
Aug ’25
Reply to Restore In app Purchase
Restore purchases is really a refreshed app receipt, it is successful whether there are 0 in-app purchases in it or 100. It is too to your API to review the transactions, if any, and entitle accordingly. Note: if you use VerifyReceipt or Subscription Status with the App Store Server API - then you can effectively do a “Restore” automatically by leveraging the latest_receipt _info and restore access (or see they are a new or expired subscriber) without any customer action.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Oct ’21
Implement "traditional" in-app purchase restore
I love how flexible yet simple the StoreKit2 APIs work. With the help of the session video and the provided example code, Implementing pro-active in-app purchase has been relatively straightforward. Now I wonder, does Apple require me to add a button - Restore Purchases - to the set of in-app purchase options in my app at all? If the answer is yes, is there any best practice on how to implement the traditional way of restoring in-app purchases with StoreKit2?
Replies
1
Boosts
0
Views
1.1k
Activity
Sep ’22
Reply to Do restored transaction get stored in the local receipt file?
do transaction restored via restoreCompletedTransactions() make their way into the receipt file? Yes. Our app uses the local receipt as the source of truth In that case your restore purchases button can just call SKReceiptRefreshRequest. No need ever to call restoreCompletedTransactions.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Oct ’22
InApp purchase subscription and Restore
I have a MacApp with a 1 year subscription. I can buy it, the purchase request for the buy shows up. Like this: NSSet *productIdentifiers = [NSSet setWithObject:@Test]; productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers]; productsRequest.delegate = self; [productsRequest start]; this should work with the Delegate. If a try to restore the InApp purchased subscription like this: NSLog(@Restore Purchase); productIdentifiers = [NSSet setWithObject:@Test]; productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers]; [productsRequest setDelegate:self]; [[SKPaymentQueue defaultQueue] addTransactionObserver:self]; [[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; } But the paymentQueueRestoreCompletedTransactionsFinished is not called. If i purchase the subscription again it shows me the SKPaymentTransactionStateRestored has been selected. Is this so ok? I think it is a little bit irritatin
Replies
0
Boosts
0
Views
586
Activity
Sep ’22
Reply to Universal Purchase and In App Purchases, are purchases shared?
Assuming that you use the same App ID for both your iOS and tvOS app, and thus treat the app as a Universal Purchase, both platforms will be able to see the same subscriptions and non-consumable purchases, and the developer can restore purchases across the platforms.As is the case on iOS, consumable purchases will need to be managed/syncrhonized on your own.
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
Sep ’15
Receipt refreshing as a complete replacement for purchase restoration
Can receipt refreshing be used as a complete replacement for restoring previously purchased non-consumable products? If by pressing a 'Restore Purchases' button the app refreshes and validates the receipt, can -[SKPaymentQueue restoreCompletedTransactions] method and handling of the SKPaymentTransactionStateRestored state be completely dropped?
Replies
3
Boosts
0
Views
745
Activity
Jul ’16
Reply to iOS transactions not in SKPaymentTransactionStateRestored state during restore flow
RMStore switches to a block handling of purchase, restore and query. You no longer have to implement any of the oberserver delegate methods like updatedTransactions. From what I've seen from the docs and the demo project you also don't have to manually call finishTransaction on any transactions.https://github.com/robotmedia/RMStoreThis RMStore block is being called in relation to the Restore Purchases touch up inside.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Aug ’17
Reply to In-App Purchase Refresh receipt
Thanks PBK for your help,Can we use verification Recipet API instead of Refreshing Receipt and Restoring purchases Products?Could you please help me on below items as well.0down votefavorite1.user1 make purchase a plan which is 30 days plan with device1 with his iTunes account and User 2 makes purchase another plan which is 60 days plan with device 2 with his iTunes account, what happens if user1 logged into device2 but device2 still have user2 iTunes account.if i restore purchase or receipt validation in device 2 i'll get User 2 purchase as auto-renewals will work with iTunes Account.how we can make sure that user1 should get 30 days plan only not 60 days plan?
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Apr ’17
Reply to Newly created Sandbox Test Users share a purchase history preventing me from testing "Restore Purchases" on a new user
I even just tried creating a Sandbox Test User configured with a different country's iTunes Store, and it still downloaded 8 of my 17 available in-apps when I clicked to restore purchases (the same 8 that it restores with every new test user I try)
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Jul ’16
Reply to In-App Purchase Refresh receipt
But your case was:1.user 1 purchased 1 month plan 2.User 2 purchased 6 months plan3.4.Now if (user1) restore purchases in device 2 will get 6 monthsBut if user1 is user2 then why not let the user 1/2 get the 6 months they purchased.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
May ’17
Reply to In-App Purchase Refresh receipt
>4.Now if i restore purchasesYou (i) should not restore purchases. Let the user using the device restore purchases. When they restoreCompletedTransactions or refresh the receipt the user will be asked to log into their Apple account. User 1 will log into user 1's account not user 2's account since user 1 does not know user 2's password. (If user 1 knew user 2's password then user 1 is user 2 for all intents and purposes.) Actually, the system might not allow user 1 to access restore functions on a device on which the app was installed under user 2's Apple ID - I'm not sure.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
May ’17