In-App Purchase

RSS for tag

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

Posts under In-App Purchase tag

200 Posts

Post

Replies

Boosts

Views

Activity

Already-approved subscriptions cannot be added to new IAP review
My app already has an approved subscription group with approved monthly and annual subscriptions. I later submitted a new non-consumable in-app purchase with an app version. App Review rejected the submission because the paywall also displays the existing subscriptions, stating that the subscriptions had not been submitted for review. However, App Store Connect will not let me add the approved subscriptions to the submission because they are already in Approved status and the Add for Review button is disabled. At this point I'm unsure what corrective action App Review expects. I've replied through the App Review message thread requesting clarification, but I have never received a response to messages sent through App Review. I also attempted to contact Apple Developer Support through the Dispute App Rejection support option, but after waiting on hold for over two hours I was still unable to reach anyone. Has anyone encountered this workflow before? Is there a way to include previously approved subscriptions in a new review that I'm missing, or does this require App Review to resolve internally?
1
0
504
Jul ’26
ASDServerErrorDomain Code 3504 when purchasing non-consumable IAP
I am experiencing an issue with a non-consumable in-app purchase in my iOS app. The product loads correctly from the App Store and is displayed in the app, but when attempting to complete the purchase, StoreKit returns the following error: Payment completed with error: Error Domain=ASDServerErrorDomain Code=3504 "This item cannot be found." UserInfo={ NSLocalizedFailureReason=This item cannot be found., AMSServerErrorCode=3504, client-environment-type=Sandbox, storefront-country-code=USA } The same issue was also encountered by the App Review tester when they attempted to purchase the non-consumable product during review. The product: Is correctly configured in App Store Connect Has active pricing Is available in the United States Was included in the app submission Loads successfully and displays the correct price Fails only when the purchase is initiated Since the product metadata can be retrieved successfully, but the transaction fails with “This item cannot be found,” this appears to be a possible inconsistency between the StoreKit product catalog and the purchase backend. Has anyone encountered ASDServerErrorDomain Code=3504 for a non-consumable product that loads correctly but cannot be purchased? Is there any known App Store sandbox or commerce backend issue that can cause this, or any additional App Store Connect configuration that should be checked?
3
0
1.2k
Jul ’26
Clarification about product with status "Developer Removed from Sale"
Summary After setting a single auto-renewable subscription product (not the app) to "Developer Removed from Sale" in App Store Connect, the next scheduled renewal for an existing active subscriber failed with DID_FAIL_TO_RENEW v2 and expirationIntent = 5 ("expired for some other reason"). I expected expirationIntent = 4 ("product wasn't available for purchase at the time of renewal"), since the product was, in fact, not available for purchase. I would like to confirm whether 5 is the documented/expected value for this scenario, and how to deterministically distinguish "developer removed product from sale" from other renewal failures using the notification payload. Reproduction / observed sequence Day 15: Changed product annual_promo (auto-renewable subscription) status from "Approved" to "Developer Removed from Sale" in App Store Connect. The app itself remained Approved and on sale. Other subscription products in the same group remained Approved. Day 16: An existing active subscriber on that product had a scheduled automatic renewal date. Result: Renewal did not occur. We received a DID_FAIL_TO_RENEW v2 notification. Payload (relevant fields): JWSRenewalInfoDecodedPayload.expirationIntent = 5 JWSRenewalInfoDecodedPayload.autoRenewStatus = 0 Questions Is expirationIntent = 5 the correct/expected value when a renewal fails because the developer removed the product from sale? Or should it have been 4 ("product wasn't available for purchase at the time of renewal")? If 5 is intentional, what is the engineering rationale for not using 4 in this scenario? Given that expirationIntent = 5 is documented as a catch-all ("some other reason"), which other fields in the DID_FAIL_TO_RENEW payload (e.g., subtype, autoRenewStatus, gracePeriodExpiresDate, signedTransactionInfo) should we inspect to deterministically classify the failure cause and isolate "developer removed product from sale" from billing failure / customer cancel / price-increase not accepted / etc.? Context I'm aware of the docs page In-App Purchase statuses and Set availability for an auto-renewable subscription, but they describe the status semantics, not the resulting notification payload. Product has been reverted to "Approved" to avoid further impact on subscribers while this is clarified. Thanks in advance.
1
0
1k
Jul ’26
App Store Connect tax issue blocking Paid Apps / IAP, no Finance update
Hi everyone, I’m looking for advice on the best escalation path for an App Store Connect tax issue that is blocking our Paid Apps / In-App Purchase setup for a live app. Timeline: Jun 18, 2026: Opened a Finance Support case for tax information submissions. Since then: No update from Apple Finance. Current impact: Paid Apps / IAP cannot be completed, and users are already trying to purchase the Pro upgrade. I have also submitted a new Finance contact request under Tax information submissions. Has anyone dealt with a similar App Store Connect tax issue where Finance Support went quiet? Is there any escalation path beyond the Finance contact form and replying to the original iTSPayments email? Any guidance from Apple staff or developers who have been through this would be appreciated.
1
0
388
Jul ’26
IAP purchase fails in App Review sandbox — error alert shown to reviewer, 2.1(b) rejection
Getting 2.1(b) rejection. Reviewer sees "Purchase Failed" alert. Products configured correctly in ASC. Does App Review sandbox use same sandbox environment as developer testing? Can reviewer sandbox accounts trigger purchase failures that developer sandbox accounts cannot? Any known issues with first-time IAP products failing specifically during App Review sandbox session?
1
0
879
Jul ’26
Approved non-consumable IAP still returns an empty product list in TestFlight and macOS sandbox after 24+ hours
I’m seeing an App Store Connect / StoreKit product-availability issue for a universal iOS + macOS app. Product ID: com.vincentchu.VideoAtlas.pro.lifetime The product is a one-time, non-consumable lifetime purchase. Current state: Both iOS and macOS apps are approved. The IAP status is Approved. I waited more than 24 hours after IAP approval before retesting. The IAP is configured for the universal app, is available in 175 storefronts, and has an effective price. Paid Applications agreement, tax, and banking are active; this account already has other paid apps. In-App Purchase capability is enabled for both targets. The product ID exactly matches the App Store Connect product ID. Production schemes have StoreKit Configuration: None. iOS is tested from TestFlight, so it uses StoreKit sandbox. macOS is tested from a development-signed build against sandbox, also with no local StoreKit configuration. The app uses StoreKit 2: let products = try await Product.products( for: ["com.vincentchu.VideoAtlas.pro.lifetime"] ) The call does not throw an error, but returns an empty array on both platforms: StoreKit product request completed productIDs=com.vincentchu.VideoAtlas.pro.lifetime returnedCount=0 returnedProducts= StoreKit returned no products for requested productIDs= com.vincentchu.VideoAtlas.pro.lifetime As a result, the app cannot retrieve Product.displayPrice or offer the purchase. I have already followed "TN3186: Troubleshooting In-App Purchases availability in the sandbox", including checks for product identifier, bundle identifier, IAP capability, provisioning/signing, StoreKit configuration, sandbox testing, paid-app agreements, IAP approval, pricing, and storefront availability. Since this is an empty result rather than an error, and it persists more than 24 hours after approval on both TestFlight and macOS sandbox, is there an additional App Store Connect-side configuration or Apple-side issue that could cause an approved non-consumable IAP not to be returned by Product.products(for:)? Thanks.
4
0
510
Jul ’26
STATE_ERROR.SUBSCRIPTION_SUBMISSION_REQUIRES_GROUP_VERSION blocking first subscription submission
Hi all, Trying to submit my first-ever auto-renewable subscription (Pro Monthly) together with my app version (1.0.2, App ID 6789196311). App Store Connect's Draft Submission UI just shows the generic error: "There are errors with one or more of your items. To fix them, you need to remove the items and add them again to your submission." Removing and re-adding the subscription (tried multiple browsers, multiple review screenshot sizes/formats) does not fix it. Inspecting the actual API response via DevTools Network tab, the real error is: STATE_ERROR.ENTITY_STATE_INVALID "subscriptionVersions with id '...' is not in valid state." Associated error: STATE_ERROR.SUBSCRIPTION_SUBMISSION_REQUIRES_GROUP_VERSION "A subscription must be submitted with its subscription group version when the group has no prior approved version." This is the first subscription ever in this subscription group, so the group has no prior approved version — which matches the error message. But there's no visible UI option anywhere in App Store Connect to create or attach a subscription group version to the draft submission. Has anyone hit this exact error and found a fix? I found one similar thread where someone got STATE_ERROR.ALREADY_EXISTS when trying to create a group version via the API (an "inflight" version already existed), and then SUBSCRIPTION_GROUP_VERSION_NOT_SUPPORTED when trying to attach that existing version, because it was in an "older format." Wondering if this is a known backend issue. Already ruled out: Paid Applications Agreement (Active), banking/tax info (Active), screenshot format (RGB, no alpha, multiple official sizes tried). Any help appreciated — also filed a formal Contact Us case for this (App, Build and Version Management). Thanks!
1
0
497
Jul ’26
Advanced Commerce REACTIVATE_SUBSCRIPTION intermittently fails with StoreKit.InvalidRequestError code 1
Hello, We are using Apple’s Advanced Commerce API and are seeing intermittent failures when reactivating a subscription from the app using REACTIVATE_SUBSCRIPTION. Reproduction flow: Purchase a regular StoreKit auto-renewable subscription. Migrate the subscription to Advanced Commerce. Disable auto-renewal from Apple’s native subscription settings. Return to the app and try to reactivate the subscription from our subscription settings page. This exact flow was working successfully few days ago. The payload structure has not changed, but the same flow now sometimes works and sometimes fails with: Error Domain=StoreKit.InvalidRequestError Code=1 The operation couldn’t be completed. (StoreKit.InvalidRequestError error 1.) userInfo=[:] We reproduced this with a newly created Sandbox Apple Account and a newly purchased/migrated subscription. Questions: Is there a known issue with Advanced Commerce reactivation? What does StoreKit.InvalidRequestError code 1 mean in this context? Is there a way to get the underlying rejection reason? Thank you.
0
0
559
Jul ’26
Help: Invalid In-App Purchase Products
I have verified that the Paid Apps Agreement, bank account details, tax forms, compliance and other related information are all valid. I created two IAP products using identical configurations. One can be purchased normally, while the other returns an invalid product error. Moreover, any newly created products still trigger the same invalid product error. I have attempted multiple troubleshooting steps: clearing purchase records for sandbox testers, creating new sandbox accounts, uninstalling the app, and restarting devices. Unfortunately, I have still not identified the root cause. I hope to receive additional troubleshooting guidance.
1
0
239
Jul ’26
Subscriptions locked "Waiting for Review" by a cancelled submission. Cannot edit them or remove the images App Review flagged (case 20000117635283)
My iOS app's first submission (ThymeBlock, Apple ID 6779269775) was rejected under 2.3.2 solely over the OPTIONAL promotional images on my two auto-renewable subscriptions. The required fix, deleting the images, was impossible: both subscription records were locked in "Waiting for Review" and the image field disabled. My reply in the submission thread went unanswered for 48+ hours, so I cancelled the submission (standard advice). The cancel completed, no submission exists anymore, and both subscriptions REMAIN locked in "Waiting for Review", held by nothing. I cannot edit them and cannot delete the flagged images, so resubmitting the app version cannot satisfy the rejection: the change App Review required is impossible to make. Developer Program Support has so far responded with unrelated information, and on a call suggested the subscriptions are in review due to "pending charges from July 18", which seems impossible since the app has never been released and has zero customers. This matches threads 705460 and 717024 (same lock; resolved only by Apple server-side). Case number: 20000117635283. Could App Review or App Store Connect staff release my two subscription records to an editable state, or remove the two promotional image as the rejection requested?
2
0
659
Jul ’26
StoreKit is not loading newly created subscriptions across multiple apps on my developer account
I am unable to load newly created auto-renewable subscriptions in the StoreKit sandbox environment. The issue occurs in multiple apps under my developer account and is reproducible both in the iOS Simulator and on a physical device. StoreKit consistently returns an empty product list without reporting an error. I have attempted to load the subscriptions in two ways: Directly using their product identifiers Using SwiftUI’s SubscriptionStoreView with the subscription group ID Neither method returns any products. Troubleshooting steps already completed Confirmed that the bundle identifiers and app versions match between Xcode and App Store Connect Confirmed that the subscription groups and subscriptions are in the Prepare for Submission state Added all required subscription metadata, including review screenshots Changed the bundle identifier in both Xcode and App Store Connect Created new subscription groups with new product identifiers Confirmed that the Paid Apps Agreement is active Confirmed that the scheme’s StoreKit configuration is set to None Tested on an iOS 17.5 Simulator Tested on a physical device running iOS 26.5.2 Confirmed that my Apple Developer Program membership is active and has several months remaining Because the same issue affects two separate apps, I suspect that it may be related to my developer account or the StoreKit sandbox rather than an app-specific implementation problem. Developer account Team ID: 2H346S9B67 First app Bundle ID: com.sajjadalhusseini.photo-cleaner Apple App ID: 6794888780 First subscription group Group ID: 22266157 Product IDs: quest_monthly quest_annual Second subscription group Group ID: 22267268 Product IDs: quest_weekly2 quest_annual2 Second app Bundle ID: com.sajjadalhusseini.babyjournal Apple App ID: 6795026684 Subscription group Group ID: 22267241 Product IDs: com.sajjadalhusseini.babyjournal.monthly com.sajjadalhusseini.babyjournal.yearly Anyone has faced this issue before and know how to fix it? it's seems to be new because I didn't face it with an app I made two weeks ago. Would really appreciate help with this.
0
0
414
Jul ’26
[StoreKit 2] finish() does not durably remove an active subscription transaction on iOS 26 - same transactionId reappears in Transaction.unfinished
On iOS 26 in Production (StoreKit 2), a transaction we have already finished keeps reappearing in Transaction.unfinished on later launches. We call await Transaction.finish() and confirm in the same session (by re-reading Transaction.unfinished) that it is removed - but on a later cold launch the SAME transactionId is yielded again. This makes our unfinished-purchase recovery UI fire repeatedly for customers who are already active, paying subscribers. Related to existing thread 792933 (same symptom; iOS 18.4-18.5 and iOS 26). Feedback Assistant: FB23736625 (sysdiagnose attached). Environment iOS 26.x (mostly 26.5). Negligible on iOS 17/18. Production. StoreKit 2. Built with Xcode 26.3. Not device-specific (iPhone 12-17). Seen in two apps. What we observe Reappearing transaction: SAME transactionId, active (future expiresDate), not revoked, transactionReason = PURCHASE. Verified via App Store Server API (Get Transaction Info, Production). Immediately after finish(), the transaction is gone from Transaction.unfinished (verified by re-query). It reappears only on a later cold launch / sign-in. (We have not confirmed whether AppStore.sync() also triggers it.) Affects both non-original and first-purchase (id == originalId) transactions. Scale (2-day analytics) 1,456 occurrences, 1,078 users. 230 users (21%) hit it 2+ times (up to 11). Among repeat users, 224/230 (97%) show the identical transactionId every time - i.e., re-presentation of the same finished transaction, not new ones. How we finish (verified transactions, awaited) // Enumerated from Transaction.unfinished (launch) and Transaction.updates (long-lived task). private func finishAndVerify(_ transaction: Transaction) async { await transaction.finish() // awaited if await isStillUnfinished(transaction.id) == false { return } // confirmed GONE here try? await Task.sleep(nanoseconds: 1_000_000_000) await transaction.finish() // retry once // Even after eviction is confirmed above, the SAME transactionId // is yielded again by Transaction.unfinished on a later cold launch. } private func isStillUnfinished(_ txId: UInt64) async -> Bool { for await result in Transaction.unfinished { let id: UInt64 switch result { case .verified(let t): id = t.id case .unverified(let t, _): id = t.id } if id == txId { return true } } return false } Questions For an active auto-renewable subscription, is the current transaction expected to be re-presented in Transaction.unfinished across launches even after finish()? If so, what is the intended handling? Is there a guaranteed way to durably remove it so it does not reappear? Can AppStore.sync() / background re-sync reintroduce an already-finished transaction? Is this a regression in iOS 26? Notes Not reproducible on demand; observed only in Production analytics across many users. sysdiagnose available (attached to FB23736625). The app also links legacy SKPaymentQueue (StoreKit 1) for older flows - could dual SK1/SK2 usage affect finished-state persistence?
0
0
433
Jul ’26
TestFlight App uses wrong sandbox account for payment
I'm using TestFlight to test an app with payment/subscription functionality. I created sandbox accounts in AppStore Connect accordingly to be able to test the subscriptions. I'm logged in with the sandbox account. When I try to subscribe in the App the wrong account (this is my actual real AppleID) is used for the subscription although it is recognized that this is just a sandbox subscription. I tried: logging off/on into the sandbox account creating a totally new sandbox account trying to trigger the payment with no logged in sandbox account The result is always: in the payment popup it is stated that the purchase account will be my original AppleID and not a sandbox account. How can I switch the accounts? Is this a bug at Apple's side somehow?
20
13
28k
Jul ’26
TestFlight returned no subscription products until I added the group first
I ran into a strange issue while testing my subscriptions through TestFlight. RevenueCat returned the correct monthly and yearly product IDs, but StoreKit returned zero products. Pricing, availability, agreements, bundle ID, and product configuration were all correct. The problem was the order I added items to the App Review draft. I initially added the subscription products first and the subscription group afterward. What fixed it, Removed everything from the draft. Added the subscription group first. Added the monthly and yearly products afterward. The products then appeared in TestFlight sandbox and purchases worked. No new build or App Review approval was needed. Has anyone else experienced this? I couldn’t find this ordering requirement in Apple’s documentation.
0
0
867
Jul ’26
App Store Connect – URGENT! Missing “In-App Purchases and Subscriptions” Section + Cannot Create New Version (Blocking Submission)
Hi everyone, I’m currently stuck with a blocking issue in App Store Connect and would really appreciate any guidance or insight. Issue: My app version (iOS App 1.0) is missing the “In-App Purchases and Subscriptions” section entirely. Because of this, I cannot attach my subscriptions to the version, which is preventing me from submitting the app for review. Additionally, I also do not have the option to create a new version, so I can’t work around the issue by moving to 1.0.1. What happened before this: I uploaded a build (Build 24) Submitted the app for review Then removed the submission After that, the IAP section disappeared completely Since then, I cannot attach subscriptions or create a new version Current state: Subscriptions are created and show “Waiting for Review” New Build is attached to Version 1.0 All metadata and screenshots are complete “In-App Purchases and Subscriptions” section is missing “Add Version” option is not available What I’ve tried: Removing and re-adding the build Waiting for UI refresh/processing Contacting Apple Developer Support (case has been escalated for 6 days with no response) Impact: This is currently blocking my app launch because I would be rejected since the subscriptions are not linked, as I cannot submit my first subscription with the app. Questions: Has anyone experienced a missing IAP section after removing a submission? Is there any way to force reset the app version state from the developer side? Is this a known App Store Connect issue? Any help or suggestions would be greatly appreciated. Thanks in advance.
4
3
1.5k
Jul ’26
Can developers customize the minimum payment threshold for in-app purchase revenue?
Isn't there a way for developers to make custom adjustments to the transferred revenue, such as changing the minimum payment amount to 100,000 yen? Looking at the site below, I thought that the minimum payment amount determined by Apple for each region and currency is fixed and cannot be customized. Is this correct? https://developer.apple.com/help/app-store-connect/reference/reporting/minimum-payment-threshold
0
0
160
Jul ’26
In-App Purchases and Subscriptions section missing from version page — cannot attach subscriptions to submission
I have been rejected twice under Guideline 2.1(b) because my In-App Purchase subscriptions are not submitted for review. I cannot figure out how to attach them to my submission. Here is my situation: I have 6 auto-renewable subscriptions fully configured in App Store Connect under "Barrel Pro Subscriptions" — all have screenshots, pricing, descriptions, and review notes My app is iOS only, built with React Native/Expo My current version is 1.1, Build 10 (1.1.0) The problem: The "In-App Purchases and Subscriptions" section does not appear anywhere on my version page. I have scrolled to the very bottom and it is not there. I cannot find any way to attach my subscriptions to my submission before clicking "Submit for Review." The blue info box on the Subscriptions page says: "Your first subscription must be submitted with a new app version. Select it from the app's In-App Purchases and Subscriptions section on the version page." But that section does not exist on my version page. What I have tried: Cancelling the rejected submission and starting fresh Creating a new version (1.1) manually Uploading a new build (Build 10) Checking both "In-App Purchases" and "Subscriptions" sections in the sidebar Has Apple removed this section from the version page? How do I attach my subscriptions to my submission in 2026? Any help is greatly appreciated. Thank you.
5
1
1.1k
Jul ’26
Subscription IAP's stuck in review despite expiring/removing past builds
Build 1 of my first app was rejected. With it I submitted a monthly subscription IAP. For build 2 I made the corrections outlined in the rejection letter but also change the UI of my payment sheet, therefore I wanted to update the app screenshot and notes for the reviewer, and edit the localization. But, the fields are locked and the IAP is marked as under review. I haven't found a way to remove it from review for editing and resubmission with build 2. I successfully added a new annual subscription IAP for build 2 for my submission but when I pressed submit it said there was an error and I had to try re-attaching it. Very buggy and frustrating experience. Any help is appreciated. Already emailed apple about these issues.
0
0
393
Jul ’26
Status Update Request: In-App Purchase Submission
I am writing to inquire about the review status of a new In-App Purchase (IAP) item for our app. The IAP was submitted seven days ago, and it has been in the "In Review" status for over six days. I submitted inquiries twice through the Conncet Inquiry, but there has been no change in status or reply. As the release of this new content is time-sensitive, we are concerned about the delay in its availability to our users. The assistance in expediting the process would be greatly appreciated.
0
0
153
Jul ’26
Status Update Request: In-App Purchase Submission
Dear. App Store I am writing to inquire about the review status of a new In-App Purchase (IAP) item for our app. The IAP was submitted seven days ago, and it has been in the "In Review" status for over six days. I submitted inquiries twice through the Conncet's Inquiry, but there has been no change in status or reply. As the release of this new content is time-sensitive, we are concerned about the delay in its availability to our users.
0
0
76
Jul ’26
Already-approved subscriptions cannot be added to new IAP review
My app already has an approved subscription group with approved monthly and annual subscriptions. I later submitted a new non-consumable in-app purchase with an app version. App Review rejected the submission because the paywall also displays the existing subscriptions, stating that the subscriptions had not been submitted for review. However, App Store Connect will not let me add the approved subscriptions to the submission because they are already in Approved status and the Add for Review button is disabled. At this point I'm unsure what corrective action App Review expects. I've replied through the App Review message thread requesting clarification, but I have never received a response to messages sent through App Review. I also attempted to contact Apple Developer Support through the Dispute App Rejection support option, but after waiting on hold for over two hours I was still unable to reach anyone. Has anyone encountered this workflow before? Is there a way to include previously approved subscriptions in a new review that I'm missing, or does this require App Review to resolve internally?
Replies
1
Boosts
0
Views
504
Activity
Jul ’26
ASDServerErrorDomain Code 3504 when purchasing non-consumable IAP
I am experiencing an issue with a non-consumable in-app purchase in my iOS app. The product loads correctly from the App Store and is displayed in the app, but when attempting to complete the purchase, StoreKit returns the following error: Payment completed with error: Error Domain=ASDServerErrorDomain Code=3504 "This item cannot be found." UserInfo={ NSLocalizedFailureReason=This item cannot be found., AMSServerErrorCode=3504, client-environment-type=Sandbox, storefront-country-code=USA } The same issue was also encountered by the App Review tester when they attempted to purchase the non-consumable product during review. The product: Is correctly configured in App Store Connect Has active pricing Is available in the United States Was included in the app submission Loads successfully and displays the correct price Fails only when the purchase is initiated Since the product metadata can be retrieved successfully, but the transaction fails with “This item cannot be found,” this appears to be a possible inconsistency between the StoreKit product catalog and the purchase backend. Has anyone encountered ASDServerErrorDomain Code=3504 for a non-consumable product that loads correctly but cannot be purchased? Is there any known App Store sandbox or commerce backend issue that can cause this, or any additional App Store Connect configuration that should be checked?
Replies
3
Boosts
0
Views
1.2k
Activity
Jul ’26
Clarification about product with status "Developer Removed from Sale"
Summary After setting a single auto-renewable subscription product (not the app) to "Developer Removed from Sale" in App Store Connect, the next scheduled renewal for an existing active subscriber failed with DID_FAIL_TO_RENEW v2 and expirationIntent = 5 ("expired for some other reason"). I expected expirationIntent = 4 ("product wasn't available for purchase at the time of renewal"), since the product was, in fact, not available for purchase. I would like to confirm whether 5 is the documented/expected value for this scenario, and how to deterministically distinguish "developer removed product from sale" from other renewal failures using the notification payload. Reproduction / observed sequence Day 15: Changed product annual_promo (auto-renewable subscription) status from "Approved" to "Developer Removed from Sale" in App Store Connect. The app itself remained Approved and on sale. Other subscription products in the same group remained Approved. Day 16: An existing active subscriber on that product had a scheduled automatic renewal date. Result: Renewal did not occur. We received a DID_FAIL_TO_RENEW v2 notification. Payload (relevant fields): JWSRenewalInfoDecodedPayload.expirationIntent = 5 JWSRenewalInfoDecodedPayload.autoRenewStatus = 0 Questions Is expirationIntent = 5 the correct/expected value when a renewal fails because the developer removed the product from sale? Or should it have been 4 ("product wasn't available for purchase at the time of renewal")? If 5 is intentional, what is the engineering rationale for not using 4 in this scenario? Given that expirationIntent = 5 is documented as a catch-all ("some other reason"), which other fields in the DID_FAIL_TO_RENEW payload (e.g., subtype, autoRenewStatus, gracePeriodExpiresDate, signedTransactionInfo) should we inspect to deterministically classify the failure cause and isolate "developer removed product from sale" from billing failure / customer cancel / price-increase not accepted / etc.? Context I'm aware of the docs page In-App Purchase statuses and Set availability for an auto-renewable subscription, but they describe the status semantics, not the resulting notification payload. Product has been reverted to "Approved" to avoid further impact on subscribers while this is clarified. Thanks in advance.
Replies
1
Boosts
0
Views
1k
Activity
Jul ’26
App Store Connect tax issue blocking Paid Apps / IAP, no Finance update
Hi everyone, I’m looking for advice on the best escalation path for an App Store Connect tax issue that is blocking our Paid Apps / In-App Purchase setup for a live app. Timeline: Jun 18, 2026: Opened a Finance Support case for tax information submissions. Since then: No update from Apple Finance. Current impact: Paid Apps / IAP cannot be completed, and users are already trying to purchase the Pro upgrade. I have also submitted a new Finance contact request under Tax information submissions. Has anyone dealt with a similar App Store Connect tax issue where Finance Support went quiet? Is there any escalation path beyond the Finance contact form and replying to the original iTSPayments email? Any guidance from Apple staff or developers who have been through this would be appreciated.
Replies
1
Boosts
0
Views
388
Activity
Jul ’26
IAP purchase fails in App Review sandbox — error alert shown to reviewer, 2.1(b) rejection
Getting 2.1(b) rejection. Reviewer sees "Purchase Failed" alert. Products configured correctly in ASC. Does App Review sandbox use same sandbox environment as developer testing? Can reviewer sandbox accounts trigger purchase failures that developer sandbox accounts cannot? Any known issues with first-time IAP products failing specifically during App Review sandbox session?
Replies
1
Boosts
0
Views
879
Activity
Jul ’26
Approved non-consumable IAP still returns an empty product list in TestFlight and macOS sandbox after 24+ hours
I’m seeing an App Store Connect / StoreKit product-availability issue for a universal iOS + macOS app. Product ID: com.vincentchu.VideoAtlas.pro.lifetime The product is a one-time, non-consumable lifetime purchase. Current state: Both iOS and macOS apps are approved. The IAP status is Approved. I waited more than 24 hours after IAP approval before retesting. The IAP is configured for the universal app, is available in 175 storefronts, and has an effective price. Paid Applications agreement, tax, and banking are active; this account already has other paid apps. In-App Purchase capability is enabled for both targets. The product ID exactly matches the App Store Connect product ID. Production schemes have StoreKit Configuration: None. iOS is tested from TestFlight, so it uses StoreKit sandbox. macOS is tested from a development-signed build against sandbox, also with no local StoreKit configuration. The app uses StoreKit 2: let products = try await Product.products( for: ["com.vincentchu.VideoAtlas.pro.lifetime"] ) The call does not throw an error, but returns an empty array on both platforms: StoreKit product request completed productIDs=com.vincentchu.VideoAtlas.pro.lifetime returnedCount=0 returnedProducts= StoreKit returned no products for requested productIDs= com.vincentchu.VideoAtlas.pro.lifetime As a result, the app cannot retrieve Product.displayPrice or offer the purchase. I have already followed "TN3186: Troubleshooting In-App Purchases availability in the sandbox", including checks for product identifier, bundle identifier, IAP capability, provisioning/signing, StoreKit configuration, sandbox testing, paid-app agreements, IAP approval, pricing, and storefront availability. Since this is an empty result rather than an error, and it persists more than 24 hours after approval on both TestFlight and macOS sandbox, is there an additional App Store Connect-side configuration or Apple-side issue that could cause an approved non-consumable IAP not to be returned by Product.products(for:)? Thanks.
Replies
4
Boosts
0
Views
510
Activity
Jul ’26
STATE_ERROR.SUBSCRIPTION_SUBMISSION_REQUIRES_GROUP_VERSION blocking first subscription submission
Hi all, Trying to submit my first-ever auto-renewable subscription (Pro Monthly) together with my app version (1.0.2, App ID 6789196311). App Store Connect's Draft Submission UI just shows the generic error: "There are errors with one or more of your items. To fix them, you need to remove the items and add them again to your submission." Removing and re-adding the subscription (tried multiple browsers, multiple review screenshot sizes/formats) does not fix it. Inspecting the actual API response via DevTools Network tab, the real error is: STATE_ERROR.ENTITY_STATE_INVALID "subscriptionVersions with id '...' is not in valid state." Associated error: STATE_ERROR.SUBSCRIPTION_SUBMISSION_REQUIRES_GROUP_VERSION "A subscription must be submitted with its subscription group version when the group has no prior approved version." This is the first subscription ever in this subscription group, so the group has no prior approved version — which matches the error message. But there's no visible UI option anywhere in App Store Connect to create or attach a subscription group version to the draft submission. Has anyone hit this exact error and found a fix? I found one similar thread where someone got STATE_ERROR.ALREADY_EXISTS when trying to create a group version via the API (an "inflight" version already existed), and then SUBSCRIPTION_GROUP_VERSION_NOT_SUPPORTED when trying to attach that existing version, because it was in an "older format." Wondering if this is a known backend issue. Already ruled out: Paid Applications Agreement (Active), banking/tax info (Active), screenshot format (RGB, no alpha, multiple official sizes tried). Any help appreciated — also filed a formal Contact Us case for this (App, Build and Version Management). Thanks!
Replies
1
Boosts
0
Views
497
Activity
Jul ’26
Advanced Commerce REACTIVATE_SUBSCRIPTION intermittently fails with StoreKit.InvalidRequestError code 1
Hello, We are using Apple’s Advanced Commerce API and are seeing intermittent failures when reactivating a subscription from the app using REACTIVATE_SUBSCRIPTION. Reproduction flow: Purchase a regular StoreKit auto-renewable subscription. Migrate the subscription to Advanced Commerce. Disable auto-renewal from Apple’s native subscription settings. Return to the app and try to reactivate the subscription from our subscription settings page. This exact flow was working successfully few days ago. The payload structure has not changed, but the same flow now sometimes works and sometimes fails with: Error Domain=StoreKit.InvalidRequestError Code=1 The operation couldn’t be completed. (StoreKit.InvalidRequestError error 1.) userInfo=[:] We reproduced this with a newly created Sandbox Apple Account and a newly purchased/migrated subscription. Questions: Is there a known issue with Advanced Commerce reactivation? What does StoreKit.InvalidRequestError code 1 mean in this context? Is there a way to get the underlying rejection reason? Thank you.
Replies
0
Boosts
0
Views
559
Activity
Jul ’26
Help: Invalid In-App Purchase Products
I have verified that the Paid Apps Agreement, bank account details, tax forms, compliance and other related information are all valid. I created two IAP products using identical configurations. One can be purchased normally, while the other returns an invalid product error. Moreover, any newly created products still trigger the same invalid product error. I have attempted multiple troubleshooting steps: clearing purchase records for sandbox testers, creating new sandbox accounts, uninstalling the app, and restarting devices. Unfortunately, I have still not identified the root cause. I hope to receive additional troubleshooting guidance.
Replies
1
Boosts
0
Views
239
Activity
Jul ’26
Subscriptions locked "Waiting for Review" by a cancelled submission. Cannot edit them or remove the images App Review flagged (case 20000117635283)
My iOS app's first submission (ThymeBlock, Apple ID 6779269775) was rejected under 2.3.2 solely over the OPTIONAL promotional images on my two auto-renewable subscriptions. The required fix, deleting the images, was impossible: both subscription records were locked in "Waiting for Review" and the image field disabled. My reply in the submission thread went unanswered for 48+ hours, so I cancelled the submission (standard advice). The cancel completed, no submission exists anymore, and both subscriptions REMAIN locked in "Waiting for Review", held by nothing. I cannot edit them and cannot delete the flagged images, so resubmitting the app version cannot satisfy the rejection: the change App Review required is impossible to make. Developer Program Support has so far responded with unrelated information, and on a call suggested the subscriptions are in review due to "pending charges from July 18", which seems impossible since the app has never been released and has zero customers. This matches threads 705460 and 717024 (same lock; resolved only by Apple server-side). Case number: 20000117635283. Could App Review or App Store Connect staff release my two subscription records to an editable state, or remove the two promotional image as the rejection requested?
Replies
2
Boosts
0
Views
659
Activity
Jul ’26
StoreKit is not loading newly created subscriptions across multiple apps on my developer account
I am unable to load newly created auto-renewable subscriptions in the StoreKit sandbox environment. The issue occurs in multiple apps under my developer account and is reproducible both in the iOS Simulator and on a physical device. StoreKit consistently returns an empty product list without reporting an error. I have attempted to load the subscriptions in two ways: Directly using their product identifiers Using SwiftUI’s SubscriptionStoreView with the subscription group ID Neither method returns any products. Troubleshooting steps already completed Confirmed that the bundle identifiers and app versions match between Xcode and App Store Connect Confirmed that the subscription groups and subscriptions are in the Prepare for Submission state Added all required subscription metadata, including review screenshots Changed the bundle identifier in both Xcode and App Store Connect Created new subscription groups with new product identifiers Confirmed that the Paid Apps Agreement is active Confirmed that the scheme’s StoreKit configuration is set to None Tested on an iOS 17.5 Simulator Tested on a physical device running iOS 26.5.2 Confirmed that my Apple Developer Program membership is active and has several months remaining Because the same issue affects two separate apps, I suspect that it may be related to my developer account or the StoreKit sandbox rather than an app-specific implementation problem. Developer account Team ID: 2H346S9B67 First app Bundle ID: com.sajjadalhusseini.photo-cleaner Apple App ID: 6794888780 First subscription group Group ID: 22266157 Product IDs: quest_monthly quest_annual Second subscription group Group ID: 22267268 Product IDs: quest_weekly2 quest_annual2 Second app Bundle ID: com.sajjadalhusseini.babyjournal Apple App ID: 6795026684 Subscription group Group ID: 22267241 Product IDs: com.sajjadalhusseini.babyjournal.monthly com.sajjadalhusseini.babyjournal.yearly Anyone has faced this issue before and know how to fix it? it's seems to be new because I didn't face it with an app I made two weeks ago. Would really appreciate help with this.
Replies
0
Boosts
0
Views
414
Activity
Jul ’26
[StoreKit 2] finish() does not durably remove an active subscription transaction on iOS 26 - same transactionId reappears in Transaction.unfinished
On iOS 26 in Production (StoreKit 2), a transaction we have already finished keeps reappearing in Transaction.unfinished on later launches. We call await Transaction.finish() and confirm in the same session (by re-reading Transaction.unfinished) that it is removed - but on a later cold launch the SAME transactionId is yielded again. This makes our unfinished-purchase recovery UI fire repeatedly for customers who are already active, paying subscribers. Related to existing thread 792933 (same symptom; iOS 18.4-18.5 and iOS 26). Feedback Assistant: FB23736625 (sysdiagnose attached). Environment iOS 26.x (mostly 26.5). Negligible on iOS 17/18. Production. StoreKit 2. Built with Xcode 26.3. Not device-specific (iPhone 12-17). Seen in two apps. What we observe Reappearing transaction: SAME transactionId, active (future expiresDate), not revoked, transactionReason = PURCHASE. Verified via App Store Server API (Get Transaction Info, Production). Immediately after finish(), the transaction is gone from Transaction.unfinished (verified by re-query). It reappears only on a later cold launch / sign-in. (We have not confirmed whether AppStore.sync() also triggers it.) Affects both non-original and first-purchase (id == originalId) transactions. Scale (2-day analytics) 1,456 occurrences, 1,078 users. 230 users (21%) hit it 2+ times (up to 11). Among repeat users, 224/230 (97%) show the identical transactionId every time - i.e., re-presentation of the same finished transaction, not new ones. How we finish (verified transactions, awaited) // Enumerated from Transaction.unfinished (launch) and Transaction.updates (long-lived task). private func finishAndVerify(_ transaction: Transaction) async { await transaction.finish() // awaited if await isStillUnfinished(transaction.id) == false { return } // confirmed GONE here try? await Task.sleep(nanoseconds: 1_000_000_000) await transaction.finish() // retry once // Even after eviction is confirmed above, the SAME transactionId // is yielded again by Transaction.unfinished on a later cold launch. } private func isStillUnfinished(_ txId: UInt64) async -> Bool { for await result in Transaction.unfinished { let id: UInt64 switch result { case .verified(let t): id = t.id case .unverified(let t, _): id = t.id } if id == txId { return true } } return false } Questions For an active auto-renewable subscription, is the current transaction expected to be re-presented in Transaction.unfinished across launches even after finish()? If so, what is the intended handling? Is there a guaranteed way to durably remove it so it does not reappear? Can AppStore.sync() / background re-sync reintroduce an already-finished transaction? Is this a regression in iOS 26? Notes Not reproducible on demand; observed only in Production analytics across many users. sysdiagnose available (attached to FB23736625). The app also links legacy SKPaymentQueue (StoreKit 1) for older flows - could dual SK1/SK2 usage affect finished-state persistence?
Replies
0
Boosts
0
Views
433
Activity
Jul ’26
TestFlight App uses wrong sandbox account for payment
I'm using TestFlight to test an app with payment/subscription functionality. I created sandbox accounts in AppStore Connect accordingly to be able to test the subscriptions. I'm logged in with the sandbox account. When I try to subscribe in the App the wrong account (this is my actual real AppleID) is used for the subscription although it is recognized that this is just a sandbox subscription. I tried: logging off/on into the sandbox account creating a totally new sandbox account trying to trigger the payment with no logged in sandbox account The result is always: in the payment popup it is stated that the purchase account will be my original AppleID and not a sandbox account. How can I switch the accounts? Is this a bug at Apple's side somehow?
Replies
20
Boosts
13
Views
28k
Activity
Jul ’26
TestFlight returned no subscription products until I added the group first
I ran into a strange issue while testing my subscriptions through TestFlight. RevenueCat returned the correct monthly and yearly product IDs, but StoreKit returned zero products. Pricing, availability, agreements, bundle ID, and product configuration were all correct. The problem was the order I added items to the App Review draft. I initially added the subscription products first and the subscription group afterward. What fixed it, Removed everything from the draft. Added the subscription group first. Added the monthly and yearly products afterward. The products then appeared in TestFlight sandbox and purchases worked. No new build or App Review approval was needed. Has anyone else experienced this? I couldn’t find this ordering requirement in Apple’s documentation.
Replies
0
Boosts
0
Views
867
Activity
Jul ’26
App Store Connect – URGENT! Missing “In-App Purchases and Subscriptions” Section + Cannot Create New Version (Blocking Submission)
Hi everyone, I’m currently stuck with a blocking issue in App Store Connect and would really appreciate any guidance or insight. Issue: My app version (iOS App 1.0) is missing the “In-App Purchases and Subscriptions” section entirely. Because of this, I cannot attach my subscriptions to the version, which is preventing me from submitting the app for review. Additionally, I also do not have the option to create a new version, so I can’t work around the issue by moving to 1.0.1. What happened before this: I uploaded a build (Build 24) Submitted the app for review Then removed the submission After that, the IAP section disappeared completely Since then, I cannot attach subscriptions or create a new version Current state: Subscriptions are created and show “Waiting for Review” New Build is attached to Version 1.0 All metadata and screenshots are complete “In-App Purchases and Subscriptions” section is missing “Add Version” option is not available What I’ve tried: Removing and re-adding the build Waiting for UI refresh/processing Contacting Apple Developer Support (case has been escalated for 6 days with no response) Impact: This is currently blocking my app launch because I would be rejected since the subscriptions are not linked, as I cannot submit my first subscription with the app. Questions: Has anyone experienced a missing IAP section after removing a submission? Is there any way to force reset the app version state from the developer side? Is this a known App Store Connect issue? Any help or suggestions would be greatly appreciated. Thanks in advance.
Replies
4
Boosts
3
Views
1.5k
Activity
Jul ’26
Can developers customize the minimum payment threshold for in-app purchase revenue?
Isn't there a way for developers to make custom adjustments to the transferred revenue, such as changing the minimum payment amount to 100,000 yen? Looking at the site below, I thought that the minimum payment amount determined by Apple for each region and currency is fixed and cannot be customized. Is this correct? https://developer.apple.com/help/app-store-connect/reference/reporting/minimum-payment-threshold
Replies
0
Boosts
0
Views
160
Activity
Jul ’26
In-App Purchases and Subscriptions section missing from version page — cannot attach subscriptions to submission
I have been rejected twice under Guideline 2.1(b) because my In-App Purchase subscriptions are not submitted for review. I cannot figure out how to attach them to my submission. Here is my situation: I have 6 auto-renewable subscriptions fully configured in App Store Connect under "Barrel Pro Subscriptions" — all have screenshots, pricing, descriptions, and review notes My app is iOS only, built with React Native/Expo My current version is 1.1, Build 10 (1.1.0) The problem: The "In-App Purchases and Subscriptions" section does not appear anywhere on my version page. I have scrolled to the very bottom and it is not there. I cannot find any way to attach my subscriptions to my submission before clicking "Submit for Review." The blue info box on the Subscriptions page says: "Your first subscription must be submitted with a new app version. Select it from the app's In-App Purchases and Subscriptions section on the version page." But that section does not exist on my version page. What I have tried: Cancelling the rejected submission and starting fresh Creating a new version (1.1) manually Uploading a new build (Build 10) Checking both "In-App Purchases" and "Subscriptions" sections in the sidebar Has Apple removed this section from the version page? How do I attach my subscriptions to my submission in 2026? Any help is greatly appreciated. Thank you.
Replies
5
Boosts
1
Views
1.1k
Activity
Jul ’26
Subscription IAP's stuck in review despite expiring/removing past builds
Build 1 of my first app was rejected. With it I submitted a monthly subscription IAP. For build 2 I made the corrections outlined in the rejection letter but also change the UI of my payment sheet, therefore I wanted to update the app screenshot and notes for the reviewer, and edit the localization. But, the fields are locked and the IAP is marked as under review. I haven't found a way to remove it from review for editing and resubmission with build 2. I successfully added a new annual subscription IAP for build 2 for my submission but when I pressed submit it said there was an error and I had to try re-attaching it. Very buggy and frustrating experience. Any help is appreciated. Already emailed apple about these issues.
Replies
0
Boosts
0
Views
393
Activity
Jul ’26
Status Update Request: In-App Purchase Submission
I am writing to inquire about the review status of a new In-App Purchase (IAP) item for our app. The IAP was submitted seven days ago, and it has been in the "In Review" status for over six days. I submitted inquiries twice through the Conncet Inquiry, but there has been no change in status or reply. As the release of this new content is time-sensitive, we are concerned about the delay in its availability to our users. The assistance in expediting the process would be greatly appreciated.
Replies
0
Boosts
0
Views
153
Activity
Jul ’26
Status Update Request: In-App Purchase Submission
Dear. App Store I am writing to inquire about the review status of a new In-App Purchase (IAP) item for our app. The IAP was submitted seven days ago, and it has been in the "In Review" status for over six days. I submitted inquiries twice through the Conncet's Inquiry, but there has been no change in status or reply. As the release of this new content is time-sensitive, we are concerned about the delay in its availability to our users.
Replies
0
Boosts
0
Views
76
Activity
Jul ’26