Search results for

“restore purchases”

22,016 results found

Post

Replies

Boosts

Views

Activity

updatedTransactions is not called on restore.
Many our customer are facing a problem on restore process.- They bought several in-app purchase products.- In some case they need to restore products to download contents from Apple server.- We're of course offering restore function in which we use SKPaymentQueue restoreCompletedTransactions.- Restore transaction is finished immediately after customers push the restore button.- From my investigation, paymentQueueRestoreCompletedTransactionsFinished is called, but updatedTransactions is not called.- Actually there is no transaction in the queue when paymentQueueRestoreCompletedTransactionsFinished is called although they have bought products and have a valid receipt.- So there is no transaction to restore, and updatedTransactions is not called. I cannot get any SKDownload objects. That's why we cannot download any contents from Apple server.I spent many days to find a solution in the web, and found many developers had a similar problem with the san
3
0
3.8k
Oct ’15
Find restored transaction Id in receipt
I have a query regarding IAPs and the process around restoring them. Pre iOS 7 the traction Id was used as the unique transaction identifier and therefore when you restored a purchase you would get a new transaction id under the same receipt. However post iOS 7 this is no longer the case and one approach is to compare receipt and purchase dates (as per this Apple forum post):“The transaction_id in post iOS6 receipts is now the same as original_transaction_id. There is no separate field for the transactionIdentifier for the latest transaction, just for each individual IAP - and they all reflect the original purchase transaction. This means transaction_id can no longer be used to identify a copied receipt nor can it be used to tell whether the user has restored a transaction or repurchased an item for free. What you can do is detect the value of receipt_creation_date aka creation_date and compare that to the value for original_purchase_date. If they are with
2
0
2.2k
Jun ’16
Reply to >10,000 In-app purchase SKU's
You create a few consumable products called 'tokens' - e.g. 100 for $50; 10 for $8; 1 for $1. These can all be bought in any quantity the user wants. The user can then exchange a certain number of 'tokens' for any particular item in your catalog of products - each with its own price in 'tokens'. Your app is responsible for keeping track of the tokens the user has purchased.You will need to create a system that allows the user to 'restore' a purchase to a new device since your products are really non-consumable IAPs. You can use the iCloud key-value file to record the purchase and 'restore' it to other devices owned by that user. A note to App Review may help them understand how you are handling 'restore' function.For security you could learn how to 'sign' a file using a 'salted hash' of its contents.
Topic: App & System Services SubTopic: StoreKit Tags:
Apr ’20
Please tell me how to restore receipt
I will ask you a question for the first time, thank you.When processing in the flow as shown below,I want to restore the receipt of the incomplete transaction, is it possible?For example, the flow will be as follows.Purchase the item A and do not end the transactionNext, when purchasing the item B, transmitting the receipt, and finishing the transaction,Acquire the receipt of the item A for which the transaction has not endedHow do I end a transaction?I tried using SKReceipt Refresh Request,Restoration failed.
3
0
652
Apr ’17
Reply to In-app purchases failing in Testflight
I have the same problem. Sandbox testing works, using Sandbox testing account in Testflight works (tested purchase only at this point) but internal testing account does not. I have no idea how to use StoreKit logging with console log though 😊 but happy giving it a try.In case it helps further: when using Restore ( I call SKReceiptRefreshRequest as I use local receipt validation for a non-consumable in app purchase) Testflight seems to know that I am the internal testing user and prompts me for password for interal testing user and then restore fails.When using Purchase via [[SKPaymentQueue defaultQueue] addPayment:payment]; AND I am not signed in as the internal tester in Settings, then I have the option to use existing or new Apple ID. When using a Sandbox testing account it is possible to purchase with all logic working.Off to bed now, emotionally drained from the Brexit 😝
Jun ’16
Reply to IAP failed: SKErrorDomain Code=2 "Cannot connect to iTunes Store"
I am having the same problems. It happens to a subset of my users and I can't even replicate it.When the user tries to either actually restore, the StoreKit alerts say that the purchase has been completed and that items will be restored. When buying the non-consumable again it says This In-App Purchase has already been bought. Then in my logs, I can see it first does-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactionswith the transactionState being 'SKPaymentTransactionStatePurchasing' and then it is 'SKPaymentTransactionStateFailed' with error code 2 and error message Cannot connect to iTunes Store.Also, this does not happen to all of the non-consumables in the app. There is one I know of but unfortunately, it is the most important one.Any ideas?
Topic: App & System Services SubTopic: StoreKit Tags:
Oct ’16
Reply to Mac Build upload to App Store Connect Error_ITMS-90283
Will the In-App purchases still be associated with the App after it is assigned the new Team prefix and, more importantly, will customers retain/be able to restore their purchases they made when the app had the old prefix? I don’t know, alas. In-app purchase isn’t an area I know a lot about, alas. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @apple.com
Feb ’21
Reply to Non-renewing subscription with forced account
The documents are ambiguous and your reference is now outdated. See:Important: Information about auto-renewable subscriptions, non-consumable products, and non-renewing subscriptions is added to the receipt when they are paid for and remains in the receipt indefinitely.https://developer.apple.com/library/ios/technotes/tn2413/_index.htmlInterestingly, this can lead to some fairly long extensions if the receipt is used to restore a non-renewing subscription without testing for the date of each purchase. And a correct restore-from-the-receipt requires a temporal sorting of all purchases and then advancing the expiration date over the purchases to account for overlapping renewals (i.e. first monthly subscription expires on the 25th, renewed for 10 times on the 20th, the subscription expires on the next 25th unless one of the 10 renewals was actually on the 27th) .
Topic: App & System Services SubTopic: StoreKit Tags:
Mar ’16
Reply to How to clear appStoreReceiptURL in-app array
As I understand, your description of the potential problem is correct. However, when the restore is implemented, this means that you would first have had to clear out the user name in the iTunes and App Store Settings, performed the restore, which would trigger your account to be entered as the iTunes and App Store account in your friends devices. In this way, the restore process thinks that your account is the purchaser of the iAP for that app. But this can lead to other issues for the user of the device.rich kubota - rkubota@apple.comdeveloper technical support CoreOS/Hardware/MFI
Topic: App & System Services SubTopic: StoreKit Tags:
Jul ’15
Reply to Restorations of non-consumable purchases suddenly failing in an old app
Going back about 10 days we've been getting reports of cannot connect to iTunes errors when users try to restore their purchases to a different device. These steps have worked for those affected:1) Sign out of the App Store on your device: in your Settings app > iTunes & App Stores, tap your Apple ID, then Sign Out (don't sign back in yet)2) Return to the app and again tap Restore Previous Purchase. When prompted, sign back in.I'm not sure what's changed recently, but so many reports of that error has definitely been unusual.
Topic: App & System Services SubTopic: StoreKit Tags:
Feb ’17
Restore button for self hosted content
Hi guys,I can't find on the documentation information about the restore button behavior when I have some Non Consummable product self hosted on my servers.Do I have to provide this restore button ? Because our purchases are linked to our app account, then if you change of device you get back automatically all your purchases.If the restore button is need, should I do the restore request to storeKit ? If yes do I have to do something special when I get the answer ?Thanks,Best regardsQuentin
3
0
497
Jul ’17
Restore to Instability
The current version/build of my App appears to have developed erratic behaviour when compiled and run under Xcode 7.1.1. The problem is notevident on the same version compiled under previous versions of Xcode. I have not changed any source code from the version on the App Store. When I select File/Revert To/Browse All Versions, I am presented, as normal, with both the 'Current' and 'Restore' document windows. If I select a date from the date-selection bar on the far Right Hand side of the screen, all works as normal - the 'Restore' window scrolls smoothly to the selected date. However, if I select one of the Arrow buttons immediately adjacent to the 'Restore' window, the 'Current' window disappears and the 'Restore' window scrolls erratically - not smoothly. If I select either the Current or Restore buttons under either scenario above, the selected document in correctly restored to the App window as normal but I receive the following message: Nov 29 13:34:
0
0
155
Dec ’15
Restore messages
I am having trouble with the messages app. When updating to macOS Sierra I noticed all of my messages were erased from the app I am not sure if it was when I was making space for the download or after the installation.All of my conversations were erased from the app and I was hoping to restore them as they have been on my computer since 2013. I have tried several different methods to restore my messages however none of them seem to work. The first thing I did was access a backup and paste the below files to: /users/<name>/Library/Messageschat.dbchat.db-shmchat.db-walBy replacing those files it only erased my current conversations (July 10, 2016 - present) and did not restore any old conversations.The other attempt was to restore the files from /users/<name>Library/Containers/com.apple.iChat/Data/Library/iMessages/ArchiveFrom this location I am able to click on invidual folders that date back to 2013 and view bits of conversations within folders however I am unab
1
0
817
Jul ’16
updatedTransactions is not called on restore.
Many our customer are facing a problem on restore process.- They bought several in-app purchase products.- In some case they need to restore products to download contents from Apple server.- We're of course offering restore function in which we use SKPaymentQueue restoreCompletedTransactions.- Restore transaction is finished immediately after customers push the restore button.- From my investigation, paymentQueueRestoreCompletedTransactionsFinished is called, but updatedTransactions is not called.- Actually there is no transaction in the queue when paymentQueueRestoreCompletedTransactionsFinished is called although they have bought products and have a valid receipt.- So there is no transaction to restore, and updatedTransactions is not called. I cannot get any SKDownload objects. That's why we cannot download any contents from Apple server.I spent many days to find a solution in the web, and found many developers had a similar problem with the san
Replies
3
Boosts
0
Views
3.8k
Activity
Oct ’15
Find restored transaction Id in receipt
I have a query regarding IAPs and the process around restoring them. Pre iOS 7 the traction Id was used as the unique transaction identifier and therefore when you restored a purchase you would get a new transaction id under the same receipt. However post iOS 7 this is no longer the case and one approach is to compare receipt and purchase dates (as per this Apple forum post):“The transaction_id in post iOS6 receipts is now the same as original_transaction_id. There is no separate field for the transactionIdentifier for the latest transaction, just for each individual IAP - and they all reflect the original purchase transaction. This means transaction_id can no longer be used to identify a copied receipt nor can it be used to tell whether the user has restored a transaction or repurchased an item for free. What you can do is detect the value of receipt_creation_date aka creation_date and compare that to the value for original_purchase_date. If they are with
Replies
2
Boosts
0
Views
2.2k
Activity
Jun ’16
Reply to >10,000 In-app purchase SKU's
You create a few consumable products called 'tokens' - e.g. 100 for $50; 10 for $8; 1 for $1. These can all be bought in any quantity the user wants. The user can then exchange a certain number of 'tokens' for any particular item in your catalog of products - each with its own price in 'tokens'. Your app is responsible for keeping track of the tokens the user has purchased.You will need to create a system that allows the user to 'restore' a purchase to a new device since your products are really non-consumable IAPs. You can use the iCloud key-value file to record the purchase and 'restore' it to other devices owned by that user. A note to App Review may help them understand how you are handling 'restore' function.For security you could learn how to 'sign' a file using a 'salted hash' of its contents.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Apr ’20
Reply to Retrieving in app purchase info from the customer's Apple Receipt email
On a new iOS device or after the app reinstall you as app's developer can let users to restore their purchases. See more info here https://developer.apple.com/documentation/storekit/in-app_purchase/restoring_purchased_products
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Mar ’21
Please tell me how to restore receipt
I will ask you a question for the first time, thank you.When processing in the flow as shown below,I want to restore the receipt of the incomplete transaction, is it possible?For example, the flow will be as follows.Purchase the item A and do not end the transactionNext, when purchasing the item B, transmitting the receipt, and finishing the transaction,Acquire the receipt of the item A for which the transaction has not endedHow do I end a transaction?I tried using SKReceipt Refresh Request,Restoration failed.
Replies
3
Boosts
0
Views
652
Activity
Apr ’17
Reply to In-app purchases failing in Testflight
I have the same problem. Sandbox testing works, using Sandbox testing account in Testflight works (tested purchase only at this point) but internal testing account does not. I have no idea how to use StoreKit logging with console log though 😊 but happy giving it a try.In case it helps further: when using Restore ( I call SKReceiptRefreshRequest as I use local receipt validation for a non-consumable in app purchase) Testflight seems to know that I am the internal testing user and prompts me for password for interal testing user and then restore fails.When using Purchase via [[SKPaymentQueue defaultQueue] addPayment:payment]; AND I am not signed in as the internal tester in Settings, then I have the option to use existing or new Apple ID. When using a Sandbox testing account it is possible to purchase with all logic working.Off to bed now, emotionally drained from the Brexit 😝
Replies
Boosts
Views
Activity
Jun ’16
Reply to IAP failed: SKErrorDomain Code=2 "Cannot connect to iTunes Store"
I am having the same problems. It happens to a subset of my users and I can't even replicate it.When the user tries to either actually restore, the StoreKit alerts say that the purchase has been completed and that items will be restored. When buying the non-consumable again it says This In-App Purchase has already been bought. Then in my logs, I can see it first does-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactionswith the transactionState being 'SKPaymentTransactionStatePurchasing' and then it is 'SKPaymentTransactionStateFailed' with error code 2 and error message Cannot connect to iTunes Store.Also, this does not happen to all of the non-consumables in the app. There is one I know of but unfortunately, it is the most important one.Any ideas?
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Oct ’16
Reply to Mac Build upload to App Store Connect Error_ITMS-90283
Will the In-App purchases still be associated with the App after it is assigned the new Team prefix and, more importantly, will customers retain/be able to restore their purchases they made when the app had the old prefix? I don’t know, alas. In-app purchase isn’t an area I know a lot about, alas. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @apple.com
Replies
Boosts
Views
Activity
Feb ’21
Reply to Non-renewing subscription with forced account
The documents are ambiguous and your reference is now outdated. See:Important: Information about auto-renewable subscriptions, non-consumable products, and non-renewing subscriptions is added to the receipt when they are paid for and remains in the receipt indefinitely.https://developer.apple.com/library/ios/technotes/tn2413/_index.htmlInterestingly, this can lead to some fairly long extensions if the receipt is used to restore a non-renewing subscription without testing for the date of each purchase. And a correct restore-from-the-receipt requires a temporal sorting of all purchases and then advancing the expiration date over the purchases to account for overlapping renewals (i.e. first monthly subscription expires on the 25th, renewed for 10 times on the 20th, the subscription expires on the next 25th unless one of the 10 renewals was actually on the 27th) .
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Mar ’16
Reply to How to clear appStoreReceiptURL in-app array
As I understand, your description of the potential problem is correct. However, when the restore is implemented, this means that you would first have had to clear out the user name in the iTunes and App Store Settings, performed the restore, which would trigger your account to be entered as the iTunes and App Store account in your friends devices. In this way, the restore process thinks that your account is the purchaser of the iAP for that app. But this can lead to other issues for the user of the device.rich kubota - rkubota@apple.comdeveloper technical support CoreOS/Hardware/MFI
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Jul ’15
Reply to Non-renewing subscriptions: Purchasing multiple times
if your IAP is actually a non-renewing subscription then this was a bug in the sandbox. Non-renewing subscriptions cannot be restored. The alert should be something like You have already purchased this subscription. Do you want to renew or extend your subscription?
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Mar ’17
Reply to Restorations of non-consumable purchases suddenly failing in an old app
Going back about 10 days we've been getting reports of cannot connect to iTunes errors when users try to restore their purchases to a different device. These steps have worked for those affected:1) Sign out of the App Store on your device: in your Settings app > iTunes & App Stores, tap your Apple ID, then Sign Out (don't sign back in yet)2) Return to the app and again tap Restore Previous Purchase. When prompted, sign back in.I'm not sure what's changed recently, but so many reports of that error has definitely been unusual.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Feb ’17
Restore button for self hosted content
Hi guys,I can't find on the documentation information about the restore button behavior when I have some Non Consummable product self hosted on my servers.Do I have to provide this restore button ? Because our purchases are linked to our app account, then if you change of device you get back automatically all your purchases.If the restore button is need, should I do the restore request to storeKit ? If yes do I have to do something special when I get the answer ?Thanks,Best regardsQuentin
Replies
3
Boosts
0
Views
497
Activity
Jul ’17
Restore to Instability
The current version/build of my App appears to have developed erratic behaviour when compiled and run under Xcode 7.1.1. The problem is notevident on the same version compiled under previous versions of Xcode. I have not changed any source code from the version on the App Store. When I select File/Revert To/Browse All Versions, I am presented, as normal, with both the 'Current' and 'Restore' document windows. If I select a date from the date-selection bar on the far Right Hand side of the screen, all works as normal - the 'Restore' window scrolls smoothly to the selected date. However, if I select one of the Arrow buttons immediately adjacent to the 'Restore' window, the 'Current' window disappears and the 'Restore' window scrolls erratically - not smoothly. If I select either the Current or Restore buttons under either scenario above, the selected document in correctly restored to the App window as normal but I receive the following message: Nov 29 13:34:
Replies
0
Boosts
0
Views
155
Activity
Dec ’15
Restore messages
I am having trouble with the messages app. When updating to macOS Sierra I noticed all of my messages were erased from the app I am not sure if it was when I was making space for the download or after the installation.All of my conversations were erased from the app and I was hoping to restore them as they have been on my computer since 2013. I have tried several different methods to restore my messages however none of them seem to work. The first thing I did was access a backup and paste the below files to: /users/<name>/Library/Messageschat.dbchat.db-shmchat.db-walBy replacing those files it only erased my current conversations (July 10, 2016 - present) and did not restore any old conversations.The other attempt was to restore the files from /users/<name>Library/Containers/com.apple.iChat/Data/Library/iMessages/ArchiveFrom this location I am able to click on invidual folders that date back to 2013 and view bits of conversations within folders however I am unab
Replies
1
Boosts
0
Views
817
Activity
Jul ’16