Subscriptions

RSS for tag

Give users access to content, services, or premium features in your app on an ongoing basis with subscriptions, a type of in-app purchase.

Posts under Subscriptions tag

200 Posts

Post

Replies

Boosts

Views

Activity

Getting null data from App Store Server Notification
Hello Apple Support Team, We are using auto-renew plans in our app We have set the webhook URL in our App Store Connect account to get the Store server notification to get the auto renew data for an user The issue is when a user purchases any auto-renew plan at the auto-renew time, we are getting null data from the Apple side. We have printed the log's data to check what data are coming from the Apple webhook. we have attached our logs data please check it and let me know what can we do to resolve this
1
0
98
Jun ’25
The property Product.displayPrice does not display the correct price
Hi, I'm new to AppStore Connect, and I'm learning how subscriptions work. I'm finalizing my first app, but on my TF, I'm having some issues with the price: it's always displayed in US dollars on my paywall. When I tap "subscribe," the Apple sheet correctly offers the price in euros. I'm using Product.displayPrice to display the price in my paywall. The documentation did mention it is The localized string representation of the product price, suitable for display. So, is it normal in my case for the price in dollars to be displayed and not the price in euros like the Apple sheet? Thank you in advance for your help.
1
0
90
Jun ’25
IAP Requirement Blocks 98% of Nigerian Users Due to Card Restrictions
Hi Apple Team, I'm a Nigerian developer building an app for local users, and I’m facing a major challenge: Due to CBN regulations, most Nigerian cards can’t make international payments and do not support Dynamic currency conversion, which means In-App Purchases (IAP) don’t work for most Nigerians. My app involves real-world services with external rewards and users would have to subscribe to be members, yet it’s unclear whether IAP is still mandatory. If I am forced to use IAP, most Nigerian users simply can’t pay, and I lose nearly all revenue. Questions: Can developers targeting Nigeria use local gateways like Paystack or Flutterwave instead of IAP ? Will Apple provide alternatives or guidance for regions where IAP is effectively unusable? This is a critical issue for many local developers. I’d appreciate any official clarification. Thanks, Joseph (Nigerian Developer)
0
0
92
Jun ’25
Subscription issue
I have created an app and for the final stage i added subscription feature. This works great in testflight, but not when i push out to external testers. I set up what i needed to in apple store connect (i must have done it right as it works in testflight), and i linked it to th emost recent version. Nothing I do seems to get the sub info to display and pull through to the app in the sub box when selected. No price and the usual stuff. I was told send for review. Failed the review and im working on that but something tell sme this is a glitch athat needs fixed on my account maybe. Can anyone help please
1
0
105
Jun ’25
“In-App Purchases and Subscriptions” section on the version page not showing
I’m trying to submit my app for review, but I’m currently blocked due to a recurring issue with in-app subscriptions. Both of my auto-renewable subscriptions (premium_monthly and premium_yearly) are marked as “Waiting for Review”. However, I am still seeing the blue box stating that “your first subscription must be submitted with a new app version.” Despite creating a new version (1.0.1) and uploading/selecting a new build , I am not seeing the “In-App Purchases and Subscriptions” section on the version page, and I therefore cannot link the subscriptions before submitting. This issue is blocking my ability to submit the app for review. Any help to resolve this would be greatly appreciated.
2
0
121
Jun ’25
Receipt Validation Failing with Status 21002 in Sandbox – Valid Receipt from purchaseUpdatedListener.
Hi Apple Developer Support, We're currently implementing auto-renewable subscriptions in a React Native app using the react-native-iap library. The subscription purchases are working as expected in Sandbox. We receive the transaction and purchaseUpdatedListener gives us a valid-looking transactionReceipt However, when we attempt to validate this receipt with Apple's servers, the response consistently returns status code 21002, indicating that the receipt data is either malformed or missing. We’ve confirmed the receipt is well-formed, properly passed as received, and well above the minimum size expected. The shared secret is correctly configured and matches the subscription group. We're using the correct sandbox endpoint and ensuring no modification is done to the receipt before validation. Despite this, validation fails every time. We are looking for guidance or clarification on what might cause this status, especially when the receipt is coming directly from the system after a successful test purchase. const purchaseUpdateSub = purchaseUpdatedListener(async (purchase) => { console.log("🛒 Purchase Updated:", purchase); const receipt = purchase.transactionReceipt; if (!receipt) { Alert.alert("Error", "No receipt found."); setLoading(false); return; } }); the response is: { "status": 21002 } Any guidance on why this might be happening would be appreciated. Thanks!
1
0
102
Jun ’25
How to link subscription to a build?
Hello everyone The in-app subscription / purchase aren't loading in the version of my app that I'm submitting onto App Store Connect. Locally, I use StoreKit config to test/develop my app. I already have my subscription groups and legal stuff set up properly. However, when I goto my subscription group, a blue notice says Your first subscription must be submitted with a new app version. Create your subscription, then select it from the app’s In-App Purchases and Subscriptions section on the version page before submitting the version to App Review. Once your binary has been uploaded and your first subscription has been submitted for review, additional subscriptions can be submitted from the Subscriptions section. Learn More But when I goto Appstore Connect -> Apps -> the app I'm working on -> iOS -> Version 1.0 Prepare for Submission, I can't find any section regarding "In-App Purchases and Subscriptions". I also can't find it after going into the build by clicking on the build number(there's only Test Information and Build Metadata)
1
1
112
Jun ’25
Unable to test in-app purchase integration
We are trying to implement / test in-app purchase for our subscription purchase in the app. We have done all the steps listed in the documentation on apple's website; and Our subscription plan is sitting in 'Ready to Submit' state. However, we are getting an empty response from, final response = await _iap.queryProductDetails({'com.company.xyz.basic1m'}); debugPrint(" Check: ${response.toString()}"); debugPrint("❌ Responses: ${response.productDetails.map((ProductDetailsResponse)=>ProductDetailsResponse.toString()).toList()}"); debugPrint("❌ Responses: ${response.productDetails.length}"); if (response.notFoundIDs.isNotEmpty) { debugPrint("❌ Not found: ${response.notFoundIDs}"); } else if (response.productDetails.isNotEmpty) { debugPrint("✅ Product loaded: ${response.productDetails.first.title}"); } The response we get is, flutter: Check: Instance of 'ProductDetailsResponse' flutter: ❌ Responses: [] flutter: ❌ Responses: 0 flutter: ❌ Not found: [com.company.xyz.basic1m] Note: We are testing with a real device iphone 13 mini via Xcode. We tried to test using, ''com.apple.test.Subscription1.monthly'', as instructed but we have not been successful with that. And seems like (based on online search), it doesn't work all the time. We also searched online for a solution, and some of the forums suggest that we have to submit the app for review when adding subscription for the first time. It doesn't mention the same that in the apple documentation. It confusing. Help and guidance in this regard would be really appreciated.
1
0
142
Jun ’25
Asked to modify Subscription name/description but they are locked In Review
I am stuck. Apple asked me to modify the Name/Description of one of my Subscriptions. But the subscription is "In Review" and everything (including the save button) is disabled. It's lierally impossible for me to update the Name/Description like they are asking for. I have tried rejecting my submission but they are still locked. I have asked Apple Review for help - like changing the status so that I can edit them but they won't. I can't get out of review until I modify the Name/Description of a Subscription but I can't update the Name/Description of a Subscription until I'm out of review. HELP!! 😭
1
0
125
Jun ’25
Inconsistent behavior with transactionId and appAccountToken in iOS Sandbox purchases (StoreKit1 & StoreKit2)
Hi, I'm reaching out to report a recurring issue with in-app purchases on iOS that seems to be related to Apple’s transaction handling — not to third-party libraries. In my Flutter application, I use both StoreKit2 and StoreKit1 (for comparison) via different packages, including the official in_app_purchase package. However, in both cases, I’m experiencing unexpected reuse of transactionId and appTransactionId values, even when initiating fresh purchases with unique appAccountToken values. Problem Summary: Purchase Stream Returns Old Purchases When calling buyNonConsumable() with a new product, the purchase stream still returns data for a previously purchased product, despite clearing all Sandbox transactions and using a new applicationUserName for each attempt. Transaction IDs Reused Across Distinct Purchases Even when generating a new UUID for appAccountToken on each purchase, the returned appTransactionId and transactionId are reused — this breaks our server-side logic, which expects these fields to uniquely identify purchases and users. Example Logs: // First purchase { "appAccountToken": "2d5a0880-f68e-44a7-a414-f51204e63904", "appTransactionId": "704464472748013865", "transactionId": "2000000928154716" } // Second purchase (different user context) { "appAccountToken": "2d5a0880-f68e-44a7-a414-f51204e63904", "appTransactionId": "704464472748013865", "transactionId": "2000000928429780" } Even when using a different productId, the appTransactionId stays the same. When using StoreKit1, the productId updates properly, but the transactionId still matches the previous one. This behavior also affects App Store Server Notifications (V2): we have observed notifications tied to appAccountTokens from completely different user accounts (based on internal logs), sometimes delayed by days or weeks. I’ve prepared a reproducible example using the official Flutter in_app_purchase sample with minimal changes — you can find it here: Github gist The code is almost identical to the package example. I only added UUID generation for applicationUserName in _getToken(). In the actual app (not in this example), I retrieve the token from an API. Additional Observations from the Community: We’ve also found similar issues reported in other frameworks and languages. For instance, a developer using react-native-iap observed that App Store Server Notifications in TestFlight were tied to previously deleted users, even after signing up with a new user account and generating a new appAccountToken. Details here: User A deleted → User B signs up → receives upgrade event with User A’s token Notification uses appAccountToken from old account, not the new one This strengthens the suspicion that the issue may be related to how Apple associates transactions with Apple IDs in test environments. Questions: Is it expected for transactionId or appTransactionId to persist across purchases within the same Apple ID, even for different user contexts (e.g., separate logins in the same app)? Is there any official recommendation for avoiding this kind of data reuse in Sandbox or TestFlight environments? Should I expect appAccountToken in server notifications to always match the latest value provided during the purchase? Thank you in advance for your assistance. I would appreciate any clarification or advice regarding this issue, as it impacts production logic that relies on these identifiers being unique and consistent.
1
1
195
Jun ’25
Generic Apple Billing Descriptor
Hello, why Apple use a generic billing descriptor for charges (e.g., "APPLE.COM/BILL", "APL*APPLE"), which does not include the app name? As a result, unexperienced users associate any Apple charge on their bank statement with our app, even if it's a charge from another app or service they’ve used. This is leading to: Confusion and mistrust from our users An increase in wrongful refund requests Support burden for an issue outside of our control We kindly request Apple to consider including the app name in the billing descriptor (like Google Play does). We understand Apple manages all billing, but the current setup causes confusion that unfairly impacts our app’s reputation and support load. Thank you
0
0
123
Jun ’25
How can I integrate Apple Pay subscription products?
We have used the ApplePayRecurringRequest parameter required for Apple Pay subscriptions, but during testing the payment, the Apple Pay payment page shown to the user remains the same as the one-time payment page, without any subscription information. Could you please check if there is an issue with our parameters or if there is an issue with the merchantIdentifier being used? Here is the ApplePayRequestData that we are using. { "supportedMethods": "https://apple.com/apple-pay", "data": { "version": 3, "merchantIdentifier": "***", "merchantCapabilities": [ "supports3DS", "supportsCredit", "supportsDebit" ], "supportedNetworks": [ "visa", "masterCard" ], "countryCode": "US", "recurringPaymentRequest": { "paymentDescription": "A description of the recurring payment to display to the user in the payment sheet.", "regularBilling": { "label": "Recurring", "amount": "4.99", "paymentTiming": "recurring", "recurringPaymentStartDate": "2025-06-02T16:00:00.000Z" }, "trialBilling": { "label": "7 Day Trial", "amount": "0.00", "paymentTiming": "recurring", "recurringPaymentEndDate": "2025-06-02T16:00:00.000Z" }, "billingAgreement": "A localized billing agreement displayed to the user in the payment sheet prior to the payment authorization.", "managementURL": "https://applepaydemo.apple.com", "tokenNotificationURL": "https://applepaydemo.apple.com" }, "additionalLineItems": [ { "label": "7 Day Trial", "amount": "0.00", "paymentTiming": "recurring", "recurringPaymentEndDate": "2025-06-02T16:00:00.000Z" }, { "label": "Recurring", "amount": "4.99", "paymentTiming": "recurring", "recurringPaymentStartDate": "2025-06-02T16:00:00.000Z" } ] }
0
0
64
Jun ’25
manage subscription visibility and availability in App Store Connect
Hi all, We currently offer 12 auto-renewable subscription plans on the App Store. We’re looking to remove (delist) a few of these subscriptions so they are no longer visible or available for purchase by new users — but we want to ensure existing subscribers can continue renewing without any issues. To clarify: We are not changing the subscription type or pricing. There are no in-app code changes involved. This is purely about managing subscription visibility and availability in App Store Connect. Can anyone confirm: Is it possible to hide specific subscription products from new users while keeping them active for current subscribers? What are the exact steps in App Store Connect to do this? Thanks in advance for the guidance!
0
0
92
Jun ’25
Privacy Policy and Terms of Use Links in Binary
Hello, Can anyone help me with the below? I've been sent the below bolded, italicized message three time in a row now with no further explanation. _**Please note that links are required to be included in both of the metadata and the binary. We noticed that your app binary is still missing: A functional link to your privacy policy A functional link to your Terms of Use This information is required for apps which include auto-renewable subscriptions.**_ My reviewer initially instructed me to include my terms of use link in my app description (as my privacy policy was already displayed). I followed that instruction and that subsequently started the persistence of the bolded, italicized message. For full context, the links are in my app description and on my paywall inside of the app itself. I need help and clarity on what I'm missing so I can get the app approved. Also, if anyone knows any alternative ways of allowing users to purchase a subscription within the app that Apple allows - I would appreciate that information, as it seems this process is too complicated for me.
0
1
141
Jun ’25
In App Purchase
I’m facing an issue with In-App Purchases. I’ve completed the setup successfully. I logged in with User A's Apple account on an iPhone and completed a purchase. After that, I logged in with User B's account on the same iPhone. When I try to make the same purchase, I get the following error: “Purchase is a duplicate and will not be reported.” Because the purchase was already made using User A’s Apple ID, I’m unable to make the same purchase again using User B’s account on the same device. Could you please guide me on how to handle this situation?
5
0
167
Jun ’25
Unable to add banking information
Can't add banking info in App Store Connect - getting 400 error when searching for any bank in any country. Steps: App Store Connect → Banking setup Search any bank, any country "We could not find banks matching criteria" + 400 error in dev tools Tried: Multiple browsers/incognito Different countries Clear cache This is blocking my Paid Apps Agreement (shows "Pending User Info") and my app review for in-app purchases. Anyone else having this issue? Any workarounds? Thanks!
4
3
166
Jun ’25
Unable to Renew Developer Membership
This really shouldn't be this difficult. Here's the situation: We had a card linked to our Apple Developer account, which expired. It had already seen 2 successful membership purchases. We had auto-renewal turned on for the membership, which failed due to the expired card. I was unable to capture new payment details for about 2 days (battling with various Apple payment pages to get the new card added). But finally managed to do so. Now, there is no way to disable auto-renewal, and no way to trigger renewal. The membership is in expired status. We can't post updates, we can't take apps live. We have several clients eagerly awaiting publication of their apps. And Apple Support has been silent for over two weeks despite numerous requests. Anyone have any idea how to resolve this? I've tried almost every option described on every forum post.
0
0
120
Jun ’25
Subscription allowed
we want to launch a new app with subscriptions. our first 2 reviews were rejected because these subscriptions were through stripe. The review told us that we should make part of our app available for free. However we would like to keep our existing business model. Can we solve this by removing stripe and switching to in-app purchases from apple? We want to put our entire app behind a pay wall but allow the user to learn all the features through a 7 day trial period. thanks for your advice
1
0
113
Jun ’25
SubscriptionStoreView not showing free trial offer in release build
I'm using the SwiftUI view SubscriptionStoreView (https://developer.apple.com/documentation/storekit/subscriptionstoreview/) with a subscription group that has 2 subscriptions. I set up a free trial offer in App Store Connect (https://developer.apple.com/help/app-store-connect/manage-subscriptions/set-up-introductory-offers-for-auto-renewable-subscriptions/). The storekit file in Xcode is synced with the App Store. In debug build, this works and appears correctly, showing the free trial offer: But in release build, the free trial offer is not shown: The code is very simple: SubscriptionStoreView(productIDs: [ "[PRODUCT ID FOR ANNUAL SUBSCRIPTION]", "[PRODUCT ID FOR BIMONTHLY SUBSCRIPTION]" ]) Does anyone have a solution? Thank you. (Xcode 16.3, macOS 15.5, iOS 18.5)
0
0
107
May ’25