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

Subscriptions not working
Hello everyone, There's an issue that has been driving me and my team mad for almost a month. Our subscriptions work properly in a sandbox mode, when we're testing on our own devices. However, every time we send them to review, we receive a rejection - apparently, the subscriptions don't work at all for the reviewers. I'm pretty confident that we set up everything properly in App Store Connect as it's not our first time. We sent the subscriptions to review as well and they're now stuck in the "in review" state, even though the app submission itself gets rejected over and over. I'm unsure what to do here because we've been going back and forth with this for several weeks, and I don't know how to debug it given that everything works properly on our side. We had a call with an Apple representative and he advised to create a topic here. I'm attaching two screenshots - one from our sandbox testing, the other from the App Reviewers team rejection. I'm hoping that your answers can shed a light on what's going on here and how we can fix it. Thanks!
2
0
37
3d
Auto-renewable subscriptions not loading in React Native app after App Store approval when testing via Xcode
Hello, I’m facing an issue with auto-renewable subscriptions in my React Native iOS app using react-native-iap. Before App Store approval, everything worked perfectly — I could test in-app purchases and subscriptions locally on my iPhone through Xcode using a development build and sandbox tester. After the app was approved and released on the App Store, I needed to make some updates. Now, when I build and run the same project again through Xcode (Debug, development-signed) on my iPhone, the subscriptions no longer load. The same product IDs are approved and live in App Store Connect. The live version on the App Store works fine (subscriptions load and process successfully). But on the local Xcode build, getSubscriptions() returns invalid product identifiers or an empty list. No changes were made to the bundle ID or product IDs The build is signed with an Apple Development certificate and uses the same team and bundle identifier as the published app. “In-App Purchase” capability is enabled. I’ve also tried deleting the app, rebooting the device, and re-logging into a sandbox tester account, but the issue persists. It looks like the sandbox environment no longer works for the app after its first App Store release. Has anyone experienced this issue where the same approved app’s IAPs work in production but fail to load in sandbox/dev builds through Xcode after release? Any guidance on re-enabling sandbox testing for updates would be greatly appreciated. Environment: Xcode 26.0.1 React Native with react-native-iap Auto-renewable subscriptions (3 SKUs) Thank you!
0
0
68
4d
RevenueCat paywall and apple review process unable to progress through paywall
I submitted for the first time my app and in app subscription together. do the subscriptions get approved separately? it seems like a loop. in the paywall of my app only for apple its failing to load payments/subscription info which im assuming to be the fact that my in app subscription didn't get approved yet, its currently waiting for review (first time submitting subscription). Meanwhile the app gets rejected multiple times because the reviewer can't seem to go beyond the paywall due to failure to load payments. Is this the similar experience anyone had? Do you have info that'd be helpful to give to the reviewers?
1
1
97
6d
IAP Product Not Getting Approved – Stuck in Review Loop
I’m stuck in a loop where my in-app purchase (IAP) product cannot be reviewed because my app version is in “Rejected” status. In order to submit the IAP for review, I need to submit a new app version and select the IAP product. But since the current version is rejected, I can't select the IAP during submission. As a result, RevenueCat can't fetch the IAP products, and the app appears to not use in-app purchases, which leads to another rejection. I’d like to know the correct steps to break this cycle and properly submit both the app and the IAP for review. Any guidance is appreciated!
2
0
126
6d
In-App Purchases section missing in App Store Connect for new version submission (subscriptions)
Hi everyone, I am experiencing an issue with App Store Connect and subscriptions. My app (Couple Organizer, App ID: 6748842796) already has an approved subscription group (Premium Plans) with Monthly and Yearly Premium options. Version 1.0.0 is live in the App Store, subscriptions are working. But - When preparing version 1.1.0 for submission the “In-App Purchases and Subscriptions” section is not visible on the submission page so I am unable to attach them to the new version of the app. I tried removing the build from review and re-adding another one but the section still does not appear. Subscriptions show status approved and ready for sale . My questions: Are subscriptions automatically carried forward to new app versions once approved in the first release? Or is there a step I’m missing to explicitly attach them again in every new version? Is this the expected behavior, or is it a bug in App Store Connect UI? Screenshots available if needed. Any advice would be appreciated!
1
0
62
6d
Clarification on Family/Referral-Based Subscription Sharing for Sound Streaming App
Hello Apple App Review Team, I’m developing a sound streaming app that offers two subscription plans — a monthly and a yearly plan — both managed through auto-renewable subscriptions. We’re planning to introduce a sharing feature for users who purchase the yearly subscription: When a user purchases a 1-year subscription, they can share access with up to 3 friends or family members. Each of those invited users should receive 1 month of premium access for free, without needing to purchase the subscription themselves. These invited users may be on different platforms (iOS and Android). The access would be managed and tracked through our secure backend, not through in-app purchase or Apple’s subscription offers, but purely as a limited-time promotional benefit tied to the original subscriber’s active plan. We want to ensure this feature fully complies with Apple’s App Store Review Guidelines — especially sections 3.1.1 (In-App Purchase) and 3.1.3 (Multiplatform and Reader Apps). Could you please clarify: Whether this “shareable trial access” (3 × 1-month benefit) is permitted if it’s granted and controlled via our backend system, only for users whose friends have an active 1-year subscription? If not, is there any recommended or approved mechanism — such as subscription offers, custom codes, or Family Sharing APIs — that can be used to enable this cross-platform (iOS + Android) sharing model? Would this model be compliant if all premium access is temporary, clearly marked as “promotional access,” and automatically expires after 1 month? We want to strictly follow Apple’s policies and avoid any unintended IAP violations. Your guidance will help us design this feature correctly. Thank you very much for your time and support. Best regards, Dev Zaveri
0
0
45
1w
Provisioning profile missing com.apple.developer.in-app-purchase entitlement
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?
2
1
178
1w
Migration Subscription API returns 500 error
We got Advanced Commerce API and the generic product identifiers approved. When I was try to migrate a sandbox subscription to ACA enabled subscription I hit an error Request payload (Hid some info but the requestReferenceId is the real) { "descriptors": { "description": "Migrated", "displayName": "Migration" }, "items": [ { "sku": "product_1mo_999", "description": "description", "displayName": "Product" } ], "requestInfo": { "requestReferenceId": "3b0b8e67-d8a0-45f4-8f6d-06bffa9a2c08" }, "storefront": "USA", "targetProductId": "com.company.generic.subscription", "taxCode": "C003-00-1" } Response { "errorCode": 5000000, "errorMessage": "An unknown error occurred." }
1
0
135
1w
Advanced Commerce API – 5000000 "Unknown error" when calling Migrate API
We've been approved for the Advanced Commerce API. After receiving the approval, we completed the initial setup requirements (submitted a generic product ID and shared our subscriptions page deep link). When testing the Migrate Subscription to Advanced Commerce endpoint in the sandbox, we receive a 5000000 error. What could be the reason/s for it? There is no information, and the API call we make includes all required parameters. Could it be related to the fact that our new generic product ID status is "Missing Metadata"? Is there a way to understand what the issue is on Apple's side?
0
0
28
1w
App Approved/Released, but In-App Purchase Still In Review
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
1
1
227
1w
How do you get user consent for ConsumptionRequest?
https://developer.apple.com/documentation/appstoreserverapi/send_consumption_information If the customer provided consent, respond by calling this API and sending the consumption data in the ConsumptionRequest to the App Store. If not, respond by calling this API and setting the customerConsented value to false in the ConsumptionRequest; don't send any other information. Since our server would be receiving CONSUMPTION_REQUEST server notifications and will be the one calling the Consumption API, how do we know if the user has provided consent? That info doesn't seem to be in the server notification or anywhere else.
1
0
999
1w
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!
0
0
91
1w
How to change promotional image of 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?
4
2
1.9k
2w
Cancel subscription not working in TestFlight
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?
22
15
4.1k
2w
Storekit, how to change and retrieve current user storefront
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.
3
1
351
2w
Implementing In-App Purchases with Capacitor (Currently Using Stripe)
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!
1
0
120
3w
Issue with StoreKit 2 Purchases: "unfinalized statements / unfinished backups" SQLite Crash
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
1
0
64
3w
Price Increase Notifications Not Present
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?
1
4
155
3w