Hi there!I'm currently trying to implement IAP in my macOS app and struggling with the feature to restore purchased (non-consumable) products for various reasons:When I request a receipt refresh submitting a SKReceiptRefreshRequest according to Apple's doc (in the sandbox, outside of Xcode), the delegate method- (void)request:(SKRequest *)request didFailWithError:(NSError *)error is alway called with an error = nilI realized that SKReceiptRefreshRequest is only available since macOS 10.9, while the other StoreKit classes / protocols exist since 10.7; How to handle refreshes with a deployment target < 10.9? Most important: What exactly is the purpase implementing this function? I think the user can only loose his purchases when deleting the receipt from the app bundle (or the app bundle itself). Then he can re-download or restore the app and a receipt is requested during the first launch. When does a user need to restore a purchase which is a non-consumable produ
Search results for
restore purchases
21,818 results found
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I use StoreKit's StoreView to buy in-app purchases. The purchase is working in the simulator, but how can I restore purchases? I did not find a restore handler, there is only a onInAppPurchaseCompletion but I'm missing a onRestorePurchaseCompletion or similar. This is how it looks This is my code: StoreView(ids: [my.product.id]) .storeButton(.visible, for: .restorePurchases) .storeButton(.hidden, for: .cancellation) .onInAppPurchaseCompletion { product, result in if case .success(.success(let transaction)) = result { print(Purchased successfully: (transaction.signedDate)) isPremium = true } else { print(Something went wrong) } }
This code works in my main app, but in the iMessage App Extension, it throws an error.Error Domain=SSErrorDomain Code=4 Cannot connect to iTunes Store UserInfo={NSLocalizedDescription=Cannot connect to iTunes Store}func restoreInAppPurchase() { receiptRequestHolder = SKReceiptRefreshRequest.init(receiptProperties: [:]) receiptRequestHolder!.start() }Is restoring purchases in this manner simply not possible in an iMessage App Extension?
Hey everyone I'm having trouble restoring purchases on iOS in a sandbox environment, whether it's through TestFlight or Xcode. I keep getting the error message 'restoreCompletedTransactionsFailedWithError - An unknown error occurred' Has anyone else experienced this issue, and if so, how did you solve it? Or does anyone have any suggestions for what might be causing this problem? Thanks in advance!
Hi,One of our customers can't restore purchases on another iPad. His Apple ID is the same, he rebooted his device and reinstalled the app. Nothing helped. We didn't do anything, our servers are fine. Is it only me or you guys have the same problem?We also got a few messages that people can't download items they bought recently.Please help!
login sandbox account at setting > app store > sandbox account. download my app from testflight purchase subscription is fine. stop renew subscription. after subscription expired, delete app, then download from testflight again. tried to restore purchase, the result count always zero
I have an app and it's going to charge a 1 time purchase for premium. How can I restore that purchase later on if user deletes app? I was looking the code here - https://stackoverflow.com/questions/28734890/restore-inapp-purchase-using-swift-ios but it's too abstract and incomplete, can someone lend me a hand?
Hi, my app was rejected cause a donst have the restaure pruchases feature, in my app you can make non-consumible purchases and I save them in my server, so everytime the user log-in un the app I ask to my server to restore his purchases, Do I need use the restore feature from store kit?
Does anybody have trouble restoring in-app purchases? I've installed the in-app purchase function on a new macOS application. I was able to make a purchase with a test account earlier. But I have not been able to restore the purchase. After the app callsSKPaymentQueue.default().restoreCompletedTransactions(), it never callspaymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction])This isn't my first time installing the in-app puchrase. It's not the 2nd or 3rd. Does anybody have the same trouble?Thanks.
My app’s binary is approved.My In-App Purchase (IAP) is approved.In-App Purchase (IAP) is enabled in developer’s accountTesting the purchase and restore purchase in development in the sandbox environment works.Testing the Restore Purchase in production with an iTunes Account would fail.How to fix this?
Hi Guys, I am developing IOS purchases on a physical device. Everything was working fine until I upgrade to IOS 14 version. Device: Physical iPhone 6 IOS: 14 The problem: Before making a purchase I send to verify the restore purchases with my backend I check that the user does not have active subscriptions If the user does not have active subscriptions, I will send him to buy a subscription The purchase popup never appears This happens with users who have already made a purchase before. I tried removing the call from the restore purchases and it works fine without this one. RCT_EXPORT_METHOD(getAvailableItems:(RCTPromiseResolveBlock)resolve tttttttttreject:(RCTPromiseRejectBlock)reject) { tt[self addPromiseForKey:@availableItems resolve:resolve reject:reject]; tt[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; } (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue {t////////t RESTORE ttNSLog(@nnntpaymentQueue
We had several users whose subscription suddenly disappeared from the last week. They all got a system dialog showing the purchase was from another Apple ID when restoring purchase, and they were logged-in with exactly the same ID they used to purchase. Is there anything wrong with StoreKit?
So I have a few renewable monthly subscription based In App Purchases. They rejected my app because it does not implement a 'Restore' function anywhere...however I have it set up so it checks the receipts and refreshes if none found (ie. they may sign into the same device with a different Apple ID then when initially downloading the app) and reverifies it....soo...I do not see where I would place this 'Restore' button because it does not seem like it would ever actually appear. Where would I put this 'Restore' button at within the application? Any luck from any fellow developers that dealt with this issue? I am unable to find any proper documentation from Apple explaining this besides stating 'You need this'
Hi Guys, I am developing IOS purchases on a physical device. Everything was working fine until I upgrade to IOS 14 version. Device: Physical iPhone 6 IOS: 14 IT iS NOT RESOLVED YET. The problem: Before making a purchase I send to verify the restore purchases with my backend. I check that the user does not have active subscriptions If the user does not have active subscriptions, I will send him to buy a subscription The purchase popup never appears This happens with users who have already made a purchase before. I tried removing the call from the restore purchases and it works fine without this one. RCT_EXPORT_METHOD(getAvailableItems:(RCTPromiseResolveBlock)resolve tttttttttreject:(RCTPromiseRejectBlock)reject) { ttNSLog(@ntgetAvailableItems n ); tt[self addPromiseForKey:@availableItems resolve:resolve reject:reject]; tt[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; } (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)q
Hi, we have published a flutter app on the App Store offering additional content via one-time in-app purchases. Everything is working as expected when distributing the app via TestFlight but we're reportedly having issues with users not being able to restore purchases on some devices with the app loaded from the Apple App Store. We noticed the issue when some user were unable to unlock the in-app purchases via promotion codes we supplied for marketing reasons. Most of them were able to unlock the purchases using the promotion codes without a problem. Some had to try several times using a new code each time but for some users (on some of their devices) it's not working at all and we can't seem to find the reason for it. Here is one users case in detail: the user tried to unlock our complete bundle using a promo code first code did not seem to work, so I provided a new code it seems that both codes were redeemed correctly because both of the show up in the users purchase
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Tags:
StoreKit
In-App Purchase
TestFlight
App Store Receipts