Subscriptions

RSS for tag

Give users access to content, services, or premium features in your app on an ongoing basis with subscriptions, a type of in-app purchase.

Posts under Subscriptions tag

200 Posts

Post

Replies

Boosts

Views

Activity

IAP Missing From Build
I recently had an app rejected for 2.1 - Performance - App Completeness and specifically, “no subscription options available“. The previous build I submitted did have the issue, but this latest one did not, at least as far as I could test. I tested on two different devices using a sandbox account as well as TestFlight and the IAP were visible and working. I also see each IAP pop up correctly within RevenueCat. One thing that may be an issue is I don’t have the section to attach the IAP onto the build before submitting to review. I’ve read through every help article I could find and have triple-checked everything with the IAP is in order. Pricing, localization, screenshot, review notes, signed agreement, etc. I’ve also tried reaching out several times through the contact us page as well as replied to the review, but haven’t received a response. Is there anything I could be missing? Is not attaching them to the build the issue and if so, how can I get them to show up without recreating the IAP with new names? Thank you.
2
0
119
Feb ’26
How to test iap (subcription) purchase?
Hi :) I'm new to app store connect, and I just want to verify what does it take to be able to test subscription for a new app that isn't approved yet using sandbox? Or is this not possible that the app has to be approved first? More context below: My app is a new app, I only submitted for review and I linked the subscription from the app’s In-App Purchases and Subscriptions section on the version page when submit it for review. It got rejected for now. When the app review status is both in-review and rejected, I've tried to test my subscription, where there is a button (like "subscribe"/"become a member") in my app that user can click on, which it calls ios's IAPProvider.startMembershipPurchase, I just get Error: [IAPService] Product not found: [<my_subscription_id>]. I ensured my subscription's product id in app store connect matches with the one in my code. I can see the "rejected" status both on my app and the subscription. So can anyone help clarify if the app has to be approved first in order to test subscription? Or am I missing any other setup? Or it might just be my code? Thanks in advance! Any info is super helpful!
0
0
113
Feb ’26
Can't find IAP/Subscriptions section for new build
Hello communities, I am going to submit a new binary build with subscriptions. However, I cannot find the In-App Purchases and Subscriptions section like before. Is there any update on this? Despite the fact that the subscriptions were accepted and banking & agreements were set up, I still can't figure out how to include them in the binary build. Thanks for the advice.
2
0
161
Feb ’26
Auto-renewing Subscription Updates not Arriving
This is a copy of a reply to this post. https://developer.apple.com/forums/thread/722222?page=1 I'm posting as new in the hope someone might have more up-to-date information, as I'm pulling out what little hair I have left. I'm using Storekit 2, testing in Xcode with a local Storekit config file. I have created a very minimal system to investigate this issue. I have a SwiftUI-based window using SubscriptionStoreView, and my app set up with the usual listener. I have four types of auto renewing subscription, configured in the local Storekit config file. With my app running, I subscribe to the lowest-level subscription I offer, via the SubscriptionStoreView. Notification of the inital purchase arrives, but subsequent auto-renewals do not trigger any action in my listener for Transaction.updates. They arrive as expected in the Transaction Manager. Radio silence in my listener. If I upgrade one subscription (via my SubscriptionStoreView) I see this reflected in the UI immediately, and also in the Transaction Manager, but the update that arrives in Transaction.updates refers to the old subscription, and has the isUpgraded flag set to false. Also, can anyone remind me what the grey warning triangle next to entries in the Transaction Manager means. I'm assuming it means unfinished, as that's what the sidebar indicates. Can the testing system really be this broken, or am I wildly off the mark? Unless I'm doing something fundamentally wrong this all seems extremely flakey, but happy to be proved wrong. I find this all rather unsettling if I can't test reliably, and am concerned that I my app may end up in this situation if I use storekit 2: https://stackoverflow.com/questions/73530849/storekit-renewal-transactions-missing-in-transaction-all-or-transaction-updates
10
2
2.2k
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
223
Feb ’26
AppStoreServerNotificationV2 EXPIRED event after removing from sale
Our app is supposed to be removed from sale on May 31st. Subscriptions our app is offering will also be removed on May 1st one month before our app removal. I would like to know if AppStoreServerNotificationV2 EXPIRED event will be sent to a specified endpoint after the removal of these subscriptions. I think each subscription will be canceled automatically from May 1st to May 31st and it will send EXPIRED event to our server, but is it true? Thank you in advance.
1
0
169
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
Unable to Subscribe to Apple Developer Program
I have been attempting to complete my enrollment for the Apple Developer Program, but each time I try, I am shown the message: “Your enrollment could not be completed at this time.” The issue persists across multiple attempts and days, and I am unable to proceed further. I am signed in with my Apple ID, and the error appears immediately during the enrollment process. Could you please advise on: Whether this is a known issue affecting my region, or If there are any additional steps or verification required to complete enrollment from Cameroon? I would greatly appreciate any guidance or support you can provide, as I am eager to continue with development using Apple’s platforms. Thank you for your time and assistance.
0
0
53
Jan ’26
StoreKit 2 subscription: “Continue to Purchase” does nothing in App Review, works in TestFlight
Hi, I’ve been struggling for a while with an issue around an auto-renewable subscription using StoreKit 2 and I’d like to double-check here whether I’m missing something, or if anyone has seen similar behavior. Context • iOS / iPadOS app, first release • 1 auto-renewable subscription (only product in the app) • Using StoreKit 2 only (Product, Transaction, AppStore) • Review device according to the message: iPad Air 11” (M3), iPadOS 26.2 • I keep failing on Guideline 2.1 – App Completeness • The App Review message is always the same: “The In-App Purchase products in the app exhibited one or more bugs which create a poor user experience. Specifically, no action occurred when we tapped on the Continue to Purchase button.” In App Store Connect, the subscription is properly configured, is in the state Ready for Review, and is correctly associated with this app version. What I see (locally + TestFlight) In TestFlight and local builds, the behavior looks correct: • Product.products(for: […]) returns the product, the price and currency are displayed correctly on the paywall / subscription card. • The user taps “Get PRO” → my overlay is shown (“Preparing purchase…” → then a screen with confirmation and price). • After tapping the “Continue to Purchase” button in that overlay, I call await product.purchase(). • On my devices, the system StoreKit purchase sheet always appears. • In the sandbox logs I can see: • a successful result from purchase() • a verified transaction via VerificationResult • the “user has PRO” flag being set correctly after refreshing entitlements (Transaction.currentEntitlements + fallback Transaction.latest(for:)). I’ve tested this on multiple real devices and with several sandbox Apple IDs – I cannot reproduce the “nothing happens after tapping” problem. What App Review reports App Review repeatedly claims that “no action occurred when we tapped on the Continue to Purchase button.” From their screenshots and description, the flow is: 1. They open Settings → subscription card. 2. They see the loaded price, so the product has clearly been fetched successfully from the App Store. 3. They tap my “Get SalonFlow PRO” button. 4. My overlay appears with the subscription name and price. 5. They tap “Continue to Purchase” (in my UI this is “Pokračovat k nákupu”). 6. According to them, nothing happens – no system StoreKit confirmation, no error message, no visible action. Important: this overlay did not appear as an extra complication, but as a reaction to their earlier feedback: • Originally, I had a simple flow: button in the card → directly calling purchase(). • App Review at that time said that after tapping the button “nothing happens”. • I added the overlay specifically to make it obvious that the button does react and that the app is preparing the system purchase: I show the product, the price, and a text explaining that a system App Store confirmation will appear next. • Only from that overlay do I call purchase(). So: in their environment they obviously do reach the overlay (meaning the button definitely does “something”), but the actual StoreKit purchase sheet never shows up. Additional changes and “safety belts” From the App Review video it was clear they were tapping the purchase button roughly 3 seconds after launching the app. So I tightened the flow even more: • The “Get SalonFlow PRO” button is now: • disabled until the product has been loaded from the App Store, • visually dimmed, with a spinner and a short text like “Loading subscription information, please wait…”. • The button only becomes active once the product is actually loaded and ready. • After that, the user goes through a two-step process: 1. tap “Get SalonFlow PRO” → overlay with details, 2. tap “Continue to Purchase” → this is where I call purchase(). On my devices, after that step the system purchase confirmation always appears. But App Review still says that after tapping “Continue to Purchase” nothing happens. What I’d like to ask 1. Has anyone seen a situation where Product.purchase() with StoreKit 2 works fine in TestFlight and sandbox testing, but in the App Review environment the system purchase sheet never appears (no error, just “nothing”)? 2. Are there any known edge cases on iPad (iPadOS 26.2, iPad Air M3) where the StoreKit purchase sheet might fail to show even if: • AppStore.canMakePayments == true, • the product is valid and loaded, • and no error is thrown from purchase()? 3. Could App Review consider my two-step flow (button → overlay → confirm button calling purchase()) problematic in itself, even though the overlay is there precisely because of their initial complaint that “nothing happens” after tapping the button? 4. Is there anything concrete you’d recommend: • adding to the logs, • changing in the timing/order of the purchase() call, • or adjusting in the UI, to make it absolutely clear what is happening in their environment if the system sheet never appears? From my point of view, the implementation follows the StoreKit 2 documentation, everything works correctly in real tests and TestFlight, but the App Review environment behaves differently and I keep getting stuck on Guideline 2.1. I’d really appreciate any experience, tips (“we had exactly this and fixed it by X”), or even a recommendation to radically simplify the flow back to a minimal “button → directly purchase()” without any intermediate overlay. Thanks a lot for any help – this review loop has been going on for weeks and I’d really like to finally resolve it.
0
0
146
Jan ’26
StoreKit Subscription Price Not Updating
I updated the price of subscriptions within an app in App Store Connect, however the new price does not show within the test app. I would just like to make sure that if the app is released that the subscription price is set to the most recent price. Is there any way to confirm that and is there a way to see the new price in the test app?
0
0
200
Jan ’26
IAP TestFlight subscription of for the wrong country store (Mac)
Hi there, When I build my app in Xcode using a synched AppstoreConnect Storekit file, when using subscriptions, I am sent to the correct (for me) UK store to purchase a subscription. However when using the same build as a TestFlight App I am presented with the US store.. If I try to purchase a $ subscription I get the error: Account not in this store Your account is not valid for use in the U.S. store. You must switch to the U.K. store before purchasing If I try to use the presented Change App Store button - I get Unable to Complete request Error My AppStore on my Mac is set to the UK store.. How can I get the TestFlight version to present the correct store locale? Many thanks!
0
1
181
Jan ’26
Remove Subscriptions From App Review
Hey All, Last week, I submitted a build of my app with the ability for users to subscribe & receive some extra content in exchange. I wasn't super sold on that being the right path for my app, and when I rightfully received a rejection for missing in app EULA, I decided that I'd postpone monetizing the app and I'd give away that content instead. So, I went ahead and disabled any paths of entry to the subscribe modal & marked the subscriptions as "Remove from Sale" in AppStoreConnect. Additionally, I updated the subscription review notes to be "This is not accessible in app at this time" Sadly, I still got rejected due to missing EULA and the tester being unable to find where IAP's are offered. I'd like to avoid cutting a new build, and instead just remove the subscriptions from being associated with this submission. But, I cannot for the life of me figure out how to remove them! Please help! TLDR: How do you disassociate an IAP or Subscription from an app submission?
0
0
113
Jan ’26
Unable to load a subscription product in the app
Hi, I am building a new app in the App Store - the app is not live yet. I have setup an annual subscription product in AppStore Connect. Our problem is that we are unable to retrieve the product from our app - we've made sure that there are no missing metadata (e.g. price, availability). Has anyone encountered before? Appreciate any help provided. Thanks
7
0
195
Jan ’26
Test subscribe on test flight
Hi! I created a subscription class and a button that starts the purchase flow. In the Xcode environment and Simulator everything works correctly — the purchase sheet appears and the subscription flow works as expected. But when I test the app in TestFlight, the subscription button doesn’t appear at all. I cannot trigger a purchase, and I can’t find a clear tutorial that explains how to make subscriptions work specifically in TestFlight. Here is what I have already done: I created the subscription in App Store Connect I set up a Sandbox account and logged in on the device. StoreKit sync works and the product ID matches the one in App Store Connect. The same code works perfectly in Xcode Debug and Simulator, but the button is missing in TestFlight. I’m totally stuck. Can someone explain how to correctly set up and test subscriptions in TestFlight and why the subscription button would disappear even though everything works in Xcode? Any help or guidance would be greatly appreciated! THIS IS SUB CLASS @Published private(set) var products: [Product] = [] @Published private(set) var activeSubscriptions: Set<StoreKit.Transaction> = [] private var updates: Task<Void, Never>? var hasActiveSubscription: Bool { activeSubscriptions.contains { transaction in guard let expirationDate = transaction.expirationDate else { return false } return expirationDate > Date() && transaction.revocationDate == nil } } init() { updates = Task { for await update in StoreKit.Transaction.updates { if case .verified(let transaction) = update { activeSubscriptions.insert(transaction) await transaction.finish() } } } } deinit { updates?.cancel() } // MARK: PRODUCT LOADING func fetchProducts() async { do { let ids = ["test_name"] products = try await Product.products(for: ids) } catch { print("Failed to load products: \(error)") products = [] } } // MARK: PURCHASE func purchase(_ product: Product) async throws { let result = try await product.purchase() switch result { case let .success(.verified(transaction)): await transaction.finish() case .success(.unverified): break case .pending: break case .userCancelled: break @unknown default: break } } // MARK: ACTIVE SUBSCRIPTIONS func fetchActiveSubsciptions() async { var active: Set<StoreKit.Transaction> = [] for await entitlement in StoreKit.Transaction.currentEntitlements { if case .verified(let transaction) = entitlement { active.insert(transaction) } } self.activeSubscriptions = active } > ``` THIS IS BUTTON ```VStack(spacing: 8) { ForEach(sub.products) { product in PrimaryButtonView(text: mainButtonTitle) { Task { do { try await sub.purchase(product) } catch { print("Purchase error: \(error)") } } } } }```
1
0
134
Jan ’26
Subscriptions stuck in App Store Connect, app versions accepted but no IAP attached
Hi, Anyone else hitting this App Store Connect issue? I have now submitted two app versions. Both get accepted and I can release them, but the subscriptions are never included. What is happening: App versions get approved normally No “In-App Purchases” section appears on the app version review page Subscriptions page shows subscriptions stuck on “In Review” for 10 days Subscription localization is “Rejected” and completely locked I cannot edit, recreate, or resubmit anything related to subscriptions.. Tried submitting a new app version again, same result. App approved, subscriptions still stuck. So I keep releasing without subscriptions every time 🤦‍♂️ Anyone experienced this or found a way to unblock subscriptions when localization is rejected and locked? Thanks!
1
0
131
Jan ’26
IAP Missing From Build
I recently had an app rejected for 2.1 - Performance - App Completeness and specifically, “no subscription options available“. The previous build I submitted did have the issue, but this latest one did not, at least as far as I could test. I tested on two different devices using a sandbox account as well as TestFlight and the IAP were visible and working. I also see each IAP pop up correctly within RevenueCat. One thing that may be an issue is I don’t have the section to attach the IAP onto the build before submitting to review. I’ve read through every help article I could find and have triple-checked everything with the IAP is in order. Pricing, localization, screenshot, review notes, signed agreement, etc. I’ve also tried reaching out several times through the contact us page as well as replied to the review, but haven’t received a response. Is there anything I could be missing? Is not attaching them to the build the issue and if so, how can I get them to show up without recreating the IAP with new names? Thank you.
Replies
2
Boosts
0
Views
119
Activity
Feb ’26
Subscriptions stuck waiting review
My apps been live on the app store for over a day now and my subscriptions have been stuck on waiting for review, ive sent an email and even been on live imsg support but they cant help either and i have had nothing back via email. has anyone got any suggestions
Replies
0
Boosts
0
Views
100
Activity
Feb ’26
Subscriptions "Waiting for Review"
Our subscriptions have been waiting for a review for almost a week. They were submit with a build and were not reviewed and our build was therefor rejected. We can not display the subscriptions in our app until they are reviewed. How do we solve this issue?
Replies
2
Boosts
1
Views
215
Activity
Feb ’26
How to test iap (subcription) purchase?
Hi :) I'm new to app store connect, and I just want to verify what does it take to be able to test subscription for a new app that isn't approved yet using sandbox? Or is this not possible that the app has to be approved first? More context below: My app is a new app, I only submitted for review and I linked the subscription from the app’s In-App Purchases and Subscriptions section on the version page when submit it for review. It got rejected for now. When the app review status is both in-review and rejected, I've tried to test my subscription, where there is a button (like "subscribe"/"become a member") in my app that user can click on, which it calls ios's IAPProvider.startMembershipPurchase, I just get Error: [IAPService] Product not found: [<my_subscription_id>]. I ensured my subscription's product id in app store connect matches with the one in my code. I can see the "rejected" status both on my app and the subscription. So can anyone help clarify if the app has to be approved first in order to test subscription? Or am I missing any other setup? Or it might just be my code? Thanks in advance! Any info is super helpful!
Replies
0
Boosts
0
Views
113
Activity
Feb ’26
Can't find IAP/Subscriptions section for new build
Hello communities, I am going to submit a new binary build with subscriptions. However, I cannot find the In-App Purchases and Subscriptions section like before. Is there any update on this? Despite the fact that the subscriptions were accepted and banking & agreements were set up, I still can't figure out how to include them in the binary build. Thanks for the advice.
Replies
2
Boosts
0
Views
161
Activity
Feb ’26
Auto-renewing Subscription Updates not Arriving
This is a copy of a reply to this post. https://developer.apple.com/forums/thread/722222?page=1 I'm posting as new in the hope someone might have more up-to-date information, as I'm pulling out what little hair I have left. I'm using Storekit 2, testing in Xcode with a local Storekit config file. I have created a very minimal system to investigate this issue. I have a SwiftUI-based window using SubscriptionStoreView, and my app set up with the usual listener. I have four types of auto renewing subscription, configured in the local Storekit config file. With my app running, I subscribe to the lowest-level subscription I offer, via the SubscriptionStoreView. Notification of the inital purchase arrives, but subsequent auto-renewals do not trigger any action in my listener for Transaction.updates. They arrive as expected in the Transaction Manager. Radio silence in my listener. If I upgrade one subscription (via my SubscriptionStoreView) I see this reflected in the UI immediately, and also in the Transaction Manager, but the update that arrives in Transaction.updates refers to the old subscription, and has the isUpgraded flag set to false. Also, can anyone remind me what the grey warning triangle next to entries in the Transaction Manager means. I'm assuming it means unfinished, as that's what the sidebar indicates. Can the testing system really be this broken, or am I wildly off the mark? Unless I'm doing something fundamentally wrong this all seems extremely flakey, but happy to be proved wrong. I find this all rather unsettling if I can't test reliably, and am concerned that I my app may end up in this situation if I use storekit 2: https://stackoverflow.com/questions/73530849/storekit-renewal-transactions-missing-in-transaction-all-or-transaction-updates
Replies
10
Boosts
2
Views
2.2k
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
223
Activity
Feb ’26
AppStoreServerNotificationV2 EXPIRED event after removing from sale
Our app is supposed to be removed from sale on May 31st. Subscriptions our app is offering will also be removed on May 1st one month before our app removal. I would like to know if AppStoreServerNotificationV2 EXPIRED event will be sent to a specified endpoint after the removal of these subscriptions. I think each subscription will be canceled automatically from May 1st to May 31st and it will send EXPIRED event to our server, but is it true? Thank you in advance.
Replies
1
Boosts
0
Views
169
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
Unable to Subscribe to Apple Developer Program
I have been attempting to complete my enrollment for the Apple Developer Program, but each time I try, I am shown the message: “Your enrollment could not be completed at this time.” The issue persists across multiple attempts and days, and I am unable to proceed further. I am signed in with my Apple ID, and the error appears immediately during the enrollment process. Could you please advise on: Whether this is a known issue affecting my region, or If there are any additional steps or verification required to complete enrollment from Cameroon? I would greatly appreciate any guidance or support you can provide, as I am eager to continue with development using Apple’s platforms. Thank you for your time and assistance.
Replies
0
Boosts
0
Views
53
Activity
Jan ’26
StoreKit 2 subscription: “Continue to Purchase” does nothing in App Review, works in TestFlight
Hi, I’ve been struggling for a while with an issue around an auto-renewable subscription using StoreKit 2 and I’d like to double-check here whether I’m missing something, or if anyone has seen similar behavior. Context • iOS / iPadOS app, first release • 1 auto-renewable subscription (only product in the app) • Using StoreKit 2 only (Product, Transaction, AppStore) • Review device according to the message: iPad Air 11” (M3), iPadOS 26.2 • I keep failing on Guideline 2.1 – App Completeness • The App Review message is always the same: “The In-App Purchase products in the app exhibited one or more bugs which create a poor user experience. Specifically, no action occurred when we tapped on the Continue to Purchase button.” In App Store Connect, the subscription is properly configured, is in the state Ready for Review, and is correctly associated with this app version. What I see (locally + TestFlight) In TestFlight and local builds, the behavior looks correct: • Product.products(for: […]) returns the product, the price and currency are displayed correctly on the paywall / subscription card. • The user taps “Get PRO” → my overlay is shown (“Preparing purchase…” → then a screen with confirmation and price). • After tapping the “Continue to Purchase” button in that overlay, I call await product.purchase(). • On my devices, the system StoreKit purchase sheet always appears. • In the sandbox logs I can see: • a successful result from purchase() • a verified transaction via VerificationResult • the “user has PRO” flag being set correctly after refreshing entitlements (Transaction.currentEntitlements + fallback Transaction.latest(for:)). I’ve tested this on multiple real devices and with several sandbox Apple IDs – I cannot reproduce the “nothing happens after tapping” problem. What App Review reports App Review repeatedly claims that “no action occurred when we tapped on the Continue to Purchase button.” From their screenshots and description, the flow is: 1. They open Settings → subscription card. 2. They see the loaded price, so the product has clearly been fetched successfully from the App Store. 3. They tap my “Get SalonFlow PRO” button. 4. My overlay appears with the subscription name and price. 5. They tap “Continue to Purchase” (in my UI this is “Pokračovat k nákupu”). 6. According to them, nothing happens – no system StoreKit confirmation, no error message, no visible action. Important: this overlay did not appear as an extra complication, but as a reaction to their earlier feedback: • Originally, I had a simple flow: button in the card → directly calling purchase(). • App Review at that time said that after tapping the button “nothing happens”. • I added the overlay specifically to make it obvious that the button does react and that the app is preparing the system purchase: I show the product, the price, and a text explaining that a system App Store confirmation will appear next. • Only from that overlay do I call purchase(). So: in their environment they obviously do reach the overlay (meaning the button definitely does “something”), but the actual StoreKit purchase sheet never shows up. Additional changes and “safety belts” From the App Review video it was clear they were tapping the purchase button roughly 3 seconds after launching the app. So I tightened the flow even more: • The “Get SalonFlow PRO” button is now: • disabled until the product has been loaded from the App Store, • visually dimmed, with a spinner and a short text like “Loading subscription information, please wait…”. • The button only becomes active once the product is actually loaded and ready. • After that, the user goes through a two-step process: 1. tap “Get SalonFlow PRO” → overlay with details, 2. tap “Continue to Purchase” → this is where I call purchase(). On my devices, after that step the system purchase confirmation always appears. But App Review still says that after tapping “Continue to Purchase” nothing happens. What I’d like to ask 1. Has anyone seen a situation where Product.purchase() with StoreKit 2 works fine in TestFlight and sandbox testing, but in the App Review environment the system purchase sheet never appears (no error, just “nothing”)? 2. Are there any known edge cases on iPad (iPadOS 26.2, iPad Air M3) where the StoreKit purchase sheet might fail to show even if: • AppStore.canMakePayments == true, • the product is valid and loaded, • and no error is thrown from purchase()? 3. Could App Review consider my two-step flow (button → overlay → confirm button calling purchase()) problematic in itself, even though the overlay is there precisely because of their initial complaint that “nothing happens” after tapping the button? 4. Is there anything concrete you’d recommend: • adding to the logs, • changing in the timing/order of the purchase() call, • or adjusting in the UI, to make it absolutely clear what is happening in their environment if the system sheet never appears? From my point of view, the implementation follows the StoreKit 2 documentation, everything works correctly in real tests and TestFlight, but the App Review environment behaves differently and I keep getting stuck on Guideline 2.1. I’d really appreciate any experience, tips (“we had exactly this and fixed it by X”), or even a recommendation to radically simplify the flow back to a minimal “button → directly purchase()” without any intermediate overlay. Thanks a lot for any help – this review loop has been going on for weeks and I’d really like to finally resolve it.
Replies
0
Boosts
0
Views
146
Activity
Jan ’26
submit your in-app purchases
I am having this issue with Submitting the in app purchase for review. Everything is filled in with th subscription and its link to the build. I have also completed all the business section but do not see a tick box or drop down box to add the subscription to my latest build. If any one can help with this I would be very much appreciated.
Replies
0
Boosts
0
Views
59
Activity
Jan ’26
StoreKit Subscription Price Not Updating
I updated the price of subscriptions within an app in App Store Connect, however the new price does not show within the test app. I would just like to make sure that if the app is released that the subscription price is set to the most recent price. Is there any way to confirm that and is there a way to see the new price in the test app?
Replies
0
Boosts
0
Views
200
Activity
Jan ’26
IAP TestFlight subscription of for the wrong country store (Mac)
Hi there, When I build my app in Xcode using a synched AppstoreConnect Storekit file, when using subscriptions, I am sent to the correct (for me) UK store to purchase a subscription. However when using the same build as a TestFlight App I am presented with the US store.. If I try to purchase a $ subscription I get the error: Account not in this store Your account is not valid for use in the U.S. store. You must switch to the U.K. store before purchasing If I try to use the presented Change App Store button - I get Unable to Complete request Error My AppStore on my Mac is set to the UK store.. How can I get the TestFlight version to present the correct store locale? Many thanks!
Replies
0
Boosts
1
Views
181
Activity
Jan ’26
Remove Subscriptions From App Review
Hey All, Last week, I submitted a build of my app with the ability for users to subscribe & receive some extra content in exchange. I wasn't super sold on that being the right path for my app, and when I rightfully received a rejection for missing in app EULA, I decided that I'd postpone monetizing the app and I'd give away that content instead. So, I went ahead and disabled any paths of entry to the subscribe modal & marked the subscriptions as "Remove from Sale" in AppStoreConnect. Additionally, I updated the subscription review notes to be "This is not accessible in app at this time" Sadly, I still got rejected due to missing EULA and the tester being unable to find where IAP's are offered. I'd like to avoid cutting a new build, and instead just remove the subscriptions from being associated with this submission. But, I cannot for the life of me figure out how to remove them! Please help! TLDR: How do you disassociate an IAP or Subscription from an app submission?
Replies
0
Boosts
0
Views
113
Activity
Jan ’26
I need your please, Apple doesn't accept my debit for developer account subscription
Hi guys, please help me on how to pay for my developer account. Thank you very much.
Replies
0
Boosts
0
Views
96
Activity
Jan ’26
Unable to load a subscription product in the app
Hi, I am building a new app in the App Store - the app is not live yet. I have setup an annual subscription product in AppStore Connect. Our problem is that we are unable to retrieve the product from our app - we've made sure that there are no missing metadata (e.g. price, availability). Has anyone encountered before? Appreciate any help provided. Thanks
Replies
7
Boosts
0
Views
195
Activity
Jan ’26
Test subscribe on test flight
Hi! I created a subscription class and a button that starts the purchase flow. In the Xcode environment and Simulator everything works correctly — the purchase sheet appears and the subscription flow works as expected. But when I test the app in TestFlight, the subscription button doesn’t appear at all. I cannot trigger a purchase, and I can’t find a clear tutorial that explains how to make subscriptions work specifically in TestFlight. Here is what I have already done: I created the subscription in App Store Connect I set up a Sandbox account and logged in on the device. StoreKit sync works and the product ID matches the one in App Store Connect. The same code works perfectly in Xcode Debug and Simulator, but the button is missing in TestFlight. I’m totally stuck. Can someone explain how to correctly set up and test subscriptions in TestFlight and why the subscription button would disappear even though everything works in Xcode? Any help or guidance would be greatly appreciated! THIS IS SUB CLASS @Published private(set) var products: [Product] = [] @Published private(set) var activeSubscriptions: Set<StoreKit.Transaction> = [] private var updates: Task<Void, Never>? var hasActiveSubscription: Bool { activeSubscriptions.contains { transaction in guard let expirationDate = transaction.expirationDate else { return false } return expirationDate > Date() && transaction.revocationDate == nil } } init() { updates = Task { for await update in StoreKit.Transaction.updates { if case .verified(let transaction) = update { activeSubscriptions.insert(transaction) await transaction.finish() } } } } deinit { updates?.cancel() } // MARK: PRODUCT LOADING func fetchProducts() async { do { let ids = ["test_name"] products = try await Product.products(for: ids) } catch { print("Failed to load products: \(error)") products = [] } } // MARK: PURCHASE func purchase(_ product: Product) async throws { let result = try await product.purchase() switch result { case let .success(.verified(transaction)): await transaction.finish() case .success(.unverified): break case .pending: break case .userCancelled: break @unknown default: break } } // MARK: ACTIVE SUBSCRIPTIONS func fetchActiveSubsciptions() async { var active: Set<StoreKit.Transaction> = [] for await entitlement in StoreKit.Transaction.currentEntitlements { if case .verified(let transaction) = entitlement { active.insert(transaction) } } self.activeSubscriptions = active } > ``` THIS IS BUTTON ```VStack(spacing: 8) { ForEach(sub.products) { product in PrimaryButtonView(text: mainButtonTitle) { Task { do { try await sub.purchase(product) } catch { print("Purchase error: \(error)") } } } } }```
Replies
1
Boosts
0
Views
134
Activity
Jan ’26
Subscriptions stuck in App Store Connect, app versions accepted but no IAP attached
Hi, Anyone else hitting this App Store Connect issue? I have now submitted two app versions. Both get accepted and I can release them, but the subscriptions are never included. What is happening: App versions get approved normally No “In-App Purchases” section appears on the app version review page Subscriptions page shows subscriptions stuck on “In Review” for 10 days Subscription localization is “Rejected” and completely locked I cannot edit, recreate, or resubmit anything related to subscriptions.. Tried submitting a new app version again, same result. App approved, subscriptions still stuck. So I keep releasing without subscriptions every time 🤦‍♂️ Anyone experienced this or found a way to unblock subscriptions when localization is rejected and locked? Thanks!
Replies
1
Boosts
0
Views
131
Activity
Jan ’26