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

In-App Purchase Resources
General: Forums topic: StoreKit Forums tag: In-App Purchase App Store Pathway Simple and safe In-App Purchases Auto-renewable subscriptions In-App Purchase documentation Getting started with In-App Purchase using StoreKit views documentation Supporting business model changes by using the app transaction documentation Testing at all stages of development with Xcode and the sandbox documentation App Store Server Notifications documentation App Store Server API documentation Simplifying your implementation by using the App Store Server Library documentation TN3185: Troubleshooting In-App Purchases availability in Xcode technote TN3186: Troubleshooting In-App Purchases availability in the sandbox technote TN3188: Troubleshooting In-App Purchases availability in the App Store technote Understanding StoreKit workflows sample code Implementing a store in your app using the StoreKit API sample code What’s new in StoreKit and In-App Purchase video
0
0
1.5k
Jun ’26
Product.products(for:) returns empty for live subs since 2026-09-01
Live App Store app. Since 2026-09-01 PDT, StoreKit no longer returns our approved auto-renewable subscriptions on signed builds. The same SKUs load normally in Xcode when using a local StoreKit configuration file. New purchases are blocked. Monthly auto-renewals that were collecting normally through August 31 began failing their renewal attempts starting September 1, with all observed attempts entering Billing Grace / Billing Retry. App Name: Moonlit Bundle ID: moonlit.reading Versions affected: 1.1.1 — App Store version that was already live and working normally before September 1 1.1.2 — subsequently released to the App Store specifically to test whether a fresh production release would restore StoreKit behavior. It did not. Approved auto-renewable subscriptions, both in the same subscription group: moonlit.monthly.subscription moonlit.yearly.subscription Paid Apps Agreement, banking, and tax are Active in App Store Connect. We use an explicit App ID with the In-App Purchase capability enabled. Distribution builds do not contain a StoreKit Configuration file. The local .storekit file is used only for Xcode Run. Through August 31, 2026, Product.products(for:) and SubscriptionStoreView returned both SKUs and their prices correctly on production builds. Beginning September 1, 2026, and continuing through at least September 11: Every production paywall we can measure receives an empty StoreKit catalog with no product IDs, no prices, and no thrown StoreKit error. SubscriptionStoreView remains on its loading state. Our Terms / Privacy footer still renders because it does not depend on StoreKit. showManageSubscriptions / manageSubscriptionsSheet also hangs or fails to connect on the same signed builds. App Store Connect subscription events for the monthly SKU show a complete reversal beginning September 1. All observed renewal attempts in the affected window entered Grace from Paid, with no successful renewals, whereas the comparable August window showed normal successful renewals. Sales reports show no IAP proceeds for the affected September window. App downloads continue to appear normally, so the app itself remains available for sale. What still works Xcode + local StoreKit Configuration: Both products load Prices display The purchase sheet presents normally Analytics and logging continue to function, so this is not an app crash or missing paywall UI. The subscriptions are not Rejected and are not in Developer Action Needed. TN3186 / TN3188 checks have already been completed. This appears similar to other recent reports where App Store Connect contains a valid product catalog but StoreKit does not serve the products to signed builds: https://developer.apple.com/forums/thread/838171 https://developer.apple.com/forums/thread/841722 https://developer.apple.com/forums/thread/838773 https://developer.apple.com/forums/thread/836183 Developer Support case: 102959783559 Request Could an App Store Commerce or StoreKit engineer verify whether the app-to-IAP catalog association for moonlit.reading is populated and being served correctly on Apple’s side, and refresh or reprocess the production catalog if appropriate?
0
0
58
18h
StoreKit 2 returns USD product metadata in TestFlight while the storefront is FRA/EUR
Hello, We would appreciate some guidance regarding an unexpected StoreKit currency result in a TestFlight build. Our iPhone language and region are both set to France. The Sandbox tester is also configured for France, and our subscription products have French availability and pricing configured in App Store Connect. In the TestFlight build we diagnosed, StoreKit reports the current storefront as France with EUR: storefront=FRA/143442/EUR However, all 10 subscription products are returned with USD product metadata: products=10/10 formatCurrencies=USD localeCurrencies=USD error=NONE Example: formatCurrency=USD locale=fr_US_currency_USD localeCurrency=USD display=1,99 $US price=1.99 We first observed this through Flutter's in_app_purchase integration. To determine whether the Flutter plugin was involved, we added a native StoreKit 2 diagnostic to the same TestFlight build. The native result was identical: receipt=sandboxReceipt storefront before=FRA/143442/EUR storefront after=FRA/143442/EUR products=10/10 formatCurrencies=USD localeCurrencies=USD error=NONE The issue appears specific to the TestFlight distribution. When the application is installed directly from the development computer, prices are returned in euros on the same device. We also tested with the regular Media & Purchases account signed out and a French Sandbox tester connected. Once the products loaded successfully, StoreKit still returned USD metadata. In another configuration, the application displayed the USD price while Apple's purchase sheet displayed the price in euros. We are using the price and formatting information returned directly by StoreKit. We do not want to infer the currency from the device region or perform a client-side currency conversion, because StoreKit should remain the authoritative source. Could you please help us understand: Is it expected for Storefront.current to report FRA/EUR while Product.priceFormatStyle.currencyCode, its locale currency, and Product.displayPrice use USD? Could a TestFlight or App Store Connect configuration cause product metadata to use a different currency from the current storefront? Is there another account, availability, pricing or distribution setting that we should verify? Is there a recommended way to refresh or invalidate the product metadata used by a TestFlight installation? We have already filed Feedback Assistant report FB24723329, which is currently under investigation. Thank you very much for any clarification or additional diagnostic steps you can suggest.
0
0
91
1d
Unable to remove IAP promotional image while In-App Purchase is “Ready for Review”
Hi Apple Developer Community, My app was rejected under Guideline 2.3.2 because I accidentally uploaded the wrong promotional image. I want to remove the image as instructed by App Review, but the IAP is currently Ready for Review, and the image is locked. There is no option to remove or replace it, and the Save/Add for Review buttons are disabled. I have already contacted Apple Developer Support (Case ID: 102955732091) and am waiting for a response. Has anyone faced this issue? Is there a way to unlock the IAP metadata, or does Apple need to remove the image from their side? Thanks!
1
0
164
1d
Guideline 2.1(b) - Performance - App Completeness
Issue Description In-app purchase products associated with the app version submitted for review, such as "Basic Diamond Pack", "Standard Diamond Pack", "Premium Diamond Pack", "Silver Weekly Plan", "Silver Monthly Plan", "Silver Quarterly Plan", "Silver Yearly Plan", "Gold Weekly Plan", "Gold Monthly Plan", "Gold Quarterly Plan", "Gold Yearly Plan", "Platinum Weekly Plan", "Platinum Monthly Plan", and "Platinum Quarterly Plan", could not be found in the submitted binary. Next Steps If these In-App Purchase products are not intended to be available at this time, remove them from App Store Connect before resubmitting. AS THERE IS NO OPTION TO DELETE IAP PRODUCTS ONCE YOU SUBITTED TO APP STORE, WE CAN ONLY REMOVE FROM SALE HOW WE CAN DELETE THESE IAP PRODUCTS.
0
0
103
1d
Introductory Offer Start Timing
Hi everyone, I set up an auto-renewable subscription introductory offer in App Store Connect with a scheduled start date of September 7 for the Philippines storefront. According to the documentation App Store pricing and availability start times by country or region, scheduled pricing and offer updates are expected to go live based on local regional times. However, the offer did not show up in the Current Introductory Offers in app store connect portal at the documented start time (14:00 Sep 6th UTC). Instead, it stayed in the Upcoming Offers until 7:00 Sep 7th UTC which is 17 hours after the time in the doc. We met a similar situation a few days later when we launch another introductory offer in Thailand. I would appreciate clarification on the following points: What is the underlying reason for the discrepancy between the documented start time behavior and the actual start time observed in production? Can Apple update the App Store pricing and availability start times by country or region reference documentation so that it accurately reflects the practical start time and propagation window for each region? Any insights or shared experiences with offer scheduling in the APAC region would be greatly appreciated.
0
0
49
1d
Can't add subscription Group for review
Hi everyone, As my first experience with uploading an app to App store, I am facing an issue that really exhausted me. I've created a subscription group and added all the details including localization, pricing and other details for the two type of subscription I want to have in the app but the problem is I can't add them for review. You might wonder, why I don't attach it to the app as it said in the screenshot and send it for review. The problem is I don't have that option to attach a subscription group to my app and send it for review. It's so annoying and really frustrated me. Can anyone help?
0
0
41
2d
Is receiving the same transaction multiple times from Transaction.updates expected behavior?
I'm seeing behavior similar to what was reported in this thread: https://developer.apple.com/forums/thread/816344 I read the discussion in the related thread (816320) as well, but I couldn't determine whether receiving the same transaction multiple times from Transaction.updates is considered expected behavior. In my case, I'm testing an auto-renewable subscription in the Sandbox environment. After successfully processing and calling finish() on a transaction, Transaction.updates sometimes provides another transaction with the same transactionId. I've also observed the same transactionId being delivered multiple times through Transaction.updates itself. I compared the JWS representations of these transactions. They are not byte-for-byte identical, but the transaction information appears to be the same. The only differences I've identified are: signedDate deviceVerificationNonce deviceVerification This looks as though the same transaction is being signed again at a different time. I'd like to clarify the intended way to handle this: Is it expected behavior for Transaction.updates to deliver the same transactionId multiple times in this way? If so, after an app has successfully processed and finished a transaction, is it safe to recognize subsequent transactions with the same transactionId as already processed, skip entitlement-related processing, and simply call finish() on them? In other words, can an app use transactionId to prevent duplicate processing of transactions that it has already successfully handled? I'm specifically interested in whether doing so could cause the app to miss any meaningful update that StoreKit might later deliver using the same transactionId.
2
0
400
3d
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?
11
7
9.3k
4d
Rejected for non-existent elements in in-app purchases and subscriptions
I have an ongoing rejection for having non-existent promotional images within in-app purchases and subscriptions in my submissions. The minute the app goes into review it is rejected over and over as if the reviewer doesn't care to review the changes within the in-app records and subscriptions along with the translations. The display names and descriptions are unique for each tier. This has been going for over a week and there are no more changes that I can make other than going from freemium to fully paid model and forget the freemium model. Can someone from the App Review team look into this? Thanks.
0
0
58
4d
restorePurchases() returns zero transactions for Apple ID with confirmed active subscription
Hi all — hoping someone has run into this. restorePurchases() (via Flutter's in_app_purchase/in_app_purchase_storekit plugin, which wraps StoreKit) consistently returns zero transactions for an Apple ID that has a confirmed, currently active auto-renewable subscription to my app. Evidence the subscription is genuinely active: Settings → [Apple ID] → Subscriptions shows the subscription as active for this Apple ID. Independently confirmed via the App Store Server API (GET /inApps/v1/subscriptions/{originalTransactionId}) that Apple's servers currently recognize this subscription. Details: originalTransactionId: 2000000099299646, original purchase mid-2022 The App Store Server API's "latest transaction" for this ID resolves to environment: Sandbox, even though this Apple ID has also made real Production purchases over time — wondering if mixed Sandbox/Production history on one Apple ID could be affecting restorePurchases()'s results Tested on a real device, iOS [version], with and without an explicit SKPaymentQueueDelegate set — no difference in behavior Would appreciate any insight — thanks!
1
0
433
6d
Issue with Membership
Hi Team, My Apple Developer Program Membership license got auto-renewed on July 20th 2026 and i've also got the receipt. Yet the developer portal and AppStoreConnect is displaying as the membership is due for renewal and my app is removed from the app store. I've raised a ticket regarding this on Aug 26th and yet to receive a resolution on it. This is affecting the business operations. Request you to please resolve the issue. Case ID: 20000147813871
1
0
102
1w
Storekit Returns 0 product identifier in product Array.
Am same facing Storekit issue 0 product returns in Product identifier Array. Even i test on device it returns invalid product identifier due to 0 product array. Issue Description Step 1 Create a new Auto-Renewable Subscription from the App Information page in App Store Connect. Step 2 Complete all the required fields for the Auto-Renewable Subscription and click the "Save" button. Expected Result After saving, the subscription status should change from "Prepare for Submission" to "Ready to Submit". Actual Result The subscription status remains "Prepare for Submission" and does not change to "Ready to Submit", even though all required information has been completed and the subscription has been saved. I am currently facing a critical issue while creating an Auto-Renewable Subscription in "App Store Connect". I have already completed all the required subscription details. However, whenever I click the "Save" button, the subscription status does not change from "Prepare for Submission" to "Ready to Submit", as expected. Because the subscription never reaches the "Ready to Submit" state, every purchase attempt in the Sandbox environment fails with the following error: SKErrorDomain Code = 3 "Invalid Product Identifier" To troubleshoot the issue, I have already: Created multiple new Product Identifiers, but every identifier is reported as "invalid" in the Sandbox environment. Verified that my "Banking, Tax, and Paid Applications Agreement" is complete and active. Confirmed that all required fields for the Auto-Renewable Subscription have been filled in before saving. Since I am unable to submit the subscription for review and all Product Identifiers remain invalid, I believe there may be an issue with my App Store Connect configuration or account. I would appreciate it if you could investigate this issue and help resolve it as soon as possible, as it is currently blocking the implementation and testing of in-app purchases.
1
0
633
1w
StoreKit Sandbox returns 0 products after TN3186 checks — catalog association issue?
We are testing two auto-renewable subscriptions for a new iOS app. In Apple Sandbox, StoreKit 2 Product.products(for:) always returns an empty array. Legacy SKProductsRequest independently reports both identifiers as invalid. Environment: Physical iPhone, iOS 26.5 Xcode development build with automatic signing Storefront.current = USA (143441) canMakePayments = true No StoreKit Configuration file in the Run scheme Direct native StoreKit 2 diagnostics, without a third-party purchase SDK TN3186 checks completed: Explicit Bundle ID matches the App Store Connect app, installed app, and provisioning profile In-App Purchase is enabled for the App ID Developer membership, Paid Apps Agreement, banking, and tax are active One subscription group with monthly and yearly subscriptions is visible Pricing, localizations, and availability are configured Neither subscription is Rejected or Developer Action Needed The scheme is using real Sandbox data, not local StoreKit testing Results: StoreKit 2 batch query: rawCount = 0 SKProductsRequest: valid = []; both identifiers are invalid StoreKit 2 individual monthly query: 0 StoreKit 2 individual yearly query: 0 No exception; failure occurs during product discovery Related reports: https://developer.apple.com/forums/thread/839313 — TN3186 verified and USA storefront valid, but still 0 products; no replies https://developer.apple.com/forums/thread/841722 — Apple Commerce mentioned Rejected or Developer Action Needed states; ours have neither https://developer.apple.com/forums/thread/820656 — Apple DTS confirmed first subscriptions do not require review before Sandbox testing Apple Developer Support referred us to TN3186, and we verified every applicable item. The individual subscription detail route in App Store Connect also intermittently remains on a loading indicator although the group and both records are visible. Could an App Store Commerce or StoreKit engineer check whether the app-to-IAP catalog association is populated correctly on Apple's side, or advise an official escalation path to have the Sandbox catalog reprocessed? Exact account, app, product, device, email, and support-case identifiers are omitted from this public post and can be supplied privately through Apple Support or Feedback Assistant.
0
0
144
1w
Subscriptions load in TestFlight sandbox but not during App Review — 2.1(b), third rejection
Our first submission has now been rejected under Guideline 2.1(b), with the message: "the in-app purchases do not load successfully." Each review was performed on an iPad Air 11-inch (M3) running iPadOS 26.6. The app sells only auto-renewable subscriptions. We cannot reproduce the failure, and we have verified every part of the configuration we can think of. WHAT WE VERIFIED (via the App Store Connect API, not just the UI) Two subscriptions in one group, state READY_TO_SUBMIT Product IDs exactly match what the app requests Available in 175 territories, including the United States Prices set, en-US localizations present for both products and for the group App review screenshots attached to both, state COMPLETE Both subscriptions are included in the review submission (READY_FOR_REVIEW) Paid Apps Agreement: Active. Bank account: Active. Tax forms: Active. WHAT WORKS On our own devices, installed via TestFlight (sandbox environment), the products load correctly and a purchase completes and activates as expected. This works on both a real Apple ID and a Sandbox Tester account. WHAT WE OBSERVED FROM THE REVIEW SESSION We use RevenueCat. Their server-side API returns our offering with both packages and the correct product identifiers, so the offering metadata is fine. Our backend also shows that the reviewer's session reached our servers and signed in successfully at the review timestamp, so the device had working network connectivity. That leaves StoreKit itself returning no products on the reviewer's device, which is what empties the offering. QUESTIONS Are there known conditions under which StoreKit returns no products in the App Review sandbox for subscriptions that are in "Ready to Submit" and are attached to the same submission as the binary? For an app that has never been approved, is product loading during review handled differently from a normal sandbox session on a released app? Is there any way to obtain diagnostics from a review session, or to ask the reviewer for a screenshot of the failing screen? Replies in Resolution Center so far have only repeated the original rejection text. Is there anything specific to iPadOS 26.6 that could affect StoreKit 2 product lookups? For the next submission we have added a timeout and automatic retries around the product lookup, plus a visible retry control instead of a spinner, in case the failure is a transient cold-start timeout. But we would rather understand the actual cause than keep guessing. Any pointers appreciated.
0
0
150
1w
Same issue: subscription group stuck on "must be submitted with a subscription of the same group" despite correct config
I'm having the exact same issue. My app has 2 subscription groups, each with 2 auto-renewable subscriptions (monthly and yearly duration) — 4 products total, all in "Ready to Submit" status. The error I keep getting when trying to submit the first group together with the app version is: "New subscription groups must be submitted with an auto-renewable subscription of that same group" What I've already verified/tried: Full metadata on each subscription: reference name, pricing, localizations (display name + description) in two languages, review screenshot Added the individual subscription products (not the group) to the submission draft from each product's own page Draft correctly shows the app version + all subscriptions grouped together under "Suscripciones (4)" Set both durations (monthly/annual) to the same subscription level within each group, as suggested in another thread — no change Recreated the subscriptions from scratch with entirely new Product IDs — same error Tried different browsers, incognito mode, hard refresh Paid Applications Agreement is Active, no pending agreements The error persists regardless of what I try. Has anyone found what actually resolved this beyond the subscription level fix? Or is this something only Apple can unblock from their side?
1
0
144
1w
Apple Developer Program Subscription Issue
Hello everyone, I’m reaching out for assistance regarding an issue with my Apple Developer Program subscription. I made the $99 USD payment for my subscription on January 10, 2025, but my account is still not active, and I am unable to publish my app. According to the process, activation should take up to 48 hours, but it has now been much longer without any updates. Additionally, when I log into the Apple Developer website, I still see the "PURCHASE" button as if the payment was not processed. Has anyone encountered a similar issue? If so, how was it resolved? Any guidance on what steps I should take next would be greatly appreciated. Thank you in advance for your help!
2
2
371
1w
Paid Apps Agreement Renewed, But In-App Purchases Still Unavailable
Hello, I forgot to renew my Paid Apps Agreement when the previous one expired. As a result, all of my In-App Purchases and subscriptions became unavailable. I have now signed the new agreement, and it appears as active in App Store Connect. However, my In-App Purchases are still unavailable and purchases cannot be completed in my apps. Is there a propagation delay after signing the agreement before In-App Purchases become available again? Does Apple need to perform any manual action on their side after the agreement is renewed? If there is a delay, how long did it take in your experience? My products are still marked as "Ready for Sale" and everything else appears to be configured correctly. This issue is currently affecting live apps and preventing customers from making purchases, so I'm trying to understand whether I should simply wait or contact Apple Support. Thanks for any insights.
2
1
494
1w
Increased StoreKit errors “Unable to Complete Request”
Since January 28, 2026, we’ve noticed an increase in StoreKit-related errors during purchase flows. Specifically, we’re seeing a spike in errors reported as “Unable to Complete Request”, categorized as unknown StoreKit errors. This correlates with a noticeable drop in the overall purchase success rate. A few observations: The issue is not limited to the latest app version, it also affects older versions. It appears to occur only on iOS 17+. The impact seems country-specific: some regions are affected more heavily, while others show no significant change compared to previous days. At the moment, there are no related incidents reported on Apple’s System Status page. Given these symptoms, this looks like a potential StoreKit / Apple API issue, but we haven’t found any official confirmation yet. Has anyone else observed similar StoreKit behavior recently on iOS 17+? Any insights or known issues would be greatly appreciated.
5
1
1.3k
1w
Product.products(for:) never returns — approved subscriptions, live app, all agreements active
My app is live on the App Store and all three auto-renewable subscriptions are Approved, but StoreKit 2 never answers on device. Product.products(for:) does not settle — no products, no error, no throw. I let it run 30 seconds. Storefront.current behaves the same way, so this is not a product-id or catalogue problem. StoreKit is not reaching a store at all. Already ruled out: Product ids app.steady.pro.weekly / .monthly / .yearly, all Approved; subscription group Approved Bundle id app.steady.calm, matches App Store Connect exactly Paid Applications Agreement Active, bank and tax forms Active In-App Purchase capability enabled on the App ID and present on the App Store provisioning profile Two iPhones, two Apple Accounts, storefronts AZ and TR, three networks A clean build run directly from Xcode on a different Mac — identical silence Also reproduced through a third-party purchases SDK before reverting to plain StoreKit 2, so it is not my bridge layer This has never worked once, on any device or account, since launch. It is not intermittent. Open with Apple: Developer Support case 20000143122321, Feedback FB24488724 with sysdiagnose attached. Has anyone seen Storefront.current hang like this? Is there an account-level state that can stop StoreKit from resolving a storefront even when the app and products are approved?
1
0
171
1w
Charged for Apple Developer Program (Order #W1813389508) but Enrollment Stuck on "Purchase Membership
Hello, I am having a major issue with my Apple Developer Program enrollment. On August 13, 2026, I purchased the 1-year Apple Developer Program membership for 1.029 TL. The payment was successfully charged to my credit card, and I received an official "Order is being processed" confirmation email from the Apple Store with order number W1813389508. However, my Developer account and the Apple Developer app still do not reflect this transaction. When I log in, the portal still asks me to "Purchase your membership" as if no purchase was ever made. I have already provided the requested identity verification documents to Apple Support under Case ID: 20000127369127, but I have not received any resolution or follow-up yet. Because the payment has cleared and the Apple Store order W1813389508 is officially processing, I do not want to make a duplicate payment. Could someone from the Apple team please check Case ID: 20000127369127 and help sync my order with my Developer enrollment account? Thank you.
1
0
171
2w
In-App Purchase Resources
General: Forums topic: StoreKit Forums tag: In-App Purchase App Store Pathway Simple and safe In-App Purchases Auto-renewable subscriptions In-App Purchase documentation Getting started with In-App Purchase using StoreKit views documentation Supporting business model changes by using the app transaction documentation Testing at all stages of development with Xcode and the sandbox documentation App Store Server Notifications documentation App Store Server API documentation Simplifying your implementation by using the App Store Server Library documentation TN3185: Troubleshooting In-App Purchases availability in Xcode technote TN3186: Troubleshooting In-App Purchases availability in the sandbox technote TN3188: Troubleshooting In-App Purchases availability in the App Store technote Understanding StoreKit workflows sample code Implementing a store in your app using the StoreKit API sample code What’s new in StoreKit and In-App Purchase video
Replies
0
Boosts
0
Views
1.5k
Activity
Jun ’26
Product.products(for:) returns empty for live subs since 2026-09-01
Live App Store app. Since 2026-09-01 PDT, StoreKit no longer returns our approved auto-renewable subscriptions on signed builds. The same SKUs load normally in Xcode when using a local StoreKit configuration file. New purchases are blocked. Monthly auto-renewals that were collecting normally through August 31 began failing their renewal attempts starting September 1, with all observed attempts entering Billing Grace / Billing Retry. App Name: Moonlit Bundle ID: moonlit.reading Versions affected: 1.1.1 — App Store version that was already live and working normally before September 1 1.1.2 — subsequently released to the App Store specifically to test whether a fresh production release would restore StoreKit behavior. It did not. Approved auto-renewable subscriptions, both in the same subscription group: moonlit.monthly.subscription moonlit.yearly.subscription Paid Apps Agreement, banking, and tax are Active in App Store Connect. We use an explicit App ID with the In-App Purchase capability enabled. Distribution builds do not contain a StoreKit Configuration file. The local .storekit file is used only for Xcode Run. Through August 31, 2026, Product.products(for:) and SubscriptionStoreView returned both SKUs and their prices correctly on production builds. Beginning September 1, 2026, and continuing through at least September 11: Every production paywall we can measure receives an empty StoreKit catalog with no product IDs, no prices, and no thrown StoreKit error. SubscriptionStoreView remains on its loading state. Our Terms / Privacy footer still renders because it does not depend on StoreKit. showManageSubscriptions / manageSubscriptionsSheet also hangs or fails to connect on the same signed builds. App Store Connect subscription events for the monthly SKU show a complete reversal beginning September 1. All observed renewal attempts in the affected window entered Grace from Paid, with no successful renewals, whereas the comparable August window showed normal successful renewals. Sales reports show no IAP proceeds for the affected September window. App downloads continue to appear normally, so the app itself remains available for sale. What still works Xcode + local StoreKit Configuration: Both products load Prices display The purchase sheet presents normally Analytics and logging continue to function, so this is not an app crash or missing paywall UI. The subscriptions are not Rejected and are not in Developer Action Needed. TN3186 / TN3188 checks have already been completed. This appears similar to other recent reports where App Store Connect contains a valid product catalog but StoreKit does not serve the products to signed builds: https://developer.apple.com/forums/thread/838171 https://developer.apple.com/forums/thread/841722 https://developer.apple.com/forums/thread/838773 https://developer.apple.com/forums/thread/836183 Developer Support case: 102959783559 Request Could an App Store Commerce or StoreKit engineer verify whether the app-to-IAP catalog association for moonlit.reading is populated and being served correctly on Apple’s side, and refresh or reprocess the production catalog if appropriate?
Replies
0
Boosts
0
Views
58
Activity
18h
StoreKit 2 returns USD product metadata in TestFlight while the storefront is FRA/EUR
Hello, We would appreciate some guidance regarding an unexpected StoreKit currency result in a TestFlight build. Our iPhone language and region are both set to France. The Sandbox tester is also configured for France, and our subscription products have French availability and pricing configured in App Store Connect. In the TestFlight build we diagnosed, StoreKit reports the current storefront as France with EUR: storefront=FRA/143442/EUR However, all 10 subscription products are returned with USD product metadata: products=10/10 formatCurrencies=USD localeCurrencies=USD error=NONE Example: formatCurrency=USD locale=fr_US_currency_USD localeCurrency=USD display=1,99 $US price=1.99 We first observed this through Flutter's in_app_purchase integration. To determine whether the Flutter plugin was involved, we added a native StoreKit 2 diagnostic to the same TestFlight build. The native result was identical: receipt=sandboxReceipt storefront before=FRA/143442/EUR storefront after=FRA/143442/EUR products=10/10 formatCurrencies=USD localeCurrencies=USD error=NONE The issue appears specific to the TestFlight distribution. When the application is installed directly from the development computer, prices are returned in euros on the same device. We also tested with the regular Media & Purchases account signed out and a French Sandbox tester connected. Once the products loaded successfully, StoreKit still returned USD metadata. In another configuration, the application displayed the USD price while Apple's purchase sheet displayed the price in euros. We are using the price and formatting information returned directly by StoreKit. We do not want to infer the currency from the device region or perform a client-side currency conversion, because StoreKit should remain the authoritative source. Could you please help us understand: Is it expected for Storefront.current to report FRA/EUR while Product.priceFormatStyle.currencyCode, its locale currency, and Product.displayPrice use USD? Could a TestFlight or App Store Connect configuration cause product metadata to use a different currency from the current storefront? Is there another account, availability, pricing or distribution setting that we should verify? Is there a recommended way to refresh or invalidate the product metadata used by a TestFlight installation? We have already filed Feedback Assistant report FB24723329, which is currently under investigation. Thank you very much for any clarification or additional diagnostic steps you can suggest.
Replies
0
Boosts
0
Views
91
Activity
1d
Unable to remove IAP promotional image while In-App Purchase is “Ready for Review”
Hi Apple Developer Community, My app was rejected under Guideline 2.3.2 because I accidentally uploaded the wrong promotional image. I want to remove the image as instructed by App Review, but the IAP is currently Ready for Review, and the image is locked. There is no option to remove or replace it, and the Save/Add for Review buttons are disabled. I have already contacted Apple Developer Support (Case ID: 102955732091) and am waiting for a response. Has anyone faced this issue? Is there a way to unlock the IAP metadata, or does Apple need to remove the image from their side? Thanks!
Replies
1
Boosts
0
Views
164
Activity
1d
Guideline 2.1(b) - Performance - App Completeness
Issue Description In-app purchase products associated with the app version submitted for review, such as "Basic Diamond Pack", "Standard Diamond Pack", "Premium Diamond Pack", "Silver Weekly Plan", "Silver Monthly Plan", "Silver Quarterly Plan", "Silver Yearly Plan", "Gold Weekly Plan", "Gold Monthly Plan", "Gold Quarterly Plan", "Gold Yearly Plan", "Platinum Weekly Plan", "Platinum Monthly Plan", and "Platinum Quarterly Plan", could not be found in the submitted binary. Next Steps If these In-App Purchase products are not intended to be available at this time, remove them from App Store Connect before resubmitting. AS THERE IS NO OPTION TO DELETE IAP PRODUCTS ONCE YOU SUBITTED TO APP STORE, WE CAN ONLY REMOVE FROM SALE HOW WE CAN DELETE THESE IAP PRODUCTS.
Replies
0
Boosts
0
Views
103
Activity
1d
Introductory Offer Start Timing
Hi everyone, I set up an auto-renewable subscription introductory offer in App Store Connect with a scheduled start date of September 7 for the Philippines storefront. According to the documentation App Store pricing and availability start times by country or region, scheduled pricing and offer updates are expected to go live based on local regional times. However, the offer did not show up in the Current Introductory Offers in app store connect portal at the documented start time (14:00 Sep 6th UTC). Instead, it stayed in the Upcoming Offers until 7:00 Sep 7th UTC which is 17 hours after the time in the doc. We met a similar situation a few days later when we launch another introductory offer in Thailand. I would appreciate clarification on the following points: What is the underlying reason for the discrepancy between the documented start time behavior and the actual start time observed in production? Can Apple update the App Store pricing and availability start times by country or region reference documentation so that it accurately reflects the practical start time and propagation window for each region? Any insights or shared experiences with offer scheduling in the APAC region would be greatly appreciated.
Replies
0
Boosts
0
Views
49
Activity
1d
Can't add subscription Group for review
Hi everyone, As my first experience with uploading an app to App store, I am facing an issue that really exhausted me. I've created a subscription group and added all the details including localization, pricing and other details for the two type of subscription I want to have in the app but the problem is I can't add them for review. You might wonder, why I don't attach it to the app as it said in the screenshot and send it for review. The problem is I don't have that option to attach a subscription group to my app and send it for review. It's so annoying and really frustrated me. Can anyone help?
Replies
0
Boosts
0
Views
41
Activity
2d
Is receiving the same transaction multiple times from Transaction.updates expected behavior?
I'm seeing behavior similar to what was reported in this thread: https://developer.apple.com/forums/thread/816344 I read the discussion in the related thread (816320) as well, but I couldn't determine whether receiving the same transaction multiple times from Transaction.updates is considered expected behavior. In my case, I'm testing an auto-renewable subscription in the Sandbox environment. After successfully processing and calling finish() on a transaction, Transaction.updates sometimes provides another transaction with the same transactionId. I've also observed the same transactionId being delivered multiple times through Transaction.updates itself. I compared the JWS representations of these transactions. They are not byte-for-byte identical, but the transaction information appears to be the same. The only differences I've identified are: signedDate deviceVerificationNonce deviceVerification This looks as though the same transaction is being signed again at a different time. I'd like to clarify the intended way to handle this: Is it expected behavior for Transaction.updates to deliver the same transactionId multiple times in this way? If so, after an app has successfully processed and finished a transaction, is it safe to recognize subsequent transactions with the same transactionId as already processed, skip entitlement-related processing, and simply call finish() on them? In other words, can an app use transactionId to prevent duplicate processing of transactions that it has already successfully handled? I'm specifically interested in whether doing so could cause the app to miss any meaningful update that StoreKit might later deliver using the same transactionId.
Replies
2
Boosts
0
Views
400
Activity
3d
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
11
Boosts
7
Views
9.3k
Activity
4d
Rejected for non-existent elements in in-app purchases and subscriptions
I have an ongoing rejection for having non-existent promotional images within in-app purchases and subscriptions in my submissions. The minute the app goes into review it is rejected over and over as if the reviewer doesn't care to review the changes within the in-app records and subscriptions along with the translations. The display names and descriptions are unique for each tier. This has been going for over a week and there are no more changes that I can make other than going from freemium to fully paid model and forget the freemium model. Can someone from the App Review team look into this? Thanks.
Replies
0
Boosts
0
Views
58
Activity
4d
restorePurchases() returns zero transactions for Apple ID with confirmed active subscription
Hi all — hoping someone has run into this. restorePurchases() (via Flutter's in_app_purchase/in_app_purchase_storekit plugin, which wraps StoreKit) consistently returns zero transactions for an Apple ID that has a confirmed, currently active auto-renewable subscription to my app. Evidence the subscription is genuinely active: Settings → [Apple ID] → Subscriptions shows the subscription as active for this Apple ID. Independently confirmed via the App Store Server API (GET /inApps/v1/subscriptions/{originalTransactionId}) that Apple's servers currently recognize this subscription. Details: originalTransactionId: 2000000099299646, original purchase mid-2022 The App Store Server API's "latest transaction" for this ID resolves to environment: Sandbox, even though this Apple ID has also made real Production purchases over time — wondering if mixed Sandbox/Production history on one Apple ID could be affecting restorePurchases()'s results Tested on a real device, iOS [version], with and without an explicit SKPaymentQueueDelegate set — no difference in behavior Would appreciate any insight — thanks!
Replies
1
Boosts
0
Views
433
Activity
6d
Issue with Membership
Hi Team, My Apple Developer Program Membership license got auto-renewed on July 20th 2026 and i've also got the receipt. Yet the developer portal and AppStoreConnect is displaying as the membership is due for renewal and my app is removed from the app store. I've raised a ticket regarding this on Aug 26th and yet to receive a resolution on it. This is affecting the business operations. Request you to please resolve the issue. Case ID: 20000147813871
Replies
1
Boosts
0
Views
102
Activity
1w
Storekit Returns 0 product identifier in product Array.
Am same facing Storekit issue 0 product returns in Product identifier Array. Even i test on device it returns invalid product identifier due to 0 product array. Issue Description Step 1 Create a new Auto-Renewable Subscription from the App Information page in App Store Connect. Step 2 Complete all the required fields for the Auto-Renewable Subscription and click the "Save" button. Expected Result After saving, the subscription status should change from "Prepare for Submission" to "Ready to Submit". Actual Result The subscription status remains "Prepare for Submission" and does not change to "Ready to Submit", even though all required information has been completed and the subscription has been saved. I am currently facing a critical issue while creating an Auto-Renewable Subscription in "App Store Connect". I have already completed all the required subscription details. However, whenever I click the "Save" button, the subscription status does not change from "Prepare for Submission" to "Ready to Submit", as expected. Because the subscription never reaches the "Ready to Submit" state, every purchase attempt in the Sandbox environment fails with the following error: SKErrorDomain Code = 3 "Invalid Product Identifier" To troubleshoot the issue, I have already: Created multiple new Product Identifiers, but every identifier is reported as "invalid" in the Sandbox environment. Verified that my "Banking, Tax, and Paid Applications Agreement" is complete and active. Confirmed that all required fields for the Auto-Renewable Subscription have been filled in before saving. Since I am unable to submit the subscription for review and all Product Identifiers remain invalid, I believe there may be an issue with my App Store Connect configuration or account. I would appreciate it if you could investigate this issue and help resolve it as soon as possible, as it is currently blocking the implementation and testing of in-app purchases.
Replies
1
Boosts
0
Views
633
Activity
1w
StoreKit Sandbox returns 0 products after TN3186 checks — catalog association issue?
We are testing two auto-renewable subscriptions for a new iOS app. In Apple Sandbox, StoreKit 2 Product.products(for:) always returns an empty array. Legacy SKProductsRequest independently reports both identifiers as invalid. Environment: Physical iPhone, iOS 26.5 Xcode development build with automatic signing Storefront.current = USA (143441) canMakePayments = true No StoreKit Configuration file in the Run scheme Direct native StoreKit 2 diagnostics, without a third-party purchase SDK TN3186 checks completed: Explicit Bundle ID matches the App Store Connect app, installed app, and provisioning profile In-App Purchase is enabled for the App ID Developer membership, Paid Apps Agreement, banking, and tax are active One subscription group with monthly and yearly subscriptions is visible Pricing, localizations, and availability are configured Neither subscription is Rejected or Developer Action Needed The scheme is using real Sandbox data, not local StoreKit testing Results: StoreKit 2 batch query: rawCount = 0 SKProductsRequest: valid = []; both identifiers are invalid StoreKit 2 individual monthly query: 0 StoreKit 2 individual yearly query: 0 No exception; failure occurs during product discovery Related reports: https://developer.apple.com/forums/thread/839313 — TN3186 verified and USA storefront valid, but still 0 products; no replies https://developer.apple.com/forums/thread/841722 — Apple Commerce mentioned Rejected or Developer Action Needed states; ours have neither https://developer.apple.com/forums/thread/820656 — Apple DTS confirmed first subscriptions do not require review before Sandbox testing Apple Developer Support referred us to TN3186, and we verified every applicable item. The individual subscription detail route in App Store Connect also intermittently remains on a loading indicator although the group and both records are visible. Could an App Store Commerce or StoreKit engineer check whether the app-to-IAP catalog association is populated correctly on Apple's side, or advise an official escalation path to have the Sandbox catalog reprocessed? Exact account, app, product, device, email, and support-case identifiers are omitted from this public post and can be supplied privately through Apple Support or Feedback Assistant.
Replies
0
Boosts
0
Views
144
Activity
1w
Subscriptions load in TestFlight sandbox but not during App Review — 2.1(b), third rejection
Our first submission has now been rejected under Guideline 2.1(b), with the message: "the in-app purchases do not load successfully." Each review was performed on an iPad Air 11-inch (M3) running iPadOS 26.6. The app sells only auto-renewable subscriptions. We cannot reproduce the failure, and we have verified every part of the configuration we can think of. WHAT WE VERIFIED (via the App Store Connect API, not just the UI) Two subscriptions in one group, state READY_TO_SUBMIT Product IDs exactly match what the app requests Available in 175 territories, including the United States Prices set, en-US localizations present for both products and for the group App review screenshots attached to both, state COMPLETE Both subscriptions are included in the review submission (READY_FOR_REVIEW) Paid Apps Agreement: Active. Bank account: Active. Tax forms: Active. WHAT WORKS On our own devices, installed via TestFlight (sandbox environment), the products load correctly and a purchase completes and activates as expected. This works on both a real Apple ID and a Sandbox Tester account. WHAT WE OBSERVED FROM THE REVIEW SESSION We use RevenueCat. Their server-side API returns our offering with both packages and the correct product identifiers, so the offering metadata is fine. Our backend also shows that the reviewer's session reached our servers and signed in successfully at the review timestamp, so the device had working network connectivity. That leaves StoreKit itself returning no products on the reviewer's device, which is what empties the offering. QUESTIONS Are there known conditions under which StoreKit returns no products in the App Review sandbox for subscriptions that are in "Ready to Submit" and are attached to the same submission as the binary? For an app that has never been approved, is product loading during review handled differently from a normal sandbox session on a released app? Is there any way to obtain diagnostics from a review session, or to ask the reviewer for a screenshot of the failing screen? Replies in Resolution Center so far have only repeated the original rejection text. Is there anything specific to iPadOS 26.6 that could affect StoreKit 2 product lookups? For the next submission we have added a timeout and automatic retries around the product lookup, plus a visible retry control instead of a spinner, in case the failure is a transient cold-start timeout. But we would rather understand the actual cause than keep guessing. Any pointers appreciated.
Replies
0
Boosts
0
Views
150
Activity
1w
Same issue: subscription group stuck on "must be submitted with a subscription of the same group" despite correct config
I'm having the exact same issue. My app has 2 subscription groups, each with 2 auto-renewable subscriptions (monthly and yearly duration) — 4 products total, all in "Ready to Submit" status. The error I keep getting when trying to submit the first group together with the app version is: "New subscription groups must be submitted with an auto-renewable subscription of that same group" What I've already verified/tried: Full metadata on each subscription: reference name, pricing, localizations (display name + description) in two languages, review screenshot Added the individual subscription products (not the group) to the submission draft from each product's own page Draft correctly shows the app version + all subscriptions grouped together under "Suscripciones (4)" Set both durations (monthly/annual) to the same subscription level within each group, as suggested in another thread — no change Recreated the subscriptions from scratch with entirely new Product IDs — same error Tried different browsers, incognito mode, hard refresh Paid Applications Agreement is Active, no pending agreements The error persists regardless of what I try. Has anyone found what actually resolved this beyond the subscription level fix? Or is this something only Apple can unblock from their side?
Replies
1
Boosts
0
Views
144
Activity
1w
Apple Developer Program Subscription Issue
Hello everyone, I’m reaching out for assistance regarding an issue with my Apple Developer Program subscription. I made the $99 USD payment for my subscription on January 10, 2025, but my account is still not active, and I am unable to publish my app. According to the process, activation should take up to 48 hours, but it has now been much longer without any updates. Additionally, when I log into the Apple Developer website, I still see the "PURCHASE" button as if the payment was not processed. Has anyone encountered a similar issue? If so, how was it resolved? Any guidance on what steps I should take next would be greatly appreciated. Thank you in advance for your help!
Replies
2
Boosts
2
Views
371
Activity
1w
Paid Apps Agreement Renewed, But In-App Purchases Still Unavailable
Hello, I forgot to renew my Paid Apps Agreement when the previous one expired. As a result, all of my In-App Purchases and subscriptions became unavailable. I have now signed the new agreement, and it appears as active in App Store Connect. However, my In-App Purchases are still unavailable and purchases cannot be completed in my apps. Is there a propagation delay after signing the agreement before In-App Purchases become available again? Does Apple need to perform any manual action on their side after the agreement is renewed? If there is a delay, how long did it take in your experience? My products are still marked as "Ready for Sale" and everything else appears to be configured correctly. This issue is currently affecting live apps and preventing customers from making purchases, so I'm trying to understand whether I should simply wait or contact Apple Support. Thanks for any insights.
Replies
2
Boosts
1
Views
494
Activity
1w
Increased StoreKit errors “Unable to Complete Request”
Since January 28, 2026, we’ve noticed an increase in StoreKit-related errors during purchase flows. Specifically, we’re seeing a spike in errors reported as “Unable to Complete Request”, categorized as unknown StoreKit errors. This correlates with a noticeable drop in the overall purchase success rate. A few observations: The issue is not limited to the latest app version, it also affects older versions. It appears to occur only on iOS 17+. The impact seems country-specific: some regions are affected more heavily, while others show no significant change compared to previous days. At the moment, there are no related incidents reported on Apple’s System Status page. Given these symptoms, this looks like a potential StoreKit / Apple API issue, but we haven’t found any official confirmation yet. Has anyone else observed similar StoreKit behavior recently on iOS 17+? Any insights or known issues would be greatly appreciated.
Replies
5
Boosts
1
Views
1.3k
Activity
1w
Product.products(for:) never returns — approved subscriptions, live app, all agreements active
My app is live on the App Store and all three auto-renewable subscriptions are Approved, but StoreKit 2 never answers on device. Product.products(for:) does not settle — no products, no error, no throw. I let it run 30 seconds. Storefront.current behaves the same way, so this is not a product-id or catalogue problem. StoreKit is not reaching a store at all. Already ruled out: Product ids app.steady.pro.weekly / .monthly / .yearly, all Approved; subscription group Approved Bundle id app.steady.calm, matches App Store Connect exactly Paid Applications Agreement Active, bank and tax forms Active In-App Purchase capability enabled on the App ID and present on the App Store provisioning profile Two iPhones, two Apple Accounts, storefronts AZ and TR, three networks A clean build run directly from Xcode on a different Mac — identical silence Also reproduced through a third-party purchases SDK before reverting to plain StoreKit 2, so it is not my bridge layer This has never worked once, on any device or account, since launch. It is not intermittent. Open with Apple: Developer Support case 20000143122321, Feedback FB24488724 with sysdiagnose attached. Has anyone seen Storefront.current hang like this? Is there an account-level state that can stop StoreKit from resolving a storefront even when the app and products are approved?
Replies
1
Boosts
0
Views
171
Activity
1w
Charged for Apple Developer Program (Order #W1813389508) but Enrollment Stuck on "Purchase Membership
Hello, I am having a major issue with my Apple Developer Program enrollment. On August 13, 2026, I purchased the 1-year Apple Developer Program membership for 1.029 TL. The payment was successfully charged to my credit card, and I received an official "Order is being processed" confirmation email from the Apple Store with order number W1813389508. However, my Developer account and the Apple Developer app still do not reflect this transaction. When I log in, the portal still asks me to "Purchase your membership" as if no purchase was ever made. I have already provided the requested identity verification documents to Apple Support under Case ID: 20000127369127, but I have not received any resolution or follow-up yet. Because the payment has cleared and the Apple Store order W1813389508 is officially processing, I do not want to make a duplicate payment. Could someone from the Apple team please check Case ID: 20000127369127 and help sync my order with my Developer enrollment account? Thank you.
Replies
1
Boosts
0
Views
171
Activity
2w