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

Using Cross-Platform Subscriptions on iOS
If I have a subscription based app that's available on iOS, Android, and the web.I use the appropriate billing systems for each platform (Apple IAP for iOS, Google Play Billing for Android, and my own system for web) What happens when a user subscribes on Android or the web, then logs into the same account on the iOS app? Am I allowed to honor that existing subscription on iOS, or am I required to have them purchase a separate subscription through Apple’s in app purchase system in order to access premium features on the iOS app?
1
0
138
Aug ’25
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
132
Jan ’26
How to link subscription to a build?
Hello everyone The in-app subscription / purchase aren't loading in the version of my app that I'm submitting onto App Store Connect. Locally, I use StoreKit config to test/develop my app. I already have my subscription groups and legal stuff set up properly. However, when I goto my subscription group, a blue notice says 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. Once your binary has been uploaded and your first subscription has been submitted for review, additional subscriptions can be submitted from the Subscriptions section. Learn More But when I goto Appstore Connect -> Apps -> the app I'm working on -> iOS -> Version 1.0 Prepare for Submission, I can't find any section regarding "In-App Purchases and Subscriptions". I also can't find it after going into the build by clicking on the build number(there's only Test Information and Build Metadata)
1
1
169
Jun ’25
I can't figure out how subscriptions work
Hi, This is the first time I'm submitting an app using IAP with auto-renewing subscriptions. Everything keeps getting rejected (specifically, my subscriptions), and instead of telling me what's wrong or what I need to fix, my reviewer just keeps regurgitating generic passages from the rules. Is there a site/tutorial/whatever that explains how to set these up and submit them? I haven't found anything that looks official/legit, so I'll settle on something recommended by someone who has been through the process. I would appreciate any help. I have been at this for DAYS and am at my wits end. Thanks.
1
0
90
Aug ’25
App rejected due to 3.1.1 - Business - Payments - In-App Purchase
Guideline 3.1.1 - Business - Payments - In-App Purchase, as my app currently allows users to purchase digital content (courses) using an external payment system. I am working to comply with Apple’s requirements by integrating In-App Purchase for all digital content within the app. My app contains approximately 100,000 individual courses, and I am seeking guidance on how to effectively implement In-App Purchase for such a large number of items. Creating 100,000 separate In-App Purchase products in App Store Connect seems impractical due to the scale and potential limitations. I would like to explore feasible solutions, such as: Using a subscription model to provide access to all courses. Creating category-based bundles (e.g., Programming, Design) to group courses. Implementing a dynamic purchase system where users can select specific courses after a single In-App Purchase transaction, managed server-side. Could you please advise on the best approach to manage In-App Purchase for 100,000 individual courses? I am happy to provide additional details about my app’s functionality or work with your team to ensure compliance. Please let me know if a consultation or further documentation is needed to proceed. Looking forward to your guidance. Best regards, Shuvajit Maitra
1
0
137
Aug ’25
Server-to-server notification received 2 days after subscription
One of our customers subscribed to a monthly plan on August 16 but the server-to-server notification seems to have been sent on August 18. What could be the reasons for such a delay between the purchase and the server-to-server notification which are usually sent right after the purchase? The receipt sent along with the notification seems to confirm that the receipt has only been created 2 days after the purchase. Here is an extract: { "environment": "Production", "receipt": { "receipt_type": "Production", "bundle_id": "fr.gaumontvideo.gaumontclassique", "application_version": "613", "receipt_creation_date": "2025-08-18 13:00:16 Etc/GMT", "receipt_creation_date_ms": "1755522016000", "receipt_creation_date_pst": "2025-08-18 06:00:16 America/Los_Angeles", "request_date": "2025-08-25 13:08:27 Etc/GMT", "request_date_ms": "1756127307346", "request_date_pst": "2025-08-25 06:08:27 America/Los_Angeles", "original_purchase_date": "2022-05-11 06:14:37 Etc/GMT", "original_purchase_date_ms": "1652249677000", "original_purchase_date_pst": "2022-05-10 23:14:37 America/Los_Angeles", "original_application_version": "265", "in_app": [ { "quantity": "1", "product_id": "fr.gaumontvideo.gaumontclassique.subscription.monthly.apple", "transaction_id": "270002386706194", "original_transaction_id": "270002386706194", "purchase_date": "2025-08-16 08:02:06 Etc/GMT", "purchase_date_ms": "1755331326000", "purchase_date_pst": "2025-08-16 01:02:06 America/Los_Angeles", "original_purchase_date": "2025-08-16 08:02:08 Etc/GMT", "original_purchase_date_ms": "1755331328000", "original_purchase_date_pst": "2025-08-16 01:02:08 America/Los_Angeles", "expires_date": "2025-09-16 08:02:06 Etc/GMT", "expires_date_ms": "1758009726000", "expires_date_pst": "2025-09-16 01:02:06 America/Los_Angeles" } }
1
0
160
Aug ’25
URGENT Update: Org Enrollment H6899PPP9F (AI Prosperity Limited) – 7+ Weeks Pending Activation (JV Sales Proof Attached)
Hi Apple Developer Community and Enrollment Team, Update on organization enrollment H6899PPP9F for AI Prosperity Limited (D-U-N-S [yours]): All initial issues (D-U-N-S, email blocks, docs) resolved weeks ago, with enrollment number issued—yet final activation remains pending over 7 weeks since full submission on 11/27/2025. No ETA or outreach despite prior calls/emails/forum posts. To highlight the stakes: Our app powers a joint venture under the "Freedom Mastery" brand (planners promising QR-app access), with ~+10K customer engagements via physical sales trying to download the app. Key proof (attachments), 500-1000 customers added every day from now on: Amazon Seller Central (Nov 1–Dec 11, 2025): 9,360 units, $323K+ sales, avg $30/order—listings here tease app integration (1K–4K reviews/SKU). Shopify (same period): 9,999+ orders, $63K+ sales, 195K sessions—direct traffic to app waitlist. Redacted JV agreement excerpt: Confirms AI Prosperity Limited's legal authority/control over "Freedom Mastery" branding and sales. Dev entity (AI Prosperity Limited) matches all docs/D-U-N-S, but the JV tie may need verification—happy to provide full details. These buyers (many iOS users) are inquiring daily; delays risk churn/refunds in our habit-tracking space. Request: Escalate to senior review for activation/ETA. Ready for any clarifications. Thanks—excited to launch on Apple! Frederik AI Prosperity Limited Enrollment ID: H6899PPP9F
1
0
161
Dec ’25
About review app and subscription
When submitting an app for review, will any unreviewed auto-renewing subscriptions within the app be reviewed simultaneously? I own an app that has passed review and offers an auto-renewing subscription A within the app that has also passed review. To test a new service, I plan to create a new auto-renewing subscription B, which I do not intend to submit for review. After creating Subscription B, I plan to submit the app for review as part of an app update. In that case, is there a possibility that Subscription B will also be reviewed?
1
0
133
Aug ’25
In-App Subscription Rejected – “Transaction ID Not Found” during Review – Need Clarification
Hi everyone, I’ve been struggling for days to get my in-app subscriptions approved, and I could really use some clarity or guidance from other developers or Apple engineers. Everything works fine in development (debug builds with sandbox). The issue starts when testing via TestFlight or during App Store Review. When Apple reviewers attempt to subscribe, my backend returns: "transaction id not found" As a result, I keep getting rejected under Guideline 2.1 (App Completeness) with this note: “When tapped to make the purchase, an error still appeared... your server needs to handle a production-signed app getting receipts from Apple’s test environment...”
1
0
99
Apr ’25
Does a Delivery App with Commission & Subscription Plans Require IAP?
Hello everyone, I’ve been struggling with App Store Review regarding my delivery app, and I’m hoping someone here can shed light on whether my app actually requires In-App Purchase (IAP) under Apple’s guidelines. Here’s my situation: My app connects riders with delivery jobs. We have two rider payment models: Commission Plan (10%) – Riders don’t pay upfront, but 10% is deducted per completed delivery. Fixed Subscription Plan – Riders pay a fixed monthly fee in advance, which allows them to keep 100% of their delivery earnings. The challenge: Apple Review has rejected my app multiple times, insisting that I must use IAP for these payments. I’ve written back and forth with them several times explaining that: The commission plan isn’t a digital feature, it’s simply a revenue share from physical delivery work. The fixed plan is more like a business service fee for using the platform, not for unlocking content or digital features. Despite this, the Review Team continues to state that my app “requires IAP.” My questions are: Based on Apple’s official guidelines, do apps like mine (delivery/logistics with commission/subscription for riders) really fall under IAP rules? Has anyone here had a similar issue with a marketplace or service-based app? If this does require IAP, what’s the reasoning — since the payments are tied to real-world services, not digital content? I’d appreciate advice, shared experiences, or even clarification from someone who has successfully passed review with a similar model. Thanks in advance!
1
0
244
Sep ’25
Guideline 2.1 - Performance - App Completeness
Hello Everyone, Apple rejected my app on the following reason: - Can anyone help me out with the workaround for this issue? The app exhibited one or more bugs that would negatively impact users. Bug description: The app remained on the purchase page after we successfully purchased the subscription. Review device details: Device type: iPhone 13 mini OS version: iOS 18.4 Next Steps Test the app on supported devices to identify and resolve bugs and stability issues before submitting for review. If the bug cannot be reproduced, try the following: For new apps, uninstall all previous versions of the app from a device, then install and follow the steps to reproduce. For app updates, install the new version as an update to the previous version, then follow the steps to reproduce. Resources For information about testing apps and preparing them for review, see Testing a Release Build. To learn about troubleshooting networking issues, see Networking Overview. As per the app review team, facing this issue on the subscription page on iphone 13 mini IOS 18.4 only and not on any other page, We haven't observed these issue on any of the devices we checked on ranging from iphone to ipads even Iphone 13 itself. If anyone knows how to resolve this do let me know, Thanks
1
0
124
Apr ’25
Subscription upgrade during trial with a pending crossgrade: does remaining trial time get forfeited and is the prior plan refunded?
I’m implementing subscriptions and running tests, and I noticed a behavior I’d like to confirm. Plans in the app Basic — Monthly Basic — Annual Premium — Monthly Premium — Annual Test environment Sandbox (where ~1 day ≈ under 1 minute of real time) steps Start Basic (Monthly) using an introductory offer (free trial). Create a crossgrade to Basic (Annual) (scheduled/queued). 3.After receiving a RENEWAL App Store Server Notification indicating the plan will move from trial to paid Basic (Annual), but before the trial actually expires, upgrade the user to Premium (Monthly). Observed behavior (Sandbox) & questions Even though there is still up to ~1 day of trial remaining (≈ under 1 minute in Sandbox), upgrading to Premium (Monthly) immediately ends the trial and activates the paid Premium plan right away. Will this same behavior occur in Production? If yes, is this the expected/acceptable behavior when upgrading during an active trial after a pending crossgrade? Note: If we upgrade to Premium before the RENEWAL notification arrives, the remaining trial time is carried over in our tests. In this flow, we see a RENEWAL notification for Basic (Annual) (moving from trial → paid), but then the user immediately upgrades to Premium (Monthly) and the trial ends at that moment. In Production, would the charge for Basic (Annual) be refunded automatically since the user effectively switches to Premium immediately (and Basic Annual does not remain active)? In Sandbox there’s no real charge, but I want to ensure we won’t see a situation in Production where Basic (Annual) is billed and not refunded, even though the subscription effectively moved to Premium right away. Thanks in advance!
1
0
70
Sep ’25
Is External Payment Link Entitlement (ELAE) allowed for fitness apps?
Hi everyone, We're working on a fitness and wellness app that offers subscription-based content like workout videos, nutrition plans, and personal coaching. We've read the updated documentation on the External Link Account Entitlement (ELAE), which allows certain apps to include a link to an external website for account management and payments. However, based on what Apple describes as eligible “reader apps” (video streaming, books, audio, etc.), it's unclear whether fitness apps can apply for and use this entitlement. Our questions: Can a fitness app use the External Link Account Entitlement to link out to a web-based subscription page? If not currently supported, is there any plan to expand this to other categories like health & fitness? We are fully compliant with App Store IAP rules today, but we're exploring all legitimate options as we aim to provide a smooth and transparent experience across platforms (iOS, Android, and web). Any insights from the community or Apple team would be appreciated! Thanks, Onur Hazar
1
0
125
Jun ’25
Support Request: App Store Server Notification Inaccuracies
Unsure if this has been reported before, but I'm seeing a specific scenario where Apple is sending back faulty information in App Store Server Notifications. When users have payment failures that result in the membership expiring, and then reactivate later on with a different subscription, they are given a new originalTransactionId, yet we have three cases where we receive messages about the old originalTransactionId, indicating that after the user recovers their subscription, Apple is resurrecting the old subscription and treating it as if it is active BUT ultimately decides to deactivate it. Here is a sample screenshot of an impacted user. We only have three month and annual plans. Timeline: March 21st: This user signed up for a 3 Month Plan June 21st: This user fails to pay July 7th: After our 16 day grace period, this user loses access July 29th: This user sees they lost access and repurchase Augsut 19th: Their membership is deactivated (long before their 3 Month Subscription is up) For further verification I've also attached a record of all the payloads we've received from Apple for this user. Please let me know if you need any more details to fix this bug OR if it has already been fixed! Thank you. user_webhook_data_sanitized.csv
1
0
476
Sep ’25
Subscription Purchase product issue
Hello Developer support, In one of our live application we have seen that users are purchasing weekly subscription and automatically they shifted to yearly product. Due to this we have received high revenue and also refunds afterwards. To prevent this we removed our yearly product from the sale. In App Store Connect we have seen activations for weekly product and convert to standard prices are yearly products. Also we have seen weird behavior of user getting trial for same product for three times. For developer support people I am sharing my app id - 1320373866 , and here is the video of our issue - https://drive.google.com/file/d/1DBHw8ivgql4eNoo8NC3xo5v4wgr8Oh7x/view?usp=sharing , Also attaching trial behavior screenshot.
1
0
117
Sep ’25
original transaction id not found
Hi everyone, I’ve been receiving App Store Server Notifications (webhooks) normally for a specific transaction. Everything was working fine — I could use the original_transaction_id to query transaction history, and transaction_id to look up specific transactions. However, starting recently, all API calls for that transaction (both Get Transaction Info and Get Transaction History) now return not found. • The webhooks used to arrive normally for this transaction. • I am sure I’m querying the correct environment (production vs sandbox). • The IDs I’m using are exactly the ones from the last webhook payload. • I haven’t changed my integration code. My questions: 1. Under what conditions does Apple’s API return “not found” for original_transaction_id that previously worked? 2. Can Apple actually purge transaction records (in production)? 3. Could this happen due to refunds, revocations, or other account actions? 4. Is this expected behavior, or should I file a DTS (Technical Support Incident)? Any insight would be appreciated. Thanks in advance!
1
0
157
Sep ’25
Receipt Validation Failing with Status 21002 in Sandbox – Valid Receipt from purchaseUpdatedListener.
Hi Apple Developer Support, We're currently implementing auto-renewable subscriptions in a React Native app using the react-native-iap library. The subscription purchases are working as expected in Sandbox. We receive the transaction and purchaseUpdatedListener gives us a valid-looking transactionReceipt However, when we attempt to validate this receipt with Apple's servers, the response consistently returns status code 21002, indicating that the receipt data is either malformed or missing. We’ve confirmed the receipt is well-formed, properly passed as received, and well above the minimum size expected. The shared secret is correctly configured and matches the subscription group. We're using the correct sandbox endpoint and ensuring no modification is done to the receipt before validation. Despite this, validation fails every time. We are looking for guidance or clarification on what might cause this status, especially when the receipt is coming directly from the system after a successful test purchase. const purchaseUpdateSub = purchaseUpdatedListener(async (purchase) => { console.log("🛒 Purchase Updated:", purchase); const receipt = purchase.transactionReceipt; if (!receipt) { Alert.alert("Error", "No receipt found."); setLoading(false); return; } }); the response is: { "status": 21002 } Any guidance on why this might be happening would be appreciated. Thanks!
1
0
124
Jun ’25
InvalidRequestError on iOS 18.4
We’ve recently encountered an increased rate of purchase errors StoreKit.InvalidRequestError error 1 (https://developer.apple.com/documentation/storekit/invalidrequesterror) specifically on iOS 18.4. We suspect this might be related to the new Advanced Commerce API introduced by Apple, although we haven’t made any changes related to this API in our app. Have you experienced similar issues since the release of iOS 18.4 or when integrating the Advanced Commerce API? Any insights or suggestions would be greatly appreciated. Thanks!
1
1
324
May ’25
StoreKit 2 returns empty products array in TestFlight
I'm using StoreKit 2 with Product.products(for:) to fetch my auto-renewable subscriptions. It works in the Xcode simulator with a local StoreKit configuration file, but returns an empty array (no error) in TestFlight. iOS 15+, using async/await API Products are configured in App Store Connect Paid Apps agreement is active Sandbox tester account set up Has anyone experienced this? What am I missing?
1
0
179
Jan ’26
Using Cross-Platform Subscriptions on iOS
If I have a subscription based app that's available on iOS, Android, and the web.I use the appropriate billing systems for each platform (Apple IAP for iOS, Google Play Billing for Android, and my own system for web) What happens when a user subscribes on Android or the web, then logs into the same account on the iOS app? Am I allowed to honor that existing subscription on iOS, or am I required to have them purchase a separate subscription through Apple’s in app purchase system in order to access premium features on the iOS app?
Replies
1
Boosts
0
Views
138
Activity
Aug ’25
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
132
Activity
Jan ’26
How to link subscription to a build?
Hello everyone The in-app subscription / purchase aren't loading in the version of my app that I'm submitting onto App Store Connect. Locally, I use StoreKit config to test/develop my app. I already have my subscription groups and legal stuff set up properly. However, when I goto my subscription group, a blue notice says 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. Once your binary has been uploaded and your first subscription has been submitted for review, additional subscriptions can be submitted from the Subscriptions section. Learn More But when I goto Appstore Connect -> Apps -> the app I'm working on -> iOS -> Version 1.0 Prepare for Submission, I can't find any section regarding "In-App Purchases and Subscriptions". I also can't find it after going into the build by clicking on the build number(there's only Test Information and Build Metadata)
Replies
1
Boosts
1
Views
169
Activity
Jun ’25
I can't figure out how subscriptions work
Hi, This is the first time I'm submitting an app using IAP with auto-renewing subscriptions. Everything keeps getting rejected (specifically, my subscriptions), and instead of telling me what's wrong or what I need to fix, my reviewer just keeps regurgitating generic passages from the rules. Is there a site/tutorial/whatever that explains how to set these up and submit them? I haven't found anything that looks official/legit, so I'll settle on something recommended by someone who has been through the process. I would appreciate any help. I have been at this for DAYS and am at my wits end. Thanks.
Replies
1
Boosts
0
Views
90
Activity
Aug ’25
App rejected due to 3.1.1 - Business - Payments - In-App Purchase
Guideline 3.1.1 - Business - Payments - In-App Purchase, as my app currently allows users to purchase digital content (courses) using an external payment system. I am working to comply with Apple’s requirements by integrating In-App Purchase for all digital content within the app. My app contains approximately 100,000 individual courses, and I am seeking guidance on how to effectively implement In-App Purchase for such a large number of items. Creating 100,000 separate In-App Purchase products in App Store Connect seems impractical due to the scale and potential limitations. I would like to explore feasible solutions, such as: Using a subscription model to provide access to all courses. Creating category-based bundles (e.g., Programming, Design) to group courses. Implementing a dynamic purchase system where users can select specific courses after a single In-App Purchase transaction, managed server-side. Could you please advise on the best approach to manage In-App Purchase for 100,000 individual courses? I am happy to provide additional details about my app’s functionality or work with your team to ensure compliance. Please let me know if a consultation or further documentation is needed to proceed. Looking forward to your guidance. Best regards, Shuvajit Maitra
Replies
1
Boosts
0
Views
137
Activity
Aug ’25
Server-to-server notification received 2 days after subscription
One of our customers subscribed to a monthly plan on August 16 but the server-to-server notification seems to have been sent on August 18. What could be the reasons for such a delay between the purchase and the server-to-server notification which are usually sent right after the purchase? The receipt sent along with the notification seems to confirm that the receipt has only been created 2 days after the purchase. Here is an extract: { "environment": "Production", "receipt": { "receipt_type": "Production", "bundle_id": "fr.gaumontvideo.gaumontclassique", "application_version": "613", "receipt_creation_date": "2025-08-18 13:00:16 Etc/GMT", "receipt_creation_date_ms": "1755522016000", "receipt_creation_date_pst": "2025-08-18 06:00:16 America/Los_Angeles", "request_date": "2025-08-25 13:08:27 Etc/GMT", "request_date_ms": "1756127307346", "request_date_pst": "2025-08-25 06:08:27 America/Los_Angeles", "original_purchase_date": "2022-05-11 06:14:37 Etc/GMT", "original_purchase_date_ms": "1652249677000", "original_purchase_date_pst": "2022-05-10 23:14:37 America/Los_Angeles", "original_application_version": "265", "in_app": [ { "quantity": "1", "product_id": "fr.gaumontvideo.gaumontclassique.subscription.monthly.apple", "transaction_id": "270002386706194", "original_transaction_id": "270002386706194", "purchase_date": "2025-08-16 08:02:06 Etc/GMT", "purchase_date_ms": "1755331326000", "purchase_date_pst": "2025-08-16 01:02:06 America/Los_Angeles", "original_purchase_date": "2025-08-16 08:02:08 Etc/GMT", "original_purchase_date_ms": "1755331328000", "original_purchase_date_pst": "2025-08-16 01:02:08 America/Los_Angeles", "expires_date": "2025-09-16 08:02:06 Etc/GMT", "expires_date_ms": "1758009726000", "expires_date_pst": "2025-09-16 01:02:06 America/Los_Angeles" } }
Replies
1
Boosts
0
Views
160
Activity
Aug ’25
URGENT Update: Org Enrollment H6899PPP9F (AI Prosperity Limited) – 7+ Weeks Pending Activation (JV Sales Proof Attached)
Hi Apple Developer Community and Enrollment Team, Update on organization enrollment H6899PPP9F for AI Prosperity Limited (D-U-N-S [yours]): All initial issues (D-U-N-S, email blocks, docs) resolved weeks ago, with enrollment number issued—yet final activation remains pending over 7 weeks since full submission on 11/27/2025. No ETA or outreach despite prior calls/emails/forum posts. To highlight the stakes: Our app powers a joint venture under the "Freedom Mastery" brand (planners promising QR-app access), with ~+10K customer engagements via physical sales trying to download the app. Key proof (attachments), 500-1000 customers added every day from now on: Amazon Seller Central (Nov 1–Dec 11, 2025): 9,360 units, $323K+ sales, avg $30/order—listings here tease app integration (1K–4K reviews/SKU). Shopify (same period): 9,999+ orders, $63K+ sales, 195K sessions—direct traffic to app waitlist. Redacted JV agreement excerpt: Confirms AI Prosperity Limited's legal authority/control over "Freedom Mastery" branding and sales. Dev entity (AI Prosperity Limited) matches all docs/D-U-N-S, but the JV tie may need verification—happy to provide full details. These buyers (many iOS users) are inquiring daily; delays risk churn/refunds in our habit-tracking space. Request: Escalate to senior review for activation/ETA. Ready for any clarifications. Thanks—excited to launch on Apple! Frederik AI Prosperity Limited Enrollment ID: H6899PPP9F
Replies
1
Boosts
0
Views
161
Activity
Dec ’25
About review app and subscription
When submitting an app for review, will any unreviewed auto-renewing subscriptions within the app be reviewed simultaneously? I own an app that has passed review and offers an auto-renewing subscription A within the app that has also passed review. To test a new service, I plan to create a new auto-renewing subscription B, which I do not intend to submit for review. After creating Subscription B, I plan to submit the app for review as part of an app update. In that case, is there a possibility that Subscription B will also be reviewed?
Replies
1
Boosts
0
Views
133
Activity
Aug ’25
In-App Subscription Rejected – “Transaction ID Not Found” during Review – Need Clarification
Hi everyone, I’ve been struggling for days to get my in-app subscriptions approved, and I could really use some clarity or guidance from other developers or Apple engineers. Everything works fine in development (debug builds with sandbox). The issue starts when testing via TestFlight or during App Store Review. When Apple reviewers attempt to subscribe, my backend returns: "transaction id not found" As a result, I keep getting rejected under Guideline 2.1 (App Completeness) with this note: “When tapped to make the purchase, an error still appeared... your server needs to handle a production-signed app getting receipts from Apple’s test environment...”
Replies
1
Boosts
0
Views
99
Activity
Apr ’25
Does a Delivery App with Commission & Subscription Plans Require IAP?
Hello everyone, I’ve been struggling with App Store Review regarding my delivery app, and I’m hoping someone here can shed light on whether my app actually requires In-App Purchase (IAP) under Apple’s guidelines. Here’s my situation: My app connects riders with delivery jobs. We have two rider payment models: Commission Plan (10%) – Riders don’t pay upfront, but 10% is deducted per completed delivery. Fixed Subscription Plan – Riders pay a fixed monthly fee in advance, which allows them to keep 100% of their delivery earnings. The challenge: Apple Review has rejected my app multiple times, insisting that I must use IAP for these payments. I’ve written back and forth with them several times explaining that: The commission plan isn’t a digital feature, it’s simply a revenue share from physical delivery work. The fixed plan is more like a business service fee for using the platform, not for unlocking content or digital features. Despite this, the Review Team continues to state that my app “requires IAP.” My questions are: Based on Apple’s official guidelines, do apps like mine (delivery/logistics with commission/subscription for riders) really fall under IAP rules? Has anyone here had a similar issue with a marketplace or service-based app? If this does require IAP, what’s the reasoning — since the payments are tied to real-world services, not digital content? I’d appreciate advice, shared experiences, or even clarification from someone who has successfully passed review with a similar model. Thanks in advance!
Replies
1
Boosts
0
Views
244
Activity
Sep ’25
Guideline 2.1 - Performance - App Completeness
Hello Everyone, Apple rejected my app on the following reason: - Can anyone help me out with the workaround for this issue? The app exhibited one or more bugs that would negatively impact users. Bug description: The app remained on the purchase page after we successfully purchased the subscription. Review device details: Device type: iPhone 13 mini OS version: iOS 18.4 Next Steps Test the app on supported devices to identify and resolve bugs and stability issues before submitting for review. If the bug cannot be reproduced, try the following: For new apps, uninstall all previous versions of the app from a device, then install and follow the steps to reproduce. For app updates, install the new version as an update to the previous version, then follow the steps to reproduce. Resources For information about testing apps and preparing them for review, see Testing a Release Build. To learn about troubleshooting networking issues, see Networking Overview. As per the app review team, facing this issue on the subscription page on iphone 13 mini IOS 18.4 only and not on any other page, We haven't observed these issue on any of the devices we checked on ranging from iphone to ipads even Iphone 13 itself. If anyone knows how to resolve this do let me know, Thanks
Replies
1
Boosts
0
Views
124
Activity
Apr ’25
Subscription upgrade during trial with a pending crossgrade: does remaining trial time get forfeited and is the prior plan refunded?
I’m implementing subscriptions and running tests, and I noticed a behavior I’d like to confirm. Plans in the app Basic — Monthly Basic — Annual Premium — Monthly Premium — Annual Test environment Sandbox (where ~1 day ≈ under 1 minute of real time) steps Start Basic (Monthly) using an introductory offer (free trial). Create a crossgrade to Basic (Annual) (scheduled/queued). 3.After receiving a RENEWAL App Store Server Notification indicating the plan will move from trial to paid Basic (Annual), but before the trial actually expires, upgrade the user to Premium (Monthly). Observed behavior (Sandbox) & questions Even though there is still up to ~1 day of trial remaining (≈ under 1 minute in Sandbox), upgrading to Premium (Monthly) immediately ends the trial and activates the paid Premium plan right away. Will this same behavior occur in Production? If yes, is this the expected/acceptable behavior when upgrading during an active trial after a pending crossgrade? Note: If we upgrade to Premium before the RENEWAL notification arrives, the remaining trial time is carried over in our tests. In this flow, we see a RENEWAL notification for Basic (Annual) (moving from trial → paid), but then the user immediately upgrades to Premium (Monthly) and the trial ends at that moment. In Production, would the charge for Basic (Annual) be refunded automatically since the user effectively switches to Premium immediately (and Basic Annual does not remain active)? In Sandbox there’s no real charge, but I want to ensure we won’t see a situation in Production where Basic (Annual) is billed and not refunded, even though the subscription effectively moved to Premium right away. Thanks in advance!
Replies
1
Boosts
0
Views
70
Activity
Sep ’25
Is External Payment Link Entitlement (ELAE) allowed for fitness apps?
Hi everyone, We're working on a fitness and wellness app that offers subscription-based content like workout videos, nutrition plans, and personal coaching. We've read the updated documentation on the External Link Account Entitlement (ELAE), which allows certain apps to include a link to an external website for account management and payments. However, based on what Apple describes as eligible “reader apps” (video streaming, books, audio, etc.), it's unclear whether fitness apps can apply for and use this entitlement. Our questions: Can a fitness app use the External Link Account Entitlement to link out to a web-based subscription page? If not currently supported, is there any plan to expand this to other categories like health & fitness? We are fully compliant with App Store IAP rules today, but we're exploring all legitimate options as we aim to provide a smooth and transparent experience across platforms (iOS, Android, and web). Any insights from the community or Apple team would be appreciated! Thanks, Onur Hazar
Replies
1
Boosts
0
Views
125
Activity
Jun ’25
Support Request: App Store Server Notification Inaccuracies
Unsure if this has been reported before, but I'm seeing a specific scenario where Apple is sending back faulty information in App Store Server Notifications. When users have payment failures that result in the membership expiring, and then reactivate later on with a different subscription, they are given a new originalTransactionId, yet we have three cases where we receive messages about the old originalTransactionId, indicating that after the user recovers their subscription, Apple is resurrecting the old subscription and treating it as if it is active BUT ultimately decides to deactivate it. Here is a sample screenshot of an impacted user. We only have three month and annual plans. Timeline: March 21st: This user signed up for a 3 Month Plan June 21st: This user fails to pay July 7th: After our 16 day grace period, this user loses access July 29th: This user sees they lost access and repurchase Augsut 19th: Their membership is deactivated (long before their 3 Month Subscription is up) For further verification I've also attached a record of all the payloads we've received from Apple for this user. Please let me know if you need any more details to fix this bug OR if it has already been fixed! Thank you. user_webhook_data_sanitized.csv
Replies
1
Boosts
0
Views
476
Activity
Sep ’25
Subscription Purchase product issue
Hello Developer support, In one of our live application we have seen that users are purchasing weekly subscription and automatically they shifted to yearly product. Due to this we have received high revenue and also refunds afterwards. To prevent this we removed our yearly product from the sale. In App Store Connect we have seen activations for weekly product and convert to standard prices are yearly products. Also we have seen weird behavior of user getting trial for same product for three times. For developer support people I am sharing my app id - 1320373866 , and here is the video of our issue - https://drive.google.com/file/d/1DBHw8ivgql4eNoo8NC3xo5v4wgr8Oh7x/view?usp=sharing , Also attaching trial behavior screenshot.
Replies
1
Boosts
0
Views
117
Activity
Sep ’25
original transaction id not found
Hi everyone, I’ve been receiving App Store Server Notifications (webhooks) normally for a specific transaction. Everything was working fine — I could use the original_transaction_id to query transaction history, and transaction_id to look up specific transactions. However, starting recently, all API calls for that transaction (both Get Transaction Info and Get Transaction History) now return not found. • The webhooks used to arrive normally for this transaction. • I am sure I’m querying the correct environment (production vs sandbox). • The IDs I’m using are exactly the ones from the last webhook payload. • I haven’t changed my integration code. My questions: 1. Under what conditions does Apple’s API return “not found” for original_transaction_id that previously worked? 2. Can Apple actually purge transaction records (in production)? 3. Could this happen due to refunds, revocations, or other account actions? 4. Is this expected behavior, or should I file a DTS (Technical Support Incident)? Any insight would be appreciated. Thanks in advance!
Replies
1
Boosts
0
Views
157
Activity
Sep ’25
Receipt Validation Failing with Status 21002 in Sandbox – Valid Receipt from purchaseUpdatedListener.
Hi Apple Developer Support, We're currently implementing auto-renewable subscriptions in a React Native app using the react-native-iap library. The subscription purchases are working as expected in Sandbox. We receive the transaction and purchaseUpdatedListener gives us a valid-looking transactionReceipt However, when we attempt to validate this receipt with Apple's servers, the response consistently returns status code 21002, indicating that the receipt data is either malformed or missing. We’ve confirmed the receipt is well-formed, properly passed as received, and well above the minimum size expected. The shared secret is correctly configured and matches the subscription group. We're using the correct sandbox endpoint and ensuring no modification is done to the receipt before validation. Despite this, validation fails every time. We are looking for guidance or clarification on what might cause this status, especially when the receipt is coming directly from the system after a successful test purchase. const purchaseUpdateSub = purchaseUpdatedListener(async (purchase) => { console.log("🛒 Purchase Updated:", purchase); const receipt = purchase.transactionReceipt; if (!receipt) { Alert.alert("Error", "No receipt found."); setLoading(false); return; } }); the response is: { "status": 21002 } Any guidance on why this might be happening would be appreciated. Thanks!
Replies
1
Boosts
0
Views
124
Activity
Jun ’25
InvalidRequestError on iOS 18.4
We’ve recently encountered an increased rate of purchase errors StoreKit.InvalidRequestError error 1 (https://developer.apple.com/documentation/storekit/invalidrequesterror) specifically on iOS 18.4. We suspect this might be related to the new Advanced Commerce API introduced by Apple, although we haven’t made any changes related to this API in our app. Have you experienced similar issues since the release of iOS 18.4 or when integrating the Advanced Commerce API? Any insights or suggestions would be greatly appreciated. Thanks!
Replies
1
Boosts
1
Views
324
Activity
May ’25
StoreKit 2 returns empty products array in TestFlight
I'm using StoreKit 2 with Product.products(for:) to fetch my auto-renewable subscriptions. It works in the Xcode simulator with a local StoreKit configuration file, but returns an empty array (no error) in TestFlight. iOS 15+, using async/await API Products are configured in App Store Connect Paid Apps agreement is active Sandbox tester account set up Has anyone experienced this? What am I missing?
Replies
1
Boosts
0
Views
179
Activity
Jan ’26
The restore purchase operation always returns no transactions
login sandbox account at setting > app store > sandbox account. download my app from testflight purchase subscription is fine. stop renew subscription. after subscription expired, delete app, then download from testflight again. tried to restore purchase, the result count always zero
Replies
1
Boosts
0
Views
77
Activity
Sep ’25