StoreKit

RSS for tag

Support in-app purchases and interactions with the App Store using StoreKit.

StoreKit Documentation

Posts under StoreKit subtopic

Post

Replies

Boosts

Views

Activity

Proceeds, Tax and Commission details in Transaction Info
We need the clear details about the how much tax is charged to the user and commission for the transaction and how much proceeds will be processed for that particular transaction for the proper reporting and analytics from our end. It is currently not achievable easily. We do have financial reports information but we can't map those records to the transactions in StoreKit so this makes hard for us to track how much we will get exactly from each subscription. We can't backtrace the financial reports to actual subscription transaction information.
1
0
309
Jun ’26
Volume Purchasing Seat Choose Option from App
Is it possible for the app to pass on how much seats we need to allot in the subscription directly. Also, can we avoid the child transactions to the other users and keep one single transaction with additional information of total number seats purchased ? Some users might not have iPhone or any other apple device so how we can handle that for those users.
1
0
240
Jun ’26
Refund option in App Store Server API
We're developing B2B products and have In-App Purchase Subscriptions for our customers. I know there is a REFUND CONSUMPTION_REQUEST webhook and send consumption information specially for the refund scenario. But our business customers are frustrated that to understand that we're unable to initiate refund or provide refund for their app store subscription. They argue with us about we paid you and you need to provide us the refund. Why we need to contact apple for this. So it will be better if we get an option to refund the subscription transactions from our end as well with addition to existing refund request. So that we can avoid these kind of scenarios. Some customers go extra mile by going in to Social Media and damage our product reputation due to this. Kindly check and provide an refund option to the developers. Also, is there any reason why it's still not provided to the users?
1
0
365
Jun ’26
Request for Escalation – Non-Reproducible StoreKit Failure During App Review
Dear Apple Developer Support and App Review Team, I am contacting you regarding a recurring issue that has prevented my application from successfully passing App Review despite extensive testing and multiple attempts to investigate and resolve the problem. The application has been rejected under Guideline 2.1 – Performance because the subscription plans reportedly fail to load during review. According to the review notes, the In-App Purchase product list appears empty on the review device, preventing the paywall from displaying correctly. The main challenge is that this behavior cannot be reproduced outside of the App Review environment. The exact same binary reviewed by App Review has been thoroughly tested through TestFlight on multiple physical iPhone and iPad devices using multiple Sandbox tester accounts, different network conditions, fresh installations, and repeated purchase cycles. In every test, StoreKit successfully retrieves the configured products, RevenueCat offerings load correctly, localized pricing is displayed properly, subscription plans appear in the paywall, purchases complete successfully, and Restore Purchases functions as expected. To eliminate possible configuration issues, I have repeatedly reviewed my App Store Connect setup. All subscription products are attached to the submitted app version, product identifiers exactly match those configured in the application, all products are marked as Cleared for Sale, the Paid Applications Agreement is active, banking and tax information are complete, pricing information is active, and localization settings are properly configured. I have also implemented additional safeguards within the application, including retry logic for product retrieval, fallback states for empty offerings, protection against infinite loading scenarios, and enhanced RevenueCat and StoreKit logging. Despite these efforts, App Review continues to report that no products are being returned during review. After extensive research, I discovered an Apple Developer Forum discussion describing behavior that appears nearly identical to what I am experiencing: https://developer.apple.com/forums/thread/827016 Based on all currently available evidence, the issue appears to occur exclusively within the App Review sandbox environment. The exact same build continues to function correctly in TestFlight immediately before and after submission, making the issue impossible for me to reproduce locally. Unfortunately, this has placed me in a very difficult position as a developer. I am fully committed to fixing any issue that exists within my application. However, I can only resolve problems that I can observe, investigate, and reproduce. At present, I have no access to logs, diagnostics, StoreKit error details, or any information that would explain why products are not being returned during review. Without that information, I have no practical way to determine what additional changes are required. I would also like to note that I have already submitted a Code-Level Support request regarding this issue. Despite providing detailed technical information, I have not received any feedback or guidance from that request. At this point, I have exhausted every available support channel, including App Review messages, Developer Support, the Apple Developer Forums, an appeal, and a Code-Level Support request. Despite my continued efforts, I still do not have the technical details necessary to identify the root cause of the problem. I respectfully request that this matter be escalated to the appropriate team and that my previously submitted Code-Level Support request be reviewed. Any available diagnostic information, StoreKit logs, product retrieval details, or guidance on reproducing the issue would be greatly appreciated. Thank you for your time and consideration. I sincerely appreciate any assistance you can provide in helping investigate this issue and move the review process forward. Case ID: 20423744 Kind regards, Mert Akgün
1
0
256
Jun ’26
Volume Purchasing vs Group Purchases for IAP
From what I understand, Volume Purchasing is coming this fall and Group Purchases will arrive later this year for subscriptions. What’s the difference between these? Will either support non-consumable in-app purchases? I really don’t want to require recurring payments nor build a paid duplicate version of my app, seems the freemium business model is important to support going forward. Thanks!
1
0
285
Jun ’26
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
8.9k
Jun ’26
Documentation for group subscription renewals
I just caught the video for group and organization subscriptions. I haven't yet found documentation that describes how renewals work for the auto-renewable subscriptions when bought for a group. To reuse the video example of a run club, a coach might get a bulk of subscriptions for the team, for that season (or year). The next year might have a different number of club members, a mix of both new members, as well as some lapsed ones. The MDM portion talks about seat assignment so I think that would cover it for organizations, but what about groups?
1
0
262
Jun ’26
27/15.8.8 Bugs
I have iOS 27 and was renovating my bathroom when I decided to develop a few apps for the App Store. Unfortunately, the app has too many bugs and crashes on various devices, so I had to remove it from the App Store. How can I fix this problem? I was using iOS 27 on an iPhone 17 Air and iOS 15 on an iPhone 6s.
0
0
147
Jun ’26
Subscriptions Stuck in review
Hello! My subscriptions have been stuck in review for a while. I have been chasing my tail trying to get the sandbox purchases to work but the subscriptions are not returning after "sale". Is this because the subscriptions are still in review? Will the purchase ever return a product in the sandbox environment if the products are still in review? How do we get the subscriptions approved? I have submitted them with the app multiple times. The app is rejected because I can't complete it without the subscriptions but the subscriptions are never reviewed. Help!
1
0
402
Jun ’26
React Native IAP: getProducts returns empty array in TestFlight despite complete configuration
Hi everyone, I’m currently developing an iOS app using React Native and implementing consumable In-App Purchases (IAP). I'm facing an issue where getProducts returns an empty array without any error messages when testing on a TestFlight build. I have already completed the following setup: Agreements, Tax, and Banking: All forms are signed and the status is "Active" in App Store Connect. Product Configuration: The Consumable product is created in App Store Connect with the status "Ready to Submit". App Store Connect Integration: The product is correctly linked under the "In-App Purchases and Subscriptions" section of the App version. Xcode Capability: The "In-App Purchase" capability has been added to the project. Implementation: The Product ID in my React Native code (using react-native-iap) matches the ID in App Store Connect exactly. Despite these steps, the product list remains empty. Are there any hidden requirements or specific configurations for TestFlight that I might have missed? Any guidance would be greatly appreciated. Thanks!
1
0
623
Jun ’26
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
315
Jun ’26
manageSubscriptionsSheet resulting in "No connection"
I have an iOS app (SwiftUI) that includes recurring subscriptions. To allow users to manage their subscriptions I have implemented manageSubscriptionsSheet according to apple documentation. When I published the app last year for iOS17 and iOS18 this was working well. Now I have gotten a user report that this features yields No connection error instead of the abonnements on iOS26. I have tested on my iPad running iOS 26 as well as on the simulator with iOS 26 and 18. In all cases I get the error. I can press Retry in the dialog and am prompted for AppStore credentials After entering them, again the same error. I can not find a single hint on why and how to fix it. Best wishes, Volker
2
0
312
Jun ’26
StoreKit 2 Product.displayPrice returns USD while purchase dialog shows EUR
Hi, I'm testing my first auto-renewable subscription using StoreKit 2 and TestFlight. When loading products via: let products = try await Product.products(for: ids) the product is returned successfully, but product.displayPrice shows: $4.99 even though: My App Store account is located in Germany. The app is only intended for the German market. The native Apple purchase sheet displays the correct price in EUR. The subscription pricing is configured correctly in App Store Connect. The subscription is still in "Ready to Submit / Prepare for Submission" state and has not yet been approved. Example: print(product.displayPrice) returns: $4.99 while the StoreKit purchase dialog shows: 5,99 € Has anyone seen this behavior before? Is this expected for new subscriptions in TestFlight/Sandbox before the first App Review approval, or could there be another reason why displayPrice differs from the actual purchase dialog? Thanks!
1
0
492
Jun ’26
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
1k
Jun ’26
JWT authentication token requires actual bundle id of app
Can we avoid the bundle id to be pass on to generating access token? We're an large enterprise where we handle the multiple apps' in-app purchases in a common single platform. Is it possible to skip this id for the access token generation and just use private key & issuer id? Why this bundle id is required?
Replies
1
Boosts
0
Views
291
Activity
Jun ’26
Promo Code and Offers
I am testing my app with storekit2 and all data configured in alppstoreconnectr but i would like to know how to test on simulation and configure Promo code and OffersThanks
Replies
5
Boosts
0
Views
354
Activity
Jun ’26
Proceeds, Tax and Commission details in Transaction Info
We need the clear details about the how much tax is charged to the user and commission for the transaction and how much proceeds will be processed for that particular transaction for the proper reporting and analytics from our end. It is currently not achievable easily. We do have financial reports information but we can't map those records to the transactions in StoreKit so this makes hard for us to track how much we will get exactly from each subscription. We can't backtrace the financial reports to actual subscription transaction information.
Replies
1
Boosts
0
Views
309
Activity
Jun ’26
Receipt validation failure with iOS27
Hi, I do on-device receipt validation with Storekit1 in my app. It seems to be failing in the iOS27 build, at least on the simulator. Did something change here for iOS27?
Replies
2
Boosts
0
Views
341
Activity
Jun ’26
Volume Purchasing Seat Choose Option from App
Is it possible for the app to pass on how much seats we need to allot in the subscription directly. Also, can we avoid the child transactions to the other users and keep one single transaction with additional information of total number seats purchased ? Some users might not have iPhone or any other apple device so how we can handle that for those users.
Replies
1
Boosts
0
Views
240
Activity
Jun ’26
Original Price and Offer Price in Transaction Info
Can you add actual price of the plan along with the discounted price that user has been charged? This will help us to calculate how much discount is provided to the user clearly.
Replies
1
Boosts
0
Views
240
Activity
Jun ’26
Refund option in App Store Server API
We're developing B2B products and have In-App Purchase Subscriptions for our customers. I know there is a REFUND CONSUMPTION_REQUEST webhook and send consumption information specially for the refund scenario. But our business customers are frustrated that to understand that we're unable to initiate refund or provide refund for their app store subscription. They argue with us about we paid you and you need to provide us the refund. Why we need to contact apple for this. So it will be better if we get an option to refund the subscription transactions from our end as well with addition to existing refund request. So that we can avoid these kind of scenarios. Some customers go extra mile by going in to Social Media and damage our product reputation due to this. Kindly check and provide an refund option to the developers. Also, is there any reason why it's still not provided to the users?
Replies
1
Boosts
0
Views
365
Activity
Jun ’26
Request for Escalation – Non-Reproducible StoreKit Failure During App Review
Dear Apple Developer Support and App Review Team, I am contacting you regarding a recurring issue that has prevented my application from successfully passing App Review despite extensive testing and multiple attempts to investigate and resolve the problem. The application has been rejected under Guideline 2.1 – Performance because the subscription plans reportedly fail to load during review. According to the review notes, the In-App Purchase product list appears empty on the review device, preventing the paywall from displaying correctly. The main challenge is that this behavior cannot be reproduced outside of the App Review environment. The exact same binary reviewed by App Review has been thoroughly tested through TestFlight on multiple physical iPhone and iPad devices using multiple Sandbox tester accounts, different network conditions, fresh installations, and repeated purchase cycles. In every test, StoreKit successfully retrieves the configured products, RevenueCat offerings load correctly, localized pricing is displayed properly, subscription plans appear in the paywall, purchases complete successfully, and Restore Purchases functions as expected. To eliminate possible configuration issues, I have repeatedly reviewed my App Store Connect setup. All subscription products are attached to the submitted app version, product identifiers exactly match those configured in the application, all products are marked as Cleared for Sale, the Paid Applications Agreement is active, banking and tax information are complete, pricing information is active, and localization settings are properly configured. I have also implemented additional safeguards within the application, including retry logic for product retrieval, fallback states for empty offerings, protection against infinite loading scenarios, and enhanced RevenueCat and StoreKit logging. Despite these efforts, App Review continues to report that no products are being returned during review. After extensive research, I discovered an Apple Developer Forum discussion describing behavior that appears nearly identical to what I am experiencing: https://developer.apple.com/forums/thread/827016 Based on all currently available evidence, the issue appears to occur exclusively within the App Review sandbox environment. The exact same build continues to function correctly in TestFlight immediately before and after submission, making the issue impossible for me to reproduce locally. Unfortunately, this has placed me in a very difficult position as a developer. I am fully committed to fixing any issue that exists within my application. However, I can only resolve problems that I can observe, investigate, and reproduce. At present, I have no access to logs, diagnostics, StoreKit error details, or any information that would explain why products are not being returned during review. Without that information, I have no practical way to determine what additional changes are required. I would also like to note that I have already submitted a Code-Level Support request regarding this issue. Despite providing detailed technical information, I have not received any feedback or guidance from that request. At this point, I have exhausted every available support channel, including App Review messages, Developer Support, the Apple Developer Forums, an appeal, and a Code-Level Support request. Despite my continued efforts, I still do not have the technical details necessary to identify the root cause of the problem. I respectfully request that this matter be escalated to the appropriate team and that my previously submitted Code-Level Support request be reviewed. Any available diagnostic information, StoreKit logs, product retrieval details, or guidance on reproducing the issue would be greatly appreciated. Thank you for your time and consideration. I sincerely appreciate any assistance you can provide in helping investigate this issue and move the review process forward. Case ID: 20423744 Kind regards, Mert Akgün
Replies
1
Boosts
0
Views
256
Activity
Jun ’26
Volume Purchasing vs Group Purchases for IAP
From what I understand, Volume Purchasing is coming this fall and Group Purchases will arrive later this year for subscriptions. What’s the difference between these? Will either support non-consumable in-app purchases? I really don’t want to require recurring payments nor build a paid duplicate version of my app, seems the freemium business model is important to support going forward. Thanks!
Replies
1
Boosts
0
Views
285
Activity
Jun ’26
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
8.9k
Activity
Jun ’26
Documentation for group subscription renewals
I just caught the video for group and organization subscriptions. I haven't yet found documentation that describes how renewals work for the auto-renewable subscriptions when bought for a group. To reuse the video example of a run club, a coach might get a bulk of subscriptions for the team, for that season (or year). The next year might have a different number of club members, a mix of both new members, as well as some lapsed ones. The MDM portion talks about seat assignment so I think that would cover it for organizations, but what about groups?
Replies
1
Boosts
0
Views
262
Activity
Jun ’26
Pay for subscription over 12 months support in other countries
Can you share the reasons why the new payment model for subscriptions is not supported in the US? Maybe this is coming in the future but not announced yet. I didn't see anything in the StoreKit announcements saying it was extended but that doesn't mean I didn't miss something.
Replies
1
Boosts
0
Views
229
Activity
Jun ’26
Offer code + free trial
Is redeeming an offer code during an active introductory free trial a supported flow with StoreKit?
Replies
1
Boosts
0
Views
264
Activity
Jun ’26
27/15.8.8 Bugs
I have iOS 27 and was renovating my bathroom when I decided to develop a few apps for the App Store. Unfortunately, the app has too many bugs and crashes on various devices, so I had to remove it from the App Store. How can I fix this problem? I was using iOS 27 on an iPhone 17 Air and iOS 15 on an iPhone 6s.
Replies
0
Boosts
0
Views
147
Activity
Jun ’26
Subscriptions Stuck in review
Hello! My subscriptions have been stuck in review for a while. I have been chasing my tail trying to get the sandbox purchases to work but the subscriptions are not returning after "sale". Is this because the subscriptions are still in review? Will the purchase ever return a product in the sandbox environment if the products are still in review? How do we get the subscriptions approved? I have submitted them with the app multiple times. The app is rejected because I can't complete it without the subscriptions but the subscriptions are never reviewed. Help!
Replies
1
Boosts
0
Views
402
Activity
Jun ’26
React Native IAP: getProducts returns empty array in TestFlight despite complete configuration
Hi everyone, I’m currently developing an iOS app using React Native and implementing consumable In-App Purchases (IAP). I'm facing an issue where getProducts returns an empty array without any error messages when testing on a TestFlight build. I have already completed the following setup: Agreements, Tax, and Banking: All forms are signed and the status is "Active" in App Store Connect. Product Configuration: The Consumable product is created in App Store Connect with the status "Ready to Submit". App Store Connect Integration: The product is correctly linked under the "In-App Purchases and Subscriptions" section of the App version. Xcode Capability: The "In-App Purchase" capability has been added to the project. Implementation: The Product ID in my React Native code (using react-native-iap) matches the ID in App Store Connect exactly. Despite these steps, the product list remains empty. Are there any hidden requirements or specific configurations for TestFlight that I might have missed? Any guidance would be greatly appreciated. Thanks!
Replies
1
Boosts
0
Views
623
Activity
Jun ’26
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
315
Activity
Jun ’26
manageSubscriptionsSheet resulting in "No connection"
I have an iOS app (SwiftUI) that includes recurring subscriptions. To allow users to manage their subscriptions I have implemented manageSubscriptionsSheet according to apple documentation. When I published the app last year for iOS17 and iOS18 this was working well. Now I have gotten a user report that this features yields No connection error instead of the abonnements on iOS26. I have tested on my iPad running iOS 26 as well as on the simulator with iOS 26 and 18. In all cases I get the error. I can press Retry in the dialog and am prompted for AppStore credentials After entering them, again the same error. I can not find a single hint on why and how to fix it. Best wishes, Volker
Replies
2
Boosts
0
Views
312
Activity
Jun ’26
StoreKit 2 Product.displayPrice returns USD while purchase dialog shows EUR
Hi, I'm testing my first auto-renewable subscription using StoreKit 2 and TestFlight. When loading products via: let products = try await Product.products(for: ids) the product is returned successfully, but product.displayPrice shows: $4.99 even though: My App Store account is located in Germany. The app is only intended for the German market. The native Apple purchase sheet displays the correct price in EUR. The subscription pricing is configured correctly in App Store Connect. The subscription is still in "Ready to Submit / Prepare for Submission" state and has not yet been approved. Example: print(product.displayPrice) returns: $4.99 while the StoreKit purchase dialog shows: 5,99 € Has anyone seen this behavior before? Is this expected for new subscriptions in TestFlight/Sandbox before the first App Review approval, or could there be another reason why displayPrice differs from the actual purchase dialog? Thanks!
Replies
1
Boosts
0
Views
492
Activity
Jun ’26
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
1k
Activity
Jun ’26