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

Subscription cannot be attached to new binary, but the reviewers reject the subscription because it needs to be attached with a new binary.
Currently our app Juris: Learn the Law has consumable IAPs available publicly. We've recently added a subscription to a new update, but since we already added consumable IAPs, we can only submit new IAP on their own and cannot attach it to a new binary. The issue is that when we submit the subscription for review, it gets rejected and the reviewers respond that the subscription needs to be included with a new binary, even though we can't attached it to a new binary. We submitted a new binary at the same time we submitted a new subscription, but the new binary would be approved and the subscription would be rejected. The update with the subscription is available, but the subscription isn't, meaning users cannot use the new features which require the subscription.
1
0
40
11h
Auto-renewable subscriptions returning false on RevenueCat Purchase — unable to test in sandbox without Xcode
Hello, I am experiencing a persistent issue with auto-renewable subscriptions during App Review. Despite verifying all configurations, the subscription purchase flow fails and the app continues to be rejected under Guideline 2.1(b). Environment App built with FlutterFlow (no Xcode access, Windows-only development environment) purchases_flutter SDK v9.9.5 (RevenueCat) iOS deployment target: iOS 13+ Review device reported by Apple: iPhone 17 Pro Max, iOS 26.4.2 Configuration verified App Store Connect: Subscription group plateup_pro created and configured Products plateup_pro:monthly (1 month) and plateup_pro:yearly (1 year) created with all required fields Both products status: Waiting for Review Paid Apps Agreement: Active as of May 8, 2026 All tax forms active: Brazil Tax Form, W-8BEN-E, W-8BEN Banking account: Active RevenueCat dashboard: In-App Purchase Key configured and validated: Valid credentials confirmed App Store Connect API Key configured and validated: Valid credentials confirmed Apple Server to Server Notifications: configured correctly Entitlements, Offerings and Packages: correctly configured and linked to both products Purchase tracking: All purchases in RevenueCat (default) App (FlutterFlow): RevenueCat Purchase action configured for both $rc_monthly and $rc_annual packages Action output variables isMonthly and isYearly checked after purchase Both FALSE paths now display an informational alert: "Purchase unavailable. Please try again later." Paywall screen includes subscription title, duration, price, auto-renewal disclosure, EULA and Privacy Policy links, and Restore Purchases button The problem When the reviewer taps "Start 7-Day Free Trial", the RevenueCat Purchase action returns false for both isYearly and isMonthly, causing the informational alert to appear instead of completing the purchase. The reviewer sees this as a bug. Our diagnosis suggests this may be caused by one or more of the following: Subscription products stuck in "Waiting for Review" status — StoreKit may not return products that have not yet been approved, even in the sandbox environment. This appears to be the circular dependency described in this forum thread: https://developer.apple.com/forums/thread/818349 First-time subscription submission flow — The App Store Connect UI shows the message: "Your first subscription must be submitted with a new app version. Create your subscription, then select it from the app's In-App Purchases and Subscriptions section on the version page before submitting the version to App Review." We have attempted to add the subscriptions to the version page before submitting, but the option to select them was not consistently available. Possible SDK compatibility issue with iOS 26 — The purchases_flutter SDK version is managed by the FlutterFlow platform, and we cannot rule out a compatibility issue between the SDK and StoreKit on iOS 26.4.2. Sandbox testing limitation We are unable to reproduce or verify the issue locally because: The app is developed entirely on Windows using FlutterFlow We have no access to Xcode or macOS Enabling Developer Mode on the iOS test device requires Xcode, which we do not have Without Developer Mode, the Sandbox Account option does not appear in iOS Settings → App Store Our only available testing method is TestFlight, which does not support sandbox purchases without Developer Mode enabled This means we cannot confirm whether the purchase flow works before submitting to App Review, creating a dependency on the reviewer's sandbox environment. Questions Can StoreKit return subscription products in the reviewer's sandbox environment while those products are still in "Waiting for Review" status? Or must the products be approved first? Is there a way to correctly attach auto-renewable subscriptions to the app version submission from App Store Connect, given that we do not have access to Xcode or the App Store Connect API? Is there a known compatibility issue between purchases_flutter v9.9.5 (RevenueCat) and StoreKit on iOS 26.4.2 that could cause the purchase action to return false? Is there any alternative way to test sandbox purchases on iOS without enabling Developer Mode — for example, directly through TestFlight? Any guidance would be greatly appreciated. We have now gone through multiple review cycles with the same result and have exhausted all configuration options we can verify from our environment. Thank you.
2
0
81
22h
Apple Subscription Offer Code Behavior
I would like to ask for clarification regarding the specifications of Apple Subscriptions. We are currently planning a subscription discount campaign using Offer Codes, and during testing we encountered the following issue. Test scenario: A user who does not have our app installed accesses a URL that contains an Offer Code. The App Store opens and displays the details of the Offer Code. The user reviews the offer and proceeds, at which point the App Store prompts the user to install our app. The user installs the app and launches it. Issue: The subscription remains in an unpurchased state. From the app implementation side, when the app launches, we attempt to retrieve transactions held by Apple using unfinishedTransactions. However, no transaction is returned, so the app cannot transition the user to a subscribed state. In contrast, when a user who already has the app installed accesses the Offer Code URL (step 1), the app can successfully retrieve the unfinished transaction via unfinishedTransactions on launch and correctly switch the user to a subscribed state. Could you please advise on the root cause of this behavior, or whether there is a recommended workaround for this scenario?
0
0
13
23h
App Store Server Notification v2: how to distinguish a resubscription that happened in-app from one that happened in Settings → Subscriptions?
Context We're handling App Store subscriptions on the server side using App Store Server Notification v2. Our pipeline currently identifies each event by transactionId and originalTransactionId. A few notes about our client: Our app is built with Flutter and uses the standard in_app_purchase plugin layer to drive App Store purchases (StoreKit 1 under the hood). We have not migrated to StoreKit 2 on the client yet. We have not been setting SKPayment.applicationUsername on outgoing purchases, so every transaction we've ever produced has appAccountToken: null in its v2 notification. This question is purely about what the server-side notification can tell us, given the current client state above. What we're trying to figure out A user can resubscribe to an expired subscription in two different places: In-app — the user opens our app and re-purchases through our normal in-app purchase flow. App Store — the user goes to Settings → Apple ID → Subscriptions and resubscribes from the system UI, without ever returning to the app. Both paths trigger a SUBSCRIBED notification (subtype RESUBSCRIBE) with structurally identical payloads as far as we can tell — same shape for data.transactionInfo, data.renewalInfo, etc. From the notification alone we can't decide which path produced it. The reason this matters: in our system, the two paths require different business handling: In-app path: the user may have signed in to a different business account in our app. The new subscription should be attributed to whoever paid in the app just now, not to the previous owner of originalTransactionId. App Store path: there is no in-app signal, so the business owner can only be inferred from the previous originalTransactionId mapping. If we get it wrong, the subscription's entitlement ends up on the wrong business account. What we do today Because we can't tell the paths apart from the notification, we defer processing for a few minutes and check whether an in-app order for the same transaction has arrived in the meantime: If an in-app order shows up → it's the in-app path; attribute to the in-app account. If nothing shows up after the delay → assume App Store path; fall back to the previous owner mapping. This works but adds latency to entitlement activation and forces us to build a deferred-retry queue with idempotency against the in-app callback path. Possible direction: appAccountToken / applicationUsername We noticed that v2 notifications carry transactionInfo.appAccountToken, and the docs suggest that StoreKit 1's SKPayment.applicationUsername (when it's a valid UUID) is mirrored into this field. In theory, if we start setting it on every in-app purchase from the Flutter client, the field could double as a path discriminator on the server: appAccountToken != null → in-app path (only the app can set it), and we even get the business user id for free appAccountToken == null → App Store path (no UI to populate it) But we have some open questions before committing to this direction: Questions Is there an existing signal in ResponseBodyV2 / JWSTransactionDecodedPayload / JWSRenewalInfoDecodedPayload that distinguishes these two paths, that I might be missing? Can the same distinction be obtained via getAllSubscriptionStatuses / getTransactionHistory / any other Server API endpoint? Is applicationUsername (StoreKit 1) still a reliable way to populate appAccountToken on v2 notifications today? Specifically: Are there format constraints beyond "valid UUID" that cause Apple to drop the value? Any known differences between sandbox and production in how it's mirrored? Does the App Store path ever strip or overwrite a previously-set value when the same originalTransactionId is reused? For existing subscriptions where applicationUsername was never set (which is all of ours today, since we've never polient), is there any way to retroactively distinguish the in-app vs App Store path? Or is timing-based deferred matching theonly option for that cohort, even after we start setting the value on new purchases? If neither (1) nor (2) is currently possible, is the timing-based heuristic we use today the pattern Apple expects developers to follow, or is there a recommended approach we're missing? A small suggestion, if it turns out there's no existing way If the information genuinely isn't exposed today, it might be worth surfacing a salesChannel-style field on the transaction, similar to what Google Play Developer API exposes on Order.salesChannel (IN_APP, PLAY_STORE, etc.). That would let server-side handlers route each event to the correct business owner immediately, regardless of whether appAccountToken was set, and would also cover legacynt never had a chance to populate it. Thanks — happy to share sample payloads or more detail if helpful.
1
0
53
1d
Clarification on App Store Review Guideline for multi-person subscription model
Hi everyone, I am working on an iOS app with a subscription-based model, and I need some clarification regarding App Store Review Guideline. The app allows one account holder to manage access for multiple people under the same account. Each person may need subscription-based access to certain digital features within the app. In this scenario, the subscription requirement is not limited to a single user under one Apple ID. The account holder may add multiple members/dependents, and access may vary based on the subscription status associated with those people. My question is: If the subscription is managed through our backend and the app locks or unlocks digital features based on that subscription status, would Apple consider this a violation for not using In-App Purchase? I would like to understand whether Apple expects In-App Purchase to be implemented in this type of multi-person subscription model, even when the subscription is managed at the account/member level rather than as a simple single-user plan. Any guidance or experience with similar review scenarios would be helpful. Thanks.
1
0
38
1d
Production StoreKit silently omits one approved auto-renewable subscription product — sandbox returns it correctly, sudden onset 2026-05-09
Hi all, Reporting an active production issue in case anyone else is seeing the same pattern, or has insight into what could cause this. Symptom As of 2026-05-09 morning, one specific auto-renewable subscription product is silently absent from Production StoreKit responses on our live App Store build. The product is still 'Approved' in App Store Connect, all metadata is intact, no error code is returned — the product simply does not appear in the products array. The other 3 products in the same subscription group continue to work normally. 100% of production users are affected. Setup App: live on App Store, version 1.0.0 (build 8) Subscription group with 4 auto-renewable products: standard_monthly_799 ✅ returns correctly standard_annual_6999 ✅ returns correctly unlimited_monthly_1299 ❌ MISSING from production response unlimited_annual_9999 ✅ returns correctly SDK: purchases_flutter (RevenueCat) → StoreKit Same physical device, same code, same RC config behaves correctly in Sandbox — all 4 products are returned and a sandbox purchase of unlimited_monthly_1299 succeeds. Timeline 2026-05-08: working correctly, purchases succeeding normally 2026-05-09 morning: product silently disappears from production StoreKit responses No app update was submitted between those dates No App Store Connect changes were made Onset was simultaneous across all production users at one timestamp What I've verified App Store Connect: Product status: Approved All territories enabled, all prices configured (no N/A in any territory) Subscription group correctly contains all 4 products No 'Submit for Review' pending changes Product attached to live app version 1.0.0 (8) Tax category: Match to parent app Family Sharing: Off (consistent with the working products) Paid Applications Agreement: Status: Active Banking and Tax forms: Active RevenueCat dashboard: All 4 products show Store Status: Approved Default offering contains all 4 packages iOS attachment for the affected product is intact No warnings or sync errors Sandbox StoreKit (today): flutter run (debug) on physical device → all 4 products returned flutter run --release on physical device → all 4 products returned Sandbox purchase of unlimited_monthly_1299 succeeds Production StoreKit (today, broken): App Store-downloaded 1.0.0 (8) on multiple users' devices Multiple Apple IDs / multiple devices / multiple regions — all reproduce Only unlimited_monthly_1299 affected; other 3 products fine Why this looks server-side Sudden simultaneous onset across all users No code or config change preceded onset Sandbox unaffected, only Production affected Single product affected, not the whole subscription group or app No error returned — silent omission only Cannot reproduce with locally signed builds, only with App Store-distributed binary This pattern is consistent with a server-side product indexing or fronting issue specific to one product in Production StoreKit. As a developer I don't have visibility into Apple's product-serving infrastructure to investigate further — looking for guidance from anyone who has seen this before. Questions for the community Has anyone else seen a single auto-renewable subscription silently drop out of Production StoreKit responses while remaining Approved in ASC, with no error code returned? Is there any internal product-state flag (beyond what's exposed in the ASC UI) that could cause Production StoreKit to silently omit a product? Anything similar to a hidden 'review hold' or 'price tier reconciliation' state? Has the asymmetry between RevenueCat package identifiers (Standard uses RC's $rc_monthly/$rc_annual default identifiers, Premium uses custom premium_monthly/premium_annual identifiers) ever been implicated in this kind of failure? RC support has been notified, but worth asking publicly. For anyone who has resolved a similar issue: what action ended up clearing it — ASC re-save, RC re-sync, Apple Support escalation, or did it self-resolve after Apple-side cache propagation? Filings in progress ASC Contact Us ticket: filed Apple DTS technical incident: filed RevenueCat support ticket: filed Feedback Assistant report: in progress Will update this thread with the resolution path once we have one. Thanks, — Kin Pong Lo (developer, Alice: AI English Tutor)
0
0
54
3d
Auto-renewable subscriptions returning false on RevenueCat Purchase — unable to test in sandbox without Xcode
Hello, I am experiencing a persistent issue with auto-renewable subscriptions during App Review. Despite verifying all configurations, the subscription purchase flow fails and the app continues to be rejected under Guideline 2.1(b). Environment App built with FlutterFlow (no Xcode access, Windows-only development environment) purchases_flutter SDK v9.9.5 (RevenueCat) iOS deployment target: iOS 13+ Review device reported by Apple: iPhone 17 Pro Max, iOS 26.4.2 Configuration verified App Store Connect: Subscription group plateup_pro created and configured Products plateup_pro:monthly (1 month) and plateup_pro:yearly (1 year) created with all required fields Both products status: Waiting for Review Paid Apps Agreement: Active as of May 8, 2026 All tax forms active: Brazil Tax Form, W-8BEN-E, W-8BEN Banking account: Active RevenueCat dashboard: In-App Purchase Key configured and validated: Valid credentials confirmed App Store Connect API Key configured and validated: Valid credentials confirmed Apple Server to Server Notifications: configured correctly Entitlements, Offerings and Packages: correctly configured and linked to both products Purchase tracking: All purchases in RevenueCat (default) App (FlutterFlow): RevenueCat Purchase action configured for both $rc_monthly and $rc_annual packages Action output variables isMonthly and isYearly checked after purchase Both FALSE paths now display an informational alert: "Purchase unavailable. Please try again later." Paywall screen includes subscription title, duration, price, auto-renewal disclosure, EULA and Privacy Policy links, and Restore Purchases button The problem When the reviewer taps "Start 7-Day Free Trial", the RevenueCat Purchase action returns false for both isYearly and isMonthly, causing the informational alert to appear instead of completing the purchase. The reviewer sees this as a bug. Our diagnosis suggests this may be caused by one or more of the following: Subscription products stuck in "Waiting for Review" status — StoreKit may not return products that have not yet been approved, even in the sandbox environment. This appears to be the circular dependency described in this forum thread: https://developer.apple.com/forums/thread/818349 First-time subscription submission flow — The App Store Connect UI shows the message: "Your first subscription must be submitted with a new app version. Create your subscription, then select it from the app's In-App Purchases and Subscriptions section on the version page before submitting the version to App Review." We have attempted to add the subscriptions to the version page before submitting, but the option to select them was not consistently available. Possible SDK compatibility issue with iOS 26 — The purchases_flutter SDK version is managed by the FlutterFlow platform, and we cannot rule out a compatibility issue between the SDK and StoreKit on iOS 26.4.2. Sandbox testing limitation We are unable to reproduce or verify the issue locally because: The app is developed entirely on Windows using FlutterFlow We have no access to Xcode or macOS Enabling Developer Mode on the iOS test device requires Xcode, which we do not have Without Developer Mode, the Sandbox Account option does not appear in iOS Settings → App Store Our only available testing method is TestFlight, which does not support sandbox purchases without Developer Mode enabled This means we cannot confirm whether the purchase flow works before submitting to App Review, creating a dependency on the reviewer's sandbox environment. Questions Can StoreKit return subscription products in the reviewer's sandbox environment while those products are still in "Waiting for Review" status? Or must the products be approved first? Is there a way to correctly attach auto-renewable subscriptions to the app version submission from App Store Connect, given that we do not have access to Xcode or the App Store Connect API? Is there a known compatibility issue between purchases_flutter v9.9.5 (RevenueCat) and StoreKit on iOS 26.4.2 that could cause the purchase action to return false? Is there any alternative way to test sandbox purchases on iOS without enabling Developer Mode — for example, directly through TestFlight? Any guidance would be greatly appreciated. We have now gone through multiple review cycles with the same result and have exhausted all configuration options we can verify from our environment. Thank you.
0
0
24
3d
How to get IAP/Subscription off "Waiting for Review"
I'm trying to get an app with a subscription through apple review and it keeps failing because the IAP/Subscription component is active, so the payflow never completes for the reviewer (i think?). How do I get the review team to approve the subscription first, then test the app payflow? Have tried to explain it in the latest App Review reply thread. Am i missing something? This is my first time building an app and trying to get it on the app store. Thank you!
1
0
162
4d
Subscriptions not reviewed with App
Hello, I had an App approved several days ago. But the subscription which is a necessity for most potential users is still marked 'Awaiting Review' This results in users seeing 'unable to load subscription' when attempting to use the app. Not exactly the start I or they, were hoping for. After several days like this, I had hoped the review team would look at the subscription. But Apple support tell me they likely won't because the App itself is already approved, and the subscription won't be seen by them. Can anyone here tell me how best to proceed? This does not help my reputation, and I need to resolve it quickly to limit the damage. Many thanks
0
0
25
4d
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.
1
0
185
4d
Korea subscription consent: Timing mismatch between push notifications and Settings consent option
Hi all, I've been observing what appears to be a timing mismatch in how Apple handles Korea trial-to-paid consent, and I wanted to see if other developers are seeing the same thing. Per Korean regulations effective Feb 14, 2025, Apple must obtain explicit user consent before converting a free trial to a paid subscription. Apple handles this via email, push notifications, and an in-app consent option accessible from Settings > Subscriptions. For a 7-day trial in the Republic of Korea storefront, I'm observing: Consent push notifications (Agree to continue your subscription without interruption) start arriving ~1 day after trial redemption, at roughly hourly frequency. However, when the user taps the push and navigates to Settings > Subscriptions, there is no consent option available. The only visible action is "Cancel Free Trial". The consent option only becomes available around day 4 of the trial (i.e., 3 days before renewal, matching Apple's documented messaging cadence [1]). For the first ~3 days, users receive hourly push notifications they cannot act on. The only way to stop them is to cancel the subscription entirely. This is happening across multiple apps in the Korean App Store, so it appears to be a platform-level behavior rather than an app-specific issue. Is anyone else observing this behavior? Any insight from Apple engineers or other developers would be greatly appreciated. [1] https://developer.apple.com/help/app-store-connect/reference/in-app-purchases-and-subscriptions/consent-for-subscription-offer-conversions
1
0
196
5d
How to set up a subscription correctly
Hi to you all, I have a problem with setting up a subscription for an app for the first time. I keep getting a rejection with the message under Guideline 2.1(b) that “one or more of the In-App Purchase products have not been submitted for review.” I don’t know what to add anymore. I only have two monthly subscriptions. I set them up and selected them in the version description and submitted the package. There‘a not more information what exactly is missing. The only other information is the following: “Note you must provide an App Review screenshot in App Store Connect in order to submit In-App Purchases for review.” I’d be glad to get some advice.. Thank you in advance for your help!!
2
0
120
5d
Auto-renewable subscription showing as "One-time charge" on live app — blocking all installs (case 102883643138 unanswered for 6 days)
Our live production app Padel Club Pro (Apple ID 6763061435, Bundle ID com.padelclubpro.app) has been blocked from all new installs since launch due to StoreKit incorrectly displaying our auto-renewable subscription as a "One-time charge" on the App Store install sheet. The issue: Tapping the install button on the App Store opens the StoreKit purchase confirmation sheet showing "R499.99 / One-time charge" instead of presenting the app as a free download with the subscription available in-app. The app's base price is set to Free in App Store Connect. The subscription is approved and configured correctly as auto-renewable. Subscription details: Product ID: com.padelclubpro.app.monthly Status: Approved Subscription Duration: 1 month Introductory Offer: Free for the first week (active across 175 countries) What I've verified: App base price is set to Free Paid Applications Agreement is fully signed and active (tax forms, banking complete) No phantom non-consumable IAPs exist (In-App Purchases section is empty) RevenueCat App-Specific Shared Secret is set correctly RevenueCat product mapping correctly points $rc_monthly to the subscription product Reproduced on multiple physical devices using multiple different Apple IDs (none had previously interacted with the app) Issue has persisted for 6+ days, ruling out CDN propagation delay Apple Support case: Filed case 102883643138 six days ago — only received automated confirmation, no response since despite two follow-up emails. Suspected cause: The auto-renewable subscription appears to be approved as a standalone product but is not properly bound to the live build/version on Apple's StoreKit servers, causing StoreKit to fall back to a default "One-time charge" display. Question: Has anyone encountered this before? Is there a known fix on the developer side, or does this require Apple engineering to re-bind the subscription server-side? Any guidance on how to escalate the support case would be appreciated — this is a critical production-blocking issue and we have not been able to acquire a single user since launch. Thank you in advance.
1
0
61
5d
App under Review for 15d
Hello, my App DEBRIEF has now already for 15d the status „Waiting For Review“ and nothing is changing. I opened a support ticket under 102880278747 3d ago and got the reply that it should have been checked and it can’t take much longer. I am running ads already for the app and some partners are waiting for the launch. Any Ideas what I can do or is that normal ? What do I need to expect? Apple ID: 6762911498 Bundle ID: com.netcoresolutions.DE-BRIEF
0
0
60
6d
How to validate App Store receipts and check subscription status from my server?
Hello, I have an app on the App Store that offers in-app purchases (consumable, non-consumable) and auto-renewable subscriptions. My goal is to verify the validity of purchase receipts on my own backend server, to prevent fraudulent transactions. My questions: Does Apple provide an API that allows my server to validate a receipt (the one generated after a purchase) and confirm whether it is genuine? For auto-renewable subscriptions, can I retrieve renewal dates, expiration dates, and current renewal status using that same API? From reading the documentation, I understand that Apple provides the App Store Server API and the App Store Server Notifications. Is this the correct approach for receipt validation and subscription status checking? Any clarification or code example would be greatly appreciated. Thank you.
1
0
93
1w
In app purchases
This is my first time creating an app and submitting it for review to Apple. I build a SaaS management software that has 3 subscription tiers. while in the app, after the trial period they can upgrade to one of the 3 subscription models , if they do, it basically calls for a Stripe checkout where the subscriptions live. My app was rejected because of this I believe as stated by this message. 3.1.1 Business: Payments - In-App Purchase How do I fix this, of code around it.
1
0
55
1w
How to cancel Auto-renewable subscription bought in TestFlight?
I've read several topics on cancelling subscriptions in sandbox environment, but it seems to me that it could not be applied to TestFlight. I can cancel sandbox subscriptions through Settings > App Store > Sandbox account But since TestFlight does not use sandbox account I cannot cancel a sub from there. Also, TF purchase does not appear in the list of regular subscriptions (Settings > Profile > Media & Purchases). So my question is: is there any way to manually cancel auto-renewable subscription bought in TestFlight build of the app?
9
6
7.6k
1w
App Store Connect – URGENT! Missing “In-App Purchases and Subscriptions” Section + Cannot Create New Version (Blocking Submission)
Hi everyone, I’m currently stuck with a blocking issue in App Store Connect and would really appreciate any guidance or insight. Issue: My app version (iOS App 1.0) is missing the “In-App Purchases and Subscriptions” section entirely. Because of this, I cannot attach my subscriptions to the version, which is preventing me from submitting the app for review. Additionally, I also do not have the option to create a new version, so I can’t work around the issue by moving to 1.0.1. What happened before this: I uploaded a build (Build 24) Submitted the app for review Then removed the submission After that, the IAP section disappeared completely Since then, I cannot attach subscriptions or create a new version Current state: Subscriptions are created and show “Waiting for Review” New Build is attached to Version 1.0 All metadata and screenshots are complete “In-App Purchases and Subscriptions” section is missing “Add Version” option is not available What I’ve tried: Removing and re-adding the build Waiting for UI refresh/processing Contacting Apple Developer Support (case has been escalated for 6 days with no response) Impact: This is currently blocking my app launch because I would be rejected since the subscriptions are not linked, as I cannot submit my first subscription with the app. Questions: Has anyone experienced a missing IAP section after removing a submission? Is there any way to force reset the app version state from the developer side? Is this a known App Store Connect issue? Any help or suggestions would be greatly appreciated. Thanks in advance.
1
0
129
1w
Subscriptions not able to load
Hi everyone, I’m currently experiencing an issue where my auto-renewable subscriptions are not loading during TestFlight and App Review. Setup: iOS app using StoreKit 2 + RevenueCat Subscriptions: Weekly Monthly Both are configured in: App Store Connect (attached to app version) RevenueCat (entitlement + offerings + packages) Current Status: Subscriptions show: “Waiting for Review” in App Store Connect Paid Apps Agreement is Active Banking + tax info is completed ⸻ What’s happening: In TestFlight → Paywall loads but: Products stay in loading state Prices never appear During App Review: Apple rejected with: “Unable to load plans” ⸻ Debug Info: RevenueCat logs confirm: Offerings are fetched successfully $rc_weekly and $rc_monthly packages exist However, StoreKit does not return product pricing in TestFlight ⸻ Question: Is this expected behavior when subscriptions are still in “Waiting for Review”? Or should products still fully load in sandbox/TestFlight even before approval? ⸻ What I’ve already verified: Subscriptions attached to app version ✅ Offerings configured in RevenueCat ✅ Product identifiers match exactly ✅ Using real device (not simulator) ✅ ⸻ Goal: I want to ensure: Subscriptions load correctly during App Review App is not rejected again for “Unable to load plans” Any guidance would be greatly appreciated 🙏
0
0
144
1w
Subscription cannot be attached to new binary, but the reviewers reject the subscription because it needs to be attached with a new binary.
Currently our app Juris: Learn the Law has consumable IAPs available publicly. We've recently added a subscription to a new update, but since we already added consumable IAPs, we can only submit new IAP on their own and cannot attach it to a new binary. The issue is that when we submit the subscription for review, it gets rejected and the reviewers respond that the subscription needs to be included with a new binary, even though we can't attached it to a new binary. We submitted a new binary at the same time we submitted a new subscription, but the new binary would be approved and the subscription would be rejected. The update with the subscription is available, but the subscription isn't, meaning users cannot use the new features which require the subscription.
Replies
1
Boosts
0
Views
40
Activity
11h
Auto-renewable subscriptions returning false on RevenueCat Purchase — unable to test in sandbox without Xcode
Hello, I am experiencing a persistent issue with auto-renewable subscriptions during App Review. Despite verifying all configurations, the subscription purchase flow fails and the app continues to be rejected under Guideline 2.1(b). Environment App built with FlutterFlow (no Xcode access, Windows-only development environment) purchases_flutter SDK v9.9.5 (RevenueCat) iOS deployment target: iOS 13+ Review device reported by Apple: iPhone 17 Pro Max, iOS 26.4.2 Configuration verified App Store Connect: Subscription group plateup_pro created and configured Products plateup_pro:monthly (1 month) and plateup_pro:yearly (1 year) created with all required fields Both products status: Waiting for Review Paid Apps Agreement: Active as of May 8, 2026 All tax forms active: Brazil Tax Form, W-8BEN-E, W-8BEN Banking account: Active RevenueCat dashboard: In-App Purchase Key configured and validated: Valid credentials confirmed App Store Connect API Key configured and validated: Valid credentials confirmed Apple Server to Server Notifications: configured correctly Entitlements, Offerings and Packages: correctly configured and linked to both products Purchase tracking: All purchases in RevenueCat (default) App (FlutterFlow): RevenueCat Purchase action configured for both $rc_monthly and $rc_annual packages Action output variables isMonthly and isYearly checked after purchase Both FALSE paths now display an informational alert: "Purchase unavailable. Please try again later." Paywall screen includes subscription title, duration, price, auto-renewal disclosure, EULA and Privacy Policy links, and Restore Purchases button The problem When the reviewer taps "Start 7-Day Free Trial", the RevenueCat Purchase action returns false for both isYearly and isMonthly, causing the informational alert to appear instead of completing the purchase. The reviewer sees this as a bug. Our diagnosis suggests this may be caused by one or more of the following: Subscription products stuck in "Waiting for Review" status — StoreKit may not return products that have not yet been approved, even in the sandbox environment. This appears to be the circular dependency described in this forum thread: https://developer.apple.com/forums/thread/818349 First-time subscription submission flow — The App Store Connect UI shows the message: "Your first subscription must be submitted with a new app version. Create your subscription, then select it from the app's In-App Purchases and Subscriptions section on the version page before submitting the version to App Review." We have attempted to add the subscriptions to the version page before submitting, but the option to select them was not consistently available. Possible SDK compatibility issue with iOS 26 — The purchases_flutter SDK version is managed by the FlutterFlow platform, and we cannot rule out a compatibility issue between the SDK and StoreKit on iOS 26.4.2. Sandbox testing limitation We are unable to reproduce or verify the issue locally because: The app is developed entirely on Windows using FlutterFlow We have no access to Xcode or macOS Enabling Developer Mode on the iOS test device requires Xcode, which we do not have Without Developer Mode, the Sandbox Account option does not appear in iOS Settings → App Store Our only available testing method is TestFlight, which does not support sandbox purchases without Developer Mode enabled This means we cannot confirm whether the purchase flow works before submitting to App Review, creating a dependency on the reviewer's sandbox environment. Questions Can StoreKit return subscription products in the reviewer's sandbox environment while those products are still in "Waiting for Review" status? Or must the products be approved first? Is there a way to correctly attach auto-renewable subscriptions to the app version submission from App Store Connect, given that we do not have access to Xcode or the App Store Connect API? Is there a known compatibility issue between purchases_flutter v9.9.5 (RevenueCat) and StoreKit on iOS 26.4.2 that could cause the purchase action to return false? Is there any alternative way to test sandbox purchases on iOS without enabling Developer Mode — for example, directly through TestFlight? Any guidance would be greatly appreciated. We have now gone through multiple review cycles with the same result and have exhausted all configuration options we can verify from our environment. Thank you.
Replies
2
Boosts
0
Views
81
Activity
22h
Apple Subscription Offer Code Behavior
I would like to ask for clarification regarding the specifications of Apple Subscriptions. We are currently planning a subscription discount campaign using Offer Codes, and during testing we encountered the following issue. Test scenario: A user who does not have our app installed accesses a URL that contains an Offer Code. The App Store opens and displays the details of the Offer Code. The user reviews the offer and proceeds, at which point the App Store prompts the user to install our app. The user installs the app and launches it. Issue: The subscription remains in an unpurchased state. From the app implementation side, when the app launches, we attempt to retrieve transactions held by Apple using unfinishedTransactions. However, no transaction is returned, so the app cannot transition the user to a subscribed state. In contrast, when a user who already has the app installed accesses the Offer Code URL (step 1), the app can successfully retrieve the unfinished transaction via unfinishedTransactions on launch and correctly switch the user to a subscribed state. Could you please advise on the root cause of this behavior, or whether there is a recommended workaround for this scenario?
Replies
0
Boosts
0
Views
13
Activity
23h
App Store Server Notification v2: how to distinguish a resubscription that happened in-app from one that happened in Settings → Subscriptions?
Context We're handling App Store subscriptions on the server side using App Store Server Notification v2. Our pipeline currently identifies each event by transactionId and originalTransactionId. A few notes about our client: Our app is built with Flutter and uses the standard in_app_purchase plugin layer to drive App Store purchases (StoreKit 1 under the hood). We have not migrated to StoreKit 2 on the client yet. We have not been setting SKPayment.applicationUsername on outgoing purchases, so every transaction we've ever produced has appAccountToken: null in its v2 notification. This question is purely about what the server-side notification can tell us, given the current client state above. What we're trying to figure out A user can resubscribe to an expired subscription in two different places: In-app — the user opens our app and re-purchases through our normal in-app purchase flow. App Store — the user goes to Settings → Apple ID → Subscriptions and resubscribes from the system UI, without ever returning to the app. Both paths trigger a SUBSCRIBED notification (subtype RESUBSCRIBE) with structurally identical payloads as far as we can tell — same shape for data.transactionInfo, data.renewalInfo, etc. From the notification alone we can't decide which path produced it. The reason this matters: in our system, the two paths require different business handling: In-app path: the user may have signed in to a different business account in our app. The new subscription should be attributed to whoever paid in the app just now, not to the previous owner of originalTransactionId. App Store path: there is no in-app signal, so the business owner can only be inferred from the previous originalTransactionId mapping. If we get it wrong, the subscription's entitlement ends up on the wrong business account. What we do today Because we can't tell the paths apart from the notification, we defer processing for a few minutes and check whether an in-app order for the same transaction has arrived in the meantime: If an in-app order shows up → it's the in-app path; attribute to the in-app account. If nothing shows up after the delay → assume App Store path; fall back to the previous owner mapping. This works but adds latency to entitlement activation and forces us to build a deferred-retry queue with idempotency against the in-app callback path. Possible direction: appAccountToken / applicationUsername We noticed that v2 notifications carry transactionInfo.appAccountToken, and the docs suggest that StoreKit 1's SKPayment.applicationUsername (when it's a valid UUID) is mirrored into this field. In theory, if we start setting it on every in-app purchase from the Flutter client, the field could double as a path discriminator on the server: appAccountToken != null → in-app path (only the app can set it), and we even get the business user id for free appAccountToken == null → App Store path (no UI to populate it) But we have some open questions before committing to this direction: Questions Is there an existing signal in ResponseBodyV2 / JWSTransactionDecodedPayload / JWSRenewalInfoDecodedPayload that distinguishes these two paths, that I might be missing? Can the same distinction be obtained via getAllSubscriptionStatuses / getTransactionHistory / any other Server API endpoint? Is applicationUsername (StoreKit 1) still a reliable way to populate appAccountToken on v2 notifications today? Specifically: Are there format constraints beyond "valid UUID" that cause Apple to drop the value? Any known differences between sandbox and production in how it's mirrored? Does the App Store path ever strip or overwrite a previously-set value when the same originalTransactionId is reused? For existing subscriptions where applicationUsername was never set (which is all of ours today, since we've never polient), is there any way to retroactively distinguish the in-app vs App Store path? Or is timing-based deferred matching theonly option for that cohort, even after we start setting the value on new purchases? If neither (1) nor (2) is currently possible, is the timing-based heuristic we use today the pattern Apple expects developers to follow, or is there a recommended approach we're missing? A small suggestion, if it turns out there's no existing way If the information genuinely isn't exposed today, it might be worth surfacing a salesChannel-style field on the transaction, similar to what Google Play Developer API exposes on Order.salesChannel (IN_APP, PLAY_STORE, etc.). That would let server-side handlers route each event to the correct business owner immediately, regardless of whether appAccountToken was set, and would also cover legacynt never had a chance to populate it. Thanks — happy to share sample payloads or more detail if helpful.
Replies
1
Boosts
0
Views
53
Activity
1d
Clarification on App Store Review Guideline for multi-person subscription model
Hi everyone, I am working on an iOS app with a subscription-based model, and I need some clarification regarding App Store Review Guideline. The app allows one account holder to manage access for multiple people under the same account. Each person may need subscription-based access to certain digital features within the app. In this scenario, the subscription requirement is not limited to a single user under one Apple ID. The account holder may add multiple members/dependents, and access may vary based on the subscription status associated with those people. My question is: If the subscription is managed through our backend and the app locks or unlocks digital features based on that subscription status, would Apple consider this a violation for not using In-App Purchase? I would like to understand whether Apple expects In-App Purchase to be implemented in this type of multi-person subscription model, even when the subscription is managed at the account/member level rather than as a simple single-user plan. Any guidance or experience with similar review scenarios would be helpful. Thanks.
Replies
1
Boosts
0
Views
38
Activity
1d
SKU not found [Subscription & In-app purchases] , Test Env
I have Subscription and In-app purchases product ids [Waiting in Review status] created on app store , when i send the product ids from the app to store for purchase , its returning sku-not-found code in Sandbox/Testflight envirionment , I tried multiple times the result is same. Please guide me on this
Replies
3
Boosts
0
Views
75
Activity
1d
Production StoreKit silently omits one approved auto-renewable subscription product — sandbox returns it correctly, sudden onset 2026-05-09
Hi all, Reporting an active production issue in case anyone else is seeing the same pattern, or has insight into what could cause this. Symptom As of 2026-05-09 morning, one specific auto-renewable subscription product is silently absent from Production StoreKit responses on our live App Store build. The product is still 'Approved' in App Store Connect, all metadata is intact, no error code is returned — the product simply does not appear in the products array. The other 3 products in the same subscription group continue to work normally. 100% of production users are affected. Setup App: live on App Store, version 1.0.0 (build 8) Subscription group with 4 auto-renewable products: standard_monthly_799 ✅ returns correctly standard_annual_6999 ✅ returns correctly unlimited_monthly_1299 ❌ MISSING from production response unlimited_annual_9999 ✅ returns correctly SDK: purchases_flutter (RevenueCat) → StoreKit Same physical device, same code, same RC config behaves correctly in Sandbox — all 4 products are returned and a sandbox purchase of unlimited_monthly_1299 succeeds. Timeline 2026-05-08: working correctly, purchases succeeding normally 2026-05-09 morning: product silently disappears from production StoreKit responses No app update was submitted between those dates No App Store Connect changes were made Onset was simultaneous across all production users at one timestamp What I've verified App Store Connect: Product status: Approved All territories enabled, all prices configured (no N/A in any territory) Subscription group correctly contains all 4 products No 'Submit for Review' pending changes Product attached to live app version 1.0.0 (8) Tax category: Match to parent app Family Sharing: Off (consistent with the working products) Paid Applications Agreement: Status: Active Banking and Tax forms: Active RevenueCat dashboard: All 4 products show Store Status: Approved Default offering contains all 4 packages iOS attachment for the affected product is intact No warnings or sync errors Sandbox StoreKit (today): flutter run (debug) on physical device → all 4 products returned flutter run --release on physical device → all 4 products returned Sandbox purchase of unlimited_monthly_1299 succeeds Production StoreKit (today, broken): App Store-downloaded 1.0.0 (8) on multiple users' devices Multiple Apple IDs / multiple devices / multiple regions — all reproduce Only unlimited_monthly_1299 affected; other 3 products fine Why this looks server-side Sudden simultaneous onset across all users No code or config change preceded onset Sandbox unaffected, only Production affected Single product affected, not the whole subscription group or app No error returned — silent omission only Cannot reproduce with locally signed builds, only with App Store-distributed binary This pattern is consistent with a server-side product indexing or fronting issue specific to one product in Production StoreKit. As a developer I don't have visibility into Apple's product-serving infrastructure to investigate further — looking for guidance from anyone who has seen this before. Questions for the community Has anyone else seen a single auto-renewable subscription silently drop out of Production StoreKit responses while remaining Approved in ASC, with no error code returned? Is there any internal product-state flag (beyond what's exposed in the ASC UI) that could cause Production StoreKit to silently omit a product? Anything similar to a hidden 'review hold' or 'price tier reconciliation' state? Has the asymmetry between RevenueCat package identifiers (Standard uses RC's $rc_monthly/$rc_annual default identifiers, Premium uses custom premium_monthly/premium_annual identifiers) ever been implicated in this kind of failure? RC support has been notified, but worth asking publicly. For anyone who has resolved a similar issue: what action ended up clearing it — ASC re-save, RC re-sync, Apple Support escalation, or did it self-resolve after Apple-side cache propagation? Filings in progress ASC Contact Us ticket: filed Apple DTS technical incident: filed RevenueCat support ticket: filed Feedback Assistant report: in progress Will update this thread with the resolution path once we have one. Thanks, — Kin Pong Lo (developer, Alice: AI English Tutor)
Replies
0
Boosts
0
Views
54
Activity
3d
Auto-renewable subscriptions returning false on RevenueCat Purchase — unable to test in sandbox without Xcode
Hello, I am experiencing a persistent issue with auto-renewable subscriptions during App Review. Despite verifying all configurations, the subscription purchase flow fails and the app continues to be rejected under Guideline 2.1(b). Environment App built with FlutterFlow (no Xcode access, Windows-only development environment) purchases_flutter SDK v9.9.5 (RevenueCat) iOS deployment target: iOS 13+ Review device reported by Apple: iPhone 17 Pro Max, iOS 26.4.2 Configuration verified App Store Connect: Subscription group plateup_pro created and configured Products plateup_pro:monthly (1 month) and plateup_pro:yearly (1 year) created with all required fields Both products status: Waiting for Review Paid Apps Agreement: Active as of May 8, 2026 All tax forms active: Brazil Tax Form, W-8BEN-E, W-8BEN Banking account: Active RevenueCat dashboard: In-App Purchase Key configured and validated: Valid credentials confirmed App Store Connect API Key configured and validated: Valid credentials confirmed Apple Server to Server Notifications: configured correctly Entitlements, Offerings and Packages: correctly configured and linked to both products Purchase tracking: All purchases in RevenueCat (default) App (FlutterFlow): RevenueCat Purchase action configured for both $rc_monthly and $rc_annual packages Action output variables isMonthly and isYearly checked after purchase Both FALSE paths now display an informational alert: "Purchase unavailable. Please try again later." Paywall screen includes subscription title, duration, price, auto-renewal disclosure, EULA and Privacy Policy links, and Restore Purchases button The problem When the reviewer taps "Start 7-Day Free Trial", the RevenueCat Purchase action returns false for both isYearly and isMonthly, causing the informational alert to appear instead of completing the purchase. The reviewer sees this as a bug. Our diagnosis suggests this may be caused by one or more of the following: Subscription products stuck in "Waiting for Review" status — StoreKit may not return products that have not yet been approved, even in the sandbox environment. This appears to be the circular dependency described in this forum thread: https://developer.apple.com/forums/thread/818349 First-time subscription submission flow — The App Store Connect UI shows the message: "Your first subscription must be submitted with a new app version. Create your subscription, then select it from the app's In-App Purchases and Subscriptions section on the version page before submitting the version to App Review." We have attempted to add the subscriptions to the version page before submitting, but the option to select them was not consistently available. Possible SDK compatibility issue with iOS 26 — The purchases_flutter SDK version is managed by the FlutterFlow platform, and we cannot rule out a compatibility issue between the SDK and StoreKit on iOS 26.4.2. Sandbox testing limitation We are unable to reproduce or verify the issue locally because: The app is developed entirely on Windows using FlutterFlow We have no access to Xcode or macOS Enabling Developer Mode on the iOS test device requires Xcode, which we do not have Without Developer Mode, the Sandbox Account option does not appear in iOS Settings → App Store Our only available testing method is TestFlight, which does not support sandbox purchases without Developer Mode enabled This means we cannot confirm whether the purchase flow works before submitting to App Review, creating a dependency on the reviewer's sandbox environment. Questions Can StoreKit return subscription products in the reviewer's sandbox environment while those products are still in "Waiting for Review" status? Or must the products be approved first? Is there a way to correctly attach auto-renewable subscriptions to the app version submission from App Store Connect, given that we do not have access to Xcode or the App Store Connect API? Is there a known compatibility issue between purchases_flutter v9.9.5 (RevenueCat) and StoreKit on iOS 26.4.2 that could cause the purchase action to return false? Is there any alternative way to test sandbox purchases on iOS without enabling Developer Mode — for example, directly through TestFlight? Any guidance would be greatly appreciated. We have now gone through multiple review cycles with the same result and have exhausted all configuration options we can verify from our environment. Thank you.
Replies
0
Boosts
0
Views
24
Activity
3d
How to get IAP/Subscription off "Waiting for Review"
I'm trying to get an app with a subscription through apple review and it keeps failing because the IAP/Subscription component is active, so the payflow never completes for the reviewer (i think?). How do I get the review team to approve the subscription first, then test the app payflow? Have tried to explain it in the latest App Review reply thread. Am i missing something? This is my first time building an app and trying to get it on the app store. Thank you!
Replies
1
Boosts
0
Views
162
Activity
4d
Subscriptions not reviewed with App
Hello, I had an App approved several days ago. But the subscription which is a necessity for most potential users is still marked 'Awaiting Review' This results in users seeing 'unable to load subscription' when attempting to use the app. Not exactly the start I or they, were hoping for. After several days like this, I had hoped the review team would look at the subscription. But Apple support tell me they likely won't because the App itself is already approved, and the subscription won't be seen by them. Can anyone here tell me how best to proceed? This does not help my reputation, and I need to resolve it quickly to limit the damage. Many thanks
Replies
0
Boosts
0
Views
25
Activity
4d
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
1
Boosts
0
Views
185
Activity
4d
Korea subscription consent: Timing mismatch between push notifications and Settings consent option
Hi all, I've been observing what appears to be a timing mismatch in how Apple handles Korea trial-to-paid consent, and I wanted to see if other developers are seeing the same thing. Per Korean regulations effective Feb 14, 2025, Apple must obtain explicit user consent before converting a free trial to a paid subscription. Apple handles this via email, push notifications, and an in-app consent option accessible from Settings > Subscriptions. For a 7-day trial in the Republic of Korea storefront, I'm observing: Consent push notifications (Agree to continue your subscription without interruption) start arriving ~1 day after trial redemption, at roughly hourly frequency. However, when the user taps the push and navigates to Settings > Subscriptions, there is no consent option available. The only visible action is "Cancel Free Trial". The consent option only becomes available around day 4 of the trial (i.e., 3 days before renewal, matching Apple's documented messaging cadence [1]). For the first ~3 days, users receive hourly push notifications they cannot act on. The only way to stop them is to cancel the subscription entirely. This is happening across multiple apps in the Korean App Store, so it appears to be a platform-level behavior rather than an app-specific issue. Is anyone else observing this behavior? Any insight from Apple engineers or other developers would be greatly appreciated. [1] https://developer.apple.com/help/app-store-connect/reference/in-app-purchases-and-subscriptions/consent-for-subscription-offer-conversions
Replies
1
Boosts
0
Views
196
Activity
5d
How to set up a subscription correctly
Hi to you all, I have a problem with setting up a subscription for an app for the first time. I keep getting a rejection with the message under Guideline 2.1(b) that “one or more of the In-App Purchase products have not been submitted for review.” I don’t know what to add anymore. I only have two monthly subscriptions. I set them up and selected them in the version description and submitted the package. There‘a not more information what exactly is missing. The only other information is the following: “Note you must provide an App Review screenshot in App Store Connect in order to submit In-App Purchases for review.” I’d be glad to get some advice.. Thank you in advance for your help!!
Replies
2
Boosts
0
Views
120
Activity
5d
Auto-renewable subscription showing as "One-time charge" on live app — blocking all installs (case 102883643138 unanswered for 6 days)
Our live production app Padel Club Pro (Apple ID 6763061435, Bundle ID com.padelclubpro.app) has been blocked from all new installs since launch due to StoreKit incorrectly displaying our auto-renewable subscription as a "One-time charge" on the App Store install sheet. The issue: Tapping the install button on the App Store opens the StoreKit purchase confirmation sheet showing "R499.99 / One-time charge" instead of presenting the app as a free download with the subscription available in-app. The app's base price is set to Free in App Store Connect. The subscription is approved and configured correctly as auto-renewable. Subscription details: Product ID: com.padelclubpro.app.monthly Status: Approved Subscription Duration: 1 month Introductory Offer: Free for the first week (active across 175 countries) What I've verified: App base price is set to Free Paid Applications Agreement is fully signed and active (tax forms, banking complete) No phantom non-consumable IAPs exist (In-App Purchases section is empty) RevenueCat App-Specific Shared Secret is set correctly RevenueCat product mapping correctly points $rc_monthly to the subscription product Reproduced on multiple physical devices using multiple different Apple IDs (none had previously interacted with the app) Issue has persisted for 6+ days, ruling out CDN propagation delay Apple Support case: Filed case 102883643138 six days ago — only received automated confirmation, no response since despite two follow-up emails. Suspected cause: The auto-renewable subscription appears to be approved as a standalone product but is not properly bound to the live build/version on Apple's StoreKit servers, causing StoreKit to fall back to a default "One-time charge" display. Question: Has anyone encountered this before? Is there a known fix on the developer side, or does this require Apple engineering to re-bind the subscription server-side? Any guidance on how to escalate the support case would be appreciated — this is a critical production-blocking issue and we have not been able to acquire a single user since launch. Thank you in advance.
Replies
1
Boosts
0
Views
61
Activity
5d
App under Review for 15d
Hello, my App DEBRIEF has now already for 15d the status „Waiting For Review“ and nothing is changing. I opened a support ticket under 102880278747 3d ago and got the reply that it should have been checked and it can’t take much longer. I am running ads already for the app and some partners are waiting for the launch. Any Ideas what I can do or is that normal ? What do I need to expect? Apple ID: 6762911498 Bundle ID: com.netcoresolutions.DE-BRIEF
Replies
0
Boosts
0
Views
60
Activity
6d
How to validate App Store receipts and check subscription status from my server?
Hello, I have an app on the App Store that offers in-app purchases (consumable, non-consumable) and auto-renewable subscriptions. My goal is to verify the validity of purchase receipts on my own backend server, to prevent fraudulent transactions. My questions: Does Apple provide an API that allows my server to validate a receipt (the one generated after a purchase) and confirm whether it is genuine? For auto-renewable subscriptions, can I retrieve renewal dates, expiration dates, and current renewal status using that same API? From reading the documentation, I understand that Apple provides the App Store Server API and the App Store Server Notifications. Is this the correct approach for receipt validation and subscription status checking? Any clarification or code example would be greatly appreciated. Thank you.
Replies
1
Boosts
0
Views
93
Activity
1w
In app purchases
This is my first time creating an app and submitting it for review to Apple. I build a SaaS management software that has 3 subscription tiers. while in the app, after the trial period they can upgrade to one of the 3 subscription models , if they do, it basically calls for a Stripe checkout where the subscriptions live. My app was rejected because of this I believe as stated by this message. 3.1.1 Business: Payments - In-App Purchase How do I fix this, of code around it.
Replies
1
Boosts
0
Views
55
Activity
1w
How to cancel Auto-renewable subscription bought in TestFlight?
I've read several topics on cancelling subscriptions in sandbox environment, but it seems to me that it could not be applied to TestFlight. I can cancel sandbox subscriptions through Settings > App Store > Sandbox account But since TestFlight does not use sandbox account I cannot cancel a sub from there. Also, TF purchase does not appear in the list of regular subscriptions (Settings > Profile > Media & Purchases). So my question is: is there any way to manually cancel auto-renewable subscription bought in TestFlight build of the app?
Replies
9
Boosts
6
Views
7.6k
Activity
1w
App Store Connect – URGENT! Missing “In-App Purchases and Subscriptions” Section + Cannot Create New Version (Blocking Submission)
Hi everyone, I’m currently stuck with a blocking issue in App Store Connect and would really appreciate any guidance or insight. Issue: My app version (iOS App 1.0) is missing the “In-App Purchases and Subscriptions” section entirely. Because of this, I cannot attach my subscriptions to the version, which is preventing me from submitting the app for review. Additionally, I also do not have the option to create a new version, so I can’t work around the issue by moving to 1.0.1. What happened before this: I uploaded a build (Build 24) Submitted the app for review Then removed the submission After that, the IAP section disappeared completely Since then, I cannot attach subscriptions or create a new version Current state: Subscriptions are created and show “Waiting for Review” New Build is attached to Version 1.0 All metadata and screenshots are complete “In-App Purchases and Subscriptions” section is missing “Add Version” option is not available What I’ve tried: Removing and re-adding the build Waiting for UI refresh/processing Contacting Apple Developer Support (case has been escalated for 6 days with no response) Impact: This is currently blocking my app launch because I would be rejected since the subscriptions are not linked, as I cannot submit my first subscription with the app. Questions: Has anyone experienced a missing IAP section after removing a submission? Is there any way to force reset the app version state from the developer side? Is this a known App Store Connect issue? Any help or suggestions would be greatly appreciated. Thanks in advance.
Replies
1
Boosts
0
Views
129
Activity
1w
Subscriptions not able to load
Hi everyone, I’m currently experiencing an issue where my auto-renewable subscriptions are not loading during TestFlight and App Review. Setup: iOS app using StoreKit 2 + RevenueCat Subscriptions: Weekly Monthly Both are configured in: App Store Connect (attached to app version) RevenueCat (entitlement + offerings + packages) Current Status: Subscriptions show: “Waiting for Review” in App Store Connect Paid Apps Agreement is Active Banking + tax info is completed ⸻ What’s happening: In TestFlight → Paywall loads but: Products stay in loading state Prices never appear During App Review: Apple rejected with: “Unable to load plans” ⸻ Debug Info: RevenueCat logs confirm: Offerings are fetched successfully $rc_weekly and $rc_monthly packages exist However, StoreKit does not return product pricing in TestFlight ⸻ Question: Is this expected behavior when subscriptions are still in “Waiting for Review”? Or should products still fully load in sandbox/TestFlight even before approval? ⸻ What I’ve already verified: Subscriptions attached to app version ✅ Offerings configured in RevenueCat ✅ Product identifiers match exactly ✅ Using real device (not simulator) ✅ ⸻ Goal: I want to ensure: Subscriptions load correctly during App Review App is not rejected again for “Unable to load plans” Any guidance would be greatly appreciated 🙏
Replies
0
Boosts
0
Views
144
Activity
1w