I’m testing auto-renewable subscription purchases in the sandbox environment.
When I buy a subscription package using a sandbox test user, I don’t receive any Apple Server Notifications from the sandbox.
However, when I use the Request Test Notification option in App Store Connect, the notification is received successfully.
My sandbox server notification URL is configured correctly and publicly accessible.
I also call finishTransaction() after purchase.
It looks like sandbox purchase notifications are not being sent, even though the test notification works fine.
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
Hello Fellow Developers,
I recently built a simple craft related app called "Genie Crystals" with a landing page. there is a button on landing page which redirects to a main template generator page.
Here the user can play with the parameters and create an output which can be exported. to export there is an unlock button which is linked to the in-app purchase configured in the app. Initially it was not capturing price properly so I modified the code slightly to keep the button in disabled state until the product details got fetched in background asynchronously.
But when I released the app and downloaded it on a different device at the time of load itself, I am getting the alert - product not available. I have used correct product Id in the program. I have confirmed that.
I think I am missing something. Any help will be appreciated.
I am new to this so if I need to share any additional information kindly let me know.
Thanks.
Hey guys, somehow I used my real ID(not sandbox test ID) to purchase a non-consumable item in the TestFlight package, no actual payment was made, but this payment record cannot be erased. Even though I know the transaction ID, I cannot initiate a refund like using refundRequestSheet().
Does anyone know how to deal with this, or there is no way to solve it?
I’m testing auto-renewable subscription purchases in the sandbox environment.
When I buy a subscription package using a sandbox test user, I don’t receive any App Store Server Notifications from the sandbox.
However, when I use the “Request Test Notification” option in App Store Connect, the notification is received successfully.
My sandbox server notification URL is configured correctly and publicly accessible.
I also call finishTransaction() after purchase, and the receipt is verified successfully with the sandbox verification endpoint.
To further debug, I used the getNotificationHistory API to fetch notifications for yesterday and today (Nov 3–4, 2025).
Apple’s API response does not include any notifications or transaction IDs for my today’s purchases (Nov 4, 2025) — even though I can confirm from logs that those transactions were completed and verified successfully.
It looks like sandbox purchase notifications are not being sent or logged, even though test notifications work fine.
Could someone from Apple please confirm if there’s currently an issue with sandbox server notifications for auto-renewable subscriptions?
Topic:
App & System Services
SubTopic:
StoreKit
Tags:
Subscriptions
App Store Connect
In-App Purchase
Hello Apple Developer Community,
We are currently facing an authentication issue when calling the App Store Server API for subscription validation. Despite following Apple’s documentation and verifying all credentials, we consistently receive a NOT_AUTHORIZED error response.
GET https://api.storekit-sandbox.itunes.apple.com/inApps/v1/transactions/appTransactions/{transactionId}
Environment:
Sandbox and Production (both tested, same result)
Our Setup:
Key ID: {Your Key ID}
Issuer ID: {Your Issuer ID}
Bundle ID: {Your Bundle ID}
JWT Header:
{
"alg": "ES256",
"kid": ""
}
JWT Payload:
{
"iss": "",
"iat": ,
"exp": <timestamp + 5 minutes>,
"aud": "appstoreconnect-v1",
"bid": ""
}
Authorization Header:
Authorization: Bearer
Troubleshooting Steps Already Taken:
Verified that .p8 key, Key ID, Issuer ID, and Bundle ID are all correctly configured and match the App Store Connect details.
Confirmed that the system clock is accurate (UTC).
Used appropriate endpoint (sandbox or production) based on environment.
Ensured that the JWT is short-lived (under 5 minutes).
Added the “Bearer” prefix correctly in the header.
Tested JWT generations using Python.
Issue:
All requests return:
{
"errorCode": "NOT_AUTHORIZED"
}
Questions:
Are there any additional claims or headers required for the subscriptions endpoint?
Are there specific permissions or roles needed for the API key in App Store Connect?
Is there a way to get more detailed logs or diagnostics for this NOT_AUTHORIZED response?
Does the App Store Server API require a different aud or bid structure for certain endpoints?
We already contacted Apple Developer Support, but they suggested posting here for engineering-level guidance.
Any insight or examples of a working JWT + request for this endpoint would be greatly appreciated.
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect API
Tags:
StoreKit
In-App Purchase
App Store Server API
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."
}
Topic:
App & System Services
SubTopic:
StoreKit
Tags:
Subscriptions
In-App Purchase
App Store Server API
Advanced Commerce API
I registered in this summer, uploaded 2 apps. But recently I decided to add iAP to my apps, everything is ready, in Xcode sandbox everything works fine, but when I uploaded new version to TestFlight to test, when I tap on the subscription it says something like "Product not found". (I have added subscriptions to the app, and added them to the version before submitting, also, this version is in status "awaiting developer release" so I can tap a button and this new version with iAPs will be on App Store. But im unsure what to do, because exactly this verified by Apple's version is not working in TestFlight.)
In Business section of my Apple Developer Account in Agreements I only have agreement of free apps, but not about the paid apps.
When I registered I used my (R)(us)sian passport, I think this is the reason that I simply don't even have the agreement of paid apps to accept it.
I have multiple passports, and multiple EU debit cards. I emailed apple to change the location of my account (to another EU country), but they ghosted me. They sent me emails to upload documents about 4 or 5 times, every time I uploaded my another passport, got an auto email "thank you, we will write you in 2-3 days", but either they did not write me, or they said that the document is not in English (it isn't).
What do I do?
Also, to my situation, someone of my family has a company in (R)(us)sia, and I have in EU (Estonia). Maybe if nothing will work out with "Individual account", I should change to my company? And what is better EU or (R)(us)sian?
Im new to this community, hope to hear an answer, or just an advice. Thank you!
Topic:
Business & Education
SubTopic:
General
Tags:
App Store Connect
In-App Purchase
Business and Enterprise
Developer Program
I've been testing the offer code feature for my non consumable in app purchase using a sandbox account, with sandbox offer codes and in the sandbox environment. However, the codes don't appear to work despite everything being in the sandbox.
Any idea what I'm missing?
Hi, I found In-App purchase feature is restricted even with User-based VPP.
I understand Device-based VPP does not accept In-App purchase, however User-based VPP accept In-App purchase. (It works on iOS 15 device actually.)
When I tried subscribe ChatGPT on iOS 26 device using User-based VPP, an error dialog is shown that explains In-App purchase is not allowed.
sysdiagnose shows logs belog:
情報 2025-10-26 23:58:22.350841 -0700 storekitd [Client] (ChatGPT) Initializing client
デフォルト 2025-10-26 23:58:22.353982 -0700 storekitd [Client] (ChatGPT) Initialized with server Production bundle ID com.openai.chat and request bundle ID com.openai.chat]
デフォルト 2025-10-26 23:58:22.354020 -0700 storekitd [CanMakePayments] In-app purchase disabled because app com.openai.chat has MID based SINF
In iOS 15 device, no storekitd logs are found and appstored and several processes seem to handle In-App purchase.
Does In-App purchase no longer work with User-based VPP?
Thank you.
Hi, I can't get into "manage" sandbox account. I either get to a screen to put my password in. Here there is no way to click "next" or "login". (I have tried pressing "enter" on my keyboard to no effect). Or I get directly into "Cannot Connect" page. I have tried this two days in a row. I have tried turning it off and on again. I have tried logging out and in.
Device: iPhone 13 pro max, iOS: 16.0.3 (also tried the version before this)
Hello Apple Support Team,
We are currently experiencing a critical business issue caused by a sudden performance degradation in the App Store Connect API. This problem is blocking key parts of our production systems at wappier Optimizing game performance - website: https://wappier.com/
Since October 15, requests to the following endpoint have been taking extremely long to complete when fetching more than approximately 200 in-app purchase items. In many cases, these requests never complete even after several hours, making it impossible for us to retrieve all required data.
Endpoint:
https://api.appstoreconnect.apple.com/v1/apps/1252850847/inAppPurchasesV2
Parameters:
{
"include": "appStoreReviewScreenshot,inAppPurchaseLocalizations",
"cursor": "Jd6I",
"limit": "200"
}
We confirm that:
This behavior started suddenly on October 15.
No changes were made on our end.
We found no corresponding updates or API change announcements in your release notes.
Requests for fewer than 200 in-app products continue to perform normally.
This issue is blocking our operations, as our systems depend on timely responses from this endpoint for in-app purchase data synchronization.
We kindly ask your team to investigate this issue urgently and provide us guidance, and if possible, revert any recent change introduced around October 15 that could have impacted this endpoint’s performance.
Thank you very much for your prompt attention and support.
wappier Dev Team
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect API
Tags:
In-App Purchase
App Store Server API
Hello all,
I am new to implementing payments in an app, and thus completely at sea here.
I have created a small app that I have set a one-time (non-consumable) payment for a premium version.
In the Xcode simulator (on all platforms) and on any physical test devices I have tried, the payment works as expected. I have a sandbox account and various test accounts, both dummy and actual real accounts (friends and family). Everywhere everything works perfectly fine.
Yet, when I submit for review I get a rejection with this contents:
We found that your in-app purchase products exhibited one or more bugs which create a poor user experience. Specifically, the app still failed to load the in-app purchase. Please review the details and resources below and complete the next steps.
Review device details:
Device type: iPad Air (5th generation)
OS version: iPadOS 18.6
Next Steps
When validating receipts on your server, your server needs to be able to handle a production-signed app getting its receipts from Apple’s test environment. The recommended approach is for your production server to always validate receipts against the production App Store first. If validation fails with the error code "Sandbox receipt used in production," you should validate against the test environment instead.
Additionally, note that the Account Holder must accept the Paid Apps Agreement in the Business section of App Store Connect before paid in-app purchases will function.
Resources
Learn how to set up and test in-app purchase products in >the sandbox environment.
Learn more about validating receipts with the App Store.
Steps I have done:
I have signed all agreements and all bank account details are in order. Everything in the In-app-purchases section of the AppStoreConnect in an Active state.
I have triple checked that the configuration of the in-app purchases is correct (product IDs, amounts, etc.)
I have created test accounts and tested in sandbox
What I don't understand from the reviewer's response is what receipts validation are they talking about? I have no payment servers (the whole concept of using Apple's in-app-purchases service is to not have to deal with my own payment implementation). The StoreKit documentation specifically reads:
For each transaction that represents a current purchase, your app delivers the purchased products. To validate purchases, you can verify transactions on your server, or rely on StoreKit’s verification.
So now I am confused. The reviewer's response is so vague, and so completely deprived of details that I have no idea what to do...
Does the problem concern the product purchase trigger and the that in production environment it does not trigger?
Is it that I haven't implemented a receipt validation? Do I need to? Although the documentation mentions that it can be done by StoreKit, I couldn't find anything concerning how to do it :(
Can someone give me a hand please?
Cheers,
Alex
Hello everyone,
I want to remove subscriptions from review to publish my app without any subscriptions. But I'm unable to do so - they are stuck in "in review" status and I can't change it. What should I do?
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!
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!
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?
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!
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!
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Tags:
Subscriptions
In-App Purchase
App Submission
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
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