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

App in review for 23 days
I managed to publish the first version of my app at the beginning of February. I was lucky, I guess. On 11th of February, I added a new version which contains in app purchases. The app went "in review" a few hours later and since then ... nothing. After a week or so I sent a first email support. They claim responding in 2 working days: no response. Then I sent another one. 2 days later another one. Tried expedite review several times: nothing. Last week I finally got an answer to my first email: they apologize, blah blah. But still nothing. This is very very annoying. I longtime hesitated to purchase the Apple developer program and finally did it. Now I regret doing so. They seem they don't care about. We buy expensive Apple gear. We develop applications we cannot even install on our devices without Apple developer subscription! And they treat us like this. What is going on, Apple? Are you still there?
2
2
44
19h
In-App Subscription Works in Xcode Sandbox but Not Appearing for App Review Testers
Hello, I’m having an issue with my first subscription for my app WealthSlices, where the subscription appears correctly when testing locally from Xcode, but App Store reviewers appear unable to retrieve the product. Symptoms When I run the app from Xcode on my iPhone using the Sandbox environment: The subscription loads successfully. The purchase sheet appears. I can complete a sandbox purchase. However, when App Review tests the app, the paywall fails to load products and the app shows the following message: "No Products found. Purchases are temporarily unavailable on this device." Environment App: WealthSlices Platform: iOS Testing locally via Xcode → Sandbox Apple ID Subscription type: Auto-renewable subscription Product: WealthSlices Basic ($9.99/month) StoreKit: StoreKit 2 Current build: 1.0.7 (Build 32) What works locally When running via Xcode: StoreKit successfully fetches products. The subscription sheet appears with the correct pricing. Sandbox purchase flow completes normally. What appears to happen during App Review It appears that Product.products(for:) returns an empty list when the reviewers test the app. Things I have already verified The subscription is created in App Store Connect. It is attached to the current app version under In-App Purchases and Subscriptions. The subscription has pricing and localization configured. The subscription is in Ready to Submit status. The bundle ID and product ID match the code. Paid Apps Agreement is active. I uploaded a new build after creating the subscription. Question Is there something specific required for first-time subscription submissions that might cause the product not to appear during App Review but still work in local sandbox testing? Is there a known delay or propagation requirement for subscriptions before they can be fetched by Product.products(for:) in TestFlight/App Review environments? Any guidance would be greatly appreciated. also there doesn't seem to be an option to select the subscription over at https://appstoreconnect.apple.com/apps/6754225986/distribution/ios/version/inflight but there is no option to add it Thank you!
2
0
52
1d
How can I use my sandbox account to test in-app purchases?
I have created and verified a new sandbox account in Users and Access. Now I want to test my in-app purchases with this account on my iPad Air in my iOS game. I have already uploaded a build to TestFlight. Then I have downloaded and installed my game from TestFlight on my iPad Air. How can I login on my iPad Air with my new sandbox account to test my in-app purchases in my game?
2
0
84
1d
IAP Purchase Fails During App Review – Circular Dependency Between App Approval and IAP Approval
Hello everyone, I’m facing an issue with In-App Purchases during App Review and would appreciate guidance from anyone who has encountered a similar situation. Context: New iOS/iPadOS app, first submission. One Non-Consumable In-App Purchase. IAP was created, fully configured, and submitted together with the app version. IAP status in App Store Connect: In Review. App includes Restore Purchase and uses standard StoreKit purchase flow. Paid Apps Agreement is accepted. Problem: During Apple’s review, when the reviewer taps the purchase button, a generic error appears: “Purchase failed. An error occurred, please try again.” Apple rejected the app under Guideline 2.1 – Performance – App Completeness, stating that the IAP shows a bug. What seems to be happening: The IAP itself is still in review and therefore not fully active, which causes the purchase attempt to fail. However, the app cannot be approved because the purchase fails, creating a circular dependency: App cannot be approved because IAP purchase fails. IAP cannot work because the app is not approved yet. According to Apple documentation, IAPs are tested in the sandbox during review and should not require separate approval to function, so I’m unsure what additional step is required. Questions: Is there any special configuration needed to make first-time IAPs work during review? Should Apple reviewers be able to complete sandbox purchases even if the IAP status is “In Review”? Is there a recommended workaround or reviewer instruction to avoid this deadlock? Any insights or real-world experience would be greatly appreciated. Thanks in advance.
3
1
118
2d
Technical Inquiry: User-Centric Accounting and Multiple Concurrent Subscriptions
We are developing a platform (Ferve) where users subscribe to individual artists to access exclusive content. We use a user-centric remuneration model: each artist has an independent income pool, and funds from a specific subscription must be attributed solely to that artist. We have two critical challenges regarding our integration: Granular Financial Reporting for User-Centric Payouts As the Merchant of Record, Apple provides aggregate Financial Reports. However, these reports do not provide a breakdown of taxes, commissions, or exact exchange rates used for individual transactionId records. Though we can keep records of each transaction in our database, thus linking them with which artist they belong to, we are unable to collect fees/taxes applied to each individual transaction. Because our payouts are artist-specific, we need to deduct the exact regional taxes and Apple commissions from each transaction to calculate the artist's due balance. Currently, we can only see the final consolidated balance in BRL (Brazilian Reals) at the end of the month. Is there an API or report that provides the net proceeds and tax breakdown per transaction ID? How can we retrieve the exact exchange rate applied to foreign currency sales (e.g., EUR to BRL) before the final consolidation? Supporting Multiple Concurrent Subscriptions Our current App Store Connect configuration uses a single 'Subscription Group' for all artist 'Clubs' since they share the same price points. However, we have found that users cannot subscribe to more than one product within the same group simultaneously (the App Store treats this as an upgrade/downgrade). On our platform, a user must be able to subscribe to Artist A and Artist B at the same time. What is the recommended architecture for this? Should we dynamically create a unique Subscription Group for every artist onboarded to our platform? If we use unique groups, is there a limit to the number of Subscription Groups one app can have? We appreciate the help, Ferve
0
0
87
2d
Subscription unavailable
When my app tries to access a subscription, StoreKit's products(for:) always returns zero results. Similarly, SubscriptionStoreView always shows "Subscription Unavailable" followed by "The subscription is unavailable in the current storefront". The app is a watch-only app (no iPhone companion app). The app and the subscription product were each approved in App Store Connect over two weeks ago. The problem occurs when the app is installed from TestFlight, when the app is installed from the App Store (production), and when run in the Xcode debugger. The only time the app successfully accesses the subscription when simulating it in Xcode with a .storekit file. How should my app access the subscription? Repro: App Store bundle ID: com.toolsay.hoopref Phone app target (unused) bundle ID: com.toolsay.hoopref Watch app bundle ID: com.toolsay.hoopref.watchapp Subscription product ID: com.toolsay.hoopref.pro.annual Subscription availability: All countries and regions App Store listing let products = try await Product.products(for: ["com.toolsay.hoopref.pro.annual"]) products.count is 0.
0
0
30
2d
In-App Payments
Does a payment that is processed within the app, that generates a QR-Code for the redeeming of a real-life-good (such as tickets, vouchers for drinks, etc.), fall under IN-APP-PAYMENT regulation, which would get a fee of 15-30% on top or can that payment be processed with an external mechanism such as Stripe?
0
0
90
3d
First Auto-Renewable Subscription – getSubscriptions returns empty in TestFlight
Hi, I am submitting auto-renewable subscriptions for the first time for a brand new iOS app (never approved before). Setup: App ID has In-App Purchase capability enabled Subscriptions created under a subscription group All metadata (pricing, localization, availability) completed Subscriptions currently show In Review Testing via TestFlight build Bundle ID matches App Store Connect Using react-native-iap (StoreKit under the hood) When calling: await getSubscriptions({ skus }) I consistently get: products fetched: 0 ProductsUnavailableError Also, the app version page does not show the “In-App Purchases and Subscriptions” section. Question: For a brand new app, will StoreKit return empty products while the first subscriptions are in review? Do the first subscriptions need to be approved and/or attached to a new app version before they become available in TestFlight sandbox? Thanks for any clarification.
1
0
50
4d
In-App Purchases Rejected
'Guideline 2.1 - Performance - App Completeness' - "...could not be found in the submitted binary." I have checked with internal and external testers and my devices and simulators, everyone sees the in app purchases but I just had my submitted rejected for the second time with the comment that these in-app none-consumable purchases cannot be found with the submitted binary. I even attached a slow step by step screen recording for the review reply after the first rejection showing how to reach the purchasable packs by navigating through only 3 buttons: "How to access the purchase flow: Launch the app Tap the bottom-center Settings button (icon: switch.2) Tap “Customisation gallery” Scroll to find any pack listed above Tap the pack price chip Tap “Buy pack – [price]” to start the StoreKit purchase flow" I also attached a clear image along with detailed instruction (same as above) for the Review Information. and the second rejection was received today for the same reason. I'm being guided to the localization 'Developer Action Needed'. I'm not sure what more can be done? I feel like my review replies aren't even looked at.
2
0
53
5d
StoreKit access in keyboard extensions
Hello Apple team, We would like to access the user's available purchases from the keyboard extension. Making purchases directly from the keyboard is a great benefit, but we assume it is intentionally disabled to prevent abuse or fraudulent purchase attempts. What we care about the most is determining if the user has an item that contains a discount or a free trial to personalize messaging when we suggest the user go to the app and make a purchase. We hope you'd consider revising your policy around StoreKit usage.
0
0
47
6d
App distributed but IAP - is waiting for review.
Hi, My app VITTRA has been approved and is live on the App Store. also i have already pushed even another update …However, I submitted two in-app purchases along with the app: 1. VITTRA Pro (Non-Consumable) — Status: “In Review” 2. AI Scan Pack (Consumable) — Status: “Waiting for Review” The app binary was approved and distributed, but the IAPs are still under review. My app’s core functionality depends on these purchases being available to users. A few questions: 1. Is it normal for IAPs to remain in review after the app itself has been approved and distributed? 2. Is there an expected timeline for IAP reviews when submitted alongside a new app? 3. Is there anything I can do to expedite the process, or should I just wait? Any guidance would be appreciated. Its a real frustrating situation and there is not a single response from the support. Thanks!
1
0
47
1w
Auto-renewable subscriptions stuck in "Developer Action Needed" - Cannot attach to binary
Hi everyone, I am trying to submit the first version of my app with auto-renewable subscriptions, but I am stuck in a loop. Both of my subscriptions (Yearly and Monthly) are stuck with the status "Developer Action Needed". Because of this status, they do not appear in the list of available In-App Purchases when I try to attach them to my app binary on the App Store Connect submission page. Here is what I have already done/checked: All metadata is filled out (Display Name, Description, Pricing). Review Information is complete (Screenshot and Review Notes are provided). My "Paid Applications" agreement in the Agreements, Tax, and Banking section is Active. I contacted Apple Developer Support by phone, but they were unable to resolve the issue and suggested I post here for help. Has anyone experienced this "limbo" before? How can I trigger the status to change to "Ready to Submit" so I can finally attach them to my build and send the app for review? (I have attached screenshots of my App Store Connect dashboard showing the issue). Thanks in advance for any help!
1
0
102
1w
Unlocking a demo mode without IAP
I am aware of the following in the App Review Guidelines; 3.1.1 If you want to unlock features or functionality within your app, (by way of example: subscriptions, in-game currencies, game levels, access to premium content, or unlocking a full version), you must use in-app purchase. Apps may not use their own mechanisms to unlock content or functionality, such as license keys, augmented reality markers, QR codes, cryptocurrencies and cryptocurrency wallets, etc. The app itself operates normally, but imposes limits after a limited time of use. Purchasing the full version removes these limits. This is a one-time IAP, not a subscription. My app is aimed at professionals within the entertainment industry, and will only ever be used within a theatre or other similar venue. I do not intend to provide any other paid route to the full version than via the App Store. However, what I would like to do is provide free use at certain events and to students in their educational venues (e.g. college theatres etc)- is it acceptable to use an external mechanism (e.g. a server based API) to temporarily remove the limitations whilst in that venue? Or, likewise, provide an extension to the free trial period for specific uses. Note this is not a purchase, as there is no payment. Therefore there is no revenue outside of the App Store (which surely is the point of the mandate to use IAP for this purpose) Also, it's not fully 'unlocking' the app (the user doesn't get the full version, they just aren't bound by the trial limit timer when within that venue or for a limited time) I'm aware that another route would be to put a different version of the app in the store that requires a username and password for use (for example) and then provide those credentials to log in - as there's lots of apps that follow that model, but it seems clunky to require the user to download a different app.
0
0
85
1w
Issue configuring non-consumable IAP
Hi everyone, I’m running into a recurring issue when submitting my app to the App Store. The app is made with Unity and contains a single non-consumable IAP. Said IAP works fine locally, and sandbox testing with Xcode works when we test the build internally. Here is the current behaviour: On Game launch, the paywall pop-up displays correctly, I can try to purchase the bonus content. I go through the whole mock payment process, it takes a little while to validate but it does go through. It asks me to “pay” a second time (as if the first one hadn’t been taken into account), there’s a bit of loading but the payment is validated. A pop-up tells me it’s confirmed. Back in game, the content is correctly unlocked and accessible. But during App Store review, the reviewers report that the in-app purchase button is unresponsive. The purchase cannot be initiated, and an error that says "Cannot initiate purchase because product was not found" or simply failing to start. Here’s what I’ve confirmed so far: The IAP product is created in App Store Connect and has the correct product ID. The IAP is correctly associated with the build when submitting the game's version for review. Paid Apps Agreement, tax, and banking info are fully completed and approved. Do you have any idea why the IAP would work while testing builds through TestFlight but fail validation? Anything we should look into? I feel the issue is due to a bad configuration on the Appstore Connect, but there aren't that many things to take into consideration there either...
2
0
61
1w
Error loading products on iOS TestFlight app
We've built an app for iOS using Unity that has in-app purchases. The flow correctly works for Android - no issues at all. Now we've been testing in TestFlight and can't get it to load ANY products. The only message we are getting is "Retrieve Products failed, and could not retrieve any products." - considering the exact flow works fine on Android I would assume the code for loading products itself is not the problem. It is a first version/submission, so the app itself is fresh and hasn't been released prior. The agreements are active (Paid Apps, bank account, W8-BEN-E, etc.), it's using a distribution certificate and has the IAP capability when uploading, so we're kind unsure where to look to at this point.
1
0
82
1w
Apps Stuck in 'Waiting for Review' for 12+ Days — IAPs Also Blocked
Hello everyone, I am hoping someone here can share some advice or has experienced a similar situation. I am an individual developer and two of my apps have been stuck in 'Waiting for Review' status for over 10 to 12 days now. Prior to this, the review process was moving normally and I was receiving feedback from Apple on both apps. Then suddenly everything stopped and both apps have been sitting in the queue with no movement and no communication from the review team. To make things worse, I am also unable to delete these apps or make any changes because their In-App Purchases are simultaneously under review, which is locking me out of managing my own apps entirely. I already created a support case specifically for App Review (Case ID: 20000111755276) over a week ago, but unfortunately I have not heard back anything from Apple at all — no acknowledgment, no update, nothing. I am based in Pakistan and the phone callback option is not available for my region, so email and this forum are essentially my only options to get any help. Has anyone else experienced such a long delay recently? Is there anything else I can do to get this moving or at least get a response from the review team? Any advice or shared experience would be greatly appreciated. Thank you.
1
1
187
1w
Why doesn’t Transaction.updates emit reliably?
I'm on macOS Sequoia Version 15.7.3 (24G419) and using Xcode Version 26.2 (17C52). In my Xcode project, Transaction.updates and Product.SubscriptionInfo.Status.updates don’t seem to emit updates reliably. The code below works consistently in a fresh Xcode project using a minimal setup with a local StoreKit Configuration file containing a single auto-renewable subscription. class InAppPurchaseManager { static let shared = InAppPurchaseManager() var transactionTask: Task<Void, Never>? var subscriptionTask: Task<Void, Never>? init() { print("Launched InAppPurchaseManager...") transactionTask = Task(priority: .background) { for await result in Transaction.updates { print("\nReceived transaction update...") try? await result.payloadValue.finish() } } subscriptionTask = Task(priority: .background) { for await result in Product.SubscriptionInfo.Status.updates { print("\nReceived subscription update...") print("state:", result.state.localizedDescription) } } } } I initialise it in: func applicationDidFinishLaunching(_ aNotification: Notification) { _ = InAppPurchaseManager.shared } I do not build any UI for this test. I open StoreKit Transaction Manager then click Create Transaction → select the product → choose Purchase (Default) → Next → Done. The console shows that it detects the initial purchase, renewals and finishes each transaction. It also works even if I do not add the In-App Purchase capability. In my actual project, the initial purchase is detected and finished, but renewals are not detected. Subsequent transactions then appear as unverified, presumably because the updates are not being observed so the transactions are not being finished. What can I do to make this work reliably in my actual project? For context, in the actual project: I have a StoreKit Configuration file that is synced with App Store Connect The In-App Purchase capability is enabled The configuration file is selected in the scheme The products in App Store Connect show “Ready to Submit” Loading products works: try await Product.products(for: ...) Also, I use ProductView for the purchase UI. The first purchase works and is detected and finished, but subsequent renewals are not finished because the updates do not seem to be emitted.
9
0
340
2w
StoreKit 2: is there a way for an app to be informed in real time if an auto-renewable subscription is cancelled by the user?
Hello, In my iOS app, I have a customer center where the user can see some details about its current subscription. I display things like the billing period, the price, the introductory offer state, the renewal date if it's not cancelled or the expiration date if it's cancelled, etc. From this screen, the user can open the subscription management sheet. I want to detect if the user cancels the subscription from this sheet or from the App Store (when the app is running) so I can refresh the information displayed on my customer center. I checked the asynchronous sequences provided by StoreKit 2 like Transaction.updates or Product.SubscriptionInfo.Status.updates and tested with a Sandbox account on my physical device with the app debugged using Xcode. But I noticed these sequences don't emit when I cancel the subscription in Sandbox. Is this the expected behavior? Is there a way to observe in real time if a user cancels the subscription? I can still manually check when the sheet is dismissed but it's not ideal because I want to know even if the user cancel from outside of the app with the app running. Thank you, Axel
2
1
371
2w
Implement in-app subscriptions
I am developing a mobile application using Flutter and plan to implement in-app subscriptions for both iOS platforms. I would like to request guidance on the following: Technical Implementation: Recommended best practices for implementing auto-renewable subscriptions in Flutter apps StoreKit 2 integration requirements and compatibility considerations Server-to-server notification setup and endpoint requirements Testing Procedures: Sandbox environment configuration and testing workflow TestFlight testing requirements for subscription features Recommended testing scenarios before production release Required Documentation and Accounts: Complete list of required agreements (Paid Applications Agreement, etc.) Banking and tax information requirements Privacy policy and terms of service specifications for subscription apps App Review guidelines specific to subscription-based apps Subscription Management: Grace period implementation requirements Handling subscription cancellations and refunds Promotional offers and introductory pricing setup Could you please provide documentation or direct me to the appropriate resources? Additionally, if there are any specific requirements for Flutter-based applications, I would appreciate that information. Application Details: Platform: iOS (Flutter framework) Subscription Type: Auto-renewable subscriptions
0
0
84
2w
In-App-Purchase review rejected
Testing with testflight the IAP work with sandbox. But Apple Review was rejected. It was explained that the IAP could not be found. I cancelled the review, added the IAP to all countries again. The IAPs are in status waiting for review. Now when preparing the version, I cannot choose anymore the IAP. I don't find the option anymore to add the IAP products on the version page. Contracts are all active and in the app for me and others it is working.
1
0
131
2w