Greetings!
QUESTION: Is there any way to request expedited review of an in-app purchase?
BACKGROUND: App Review approved our app yesterday, and I released it from the Connect app on iOS while on the go. Only when at home later logged into App Store Connect from the browser, did I realize that our In-App Purchases were still In Review.
ISSUE: Users get the "no products found" error on our paywall, based on the fact the IAPs are not yet approved!
Apple ID: 6742640564
URL: https://apps.apple.com/us/app/nophone-digital-detox/id6742640564
In-App Purchase
RSS for tagOffer extra content, digital goods, and features directly within your app using in-app purchases.
Posts under In-App Purchase tag
200 Posts
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
In-App Subscriptions Not Fetching in Sandbox or Production (expo-iap / React Native / Bare Workflow)
Hi everyone,
I’m encountering an issue with my in-app subscriptions setup.
When I test using the StoreKit configuration file in Xcode, everything works correctly — the subscriptions are fetched and I can simulate purchases without any issues.
However, when I switch to the Sandbox or Production environment, my app fails to fetch the available products from Apple’s servers. The call to fetchProducts (from the expo-iap library) returns an empty array.
Here’s some context about my setup:
Framework: React Native (Expo Bare Workflow)
Library: expo-iap
Products: Auto-renewable subscriptions
StoreKit Configuration: Synced with App Store Connect
Status: Subscription Plans are approved in App Store Connect
I’ve verified the following:
The product identifiers in code match exactly with those in App Store Connect.
The app is signed with the correct bundle ID.
I’m testing with a Sandbox account (logged in via Settings -> Developer -> Sandbox Tester Account).
Despite this, the response from Apple’s servers still contains an empty array.
Has anyone experienced something similar with expo-iap or in general when moving from StoreKit configuration to Sandbox/Production? Any suggestions on what else I could check or common pitfalls I might be missing?
Thanks in advance!
Topic:
App & System Services
SubTopic:
StoreKit
Tags:
Subscriptions
StoreKit
App Store Connect
In-App Purchase
My apps stuck on review stage. Reason of it is
Guideline 2.3.2 - Performance - Accurate Metadata
We noticed that your promotional image to be displayed on the App Store does not sufficiently represent the associated promoted in-app purchase. Specifically, we found the following issue with your promotional image: – Your promotional image is the same as your app’s icon.
The problem is i can't change this image. My subscription is still in 'in review' stage and I don't have option like delete image or change image. I replied to the review explaining that I cannot change it as long as the subscription is under review, but I haven’t received any meaningful reply, except that I need to change promotion image to be eligible for further review(which i cant do because i haven't option to change this image). Has anyone had such a problem before?
Hello,
I added new In-App Purchase into my app, it was approved on 2nd of Oct but now 7th of Oct I still cannot see it in the list of products coming from Store.
I already have 2 subscriptions and 1 In-App purchase in my app, but the new In-App purchase is still not coming from the store in available products. What could cause this?
Hi, I have deployed my app on Test Flight, I have two subscriptions, monthly and yearly. User can have one of them at a time and upgrade, downgrade to the other. Upgrade, downgrade, cancel from the Apple Settings worked fine in the sandbox environment when testing locally. Now when I have deployed the app on TestFlight, I was able to purchase the subscription successfully from my app. Now when I want to cancel my subscription from the Apple Settings it gives me the following error after confirming cancellation, 'Your request is temporarily unable to be processed. Please try again later.' Also the other subscription offer (yearly) is also not shown to which I could upgrade, even though in the sandbox I was able to upgrade downgrade from the settings. Another thing I have noticed is that the app Icon or name is not shown anywhere in settings with the subscription. Instead of app icon only empty square is shown. Even though app icon shows fine everywhere else.
Can someone please help me figure out this issue?
Topic:
App & System Services
SubTopic:
StoreKit
Tags:
In-App Purchase
TestFlight
App Store Server API
I've been struggling to work with the Storekit framework and specifically to find the current Storefront used by the user of the app.
Context : My app needs to behave differently depending on the country of the user.
For me relying on Locale.current.region?.identifier does not seem very reliable, the user can change it really easily.
I'm trying to use the Storekit framework like so :
if let storefront = await StoreKit.Storefront.current{
return storefront.countryCode
}
As per Apple's Storekit documentation :
Use current to determine a customer's current storefront region and offer in-app products suitable for that region. You maintain your own list of product identifiers and the storefronts in which you make them available.
But I just can't find out what I need to change in my current configuration to get another country. The code keeps returning my original storefront (which is France)
I've tried login in with a sandbox user defined on another country. Changed all settings on my device to another country. Changed my Apple's account region as described here. Also tried to logout from everything.
The only thing that works is setting a local .storekit file as described here and changing the default storefront.
Is Xcode overriding the default storefront when building on debug or TestFlight? does anyone know how can I test different storefronts with sandbox users without the local storekit file ?
Thank you in advance.
Hello everyone,
I’m currently working on an iOS app built with Capacitor(5.0.6) with Cordova and vanilla JS. At the moment, my app uses Stripe to handle payments — on iOS I open a Safari View Controller so users can pay with Apple Pay or their credit card.
However, I need to migrate to Apple’s In-App Purchase system to comply with App Store policies. I would really appreciate some guidance or a step-by-step outline on the following:
The exact process to enable and configure In-App Purchases in Xcode and App Store Connect for a Capacitor-based app.
How to properly set up local testing with StoreKit (or any other recommended approach) before submitting to review.
Best practices for integrating In-App Purchases when using RevenueCat, since I’m considering it to simplify the implementation.
Any pitfalls or gotchas that I should be aware of during the first submission (for example, the requirement to include the first IAP with a new app version).
My goal is to fully comply with Apple’s policies and provide a smooth user experience for iOS users. I’m open to suggestions on frameworks, workflows, or tools that could make this easier.
Thank you in advance for any help or examples you can share!
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Tags:
StoreKit Test
App Store Connect
In-App Purchase
Hi, I’m running into a persistent error while implementing StoreKit 2 renewable subscriptions in my SwiftUI app.
Context
I have a two-screen flow:
Screen 1: user selects a subscription plan (monthly / yearly).
Screen 2: user fills out personal information and taps Subscribe that triggers the purchase function.
On first launch or the first couple of purchases (on both Storekit's local and Sandbox testing), everything works fine. The App Store popup appears, the purchase goes through, and I get the transaction result.
But after a few runs (3rd or 4th purchase attempt onward), my app crashes the moment the App Store purchase popup appears.
Error Logs
When the crash happens, the console shows:
`unable to close due to unfinalized statements or unfinished backups
BUG IN CLIENT OF libsqlite3.dylib: database integrity compromised by API violation: vnode unlinked while in use: /private/var/mobile/Containers/Data/Application/D8D97A11-DF06-4EF2-AC55-138C4739A167/Library/d6d2e85a60f0480c4c17834eeb827a14_MPDB.sqlite
invalidated open fd: 21 (0x11)
BUG IN CLIENT OF libsqlite3.dylib: database integrity compromised by API violation: vnode unlinked while in use: ...`
Observations
The error only shows after some time maybe due to multiple transactions and switching between plans for the same user, not on the very first purchases.
If I land on the purchase screen immediately after app launch, the purchase works. But if I wait a while before navigating to the purchase screen, the popup causes the app to crash.
I’m not using Core Data or my own SQLite database at all - so I assume this DB (MPDB.sqlite) is StoreKit’s internal persistence.
Things I’ve tried so far
Cleaning StoreKit caches:
rm -rf ~/Library/Developer/CoreSimulator/Devices/*/data/Container s/Data/Application/*/Library/Caches/storekit
Rebuilding from scratch, cleaning build folder.
Switching between sandbox accounts, signing out/in again.
Added await transaction.finish() after verified purchases.
Added cleanup for unfinished transactions at app launch:
for await result in Transaction.unfinished {
if case .verified(let transaction) = result {
await transaction.finish()
}
}
Tried both StoreKit Configuration file and sandbox environment but issue persists in both.
Questions
Is this error StoreKit-specific (internal SQLite DB corruption) or something wrong in my implementation?
Why would it only appear after a few runs / with a delay before navigating to the purchase screen?
Am I missing something else in handling StoreKit 2 transactions?
Screenshots of the errors are attached for context.
Any insights would be really appreciated...I’m stuck because I can’t tell if this is an Apple bug with StoreKit 2 or something I’ve overlooked in my code.
Specs:
Xcode 16.4
Build version 16F6
iOS version: 18.6.2
Topic:
App & System Services
SubTopic:
Tap to Pay on iPhone
Tags:
Subscriptions
StoreKit
Xcode
In-App Purchase
Context:
Back on March 4th, we scheduled a price increase for April 16th on one of our monthly subscription plans with several hundred active subscribers, to change the price from $18.99/mo to $19.99/mo and it has sat unedited in App Store Connect since.
Expected:
Based on this documentation (Increase the price of an auto-renewable subscription), I would expect that 27 days prior to the price increase (which would be 4 days ago, on March 20th), that users would start receiving notifications about the price increase in the form of emails to their Apple IDs and push notifications when they open up the app. We also have App Store Server Notifications V2 set up. Therefore, I expected to start receiving PRICE_INCREASE notifications as users either got emails and/or push notifications.
Actual:
We have yet to see any PRICE_INCREASE events come through. Additionally, we have one employee subscribed to this plan on production with a subscription that would renew on April 17th, which would mean that the 21st (3 days ago) was 27 days prior to his subscription renewing. He has checked his email and the app and has still not been notified in any way about the price increase and his subscription manager shows he will renew April 17th at the same price.
Questions:
Is there some other step that needs to happen for the price increase to take place?
Are my expectations wrong about what we should see by this point, or else why might we not have had any indication of customer notifications of the price increase occuring yet?
I coded my mobile app using Cursor and have recently been building and submitting for TestFlight using XCode version 16.1. I am testing using my Iphone via the downloaded build from TestFlight. My onboarding flow goes smoothly, but when I reach the checkout page I receive an error that says "Error Loading Products". When I select "OK" and then try to click one of my available products I receive another error that says "Products Not Available". I am signed out of my main Apple ID and signed into a Sandbox user that is valid. I have all of my application agreements signed and valid. I believe everything is configured properly, but I have been receiving purchase errors for the past week with no progress.
I had one semi-successful attempt where the Apple payment screen appeared, but have not had that since. Even on that attempt, there was a payment failure afterwards as well.
Any help would be greatly appreciated. I would like to get a build submitted for app store review as soon as possible.
I've attached screenshots to this ticket showing the error messages in more detail.
I tested a subscription with my developer account, it never charges but at the same time I can't cancel it anymore. It does not appear in the list of my official purchsed subscriptions. I tried to login to the sandbox with my developer account, but then when I click on "Manage" I just keep getting the error "Can't connect - retry".
I have already tried to logout from all the services, App store, etc. and re-login, nothing worked.
Is there anything I can do?
Thanks in advance to anyone who can give any tips.
Hello everyone,
For example, our app currently has one subscription group in App Store Connect with 5 plans (2 annual, 2 monthly, and 1 quarterly). By default, users can go into Apple Subscriptions in Settings and freely switch between all of these plans.
However, our business requirement is to only allow users to stay on one annual plan and one quarterly plan. We don’t want them to switch to the other plans.
My questions are:
Is there any best practice or recommended approach to restrict subscription switching within the same group?
Would removing the unwanted products from sale be the correct approach, or are there any risks/downsides with this method?
Has anyone faced a similar situation and found a practical solution?
Any guidance or shared experience would be greatly appreciated.
Thanks!
Topic:
App & System Services
SubTopic:
StoreKit
Tags:
Subscriptions
App Store Connect
In-App Purchase
Our app (Bundle ID: org.grapplermobileapp) has the In-App Purchase capability enabled in the Apple Developer portal (checkbox is grayed out and checked).
However, any new App Store provisioning profile we create for this App ID is missing the entitlement:
com.apple.developer.in-app-purchase
We confirmed this by inspecting the .mobileprovision file directly. As a result, all iOS builds fail with the error:
Provisioning profile doesn't include the com.apple.developer.in-app-purchase entitlement
Steps we've already taken:
Deleted and re-created provisioning profiles (both automatic via Expo/EAS and manual in Developer portal).
Uploaded the profile manually into EAS and rebuilt.
Verified the entitlement is missing by searching the .mobileprovision file.
Opened a support case (#102688824691). Apple Developer Support escalated, but then replied that In-App Purchase is a capability and not an entitlement, and directed me to the forums.
So we’re stuck. The App ID shows IAP enabled, but profiles never include the entitlement, and builds cannot proceed.
Has anyone seen this issue where Apple’s system fails to embed com.apple.developer.in-app-purchase into profiles? If so, how was it resolved?
Topic:
App Store Distribution & Marketing
SubTopic:
General
Tags:
In-App Purchase
Provisioning Profiles
Code Signing
Hello,
We’re experiencing a blocking production issue with our new in-app subscriptions and would appreciate guidance.
Our latest app version was approved and is live on the App Store, but the new subscriptions we submitted with it are still stuck in “Waiting for Review”. They’ve been in this state for about two months, and purchases in production fail with an error.
I already sent an email, but I haven’t received any response.
Yesterday,I uploaded a new version of our app and was approved. I had hoped that submitting another version might resolve the issue, but unfortunately the subscriptions are still not active.
This is extremely frustrating since users cannot purchase or upgrade. Has anyone experienced this before? What should we do next to get these subscriptions approved?
Thanks in advance.
Topic:
App Store Distribution & Marketing
SubTopic:
App Review
Tags:
Subscriptions
App Review
App Store Connect
In-App Purchase
Hello,
I would like to ask for your opinion on whether the following in-app purchase (IAP) specifications would comply with the App Store Review Guidelines.
■ App Overview
・The app allows users to create a “Family Group” by inviting other family members to join.
・The app provides brain-training games. The game itself is displayed via WebView.
・All purchases use in-app purchase (IAP) only. No external payments or links are provided.
■ Purchase Types (2 models)
① Group Unlimited Plan
・If one member of a family group purchases this plan, all members of the same group can play the games without limits for a certain period.
・This is based on the app’s own group-sharing mechanism, not Apple’s “Family Sharing.” We will clearly state this in the UI to avoid confusion.
② Ticket System (Consumable)
・One user in the group purchases game-play tickets.
・Other members of the same group can also consume those tickets to play.
・Tickets are only shared and consumed within the app’s family group. They cannot be transferred, resold, or moved outside the app.
■ Points to Confirm
A. For model ①: Is it acceptable under the guidelines to grant access to the entire group when one member purchases the plan (via the app’s own group logic)?
B. For model ②: Is it acceptable to allow consumable tickets to be shared and consumed within the group?
(I understand that Apple’s official “Family Sharing” does not allow sharing of consumables. This would be strictly our own in-app sharing logic.)
If anyone has experience or insights regarding whether such designs are allowed under the guidelines, I would greatly appreciate your advice.
I tried to apply a promotional offer to a subscribed user.
When I tested it in the Sandbox environment, it did not show the promotional payment popup but returned a “restored” status.
However, when I tested it in the Xcode environment, it correctly displayed the payment popup, but after I tapped the Subscribe button, it showed an “Unable to Purchase” popup like this:
And in the console I could see this error:
Received error that does not have a corresponding StoreKit Error: Error Domain=AMSErrorDomain Code=305 "Server Error The server encountered an error" UserInfo={AMSURL=http://localhost:56862/WebObjects/MZBuy.woa/wa/inAppBuy, AMSDescription=Server Error, NSDebugDescription=Server Error The server encountered an error, AMSServerErrorCode=3903, AMSStatusCode=200, AMSServerPayload={
"cancel-purchase-batch" = 1;
dialog = {
defaultButton = ok;
explanation = "Contact the developer for more information.\n\n[Environment: Xcode]";
initialCheckboxValue = 1;
"m-allowed" = 0;
message = "Unable to Purchase";
okButtonString = OK;
};
dsid = 17322632127;
failureType = 3903;
jingleAction = inAppBuy;
jingleDocType = inAppSuccess;
pings = (
);
}, AMSFailureReason=The server encountered an error}
Could someone help me resolve this issue? I’ve been struggling with it for two days and feeling exhausted...
Hello, I have 2 subscription group. Each group have different plans and promotional offer. I was set 1 month free promotional offer in all plans. While I subscribe any plan IAP sheet is not showing 1 month free promotional offer. I already used with new sandbox account. How can I get promotional offer in IAP sheet?
Hello,
I would like to ask for your opinion on whether the following in-app purchase (IAP) specifications would comply with the App Store Review Guidelines.
■ App Overview
・The app allows users to create a “Family Group” by inviting other family members to join.
・The app provides brain-training games. The game itself is displayed via WebView.
・All purchases use in-app purchase (IAP) only. No external payments or links are provided.
■ Purchase Types (2 models)
① Group Unlimited Plan
・If one member of a family group purchases this plan, all members of the same group can play the games without limits for a certain period.
・This is based on the app’s own group-sharing mechanism, not Apple’s “Family Sharing.” We will clearly state this in the UI to avoid confusion.
② Ticket System (Consumable)
・One user in the group purchases game-play tickets.
・Other members of the same group can also consume those tickets to play.
・Tickets are only shared and consumed within the app’s family group. They cannot be transferred, resold, or moved outside the app.
■ Points to Confirm
A. For model ①: Is it acceptable under the guidelines to grant access to the entire group when one member purchases the plan (via the app’s own group logic)?
B. For model ②: Is it acceptable to allow consumable tickets to be shared and consumed within the group?
(I understand that Apple’s official “Family Sharing” does not allow sharing of consumables. This would be strictly our own in-app sharing logic.)
If anyone has experience or insights regarding whether such designs are allowed under the guidelines, I would greatly appreciate your advice.
I don't know I keep getting rejected for the same thing. My guy won't tell me what's wrong with it. He just keeps sending me the same screenshot and I just don't see what's wrong with it so here I am can somebody please look at this and tell me what you see do you see what's wrong with this so that I can correct it and submit it for the fifth time and hoping I get rejected.
We are developing an app which has an In App Purchase for subscription, we have the application in tesflight, and the subscription is done through apple developers account in the app store, now we are trying to cancel the subscription, we just keep getting an error message in app store stating "your request is temporarily unable to be processed".
we need to cancel this subscription for us to test our application properly.
any help on this would be appreciated.
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Tags:
Subscriptions
In-App Purchase