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

Locate the In-App Purchases and Subscriptions Section in App Store Connect
App Store Connect displays the In-App Purchases and Subscriptions section on your app's version page when your app has an In-App Purchase or subscription with a Ready to Submit status. To locate the In-App Purchases and Subscriptions section: In Apps, select the app you want to view. In the sidebar, select the app version. On the version page, scroll down to the In-App Purchases and Subscriptions section. For more information, see Submit an In-App Purchase.
0
0
973
1w
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
123
1w
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?
0
0
118
2d
Auto-renewable subscriptions stuck "In Review" for 20+ days — app approved and live, subscriptions still not available in production
Hi everyone, I'm experiencing a frustrating situation with my app and hoping someone from Apple or the community can help or has faced the same. Situation: I configured two auto-renewable subscriptions (premium_monthly and premium_yearly) in App Store Connect under a subscription group Submitted them for review along with a new app build The app build was reviewed, accepted, and is now live on the App Store The subscriptions have been in "In Review" status for 20+ days with no action Impact: In production, StoreKit does not return the subscription products at all (as expected — Apple doesn't serve unreviewed products to StoreKit) Users cannot purchase subscriptions Monetization is completely blocked for a live, approved app What I've already tried: Submitted an expedited review request — no response Submitted a new app version update to force a combined review — app was approved again but subscriptions remain "In Review" Contacted App Store Support via the online form — no response after multiple days Cannot edit or resubmit the subscriptions because they are locked while "In Review" Technical details: Using Flutter with the official in_app_purchase package (v3.2.0) Implementation verified correct — prices load fine in sandbox/simulator Existing lifetime non-consumable (remove_ads_premium) is approved and working in production Only the two new subscriptions are stuck Questions: Is there any way to escalate a stuck subscription review beyond the standard expedited review form? Can I delete the subscriptions while they are "In Review" and recreate them, or will that cause issues with product ID reuse? Has anyone else experienced this and found a resolution? Any help or guidance from Apple engineers or fellow developers would be greatly appreciated. Thanks
0
1
72
2d
StoreKit 2 currentEntitlements persists after Sandbox Purchase History reset in TestFlight
I am testing a StoreKit 2 non-consumable IAP through TestFlight. Product ID: com.metabolla.plus.lifetime Type: Non-Consumable Environment: TestFlight / Sandbox Transaction.currentEntitlements keeps returning an active entitlement for this product even after: configuring a Sandbox Apple Account clearing Sandbox Purchase History reinstalling the app rebooting the device Important detail: the first TestFlight purchase was completed before configuring the Sandbox Apple Account on the device. If I temporarily change the Product ID in code, the entitlement disappears, so the issue seems tied to the original Product ID/account/receipt. Question: Can a non-consumable TestFlight purchase made before Sandbox Apple Account configuration remain associated with the original TestFlight/Apple ID identity? Is there any supported way to clear this entitlement for testing?
3
0
362
2d
iOS Subscriptions in Russia – Is Apple In-App Purchase mandatory or can local providers be used?
Hello, We are working on integrating billing into our dating app, targeted at the Russian market. Our main requirement is to support subscriptions with automatic renewal and cancellation. We understand that, according to App Store Review Guideline, all digital subscriptions should use Apple In-App Purchase (IAP). However, we are unsure how this applies in Russia, where some local regulations may limit the use of non-Russian payment processors, and where not all Russian bank cards are accepted by Apple. Our question is: -For iOS apps in Russia, is it strictly required to use Apple IAP for subscriptions? -Are there any approved exceptions allowing integration with local processors such as Robokassa or YooKassa? -How are other developers currently handling subscriptions for the Russian market? We want to ensure full compliance and avoid any risk of rejection or removal. Thank you in advance for any clarification. Best regards, Dan
1
1
133
2d
StoreKit purchase cancelled after app backgrounding during bank authentication (3D Secure)
Hello, We are experiencing an issue with StoreKit purchases on iOS. Some users are required by their bank to complete an additional authentication step (3D Secure / banking app validation) during an in-app purchase subscription flow. The purchase starts correctly and StoreKit displays the purchase sheet. When the user temporarily leaves the app to validate the payment in their banking application and then returns, StoreKit eventually reports the purchase as cancelled. No transaction is delivered to StoreKit observers, no entitlement becomes active, and restoring purchases does not find any completed transaction. Steps to reproduce: Open the app. Start an auto-renewable subscription purchase using StoreKit. Authenticate with Apple ID if requested. When the bank authentication screen appears, leave the app and open the banking application. Approve the payment in the banking application. Return to the original app. Observed result: StoreKit reports the purchase as cancelled and no transaction is received. Expected result: The transaction should continue processing after bank authentication and eventually complete successfully. Environment: Xcode 26.3 (17C529) macOS Tahoe 26.3 iOS 26.2.1 Physical iPhone device Question: Is this expected StoreKit behavior when a user leaves the app for external banking authentication, or is there a recommended StoreKit integration pattern that should allow the purchase flow to continue successfully? Thank you.
4
0
126
3d
Sandbox testing - Clear Purchase History
Hi, Overview I have an app for which I have created a sandbox account. When I try to clear purchase history it doesn't work, it still shows the in-app purchase items (non-consumable in-app purchases) as purchased. I have tied tried the following ways, but none of them work. Any help on this would be much appreciated! Attempt 1: Go to https://appstoreconnect.apple.com/ Users and Access > Sandbox Check sandbox account > Tap Clear Purchase History button Attempt 2: Go to the iPhone > Settings > Developer > Sandbox Apple Account Tap on account > Manage > Clear Purchase History Attempt 3: Sign out of Sandbox account and sign back in Attempt 4: Delete app and re-run app from Xcode
2
2
129
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?
10
7
8k
4d
StoreKit 2: Transaction.all and Transaction.currentEntitlements return empty for valid non-consumable purchases in production
FB: https://feedbackassistant.apple.com/feedback/22556883 We're seeing a small number of production users where both Transaction.currentEntitlements and Transaction.all return zero transactions for a valid, active, non-refunded non-consumable IAP. This makes it impossible to restore the purchase via any StoreKit 2 API. Environment: Xcode 26.4 (Build 17E192) iOS 26.4.1 Direct call to SK2 Transactions.all & Flutter in_app_purchase package v3.2.3 (uses SK2 on iOS 15+) Non-consumable IAP (one-time purchase) What we observe: AppStore.sync() triggers but the purchase stream returns 0 transactions Transaction.all returns empty Transaction.currentEntitlements also returns empty User is confirmed on the correct Apple ID Issue reproduces on both iPhone and Mac for the same Apple ID Issue appears to have started recently for users who previously had no problems Debug log from affected production user: [2026-04-20T08:50:10.744115Z] init: iapAvailable=true [2026-04-20T08:50:10.744566Z] init: isPremium=false [2026-04-20T08:50:10.744567Z] init: triggering silent restorePurchases [2026-04-20T08:50:45.974566Z] restore: started [2026-04-20T08:50:45.986848Z] restore: sk2Transactions count=0 [2026-04-20T08:50:45.993004Z] restore: sk2Direct isVerified=false active=null [2026-04-20T08:50:45.993011Z] restore: sk2Direct inconclusive — falling back to standard restore [2026-04-20T08:51:16.000851Z] restore: timed out after 30s — fallback isPremium=false [2026-04-20T08:51:16.000910Z] restore: completed — succeeded=false foundPurchase=false Unable to reproduce in sandbox — Transaction.all works correctly there. Appears specific to production for a small subset of users. Has anyone else seen this?
20
4
1.7k
4d
Subscriptions fail to load during App Review but work correctly in TestFlight
To the Apple Review and Developer Support Teams, We are experiencing the same issue described in this thread: https://developer.apple.com/forums/thread/827016 Our application has been rejected under Guideline 2.1 - Performance because the subscription plans do not load during the App Review process. According to the review feedback, there's an error indicating that the In-App Purchases product list is empty. We are unable to reproduce this issue on our side. The subscription screen works correctly in TestFlight on multiple physical devices and with sandbox tester accounts. The paywall loads successfully, localized prices are returned correctly, and test purchases can be completed without errors. We have verified the following: All subscription products are attached to the submitted app version in App Store Connect. The product identifiers used in the application match the identifiers configured in App Store Connect. The relevant agreements, tax information, and banking details are active and up to date. The same build works correctly in TestFlight. The issue appears to occur exclusively in the App Review environment. This makes it difficult for us to diagnose the root cause or validate a fix. Could you please investigate whether there is an issue affecting StoreKit product retrieval during the review process? Any logs, diagnostics, or guidance on how to reproduce the App Review environment behavior would be helpful. Submission details: Date Submitted: Jun 1, 2026 at 2:01 PM Submission ID: 1260550e-ba11-4cbe-925a-7694f89ce715 Thank you for your assistance.
3
1
422
5d
App rejected repeatedly: Subscriptions fail to load in Review but work perfectly in TestFlight
To the Apple Review and Developer Support Teams, I am writing to request guidance and assistance regarding a persistent rejection my React Native application is facing under Guideline 2.1 - Performance (In-App Purchases). My app has been rejected multiple times with the following specific note: "The In-App Purchase products in the app still exhibited one or more bugs which create a poor user experience. Specifically, the subscription screen failed to load any subscription plans. Review the details and resources below to troubleshoot this issue." The screenshot provided by the review team shows a completely black screen where our paywall options are intended to populate, indicating that the product array is returning completely empty during the review process. The Dilemma: We are completely unable to reproduce this behavior on our end. Everything functions flawlessly within our TestFlight builds across multiple physical test devices and various sandbox tester accounts. On TestFlight, the paywall renders instantly, local pricing fetches immediately via SKProductsRequest, and test transactions process without a single error. Our Current Implementation & Verification: Product Status: All subscription products are explicitly marked as "Waiting for Review" in App Store Connect with one In-App product Rejected for not being attached with a bin but I've since submitted the app once again. All the subscriptions and the in-app product have been actively attached to this specific app submission version. Agreements: The Paid Apps Agreement is active, signed, and fully up to date within our Agreements, Tax, and Banking configurations. Identifiers: We have strictly verified that the hardcoded product identifiers in our React Native codebase match the App Store Connect product IDs exactly. Because this error only occurs within the App Review environment and never in TestFlight or local sandboxes, we are at a loss for how to debug or resolve this issue. Could the App Review team or the Developer Support technical team please clarify if there is a known environment mismatch, storefront routing discrepancy, or specific network configuration (such as IPv6 handling in the review sandbox) that would cause production-ready StoreKit products to return an empty array exclusively to the reviewer? Any direct guidance, logs, or steps on how we can successfully surface our plans to your review team would be deeply appreciated. Review Environment Submission ID: 5a35279c-1621-4972-b6c6-7c1fb202b2f0 Review date: May 20, 2026 Review Device: iPad Air 11-inch (M3) Version reviewed: 1.0.2 (8) Thank you for your time and assistance.
2
0
273
5d
In-App Purchases rejected without explanation while app itself was approved twice
Hello, I'm looking for advice regarding a confusing App Review situation. My app has already passed App Review and been approved for distribution twice: Version 1.0.0 → Approved Version 1.0.1 → Approved However, all three of my In-App Purchases keep getting rejected. What is confusing is that: The rejection appears to be related to localization/metadata. All three IAPs are rejected at the same time. No review notes or explanation are provided in App Store Connect. The app itself continues to pass review successfully. The IAP titles and descriptions contain normal text and do not appear to violate any App Store guidelines. The affected IAPs are: Remove Ads Forever (Non-Consumable) Unlock Character Outfit (Non-Consumable) Power-Up Coins (Consumable) I have already: Reviewed all IAP metadata and localizations. Removed any pricing or promotional text from descriptions. Added reviewer instructions explaining how to access each IAP. Resubmitted multiple times. Despite this, all three IAPs continue to be rejected without any explanation. Has anyone experienced a similar situation where: The app is approved, All IAPs are rejected together, No review notes are provided, And the rejection appears related to localization or metadata? Could this be a false positive or an App Store Connect issue? If anyone from Apple can investigate or suggest where to look, I would greatly appreciate it. App Name: Let's Run Girl App Version: 1.0.1 Bundle ID: com.atawan.letrungirl Apple ID: 6770245102 Note: Currently I decide to hide the app from store visibility until the IAP issues are resolved. Thank you
0
0
52
6d
Region-by-region App Store payment compliance: when is Apple IAP required vs external payments like Stripe?
Hi everyone, I’m based in Europe, and I’m trying to fully understand the current App Store payment rules for an iOS app that sells digital services or premium functionality used inside the app. My goal is not to bypass App Store rules, but to implement the correct, compliant payment flow depending on the user’s region and the App Store requirements that apply there. The app would offer things like premium features, credits, or access to digital functionality inside the iOS app. The payment flow I would ideally like to support, where allowed, is: iOS app -> Cloud ahndling -> Stripe Checkout page -> user pays -> Stripe handling -> my backend marks the user as premium What I’m trying to understand is whether this flow is allowed, restricted, or prohibited depending on the user’s App Store storefront / region. My questions are: For digital goods, subscriptions, credits, or premium features used inside an iOS app, is Apple In-App Purchase still required by default? In which regions, exactly, can an iOS app use or link to an external payment provider such as Stripe for digital services used inside the app? For users in the United States, after the Epic Games v. Apple changes, can an app show an external payment option such as “Subscribe on the web” or “Pay with Stripe”? If yes, what are the exact requirements, limitations, wording rules, Apple fees, or reporting obligations? For users in the European Union, under the DMA-related rules, does Apple allow external purchases through Stripe or a web checkout? If yes, do I need specific Apple entitlements, StoreKit External Purchase APIs, Apple approval, transaction reporting, or payment of Apple fees? For the rest of the world, should I assume that Apple IAP is mandatory for digital content, subscriptions, credits, and premium app functionality unless Apple has a specific regional program allowing external payments? What is the correct way to determine which payment flow a user should see? Should this be based on the user’s App Store storefront / StoreKit storefront, rather than IP address, device locale, billing address, or country selected manually by the user? Would a regional routing approach like this be compliant? if App Store storefront == US: show Apple-compliant external purchase link / Stripe option if allowed elif App Store storefront is in the EU and the app has the required Apple entitlement: show Apple-compliant external purchase flow else: show Apple In-App Purchase only If a user pays through Stripe or another external checkout in a region where external payments are allowed, can my backend unlock premium features inside the iOS app? Or are there restrictions on granting access inside the app when the purchase was not completed through Apple IAP? For a first App Store release, is the safest approach to launch with Apple IAP only, then later add external payment options only in regions where Apple explicitly allows them? For developers who have recently submitted apps with external payment links for digital services: Which countries or storefronts were accepted? Did App Review require special entitlements? Were there specific wording or UI requirements? Did Apple require transaction reporting or apply additional fees? Were there differences between the US, EU, and other regions? In short, I’m trying to understand the practical compliant architecture: iOS app = Apple IAP by default external Stripe / web checkout = only where regionally allowed by Apple backend = unlock premium access after valid payment, whether Apple IAP or approved external payment payment UI = adapted based on App Store storefront / region I would really appreciate answers from developers, App Review experiences, or anyone familiar with the current Apple rules after the Epic ruling, DMA changes, and Apple’s External Purchase Link / StoreKit External Purchase programs. Thanks!
5
0
263
1w
Subscriptions stuck in "In Review" after withdrawing a rejected submission, no way to remove from review
After a 2.3.2 rejection (two promoted subscriptions had identical display name + description), I withdrew the review submission to edit the subscription metadata. The app version moved to "Developer Rejected," but both auto-renewable subscriptions stayed stuck in "In Review." There is no active review submission attached to them anymore, yet: The subscription metadata (display name / description) is locked / not editable. There is no "Remove from Review" control on the subscription page or the version page. The version page no longer shows an "In-App Purchases and Subscriptions" section. Has anyone hit this orphaned "In Review" state? Is there a developer-side way to release a subscription from review, or is contacting Developer Support the only path? Appreciate any pointers, I'm on a deadline. App: Mossly: Plant Care Journal - Apple ID 6770594348 Subscription Group: Mossly Premium - 22098178 Subscriptions, both stuck: Mossly Premium - Monthly - 6770598241 (com.mossly.app.monthly) Mossly Premium - Yearly - 6770599597 (com.mossly.app.annual1)
1
1
185
1w
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.
3
1
364
1w
Show StoreKit errors as custom alert
Hi, I am planning to show the StoreKitError as alerts, I have corresponding custom Error so that I can show meaningful error messages. Reason I wanted to display error alert messages that describe the underlying error so that when in production and user faces this error I would be able to reason about the error and try to resolve the error in a app update or Appstore Connect change. If I display a generic error I wouldn't know the cause of the error, but is there is a security risk in display the following kind of messages? Proposed UI error messages: | Error | UI alert message | | ------------------------------------ | ----------------------------------------------- | | StoreKitError.notEntitled | App is not entitled to make this request. | | PurchaseError.invalidOfferSignature | Invalid offer signature. | Questions From a security / user perspective is it risky / wrong to show an error message like the ones pasted above? Or are there some errors I shouldn't explicitly state? Or is there a better / preferred approach?
0
1
103
1w
Is there any way to redeem in-app purchases in iOS apps as the developer of the app?
I recently released an iOS app that includes banner ads through Google AdMob, and an in-app purchase to remove those ads. I created 500 offer codes in App Store Connect to be able to give out to people to get the in-app purchase for free. And I of course tried using one myself. However, it didn't work. At first, clicking on the offer code link failed to redeem anything. Eventually I was able to enter an offer code manually by going to App Store > My Photo > Redeem Code. But even after doing so, the ads weren't actually removed from my app. Now when I click the "Restore Purchases" link in my app, it says, "No Purchases Found. No previous ad removal purchase was found." But when I click the button to remove ads it says "Purchase Failed. The purchase could not be completed. Please try again." And if I try and redeem another code, it says, "Your code limit has been reached. You have already redeemed the maximum number of these codes per Apple Account." As the developer of this app, is there any way for me to make a in-app purchase (either with money or with an offer code) of my own app? Claude Code told me this: Apple prevents the developer Apple ID (the one that owns the app in App Store Connect) from purchasing or redeeming in-app purchases and offer codes for their own apps. But that response is AI and I always take its responses with a grain of salt. I asked it to cite its source, and it couldn't. Can anyone else who's developed iOS confirm or deny that this is true?
0
0
98
1w
In-app purchase fails on Apple Silicon Mac
I'm testing IPhone and iPad Apps on Apple Silicon Macs. When I purchase In-app product in the app on Apple Silicon Mac, the payment receipt is not created, so the purchase fails. In console log, it says it doesn't have permission to write to the file. storekitagent [6913DE38_SK1] Error writing receipt (5095 bytes) to file:///Users/XXXX/Library/Containers/90FE2A60-9FDF-4ECF-848F-CE3D396322CA/Data/StoreKit/sandboxReceipt: Error Domain=NSCocoaErrorDomain Code=513 "You don’t have permission to save the file “sandboxReceipt” in the folder “StoreKit”" UserInfo={NSFilePath=/Users/XXXX/Library/Containers/90FE2A60-9FDF-4ECF-848F-CE3D396322CA/Data/StoreKit/sandboxReceipt, NSUnderlyingError=0x14202c920 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}} The App is using Original API for In-App Purchase written in Objective-C. When I purchase in-app product, the app calls SKPaymentQueue::addPayment. And then it gets paymentQueue:updatedTransactions callback with SKPaymentTransactionStatePurchased. This means that the payment was successful. But the receipt is not created so I can't continue the after process. I'm testing with sandbox in-app purchase. I have tested several times and confirmed that on macOS Monterey 12.2 the receipt is created successfully, but on macOS Ventura 13.2 the receipt isn't created. I think there is something to do with macOS version. Does anyone have any solutions? Here is a very similar thread on apple developer forum. (And there too has no anwsers)  https://developer.apple.com/forums/thread/719505
8
0
1.8k
2w
Locate the In-App Purchases and Subscriptions Section in App Store Connect
App Store Connect displays the In-App Purchases and Subscriptions section on your app's version page when your app has an In-App Purchase or subscription with a Ready to Submit status. To locate the In-App Purchases and Subscriptions section: In Apps, select the app you want to view. In the sidebar, select the app version. On the version page, scroll down to the In-App Purchases and Subscriptions section. For more information, see Submit an In-App Purchase.
Replies
0
Boosts
0
Views
973
Activity
1w
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
123
Activity
1w
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
0
Boosts
0
Views
118
Activity
2d
Auto-renewable subscriptions stuck "In Review" for 20+ days — app approved and live, subscriptions still not available in production
Hi everyone, I'm experiencing a frustrating situation with my app and hoping someone from Apple or the community can help or has faced the same. Situation: I configured two auto-renewable subscriptions (premium_monthly and premium_yearly) in App Store Connect under a subscription group Submitted them for review along with a new app build The app build was reviewed, accepted, and is now live on the App Store The subscriptions have been in "In Review" status for 20+ days with no action Impact: In production, StoreKit does not return the subscription products at all (as expected — Apple doesn't serve unreviewed products to StoreKit) Users cannot purchase subscriptions Monetization is completely blocked for a live, approved app What I've already tried: Submitted an expedited review request — no response Submitted a new app version update to force a combined review — app was approved again but subscriptions remain "In Review" Contacted App Store Support via the online form — no response after multiple days Cannot edit or resubmit the subscriptions because they are locked while "In Review" Technical details: Using Flutter with the official in_app_purchase package (v3.2.0) Implementation verified correct — prices load fine in sandbox/simulator Existing lifetime non-consumable (remove_ads_premium) is approved and working in production Only the two new subscriptions are stuck Questions: Is there any way to escalate a stuck subscription review beyond the standard expedited review form? Can I delete the subscriptions while they are "In Review" and recreate them, or will that cause issues with product ID reuse? Has anyone else experienced this and found a resolution? Any help or guidance from Apple engineers or fellow developers would be greatly appreciated. Thanks
Replies
0
Boosts
1
Views
72
Activity
2d
StoreKit 2 currentEntitlements persists after Sandbox Purchase History reset in TestFlight
I am testing a StoreKit 2 non-consumable IAP through TestFlight. Product ID: com.metabolla.plus.lifetime Type: Non-Consumable Environment: TestFlight / Sandbox Transaction.currentEntitlements keeps returning an active entitlement for this product even after: configuring a Sandbox Apple Account clearing Sandbox Purchase History reinstalling the app rebooting the device Important detail: the first TestFlight purchase was completed before configuring the Sandbox Apple Account on the device. If I temporarily change the Product ID in code, the entitlement disappears, so the issue seems tied to the original Product ID/account/receipt. Question: Can a non-consumable TestFlight purchase made before Sandbox Apple Account configuration remain associated with the original TestFlight/Apple ID identity? Is there any supported way to clear this entitlement for testing?
Replies
3
Boosts
0
Views
362
Activity
2d
iOS Subscriptions in Russia – Is Apple In-App Purchase mandatory or can local providers be used?
Hello, We are working on integrating billing into our dating app, targeted at the Russian market. Our main requirement is to support subscriptions with automatic renewal and cancellation. We understand that, according to App Store Review Guideline, all digital subscriptions should use Apple In-App Purchase (IAP). However, we are unsure how this applies in Russia, where some local regulations may limit the use of non-Russian payment processors, and where not all Russian bank cards are accepted by Apple. Our question is: -For iOS apps in Russia, is it strictly required to use Apple IAP for subscriptions? -Are there any approved exceptions allowing integration with local processors such as Robokassa or YooKassa? -How are other developers currently handling subscriptions for the Russian market? We want to ensure full compliance and avoid any risk of rejection or removal. Thank you in advance for any clarification. Best regards, Dan
Replies
1
Boosts
1
Views
133
Activity
2d
StoreKit purchase cancelled after app backgrounding during bank authentication (3D Secure)
Hello, We are experiencing an issue with StoreKit purchases on iOS. Some users are required by their bank to complete an additional authentication step (3D Secure / banking app validation) during an in-app purchase subscription flow. The purchase starts correctly and StoreKit displays the purchase sheet. When the user temporarily leaves the app to validate the payment in their banking application and then returns, StoreKit eventually reports the purchase as cancelled. No transaction is delivered to StoreKit observers, no entitlement becomes active, and restoring purchases does not find any completed transaction. Steps to reproduce: Open the app. Start an auto-renewable subscription purchase using StoreKit. Authenticate with Apple ID if requested. When the bank authentication screen appears, leave the app and open the banking application. Approve the payment in the banking application. Return to the original app. Observed result: StoreKit reports the purchase as cancelled and no transaction is received. Expected result: The transaction should continue processing after bank authentication and eventually complete successfully. Environment: Xcode 26.3 (17C529) macOS Tahoe 26.3 iOS 26.2.1 Physical iPhone device Question: Is this expected StoreKit behavior when a user leaves the app for external banking authentication, or is there a recommended StoreKit integration pattern that should allow the purchase flow to continue successfully? Thank you.
Replies
4
Boosts
0
Views
126
Activity
3d
Sandbox testing - Clear Purchase History
Hi, Overview I have an app for which I have created a sandbox account. When I try to clear purchase history it doesn't work, it still shows the in-app purchase items (non-consumable in-app purchases) as purchased. I have tied tried the following ways, but none of them work. Any help on this would be much appreciated! Attempt 1: Go to https://appstoreconnect.apple.com/ Users and Access > Sandbox Check sandbox account > Tap Clear Purchase History button Attempt 2: Go to the iPhone > Settings > Developer > Sandbox Apple Account Tap on account > Manage > Clear Purchase History Attempt 3: Sign out of Sandbox account and sign back in Attempt 4: Delete app and re-run app from Xcode
Replies
2
Boosts
2
Views
129
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
10
Boosts
7
Views
8k
Activity
4d
StoreKit 2: Transaction.all and Transaction.currentEntitlements return empty for valid non-consumable purchases in production
FB: https://feedbackassistant.apple.com/feedback/22556883 We're seeing a small number of production users where both Transaction.currentEntitlements and Transaction.all return zero transactions for a valid, active, non-refunded non-consumable IAP. This makes it impossible to restore the purchase via any StoreKit 2 API. Environment: Xcode 26.4 (Build 17E192) iOS 26.4.1 Direct call to SK2 Transactions.all & Flutter in_app_purchase package v3.2.3 (uses SK2 on iOS 15+) Non-consumable IAP (one-time purchase) What we observe: AppStore.sync() triggers but the purchase stream returns 0 transactions Transaction.all returns empty Transaction.currentEntitlements also returns empty User is confirmed on the correct Apple ID Issue reproduces on both iPhone and Mac for the same Apple ID Issue appears to have started recently for users who previously had no problems Debug log from affected production user: [2026-04-20T08:50:10.744115Z] init: iapAvailable=true [2026-04-20T08:50:10.744566Z] init: isPremium=false [2026-04-20T08:50:10.744567Z] init: triggering silent restorePurchases [2026-04-20T08:50:45.974566Z] restore: started [2026-04-20T08:50:45.986848Z] restore: sk2Transactions count=0 [2026-04-20T08:50:45.993004Z] restore: sk2Direct isVerified=false active=null [2026-04-20T08:50:45.993011Z] restore: sk2Direct inconclusive — falling back to standard restore [2026-04-20T08:51:16.000851Z] restore: timed out after 30s — fallback isPremium=false [2026-04-20T08:51:16.000910Z] restore: completed — succeeded=false foundPurchase=false Unable to reproduce in sandbox — Transaction.all works correctly there. Appears specific to production for a small subset of users. Has anyone else seen this?
Replies
20
Boosts
4
Views
1.7k
Activity
4d
Subscriptions fail to load during App Review but work correctly in TestFlight
To the Apple Review and Developer Support Teams, We are experiencing the same issue described in this thread: https://developer.apple.com/forums/thread/827016 Our application has been rejected under Guideline 2.1 - Performance because the subscription plans do not load during the App Review process. According to the review feedback, there's an error indicating that the In-App Purchases product list is empty. We are unable to reproduce this issue on our side. The subscription screen works correctly in TestFlight on multiple physical devices and with sandbox tester accounts. The paywall loads successfully, localized prices are returned correctly, and test purchases can be completed without errors. We have verified the following: All subscription products are attached to the submitted app version in App Store Connect. The product identifiers used in the application match the identifiers configured in App Store Connect. The relevant agreements, tax information, and banking details are active and up to date. The same build works correctly in TestFlight. The issue appears to occur exclusively in the App Review environment. This makes it difficult for us to diagnose the root cause or validate a fix. Could you please investigate whether there is an issue affecting StoreKit product retrieval during the review process? Any logs, diagnostics, or guidance on how to reproduce the App Review environment behavior would be helpful. Submission details: Date Submitted: Jun 1, 2026 at 2:01 PM Submission ID: 1260550e-ba11-4cbe-925a-7694f89ce715 Thank you for your assistance.
Replies
3
Boosts
1
Views
422
Activity
5d
App rejected repeatedly: Subscriptions fail to load in Review but work perfectly in TestFlight
To the Apple Review and Developer Support Teams, I am writing to request guidance and assistance regarding a persistent rejection my React Native application is facing under Guideline 2.1 - Performance (In-App Purchases). My app has been rejected multiple times with the following specific note: "The In-App Purchase products in the app still exhibited one or more bugs which create a poor user experience. Specifically, the subscription screen failed to load any subscription plans. Review the details and resources below to troubleshoot this issue." The screenshot provided by the review team shows a completely black screen where our paywall options are intended to populate, indicating that the product array is returning completely empty during the review process. The Dilemma: We are completely unable to reproduce this behavior on our end. Everything functions flawlessly within our TestFlight builds across multiple physical test devices and various sandbox tester accounts. On TestFlight, the paywall renders instantly, local pricing fetches immediately via SKProductsRequest, and test transactions process without a single error. Our Current Implementation & Verification: Product Status: All subscription products are explicitly marked as "Waiting for Review" in App Store Connect with one In-App product Rejected for not being attached with a bin but I've since submitted the app once again. All the subscriptions and the in-app product have been actively attached to this specific app submission version. Agreements: The Paid Apps Agreement is active, signed, and fully up to date within our Agreements, Tax, and Banking configurations. Identifiers: We have strictly verified that the hardcoded product identifiers in our React Native codebase match the App Store Connect product IDs exactly. Because this error only occurs within the App Review environment and never in TestFlight or local sandboxes, we are at a loss for how to debug or resolve this issue. Could the App Review team or the Developer Support technical team please clarify if there is a known environment mismatch, storefront routing discrepancy, or specific network configuration (such as IPv6 handling in the review sandbox) that would cause production-ready StoreKit products to return an empty array exclusively to the reviewer? Any direct guidance, logs, or steps on how we can successfully surface our plans to your review team would be deeply appreciated. Review Environment Submission ID: 5a35279c-1621-4972-b6c6-7c1fb202b2f0 Review date: May 20, 2026 Review Device: iPad Air 11-inch (M3) Version reviewed: 1.0.2 (8) Thank you for your time and assistance.
Replies
2
Boosts
0
Views
273
Activity
5d
In-App Purchases rejected without explanation while app itself was approved twice
Hello, I'm looking for advice regarding a confusing App Review situation. My app has already passed App Review and been approved for distribution twice: Version 1.0.0 → Approved Version 1.0.1 → Approved However, all three of my In-App Purchases keep getting rejected. What is confusing is that: The rejection appears to be related to localization/metadata. All three IAPs are rejected at the same time. No review notes or explanation are provided in App Store Connect. The app itself continues to pass review successfully. The IAP titles and descriptions contain normal text and do not appear to violate any App Store guidelines. The affected IAPs are: Remove Ads Forever (Non-Consumable) Unlock Character Outfit (Non-Consumable) Power-Up Coins (Consumable) I have already: Reviewed all IAP metadata and localizations. Removed any pricing or promotional text from descriptions. Added reviewer instructions explaining how to access each IAP. Resubmitted multiple times. Despite this, all three IAPs continue to be rejected without any explanation. Has anyone experienced a similar situation where: The app is approved, All IAPs are rejected together, No review notes are provided, And the rejection appears related to localization or metadata? Could this be a false positive or an App Store Connect issue? If anyone from Apple can investigate or suggest where to look, I would greatly appreciate it. App Name: Let's Run Girl App Version: 1.0.1 Bundle ID: com.atawan.letrungirl Apple ID: 6770245102 Note: Currently I decide to hide the app from store visibility until the IAP issues are resolved. Thank you
Replies
0
Boosts
0
Views
52
Activity
6d
How to receive External Purchase Entitlement for Russia?
Is there any way to activate Storekit External Purchase Entitlements in Russian region currently? External Purchase documentation's form link for this specific region is not working. Is there a workaround to register for it?
Replies
1
Boosts
0
Views
198
Activity
6d
Region-by-region App Store payment compliance: when is Apple IAP required vs external payments like Stripe?
Hi everyone, I’m based in Europe, and I’m trying to fully understand the current App Store payment rules for an iOS app that sells digital services or premium functionality used inside the app. My goal is not to bypass App Store rules, but to implement the correct, compliant payment flow depending on the user’s region and the App Store requirements that apply there. The app would offer things like premium features, credits, or access to digital functionality inside the iOS app. The payment flow I would ideally like to support, where allowed, is: iOS app -> Cloud ahndling -> Stripe Checkout page -> user pays -> Stripe handling -> my backend marks the user as premium What I’m trying to understand is whether this flow is allowed, restricted, or prohibited depending on the user’s App Store storefront / region. My questions are: For digital goods, subscriptions, credits, or premium features used inside an iOS app, is Apple In-App Purchase still required by default? In which regions, exactly, can an iOS app use or link to an external payment provider such as Stripe for digital services used inside the app? For users in the United States, after the Epic Games v. Apple changes, can an app show an external payment option such as “Subscribe on the web” or “Pay with Stripe”? If yes, what are the exact requirements, limitations, wording rules, Apple fees, or reporting obligations? For users in the European Union, under the DMA-related rules, does Apple allow external purchases through Stripe or a web checkout? If yes, do I need specific Apple entitlements, StoreKit External Purchase APIs, Apple approval, transaction reporting, or payment of Apple fees? For the rest of the world, should I assume that Apple IAP is mandatory for digital content, subscriptions, credits, and premium app functionality unless Apple has a specific regional program allowing external payments? What is the correct way to determine which payment flow a user should see? Should this be based on the user’s App Store storefront / StoreKit storefront, rather than IP address, device locale, billing address, or country selected manually by the user? Would a regional routing approach like this be compliant? if App Store storefront == US: show Apple-compliant external purchase link / Stripe option if allowed elif App Store storefront is in the EU and the app has the required Apple entitlement: show Apple-compliant external purchase flow else: show Apple In-App Purchase only If a user pays through Stripe or another external checkout in a region where external payments are allowed, can my backend unlock premium features inside the iOS app? Or are there restrictions on granting access inside the app when the purchase was not completed through Apple IAP? For a first App Store release, is the safest approach to launch with Apple IAP only, then later add external payment options only in regions where Apple explicitly allows them? For developers who have recently submitted apps with external payment links for digital services: Which countries or storefronts were accepted? Did App Review require special entitlements? Were there specific wording or UI requirements? Did Apple require transaction reporting or apply additional fees? Were there differences between the US, EU, and other regions? In short, I’m trying to understand the practical compliant architecture: iOS app = Apple IAP by default external Stripe / web checkout = only where regionally allowed by Apple backend = unlock premium access after valid payment, whether Apple IAP or approved external payment payment UI = adapted based on App Store storefront / region I would really appreciate answers from developers, App Review experiences, or anyone familiar with the current Apple rules after the Epic ruling, DMA changes, and Apple’s External Purchase Link / StoreKit External Purchase programs. Thanks!
Replies
5
Boosts
0
Views
263
Activity
1w
Subscriptions stuck in "In Review" after withdrawing a rejected submission, no way to remove from review
After a 2.3.2 rejection (two promoted subscriptions had identical display name + description), I withdrew the review submission to edit the subscription metadata. The app version moved to "Developer Rejected," but both auto-renewable subscriptions stayed stuck in "In Review." There is no active review submission attached to them anymore, yet: The subscription metadata (display name / description) is locked / not editable. There is no "Remove from Review" control on the subscription page or the version page. The version page no longer shows an "In-App Purchases and Subscriptions" section. Has anyone hit this orphaned "In Review" state? Is there a developer-side way to release a subscription from review, or is contacting Developer Support the only path? Appreciate any pointers, I'm on a deadline. App: Mossly: Plant Care Journal - Apple ID 6770594348 Subscription Group: Mossly Premium - 22098178 Subscriptions, both stuck: Mossly Premium - Monthly - 6770598241 (com.mossly.app.monthly) Mossly Premium - Yearly - 6770599597 (com.mossly.app.annual1)
Replies
1
Boosts
1
Views
185
Activity
1w
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
3
Boosts
1
Views
364
Activity
1w
Show StoreKit errors as custom alert
Hi, I am planning to show the StoreKitError as alerts, I have corresponding custom Error so that I can show meaningful error messages. Reason I wanted to display error alert messages that describe the underlying error so that when in production and user faces this error I would be able to reason about the error and try to resolve the error in a app update or Appstore Connect change. If I display a generic error I wouldn't know the cause of the error, but is there is a security risk in display the following kind of messages? Proposed UI error messages: | Error | UI alert message | | ------------------------------------ | ----------------------------------------------- | | StoreKitError.notEntitled | App is not entitled to make this request. | | PurchaseError.invalidOfferSignature | Invalid offer signature. | Questions From a security / user perspective is it risky / wrong to show an error message like the ones pasted above? Or are there some errors I shouldn't explicitly state? Or is there a better / preferred approach?
Replies
0
Boosts
1
Views
103
Activity
1w
Is there any way to redeem in-app purchases in iOS apps as the developer of the app?
I recently released an iOS app that includes banner ads through Google AdMob, and an in-app purchase to remove those ads. I created 500 offer codes in App Store Connect to be able to give out to people to get the in-app purchase for free. And I of course tried using one myself. However, it didn't work. At first, clicking on the offer code link failed to redeem anything. Eventually I was able to enter an offer code manually by going to App Store > My Photo > Redeem Code. But even after doing so, the ads weren't actually removed from my app. Now when I click the "Restore Purchases" link in my app, it says, "No Purchases Found. No previous ad removal purchase was found." But when I click the button to remove ads it says "Purchase Failed. The purchase could not be completed. Please try again." And if I try and redeem another code, it says, "Your code limit has been reached. You have already redeemed the maximum number of these codes per Apple Account." As the developer of this app, is there any way for me to make a in-app purchase (either with money or with an offer code) of my own app? Claude Code told me this: Apple prevents the developer Apple ID (the one that owns the app in App Store Connect) from purchasing or redeeming in-app purchases and offer codes for their own apps. But that response is AI and I always take its responses with a grain of salt. I asked it to cite its source, and it couldn't. Can anyone else who's developed iOS confirm or deny that this is true?
Replies
0
Boosts
0
Views
98
Activity
1w
In-app purchase fails on Apple Silicon Mac
I'm testing IPhone and iPad Apps on Apple Silicon Macs. When I purchase In-app product in the app on Apple Silicon Mac, the payment receipt is not created, so the purchase fails. In console log, it says it doesn't have permission to write to the file. storekitagent [6913DE38_SK1] Error writing receipt (5095 bytes) to file:///Users/XXXX/Library/Containers/90FE2A60-9FDF-4ECF-848F-CE3D396322CA/Data/StoreKit/sandboxReceipt: Error Domain=NSCocoaErrorDomain Code=513 "You don’t have permission to save the file “sandboxReceipt” in the folder “StoreKit”" UserInfo={NSFilePath=/Users/XXXX/Library/Containers/90FE2A60-9FDF-4ECF-848F-CE3D396322CA/Data/StoreKit/sandboxReceipt, NSUnderlyingError=0x14202c920 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}} The App is using Original API for In-App Purchase written in Objective-C. When I purchase in-app product, the app calls SKPaymentQueue::addPayment. And then it gets paymentQueue:updatedTransactions callback with SKPaymentTransactionStatePurchased. This means that the payment was successful. But the receipt is not created so I can't continue the after process. I'm testing with sandbox in-app purchase. I have tested several times and confirmed that on macOS Monterey 12.2 the receipt is created successfully, but on macOS Ventura 13.2 the receipt isn't created. I think there is something to do with macOS version. Does anyone have any solutions? Here is a very similar thread on apple developer forum. (And there too has no anwsers)  https://developer.apple.com/forums/thread/719505
Replies
8
Boosts
0
Views
1.8k
Activity
2w