Search results for

“restore purchases”

22,105 results found

Post

Replies

Boosts

Views

Activity

Reply to Receiving transaction that is not present in the receipt (auto-renewing subscriptions)
We would find that transaction in the receipt, verify that the purchase is valid, and enable whatever functionality/content is provided by that purchase (if not already enabled). The usual IAP stuff. If it worked the same as a restored purchase or a 'repurchase for free' I'd just handle it the way we handle those, and be totally happy, but it doesn't. I'm still unclear why you think it should be any different from those cases.And yes, I know we can just walk the whole receipt and make sure that everything in there is handled and call it a day, but the whole point of these updatedTransaction notifications is to be told when a change (or previously unhandled purchase) happens so it can be processed and not have to keep and compare the state of the receipt constantly. And it works just fine in every other situation, except this 'you are already subscribed' case.
Topic: App & System Services SubTopic: StoreKit Tags:
Oct ’18
clarification on in-app purchase restoration in iOS devices
Hi,We are creating an iOS app with non-renewal based in-app purchase.We want to limit the user to restore the purchase to 3 (or 5) devices only. But what is confusing here is that as per apple guidelines we should allow user to restore the purchase in all user's devices.But there are apps available in app store(like Saavn music app) which restrict the restoration to certain number of devices. Could you please clarify whether apple will reject if we restrict the restoration to 3 devices.Thanks,Sakthivel
1
0
462
Apr ’16
Reply to SKProductsRequest fails with SKErrorDomain error 0
I have a couple of users reporting the same problem as of late. They're neither able to make purchases nor restore purchases. The error they're getting is SKErrorDomain error 0. In one case the user has two devices, on one everything works fine but not on the other, both devices are on iOS 8.4 and the same version of my app. I'm wondering if it's related to iOS 8.4 since this problem never showed up until now.My app has been out for a couple of years. I haven't changed the IAP code for several months, so I don't think it's a bug in my IAP code. Also we have thousands of users who've made purchases with no issues within this same time frame.
Topic: App & System Services SubTopic: StoreKit Tags:
Jul ’15
In-App Purchase restore fails in iOS 9
HelloWe have number of apps running fine on various iOS versions. In past few days we are receiving complaints from our customers that they are unable to restore In-App purchases in iOS 9.Please comment if anyone else is facing the similar issue for their apps? Is there any known bug regarding the restoring of In-App purchases in iOS 9?Thanks!
20
0
13k
Aug ’15
Restore transaction for non-purchased user
Hi All,I have the issue in In-App Purchase feature, my steps is as belowI built an app and submit to AppStore successfully. There are movie list in my app and they are registered In-App Purchase 1. Install my app from AppStore with AppleID (A)2. Movie 1 is not purchased and I purchased movie 1 with AppleID (A) and then play it3. Switch AppleID (B) (it did not purchase movie 1) without re-installing my app4. Next, I choose movie 1 to purchase, it show error message To restore a purchase for this app you must be signed in with the Apple ID that was used to purchase the app. Some time it show other error message Please purchase the software application first.My question: 1. Whether or not I must re-install my app with new AppleID (B) so that I be able to buy movie 1? 2. If it don't need to re-install app, whether or not I can prevent to show these error message and perform In-App Purchase feature? 3. What event in
3
0
816
Feb ’17
App won't respond when I try to restore a purchase.
I have code in my app to purchase and unlock additional levels. I am currently testing my app's ability to restore previous purchases, but the app doesn't recognize the purchase as being restored. If I click Buy, StoreKit will say it is restoring the item, but then nothing happens. If I click Restore, I don't see the app responding appropriately. Sometimes, on the first tap, when I tap Restore I get an error, but often my app just does nothing. As in, it doesn't even call paymentQueue:updatedTransactions:. What can I do to fix this? (Obviously, I can't finish the transaction yet. Not until I can get this figured out.) import StoreKit @objc protocol IAPObserver { @objc func levelPurchaseCompleted() @objc func levelPurchaseProcessing() @objc func levelPurchasingError() } @objc class IAPHelper:NSObject,SKProductsRequestDelegate,SKPaymentTransactionObserver { @objc var delegate : IAPObserver? @objc override init() { super.init() delegate = ni
1
0
1k
Jan ’20
Reply to code not working :/
func paymentQueueRestoreCompletedTransactionsFinished(_ queue: SKPaymentQueue) { if success == true{ let alert = UIAlertController(title: Completed, message:All your previous purchases have been restored, preferredStyle: .alert) alert.addAction(UIAlertAction(title: OK, style: .default) { _ in }) let rootVC = UIApplication.shared.keyWindow?.rootViewController rootVC?.present(alert, animated: true){} } } func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) { print(great, I got here) for transaction: AnyObject in transactions { let trans = transaction as! SKPaymentTransaction switch trans.transactionState { case .purchased, .restored: let prodID = p.productIdentifier switch prodID { case com.Carawind.FlipFlop.RemoveAds: success = true print(got here, too) AdBtn = true UserDefaults.standard.set(true, forKey: RemovedAds) RemoveAdsBtn.removeFromParent() self.viewController.HideAds() default: break } queue.finishTransaction(trans) ca
Topic: App & System Services SubTopic: StoreKit Tags:
Apr ’17
Reply to In-App Purchase Refresh receipt
Initially when user purchase a subscription we will save subscription details in the BE.1.Let say user 1 purchased 1 month plan with his apple id and his original transaction is 1234, we save that in BE DB.2.User 2 purchased 6 months plan in device 2 his original transaction is 9876, will save that in BE DB.3.Now user1 logged in to app with user1 app credentials in Device 2 which have Appstore credentials of user 2.4.Now if i restore purchases in device 2 will get 6 months plan transaction id 9876, In application user1 will have transaction id 1234, when user tries to purchase another plan, we will . check both transaction ids,if they are not same will restrict the purchase, untill device 2 have user 1 appstore credentials.
Topic: App & System Services SubTopic: StoreKit Tags:
May ’17
Reply to Anyone experiencing issues with user subscriptions not working during last 24 hours?
One of my users is now getting this message for a recently renewed auto-renewable subscription:PurchaseOperation: [A3AD40F5] Purchase finished with error: Error Domain=SSErrorDomain Code=16 Cannot connect to iTunes Store UserInfo={NSLocalizedDescription=Cannot connect to iTunes Store}Something appears to have broken with auto-renewable subscriptions. When tapping to purchase a subscription the correct information appears showing the user is subscribed with the correct expiration date. However, the actual renewal is not confirmed and the user cannot progress past the purchase screen. This behavior does not appear in the sandbox... only in production. Restore purchases doesn't work as well.It would make sense that the verifyReceipt server is broken... but I can't think of a way to determine this with the production version of my app.
Topic: App & System Services SubTopic: StoreKit Tags:
May ’20
How to restore non renewing purchases in swift 3?
I am having trouble restoring non-renewing purchases. This is how it is set up:There is a page on the app where there are all the products that a user can buy. Also, there is a restore button on top of the page. Now if the user buys any products and wants to restore the purchase on another device he has, he should be able to click the restore button and all his previous purchases should be restored. I have written the code that should restore the purchases. Once, the user clicks I call SKPaymentQueue.default().restoreCompletedTransactions(). After this is called it should call func paymentQueueRestoreCompletedTransactionsFinished(_ queue: SKPaymentQueue) , which it does but the queue is always empty. I have copied and pasted a snippet of the code to this email. Can you please help me resolve this?@IBAction func restoreButton(_ sender: AnyObject) { if(daysBetweenDates(startDate: (user?.purchases.date)!, endDate: NSDate()
3
0
2.0k
Dec ’16
Reply to How to get IAP country code (in order to know the VAT rate)?
In the Application Receipt, the in_app array contain a history of all in app purchase receipts for all purchase, except those of type Consumable. However those receipt do not track the locale that the purchase was made from. There is the transaction_id field which could be associated with the orginal purchase information, but there is no API to use to access additional information about the transaction. You can submit an enhancement request that such API be implemented by using the Apple Developer Bug Report web page - http://bugreport.apple.com.If this information is needed, the app can know the current locale for the purchase by reviewing the response to the SKProductsRequest - product.priceLocale. If the purchase is made and is successful, the application can associate the purchase with the priceLocale information. I think this is what you referred to in find the currency of the user's Apple ID, using IAP APIs. Unfortunately, this information i
Topic: App & System Services SubTopic: StoreKit Tags:
Sep ’15
The restore button with non-consumable In-App Purchases
Hi, I am working on the app that offers non-consumable In-App Purchases to the user. When user buys them, we link them to the user's account. After successful payment transaction, info about bought product will be sent to the backend and linked with the user's account. So user can have access to purchased content whenever he/she logs in in the app. Is this enough, or we still need to show the restore button to the user (for example on the profile tab) to give him option to restore products? Kind regards and thanks in advance!
1
0
1.2k
Sep ’21
In‑app purchase restore doesn't work
Restoring of non-consumable in-app purchases doesn't work on the iOS app: With Setting Up StoreKit Testing in Xcode In the TestFlight app Even in the production app I'm calling SKPaymentQueue.default().restoreCompletedTransactions() But Apple isn't responding. It worked a few weeks ago. Does anyone have a similar problem? I'm using: iMac 27 with macOS: 11.3.1 Xcode: 12.3 and 12.5 Testing devices: iPhone 11 Pro Max, iPhone 6s
2
0
605
May ’21
StoreKit sandbox consumable purchase returns restored on second purchase instead of completing a new purchase
I am testing a consumable in-app purchase in the StoreKit sandbox and I am seeing behavior that does not seem correct on repeat purchase attempts. Product details Product ID: album.credit.v2 Type: Consumable Test environment: iOS device + StoreKit sandbox Purchase flow triggered from my Flutter app using Apple IAP What happens First purchase attempt works My backend receives the confirmation The album is granted correctly On the second purchase attempt of the same consumable, I do not get a normal new purchase flow Instead, StoreKit returns the product as restored My app then cancels the attempt because a restored transaction arrived during checkout Expected behavior Because this product is a consumable, each purchase attempt should behave like a new purchase and allow the user to buy it again. Actual behavior On the second attempt, the transaction update comes back as restored instead of a new successful consum
1
0
129
3w
Reply to SKProductsRequest fails with SKErrorDomain error 0
Great info giilby. I'll try filling up a test device too, and report back.In my case, yes, most of our IAPs are downloadable, hosted by Apple.Update:I filled up a device to the point where I was getting failed write attempts when I tried to write files to disk (using a separate test app). I then tried an IAP purchase in an App Store version of my app. I couldn't replicate the error, everything worked fine (other than the download failing because of low disk space - but that's an expected error). The device is on iOS 8.4.1.*sigh* I was hoping to get closer to an answer. I have about 20 users now who can't restore purchases and can't buy new purchases.
Topic: App & System Services SubTopic: StoreKit Tags:
Aug ’15
Reply to Receiving transaction that is not present in the receipt (auto-renewing subscriptions)
We would find that transaction in the receipt, verify that the purchase is valid, and enable whatever functionality/content is provided by that purchase (if not already enabled). The usual IAP stuff. If it worked the same as a restored purchase or a 'repurchase for free' I'd just handle it the way we handle those, and be totally happy, but it doesn't. I'm still unclear why you think it should be any different from those cases.And yes, I know we can just walk the whole receipt and make sure that everything in there is handled and call it a day, but the whole point of these updatedTransaction notifications is to be told when a change (or previously unhandled purchase) happens so it can be processed and not have to keep and compare the state of the receipt constantly. And it works just fine in every other situation, except this 'you are already subscribed' case.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Oct ’18
clarification on in-app purchase restoration in iOS devices
Hi,We are creating an iOS app with non-renewal based in-app purchase.We want to limit the user to restore the purchase to 3 (or 5) devices only. But what is confusing here is that as per apple guidelines we should allow user to restore the purchase in all user's devices.But there are apps available in app store(like Saavn music app) which restrict the restoration to certain number of devices. Could you please clarify whether apple will reject if we restrict the restoration to 3 devices.Thanks,Sakthivel
Replies
1
Boosts
0
Views
462
Activity
Apr ’16
Reply to SKProductsRequest fails with SKErrorDomain error 0
I have a couple of users reporting the same problem as of late. They're neither able to make purchases nor restore purchases. The error they're getting is SKErrorDomain error 0. In one case the user has two devices, on one everything works fine but not on the other, both devices are on iOS 8.4 and the same version of my app. I'm wondering if it's related to iOS 8.4 since this problem never showed up until now.My app has been out for a couple of years. I haven't changed the IAP code for several months, so I don't think it's a bug in my IAP code. Also we have thousands of users who've made purchases with no issues within this same time frame.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Jul ’15
In-App Purchase restore fails in iOS 9
HelloWe have number of apps running fine on various iOS versions. In past few days we are receiving complaints from our customers that they are unable to restore In-App purchases in iOS 9.Please comment if anyone else is facing the similar issue for their apps? Is there any known bug regarding the restoring of In-App purchases in iOS 9?Thanks!
Replies
20
Boosts
0
Views
13k
Activity
Aug ’15
Restore transaction for non-purchased user
Hi All,I have the issue in In-App Purchase feature, my steps is as belowI built an app and submit to AppStore successfully. There are movie list in my app and they are registered In-App Purchase 1. Install my app from AppStore with AppleID (A)2. Movie 1 is not purchased and I purchased movie 1 with AppleID (A) and then play it3. Switch AppleID (B) (it did not purchase movie 1) without re-installing my app4. Next, I choose movie 1 to purchase, it show error message To restore a purchase for this app you must be signed in with the Apple ID that was used to purchase the app. Some time it show other error message Please purchase the software application first.My question: 1. Whether or not I must re-install my app with new AppleID (B) so that I be able to buy movie 1? 2. If it don't need to re-install app, whether or not I can prevent to show these error message and perform In-App Purchase feature? 3. What event in
Replies
3
Boosts
0
Views
816
Activity
Feb ’17
App won't respond when I try to restore a purchase.
I have code in my app to purchase and unlock additional levels. I am currently testing my app's ability to restore previous purchases, but the app doesn't recognize the purchase as being restored. If I click Buy, StoreKit will say it is restoring the item, but then nothing happens. If I click Restore, I don't see the app responding appropriately. Sometimes, on the first tap, when I tap Restore I get an error, but often my app just does nothing. As in, it doesn't even call paymentQueue:updatedTransactions:. What can I do to fix this? (Obviously, I can't finish the transaction yet. Not until I can get this figured out.) import StoreKit @objc protocol IAPObserver { @objc func levelPurchaseCompleted() @objc func levelPurchaseProcessing() @objc func levelPurchasingError() } @objc class IAPHelper:NSObject,SKProductsRequestDelegate,SKPaymentTransactionObserver { @objc var delegate : IAPObserver? @objc override init() { super.init() delegate = ni
Replies
1
Boosts
0
Views
1k
Activity
Jan ’20
Reply to code not working :/
func paymentQueueRestoreCompletedTransactionsFinished(_ queue: SKPaymentQueue) { if success == true{ let alert = UIAlertController(title: Completed, message:All your previous purchases have been restored, preferredStyle: .alert) alert.addAction(UIAlertAction(title: OK, style: .default) { _ in }) let rootVC = UIApplication.shared.keyWindow?.rootViewController rootVC?.present(alert, animated: true){} } } func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) { print(great, I got here) for transaction: AnyObject in transactions { let trans = transaction as! SKPaymentTransaction switch trans.transactionState { case .purchased, .restored: let prodID = p.productIdentifier switch prodID { case com.Carawind.FlipFlop.RemoveAds: success = true print(got here, too) AdBtn = true UserDefaults.standard.set(true, forKey: RemovedAds) RemoveAdsBtn.removeFromParent() self.viewController.HideAds() default: break } queue.finishTransaction(trans) ca
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Apr ’17
Reply to In-App Purchase Refresh receipt
Initially when user purchase a subscription we will save subscription details in the BE.1.Let say user 1 purchased 1 month plan with his apple id and his original transaction is 1234, we save that in BE DB.2.User 2 purchased 6 months plan in device 2 his original transaction is 9876, will save that in BE DB.3.Now user1 logged in to app with user1 app credentials in Device 2 which have Appstore credentials of user 2.4.Now if i restore purchases in device 2 will get 6 months plan transaction id 9876, In application user1 will have transaction id 1234, when user tries to purchase another plan, we will . check both transaction ids,if they are not same will restrict the purchase, untill device 2 have user 1 appstore credentials.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
May ’17
Reply to Anyone experiencing issues with user subscriptions not working during last 24 hours?
One of my users is now getting this message for a recently renewed auto-renewable subscription:PurchaseOperation: [A3AD40F5] Purchase finished with error: Error Domain=SSErrorDomain Code=16 Cannot connect to iTunes Store UserInfo={NSLocalizedDescription=Cannot connect to iTunes Store}Something appears to have broken with auto-renewable subscriptions. When tapping to purchase a subscription the correct information appears showing the user is subscribed with the correct expiration date. However, the actual renewal is not confirmed and the user cannot progress past the purchase screen. This behavior does not appear in the sandbox... only in production. Restore purchases doesn't work as well.It would make sense that the verifyReceipt server is broken... but I can't think of a way to determine this with the production version of my app.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
May ’20
How to restore non renewing purchases in swift 3?
I am having trouble restoring non-renewing purchases. This is how it is set up:There is a page on the app where there are all the products that a user can buy. Also, there is a restore button on top of the page. Now if the user buys any products and wants to restore the purchase on another device he has, he should be able to click the restore button and all his previous purchases should be restored. I have written the code that should restore the purchases. Once, the user clicks I call SKPaymentQueue.default().restoreCompletedTransactions(). After this is called it should call func paymentQueueRestoreCompletedTransactionsFinished(_ queue: SKPaymentQueue) , which it does but the queue is always empty. I have copied and pasted a snippet of the code to this email. Can you please help me resolve this?@IBAction func restoreButton(_ sender: AnyObject) { if(daysBetweenDates(startDate: (user?.purchases.date)!, endDate: NSDate()
Replies
3
Boosts
0
Views
2.0k
Activity
Dec ’16
Reply to How to get IAP country code (in order to know the VAT rate)?
In the Application Receipt, the in_app array contain a history of all in app purchase receipts for all purchase, except those of type Consumable. However those receipt do not track the locale that the purchase was made from. There is the transaction_id field which could be associated with the orginal purchase information, but there is no API to use to access additional information about the transaction. You can submit an enhancement request that such API be implemented by using the Apple Developer Bug Report web page - http://bugreport.apple.com.If this information is needed, the app can know the current locale for the purchase by reviewing the response to the SKProductsRequest - product.priceLocale. If the purchase is made and is successful, the application can associate the purchase with the priceLocale information. I think this is what you referred to in find the currency of the user's Apple ID, using IAP APIs. Unfortunately, this information i
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Sep ’15
The restore button with non-consumable In-App Purchases
Hi, I am working on the app that offers non-consumable In-App Purchases to the user. When user buys them, we link them to the user's account. After successful payment transaction, info about bought product will be sent to the backend and linked with the user's account. So user can have access to purchased content whenever he/she logs in in the app. Is this enough, or we still need to show the restore button to the user (for example on the profile tab) to give him option to restore products? Kind regards and thanks in advance!
Replies
1
Boosts
0
Views
1.2k
Activity
Sep ’21
In‑app purchase restore doesn't work
Restoring of non-consumable in-app purchases doesn't work on the iOS app: With Setting Up StoreKit Testing in Xcode In the TestFlight app Even in the production app I'm calling SKPaymentQueue.default().restoreCompletedTransactions() But Apple isn't responding. It worked a few weeks ago. Does anyone have a similar problem? I'm using: iMac 27 with macOS: 11.3.1 Xcode: 12.3 and 12.5 Testing devices: iPhone 11 Pro Max, iPhone 6s
Replies
2
Boosts
0
Views
605
Activity
May ’21
StoreKit sandbox consumable purchase returns restored on second purchase instead of completing a new purchase
I am testing a consumable in-app purchase in the StoreKit sandbox and I am seeing behavior that does not seem correct on repeat purchase attempts. Product details Product ID: album.credit.v2 Type: Consumable Test environment: iOS device + StoreKit sandbox Purchase flow triggered from my Flutter app using Apple IAP What happens First purchase attempt works My backend receives the confirmation The album is granted correctly On the second purchase attempt of the same consumable, I do not get a normal new purchase flow Instead, StoreKit returns the product as restored My app then cancels the attempt because a restored transaction arrived during checkout Expected behavior Because this product is a consumable, each purchase attempt should behave like a new purchase and allow the user to buy it again. Actual behavior On the second attempt, the transaction update comes back as restored instead of a new successful consum
Replies
1
Boosts
0
Views
129
Activity
3w
Reply to SKProductsRequest fails with SKErrorDomain error 0
Great info giilby. I'll try filling up a test device too, and report back.In my case, yes, most of our IAPs are downloadable, hosted by Apple.Update:I filled up a device to the point where I was getting failed write attempts when I tried to write files to disk (using a separate test app). I then tried an IAP purchase in an App Store version of my app. I couldn't replicate the error, everything worked fine (other than the download failing because of low disk space - but that's an expected error). The device is on iOS 8.4.1.*sigh* I was hoping to get closer to an answer. I have about 20 users now who can't restore purchases and can't buy new purchases.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Aug ’15