In-App Purchase

RSS for tag

Offer extra content, digital goods, and features directly within your app using in-app purchases.

Posts under In-App Purchase tag

200 Posts

Post

Replies

Boosts

Views

Activity

First Auto-Renewable Subscription – getSubscriptions returns empty in TestFlight
Hi, I am submitting auto-renewable subscriptions for the first time for a brand new iOS app (never approved before). Setup: App ID has In-App Purchase capability enabled Subscriptions created under a subscription group All metadata (pricing, localization, availability) completed Subscriptions currently show In Review Testing via TestFlight build Bundle ID matches App Store Connect Using react-native-iap (StoreKit under the hood) When calling: await getSubscriptions({ skus }) I consistently get: products fetched: 0 ProductsUnavailableError Also, the app version page does not show the “In-App Purchases and Subscriptions” section. Question: For a brand new app, will StoreKit return empty products while the first subscriptions are in review? Do the first subscriptions need to be approved and/or attached to a new app version before they become available in TestFlight sandbox? Thanks for any clarification.
1
0
97
Mar ’26
In-App Purchases Rejected
'Guideline 2.1 - Performance - App Completeness' - "...could not be found in the submitted binary." I have checked with internal and external testers and my devices and simulators, everyone sees the in app purchases but I just had my submitted rejected for the second time with the comment that these in-app none-consumable purchases cannot be found with the submitted binary. I even attached a slow step by step screen recording for the review reply after the first rejection showing how to reach the purchasable packs by navigating through only 3 buttons: "How to access the purchase flow: Launch the app Tap the bottom-center Settings button (icon: switch.2) Tap “Customisation gallery” Scroll to find any pack listed above Tap the pack price chip Tap “Buy pack – [price]” to start the StoreKit purchase flow" I also attached a clear image along with detailed instruction (same as above) for the Review Information. and the second rejection was received today for the same reason. I'm being guided to the localization 'Developer Action Needed'. I'm not sure what more can be done? I feel like my review replies aren't even looked at.
2
0
111
Mar ’26
StoreKit access in keyboard extensions
Hello Apple team, We would like to access the user's available purchases from the keyboard extension. Making purchases directly from the keyboard is a great benefit, but we assume it is intentionally disabled to prevent abuse or fraudulent purchase attempts. What we care about the most is determining if the user has an item that contains a discount or a free trial to personalize messaging when we suggest the user go to the app and make a purchase. We hope you'd consider revising your policy around StoreKit usage.
0
0
90
Mar ’26
Unlocking a demo mode without IAP
I am aware of the following in the App Review Guidelines; 3.1.1 If you want to unlock features or functionality within your app, (by way of example: subscriptions, in-game currencies, game levels, access to premium content, or unlocking a full version), you must use in-app purchase. Apps may not use their own mechanisms to unlock content or functionality, such as license keys, augmented reality markers, QR codes, cryptocurrencies and cryptocurrency wallets, etc. The app itself operates normally, but imposes limits after a limited time of use. Purchasing the full version removes these limits. This is a one-time IAP, not a subscription. My app is aimed at professionals within the entertainment industry, and will only ever be used within a theatre or other similar venue. I do not intend to provide any other paid route to the full version than via the App Store. However, what I would like to do is provide free use at certain events and to students in their educational venues (e.g. college theatres etc)- is it acceptable to use an external mechanism (e.g. a server based API) to temporarily remove the limitations whilst in that venue? Or, likewise, provide an extension to the free trial period for specific uses. Note this is not a purchase, as there is no payment. Therefore there is no revenue outside of the App Store (which surely is the point of the mandate to use IAP for this purpose) Also, it's not fully 'unlocking' the app (the user doesn't get the full version, they just aren't bound by the trial limit timer when within that venue or for a limited time) I'm aware that another route would be to put a different version of the app in the store that requires a username and password for use (for example) and then provide those credentials to log in - as there's lots of apps that follow that model, but it seems clunky to require the user to download a different app.
0
0
127
Feb ’26
Issue configuring non-consumable IAP
Hi everyone, I’m running into a recurring issue when submitting my app to the App Store. The app is made with Unity and contains a single non-consumable IAP. Said IAP works fine locally, and sandbox testing with Xcode works when we test the build internally. Here is the current behaviour: On Game launch, the paywall pop-up displays correctly, I can try to purchase the bonus content. I go through the whole mock payment process, it takes a little while to validate but it does go through. It asks me to “pay” a second time (as if the first one hadn’t been taken into account), there’s a bit of loading but the payment is validated. A pop-up tells me it’s confirmed. Back in game, the content is correctly unlocked and accessible. But during App Store review, the reviewers report that the in-app purchase button is unresponsive. The purchase cannot be initiated, and an error that says "Cannot initiate purchase because product was not found" or simply failing to start. Here’s what I’ve confirmed so far: The IAP product is created in App Store Connect and has the correct product ID. The IAP is correctly associated with the build when submitting the game's version for review. Paid Apps Agreement, tax, and banking info are fully completed and approved. Do you have any idea why the IAP would work while testing builds through TestFlight but fail validation? Anything we should look into? I feel the issue is due to a bad configuration on the Appstore Connect, but there aren't that many things to take into consideration there either...
2
0
66
Feb ’26
Error loading products on iOS TestFlight app
We've built an app for iOS using Unity that has in-app purchases. The flow correctly works for Android - no issues at all. Now we've been testing in TestFlight and can't get it to load ANY products. The only message we are getting is "Retrieve Products failed, and could not retrieve any products." - considering the exact flow works fine on Android I would assume the code for loading products itself is not the problem. It is a first version/submission, so the app itself is fresh and hasn't been released prior. The agreements are active (Paid Apps, bank account, W8-BEN-E, etc.), it's using a distribution certificate and has the IAP capability when uploading, so we're kind unsure where to look to at this point.
1
0
111
Feb ’26
Apps Stuck in 'Waiting for Review' for 12+ Days — IAPs Also Blocked
Hello everyone, I am hoping someone here can share some advice or has experienced a similar situation. I am an individual developer and two of my apps have been stuck in 'Waiting for Review' status for over 10 to 12 days now. Prior to this, the review process was moving normally and I was receiving feedback from Apple on both apps. Then suddenly everything stopped and both apps have been sitting in the queue with no movement and no communication from the review team. To make things worse, I am also unable to delete these apps or make any changes because their In-App Purchases are simultaneously under review, which is locking me out of managing my own apps entirely. I already created a support case specifically for App Review (Case ID: 20000111755276) over a week ago, but unfortunately I have not heard back anything from Apple at all — no acknowledgment, no update, nothing. I am based in Pakistan and the phone callback option is not available for my region, so email and this forum are essentially my only options to get any help. Has anyone else experienced such a long delay recently? Is there anything else I can do to get this moving or at least get a response from the review team? Any advice or shared experience would be greatly appreciated. Thank you.
1
1
214
Feb ’26
Why doesn’t Transaction.updates emit reliably?
I'm on macOS Sequoia Version 15.7.3 (24G419) and using Xcode Version 26.2 (17C52). In my Xcode project, Transaction.updates and Product.SubscriptionInfo.Status.updates don’t seem to emit updates reliably. The code below works consistently in a fresh Xcode project using a minimal setup with a local StoreKit Configuration file containing a single auto-renewable subscription. class InAppPurchaseManager { static let shared = InAppPurchaseManager() var transactionTask: Task<Void, Never>? var subscriptionTask: Task<Void, Never>? init() { print("Launched InAppPurchaseManager...") transactionTask = Task(priority: .background) { for await result in Transaction.updates { print("\nReceived transaction update...") try? await result.payloadValue.finish() } } subscriptionTask = Task(priority: .background) { for await result in Product.SubscriptionInfo.Status.updates { print("\nReceived subscription update...") print("state:", result.state.localizedDescription) } } } } I initialise it in: func applicationDidFinishLaunching(_ aNotification: Notification) { _ = InAppPurchaseManager.shared } I do not build any UI for this test. I open StoreKit Transaction Manager then click Create Transaction → select the product → choose Purchase (Default) → Next → Done. The console shows that it detects the initial purchase, renewals and finishes each transaction. It also works even if I do not add the In-App Purchase capability. In my actual project, the initial purchase is detected and finished, but renewals are not detected. Subsequent transactions then appear as unverified, presumably because the updates are not being observed so the transactions are not being finished. What can I do to make this work reliably in my actual project? For context, in the actual project: I have a StoreKit Configuration file that is synced with App Store Connect The In-App Purchase capability is enabled The configuration file is selected in the scheme The products in App Store Connect show “Ready to Submit” Loading products works: try await Product.products(for: ...) Also, I use ProductView for the purchase UI. The first purchase works and is detected and finished, but subsequent renewals are not finished because the updates do not seem to be emitted.
9
0
370
Feb ’26
StoreKit 2: is there a way for an app to be informed in real time if an auto-renewable subscription is cancelled by the user?
Hello, In my iOS app, I have a customer center where the user can see some details about its current subscription. I display things like the billing period, the price, the introductory offer state, the renewal date if it's not cancelled or the expiration date if it's cancelled, etc. From this screen, the user can open the subscription management sheet. I want to detect if the user cancels the subscription from this sheet or from the App Store (when the app is running) so I can refresh the information displayed on my customer center. I checked the asynchronous sequences provided by StoreKit 2 like Transaction.updates or Product.SubscriptionInfo.Status.updates and tested with a Sandbox account on my physical device with the app debugged using Xcode. But I noticed these sequences don't emit when I cancel the subscription in Sandbox. Is this the expected behavior? Is there a way to observe in real time if a user cancels the subscription? I can still manually check when the sheet is dismissed but it's not ideal because I want to know even if the user cancel from outside of the app with the app running. Thank you, Axel
2
1
416
Feb ’26
Implement in-app subscriptions
I am developing a mobile application using Flutter and plan to implement in-app subscriptions for both iOS platforms. I would like to request guidance on the following: Technical Implementation: Recommended best practices for implementing auto-renewable subscriptions in Flutter apps StoreKit 2 integration requirements and compatibility considerations Server-to-server notification setup and endpoint requirements Testing Procedures: Sandbox environment configuration and testing workflow TestFlight testing requirements for subscription features Recommended testing scenarios before production release Required Documentation and Accounts: Complete list of required agreements (Paid Applications Agreement, etc.) Banking and tax information requirements Privacy policy and terms of service specifications for subscription apps App Review guidelines specific to subscription-based apps Subscription Management: Grace period implementation requirements Handling subscription cancellations and refunds Promotional offers and introductory pricing setup Could you please provide documentation or direct me to the appropriate resources? Additionally, if there are any specific requirements for Flutter-based applications, I would appreciate that information. Application Details: Platform: iOS (Flutter framework) Subscription Type: Auto-renewable subscriptions
0
0
94
Feb ’26
In-App-Purchase review rejected
Testing with testflight the IAP work with sandbox. But Apple Review was rejected. It was explained that the IAP could not be found. I cancelled the review, added the IAP to all countries again. The IAPs are in status waiting for review. Now when preparing the version, I cannot choose anymore the IAP. I don't find the option anymore to add the IAP products on the version page. Contracts are all active and in the app for me and others it is working.
1
0
141
Feb ’26
App approved & live, but IAP still “In Review” – users can’t upgrade
Hi all, My app Pocket PGP is already approved and live on the App Store, but the associated non-consumable in-app purchase (Pocket PGP Pro (Unlock), product id com.pocketpgp.app.fullunlock) has remained In Review for an extended period. Because premium functionality depends on this IAP, users currently see the upgrade option but get “product not available yet / try restore purchases”, and the app remains limited (free tier is 2 keys). This creates a poor first-run experience, and I’ve had ~90 downloads in the last 24 hours. I’ve included clear review notes/steps for locating the IAP and testing the paywall in App Store Connect. Is there any recommended way to get the IAP review completed/prioritized when the app is already live and users are affected? Thanks in advance. — Magnus
1
0
85
Feb ’26
App Review cannot complete auto-renewable subscription purchase (Guideline 2.1) although sandbox & TestFlight work
Hello, I’m experiencing repeated rejections related to Guideline 2.1 – App Completeness for an iOS app using auto-renewable subscriptions, and I’m struggling to understand what is missing, as the purchase flow works correctly in sandbox and TestFlight. App setup: iOS app built with React Native (Expo + react-native-iap) Auto-renewable subscriptions: • Monthly: €4.99 • Yearly: €39.99 Paid Apps Agreement accepted Subscriptions configured and active in App Store Connect Privacy Policy and Apple Standard EULA included: • Visible inside the app on the subscription screen • Added in App Store metadata What App Review reports: App Review states they are unable to buy the in-app purchase, resulting in a rejection under Guideline 2.1 (App Completeness). What works correctly: getSubscriptions() returns valid products in sandbox Subscription titles, prices, and durations are displayed in the app UI requestSubscription() is triggered when tapping the subscribe button Apple purchase sheet appears and completes successfully in: • Sandbox testing • TestFlight (external testers) What I’ve verified: No conditional logic blocks purchases in review builds Purchase button always calls requestSubscription purchaseUpdatedListener and purchaseErrorListener are correctly registered No hardcoded prices; prices come from StoreKit Same behavior on iPhone and iPad Question: Is there any known limitation or requirement in the App Review environment for auto-renewable subscriptions that differs from sandbox/TestFlight when using a custom subscription UI (not SubscriptionStoreView)? If App Review requires a specific implementation detail (StoreKit 2, SubscriptionStoreView, or something else), I would really appreciate clarification, as this is not explicitly stated in the rejection. Thank you for your help.
2
0
222
Feb ’26
External payment providers for users in Russia when In-App Purchases are unavailable
Hello, I have a question regarding payments for iOS apps in Russia. Currently, In-App Purchases are not available or do not work for many users in Russia, making it impossible for them to purchase digital subscriptions or digital content via Apple IAP. Is it allowed to: use an external payment provider available only in Russia, show this option only to users located in that region, and unlock access to digital content after payment is completed outside the app (for example, via a web page), in cases where Apple IAP is technically unavailable? Is there any official guidance or exception for regions where Apple IAP cannot be used? Thank you.
0
0
252
Feb ’26
Subscription Unavailable - Strange Behavior with StoreKit
I added my first subscription to my app using StoreKit's SubscriptionStoreView. Everything worked as expected in the debug environment and also in TestFlight. So I submitted my app and subscriptions to App Store Connect, got everything Approved and released. After updating my app through App Store and checking the Subscription View, it just says "Subscription Unavailable. The subscription is unavailable in the current storefront." I waited around 3 days and still getting the same message. Now the very strange behavior starts. I went to App Store Connect, I made and edit to the subscription description, saved, removed the edit, saved, and submitted to review. 15 minutes later the subscriptions appear in my app and everything works as expected. After getting the edit approved, the Subscription View in my app again only showed the message "Subscription Unavailable. The subscription is unavailable in the current storefront." No user is able to see the subscriptions anymore, even though it worked as expected before the edit was approved. So I did the same as before. Again, make an edit to the subscription description, save, remove the edit, save, submit to review. 15 minutes later the subscriptions are again available in my app and it works as expected. This is definitely not the expected behavior and submitting the subscription edits every day is wasting the App Review Team's time as well as mine. I contacted Apple Developer Support but I didn't get any reply back (at least yet). I am not the only one experiencing this. I found a friend online who has the exact same issue, and is able to temporarily solve it by making an edit to the subscription description as well. So far it has been a huge headache, and we are losing customers this way. Please if anyone has experience with this problem, or has any suggestions, they will be greatly appreciated. Thank you so much, Tomas
32
19
7.2k
Feb ’26
Do Vendor Listing Plans With Feature Limits Require In-App Purchase?
Hello, I’m seeking clarification on In-App Purchase requirements for a marketplace vendor app offering real-world, offline services. We plan to offer paid vendor listing plans (Free, Silver, Gold, etc.) that provide business benefits such as increased visibility, analytics, and also include feature limits like the number of images a vendor can upload to their business profile and enhanced dashboard views. These plans are intended to support vendors’ real-world businesses and do not provide digital content to consumers. Does gating vendor features such as image upload limits or dashboard capabilities require Apple In-App Purchase under App Store Review Guideline 3.1, or can such vendor plans be processed using a third-party payment gateway as account-based service tiers?
1
0
55
Feb ’26
交易无法结束 (Transactions Unable to Finish)
有一个用户反馈7月8日充值了3笔后一直无法发起新的购买,总是提示已经购买。我们查了是之前的交易无法结束,我们使用StoreKit2,已经调用await transaction.finish()成功结束交易了,但是每次发起新支付时,Transaction.unfinished还会返回之前已完成的交易信息。 是设备或AppleID的问题么?用户尝试了重启设备、重新登录AppleID都没用。有什么办法解决呢? 用户无法结束的苹果交易id为:200002703899379、200002703900716、200002703902023。 A user reported that after making 3 purchases on July 8th, they have been unable to initiate new purchases, always receiving a prompt that the item has already been purchased. Upon investigation, we found that the previous transactions couldn't be finalized. We use StoreKit2 and have successfully called await transaction.finish() to end the transactions. However, every time a new payment is initiated, Transaction.unfinished still returns information about the previously completed transactions. Could this be an issue with the device or Apple ID? The user has tried restarting the device and re-logging into their Apple ID, but these attempts were unsuccessful. Is there any way to resolve this? The Apple transaction IDs that the user is unable to finalize are: 200002703899379, 200002703900716, 200002703902023.
6
6
1.5k
Feb ’26
First time publishing IAPs: App Store approved but purchases pending review
Hello, My app has been approved on the App Store, but the in-app purchases are still under review. This is the first time I'm publishing an app with in-app purchases. During sandbox testing, everything worked correctly. Is it normal for there to be a validation delay for in-app purchases after the app approval? Or is there a specific action I need to take, given that this is my first experience with in-app purchases? Thank you in advance.
0
0
101
Feb ’26
Increased StoreKit errors “Unable to Complete Request”
Since January 28, 2026, we’ve noticed an increase in StoreKit-related errors during purchase flows. Specifically, we’re seeing a spike in errors reported as “Unable to Complete Request”, categorized as unknown StoreKit errors. This correlates with a noticeable drop in the overall purchase success rate. A few observations: The issue is not limited to the latest app version, it also affects older versions. It appears to occur only on iOS 17+. The impact seems country-specific: some regions are affected more heavily, while others show no significant change compared to previous days. At the moment, there are no related incidents reported on Apple’s System Status page. Given these symptoms, this looks like a potential StoreKit / Apple API issue, but we haven’t found any official confirmation yet. Has anyone else observed similar StoreKit behavior recently on iOS 17+? Any insights or known issues would be greatly appreciated.
1
1
334
Feb ’26
Sharing IAPs between apps
I have had an App (AngelNav) available on the App Store since 2023 which was written for iOS v15.0 or later. I am working on a new version which has the same functionality, but a radically new interface as well as taking advantage of the latest features in SwiftUI. I am writing it from the bottom up for iOS26 to ensure a clean codebase to ease maintenance. As I understand it I have the following options: Issue an update to the existing app. This is easy to do but creates a problem for those users with iOS26 who prefer the old interface. In addition I can't see a way to implement bug fixes for previous versions Create a new app (AngelNavNeo). This would allow users with iOS26 who prefer the old interface to stick with it, and I can issue bug fixes on the old version. However, there is no way to share already purchased in-app purchases between versions without a server-side solution and the need for user accounts on my server (neither of which I want to do). Is my understanding is correct, and have I missed anything?
0
0
245
Feb ’26
First Auto-Renewable Subscription – getSubscriptions returns empty in TestFlight
Hi, I am submitting auto-renewable subscriptions for the first time for a brand new iOS app (never approved before). Setup: App ID has In-App Purchase capability enabled Subscriptions created under a subscription group All metadata (pricing, localization, availability) completed Subscriptions currently show In Review Testing via TestFlight build Bundle ID matches App Store Connect Using react-native-iap (StoreKit under the hood) When calling: await getSubscriptions({ skus }) I consistently get: products fetched: 0 ProductsUnavailableError Also, the app version page does not show the “In-App Purchases and Subscriptions” section. Question: For a brand new app, will StoreKit return empty products while the first subscriptions are in review? Do the first subscriptions need to be approved and/or attached to a new app version before they become available in TestFlight sandbox? Thanks for any clarification.
Replies
1
Boosts
0
Views
97
Activity
Mar ’26
In-App Purchases Rejected
'Guideline 2.1 - Performance - App Completeness' - "...could not be found in the submitted binary." I have checked with internal and external testers and my devices and simulators, everyone sees the in app purchases but I just had my submitted rejected for the second time with the comment that these in-app none-consumable purchases cannot be found with the submitted binary. I even attached a slow step by step screen recording for the review reply after the first rejection showing how to reach the purchasable packs by navigating through only 3 buttons: "How to access the purchase flow: Launch the app Tap the bottom-center Settings button (icon: switch.2) Tap “Customisation gallery” Scroll to find any pack listed above Tap the pack price chip Tap “Buy pack – [price]” to start the StoreKit purchase flow" I also attached a clear image along with detailed instruction (same as above) for the Review Information. and the second rejection was received today for the same reason. I'm being guided to the localization 'Developer Action Needed'. I'm not sure what more can be done? I feel like my review replies aren't even looked at.
Replies
2
Boosts
0
Views
111
Activity
Mar ’26
StoreKit access in keyboard extensions
Hello Apple team, We would like to access the user's available purchases from the keyboard extension. Making purchases directly from the keyboard is a great benefit, but we assume it is intentionally disabled to prevent abuse or fraudulent purchase attempts. What we care about the most is determining if the user has an item that contains a discount or a free trial to personalize messaging when we suggest the user go to the app and make a purchase. We hope you'd consider revising your policy around StoreKit usage.
Replies
0
Boosts
0
Views
90
Activity
Mar ’26
Unlocking a demo mode without IAP
I am aware of the following in the App Review Guidelines; 3.1.1 If you want to unlock features or functionality within your app, (by way of example: subscriptions, in-game currencies, game levels, access to premium content, or unlocking a full version), you must use in-app purchase. Apps may not use their own mechanisms to unlock content or functionality, such as license keys, augmented reality markers, QR codes, cryptocurrencies and cryptocurrency wallets, etc. The app itself operates normally, but imposes limits after a limited time of use. Purchasing the full version removes these limits. This is a one-time IAP, not a subscription. My app is aimed at professionals within the entertainment industry, and will only ever be used within a theatre or other similar venue. I do not intend to provide any other paid route to the full version than via the App Store. However, what I would like to do is provide free use at certain events and to students in their educational venues (e.g. college theatres etc)- is it acceptable to use an external mechanism (e.g. a server based API) to temporarily remove the limitations whilst in that venue? Or, likewise, provide an extension to the free trial period for specific uses. Note this is not a purchase, as there is no payment. Therefore there is no revenue outside of the App Store (which surely is the point of the mandate to use IAP for this purpose) Also, it's not fully 'unlocking' the app (the user doesn't get the full version, they just aren't bound by the trial limit timer when within that venue or for a limited time) I'm aware that another route would be to put a different version of the app in the store that requires a username and password for use (for example) and then provide those credentials to log in - as there's lots of apps that follow that model, but it seems clunky to require the user to download a different app.
Replies
0
Boosts
0
Views
127
Activity
Feb ’26
Issue configuring non-consumable IAP
Hi everyone, I’m running into a recurring issue when submitting my app to the App Store. The app is made with Unity and contains a single non-consumable IAP. Said IAP works fine locally, and sandbox testing with Xcode works when we test the build internally. Here is the current behaviour: On Game launch, the paywall pop-up displays correctly, I can try to purchase the bonus content. I go through the whole mock payment process, it takes a little while to validate but it does go through. It asks me to “pay” a second time (as if the first one hadn’t been taken into account), there’s a bit of loading but the payment is validated. A pop-up tells me it’s confirmed. Back in game, the content is correctly unlocked and accessible. But during App Store review, the reviewers report that the in-app purchase button is unresponsive. The purchase cannot be initiated, and an error that says "Cannot initiate purchase because product was not found" or simply failing to start. Here’s what I’ve confirmed so far: The IAP product is created in App Store Connect and has the correct product ID. The IAP is correctly associated with the build when submitting the game's version for review. Paid Apps Agreement, tax, and banking info are fully completed and approved. Do you have any idea why the IAP would work while testing builds through TestFlight but fail validation? Anything we should look into? I feel the issue is due to a bad configuration on the Appstore Connect, but there aren't that many things to take into consideration there either...
Replies
2
Boosts
0
Views
66
Activity
Feb ’26
Error loading products on iOS TestFlight app
We've built an app for iOS using Unity that has in-app purchases. The flow correctly works for Android - no issues at all. Now we've been testing in TestFlight and can't get it to load ANY products. The only message we are getting is "Retrieve Products failed, and could not retrieve any products." - considering the exact flow works fine on Android I would assume the code for loading products itself is not the problem. It is a first version/submission, so the app itself is fresh and hasn't been released prior. The agreements are active (Paid Apps, bank account, W8-BEN-E, etc.), it's using a distribution certificate and has the IAP capability when uploading, so we're kind unsure where to look to at this point.
Replies
1
Boosts
0
Views
111
Activity
Feb ’26
Apps Stuck in 'Waiting for Review' for 12+ Days — IAPs Also Blocked
Hello everyone, I am hoping someone here can share some advice or has experienced a similar situation. I am an individual developer and two of my apps have been stuck in 'Waiting for Review' status for over 10 to 12 days now. Prior to this, the review process was moving normally and I was receiving feedback from Apple on both apps. Then suddenly everything stopped and both apps have been sitting in the queue with no movement and no communication from the review team. To make things worse, I am also unable to delete these apps or make any changes because their In-App Purchases are simultaneously under review, which is locking me out of managing my own apps entirely. I already created a support case specifically for App Review (Case ID: 20000111755276) over a week ago, but unfortunately I have not heard back anything from Apple at all — no acknowledgment, no update, nothing. I am based in Pakistan and the phone callback option is not available for my region, so email and this forum are essentially my only options to get any help. Has anyone else experienced such a long delay recently? Is there anything else I can do to get this moving or at least get a response from the review team? Any advice or shared experience would be greatly appreciated. Thank you.
Replies
1
Boosts
1
Views
214
Activity
Feb ’26
Why doesn’t Transaction.updates emit reliably?
I'm on macOS Sequoia Version 15.7.3 (24G419) and using Xcode Version 26.2 (17C52). In my Xcode project, Transaction.updates and Product.SubscriptionInfo.Status.updates don’t seem to emit updates reliably. The code below works consistently in a fresh Xcode project using a minimal setup with a local StoreKit Configuration file containing a single auto-renewable subscription. class InAppPurchaseManager { static let shared = InAppPurchaseManager() var transactionTask: Task<Void, Never>? var subscriptionTask: Task<Void, Never>? init() { print("Launched InAppPurchaseManager...") transactionTask = Task(priority: .background) { for await result in Transaction.updates { print("\nReceived transaction update...") try? await result.payloadValue.finish() } } subscriptionTask = Task(priority: .background) { for await result in Product.SubscriptionInfo.Status.updates { print("\nReceived subscription update...") print("state:", result.state.localizedDescription) } } } } I initialise it in: func applicationDidFinishLaunching(_ aNotification: Notification) { _ = InAppPurchaseManager.shared } I do not build any UI for this test. I open StoreKit Transaction Manager then click Create Transaction → select the product → choose Purchase (Default) → Next → Done. The console shows that it detects the initial purchase, renewals and finishes each transaction. It also works even if I do not add the In-App Purchase capability. In my actual project, the initial purchase is detected and finished, but renewals are not detected. Subsequent transactions then appear as unverified, presumably because the updates are not being observed so the transactions are not being finished. What can I do to make this work reliably in my actual project? For context, in the actual project: I have a StoreKit Configuration file that is synced with App Store Connect The In-App Purchase capability is enabled The configuration file is selected in the scheme The products in App Store Connect show “Ready to Submit” Loading products works: try await Product.products(for: ...) Also, I use ProductView for the purchase UI. The first purchase works and is detected and finished, but subsequent renewals are not finished because the updates do not seem to be emitted.
Replies
9
Boosts
0
Views
370
Activity
Feb ’26
StoreKit 2: is there a way for an app to be informed in real time if an auto-renewable subscription is cancelled by the user?
Hello, In my iOS app, I have a customer center where the user can see some details about its current subscription. I display things like the billing period, the price, the introductory offer state, the renewal date if it's not cancelled or the expiration date if it's cancelled, etc. From this screen, the user can open the subscription management sheet. I want to detect if the user cancels the subscription from this sheet or from the App Store (when the app is running) so I can refresh the information displayed on my customer center. I checked the asynchronous sequences provided by StoreKit 2 like Transaction.updates or Product.SubscriptionInfo.Status.updates and tested with a Sandbox account on my physical device with the app debugged using Xcode. But I noticed these sequences don't emit when I cancel the subscription in Sandbox. Is this the expected behavior? Is there a way to observe in real time if a user cancels the subscription? I can still manually check when the sheet is dismissed but it's not ideal because I want to know even if the user cancel from outside of the app with the app running. Thank you, Axel
Replies
2
Boosts
1
Views
416
Activity
Feb ’26
Implement in-app subscriptions
I am developing a mobile application using Flutter and plan to implement in-app subscriptions for both iOS platforms. I would like to request guidance on the following: Technical Implementation: Recommended best practices for implementing auto-renewable subscriptions in Flutter apps StoreKit 2 integration requirements and compatibility considerations Server-to-server notification setup and endpoint requirements Testing Procedures: Sandbox environment configuration and testing workflow TestFlight testing requirements for subscription features Recommended testing scenarios before production release Required Documentation and Accounts: Complete list of required agreements (Paid Applications Agreement, etc.) Banking and tax information requirements Privacy policy and terms of service specifications for subscription apps App Review guidelines specific to subscription-based apps Subscription Management: Grace period implementation requirements Handling subscription cancellations and refunds Promotional offers and introductory pricing setup Could you please provide documentation or direct me to the appropriate resources? Additionally, if there are any specific requirements for Flutter-based applications, I would appreciate that information. Application Details: Platform: iOS (Flutter framework) Subscription Type: Auto-renewable subscriptions
Replies
0
Boosts
0
Views
94
Activity
Feb ’26
In-App-Purchase review rejected
Testing with testflight the IAP work with sandbox. But Apple Review was rejected. It was explained that the IAP could not be found. I cancelled the review, added the IAP to all countries again. The IAPs are in status waiting for review. Now when preparing the version, I cannot choose anymore the IAP. I don't find the option anymore to add the IAP products on the version page. Contracts are all active and in the app for me and others it is working.
Replies
1
Boosts
0
Views
141
Activity
Feb ’26
App approved & live, but IAP still “In Review” – users can’t upgrade
Hi all, My app Pocket PGP is already approved and live on the App Store, but the associated non-consumable in-app purchase (Pocket PGP Pro (Unlock), product id com.pocketpgp.app.fullunlock) has remained In Review for an extended period. Because premium functionality depends on this IAP, users currently see the upgrade option but get “product not available yet / try restore purchases”, and the app remains limited (free tier is 2 keys). This creates a poor first-run experience, and I’ve had ~90 downloads in the last 24 hours. I’ve included clear review notes/steps for locating the IAP and testing the paywall in App Store Connect. Is there any recommended way to get the IAP review completed/prioritized when the app is already live and users are affected? Thanks in advance. — Magnus
Replies
1
Boosts
0
Views
85
Activity
Feb ’26
App Review cannot complete auto-renewable subscription purchase (Guideline 2.1) although sandbox & TestFlight work
Hello, I’m experiencing repeated rejections related to Guideline 2.1 – App Completeness for an iOS app using auto-renewable subscriptions, and I’m struggling to understand what is missing, as the purchase flow works correctly in sandbox and TestFlight. App setup: iOS app built with React Native (Expo + react-native-iap) Auto-renewable subscriptions: • Monthly: €4.99 • Yearly: €39.99 Paid Apps Agreement accepted Subscriptions configured and active in App Store Connect Privacy Policy and Apple Standard EULA included: • Visible inside the app on the subscription screen • Added in App Store metadata What App Review reports: App Review states they are unable to buy the in-app purchase, resulting in a rejection under Guideline 2.1 (App Completeness). What works correctly: getSubscriptions() returns valid products in sandbox Subscription titles, prices, and durations are displayed in the app UI requestSubscription() is triggered when tapping the subscribe button Apple purchase sheet appears and completes successfully in: • Sandbox testing • TestFlight (external testers) What I’ve verified: No conditional logic blocks purchases in review builds Purchase button always calls requestSubscription purchaseUpdatedListener and purchaseErrorListener are correctly registered No hardcoded prices; prices come from StoreKit Same behavior on iPhone and iPad Question: Is there any known limitation or requirement in the App Review environment for auto-renewable subscriptions that differs from sandbox/TestFlight when using a custom subscription UI (not SubscriptionStoreView)? If App Review requires a specific implementation detail (StoreKit 2, SubscriptionStoreView, or something else), I would really appreciate clarification, as this is not explicitly stated in the rejection. Thank you for your help.
Replies
2
Boosts
0
Views
222
Activity
Feb ’26
External payment providers for users in Russia when In-App Purchases are unavailable
Hello, I have a question regarding payments for iOS apps in Russia. Currently, In-App Purchases are not available or do not work for many users in Russia, making it impossible for them to purchase digital subscriptions or digital content via Apple IAP. Is it allowed to: use an external payment provider available only in Russia, show this option only to users located in that region, and unlock access to digital content after payment is completed outside the app (for example, via a web page), in cases where Apple IAP is technically unavailable? Is there any official guidance or exception for regions where Apple IAP cannot be used? Thank you.
Replies
0
Boosts
0
Views
252
Activity
Feb ’26
Subscription Unavailable - Strange Behavior with StoreKit
I added my first subscription to my app using StoreKit's SubscriptionStoreView. Everything worked as expected in the debug environment and also in TestFlight. So I submitted my app and subscriptions to App Store Connect, got everything Approved and released. After updating my app through App Store and checking the Subscription View, it just says "Subscription Unavailable. The subscription is unavailable in the current storefront." I waited around 3 days and still getting the same message. Now the very strange behavior starts. I went to App Store Connect, I made and edit to the subscription description, saved, removed the edit, saved, and submitted to review. 15 minutes later the subscriptions appear in my app and everything works as expected. After getting the edit approved, the Subscription View in my app again only showed the message "Subscription Unavailable. The subscription is unavailable in the current storefront." No user is able to see the subscriptions anymore, even though it worked as expected before the edit was approved. So I did the same as before. Again, make an edit to the subscription description, save, remove the edit, save, submit to review. 15 minutes later the subscriptions are again available in my app and it works as expected. This is definitely not the expected behavior and submitting the subscription edits every day is wasting the App Review Team's time as well as mine. I contacted Apple Developer Support but I didn't get any reply back (at least yet). I am not the only one experiencing this. I found a friend online who has the exact same issue, and is able to temporarily solve it by making an edit to the subscription description as well. So far it has been a huge headache, and we are losing customers this way. Please if anyone has experience with this problem, or has any suggestions, they will be greatly appreciated. Thank you so much, Tomas
Replies
32
Boosts
19
Views
7.2k
Activity
Feb ’26
Do Vendor Listing Plans With Feature Limits Require In-App Purchase?
Hello, I’m seeking clarification on In-App Purchase requirements for a marketplace vendor app offering real-world, offline services. We plan to offer paid vendor listing plans (Free, Silver, Gold, etc.) that provide business benefits such as increased visibility, analytics, and also include feature limits like the number of images a vendor can upload to their business profile and enhanced dashboard views. These plans are intended to support vendors’ real-world businesses and do not provide digital content to consumers. Does gating vendor features such as image upload limits or dashboard capabilities require Apple In-App Purchase under App Store Review Guideline 3.1, or can such vendor plans be processed using a third-party payment gateway as account-based service tiers?
Replies
1
Boosts
0
Views
55
Activity
Feb ’26
交易无法结束 (Transactions Unable to Finish)
有一个用户反馈7月8日充值了3笔后一直无法发起新的购买,总是提示已经购买。我们查了是之前的交易无法结束,我们使用StoreKit2,已经调用await transaction.finish()成功结束交易了,但是每次发起新支付时,Transaction.unfinished还会返回之前已完成的交易信息。 是设备或AppleID的问题么?用户尝试了重启设备、重新登录AppleID都没用。有什么办法解决呢? 用户无法结束的苹果交易id为:200002703899379、200002703900716、200002703902023。 A user reported that after making 3 purchases on July 8th, they have been unable to initiate new purchases, always receiving a prompt that the item has already been purchased. Upon investigation, we found that the previous transactions couldn't be finalized. We use StoreKit2 and have successfully called await transaction.finish() to end the transactions. However, every time a new payment is initiated, Transaction.unfinished still returns information about the previously completed transactions. Could this be an issue with the device or Apple ID? The user has tried restarting the device and re-logging into their Apple ID, but these attempts were unsuccessful. Is there any way to resolve this? The Apple transaction IDs that the user is unable to finalize are: 200002703899379, 200002703900716, 200002703902023.
Replies
6
Boosts
6
Views
1.5k
Activity
Feb ’26
First time publishing IAPs: App Store approved but purchases pending review
Hello, My app has been approved on the App Store, but the in-app purchases are still under review. This is the first time I'm publishing an app with in-app purchases. During sandbox testing, everything worked correctly. Is it normal for there to be a validation delay for in-app purchases after the app approval? Or is there a specific action I need to take, given that this is my first experience with in-app purchases? Thank you in advance.
Replies
0
Boosts
0
Views
101
Activity
Feb ’26
Increased StoreKit errors “Unable to Complete Request”
Since January 28, 2026, we’ve noticed an increase in StoreKit-related errors during purchase flows. Specifically, we’re seeing a spike in errors reported as “Unable to Complete Request”, categorized as unknown StoreKit errors. This correlates with a noticeable drop in the overall purchase success rate. A few observations: The issue is not limited to the latest app version, it also affects older versions. It appears to occur only on iOS 17+. The impact seems country-specific: some regions are affected more heavily, while others show no significant change compared to previous days. At the moment, there are no related incidents reported on Apple’s System Status page. Given these symptoms, this looks like a potential StoreKit / Apple API issue, but we haven’t found any official confirmation yet. Has anyone else observed similar StoreKit behavior recently on iOS 17+? Any insights or known issues would be greatly appreciated.
Replies
1
Boosts
1
Views
334
Activity
Feb ’26
Sharing IAPs between apps
I have had an App (AngelNav) available on the App Store since 2023 which was written for iOS v15.0 or later. I am working on a new version which has the same functionality, but a radically new interface as well as taking advantage of the latest features in SwiftUI. I am writing it from the bottom up for iOS26 to ensure a clean codebase to ease maintenance. As I understand it I have the following options: Issue an update to the existing app. This is easy to do but creates a problem for those users with iOS26 who prefer the old interface. In addition I can't see a way to implement bug fixes for previous versions Create a new app (AngelNavNeo). This would allow users with iOS26 who prefer the old interface to stick with it, and I can issue bug fixes on the old version. However, there is no way to share already purchased in-app purchases between versions without a server-side solution and the need for user accounts on my server (neither of which I want to do). Is my understanding is correct, and have I missed anything?
Replies
0
Boosts
0
Views
245
Activity
Feb ’26