Hi,
Help!!
So I was in Thailand for a number of years and developed an app over there and signed up as a developer over there. But now I'm in the USA indefinitely and I'm unable to change my payment method. How can I change it?
I called the USA support line twice and no one was able to help me. I tried the Thailand phone number and I'm unable to call from the USA.
Any suggestions?
Thanks!!
Subscriptions
RSS for tagGive 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
Sort by:
Post
Replies
Boosts
Views
Activity
This question is about In-App Purchase.
This is an inquiry from one of our customers.
We have set up a free trial. This is your first time using the service, but you have stated that you have been charged.
Document.
https://developer.apple.com/documentation/appstorereceipts/is_trial_period
「You can use this value to determine whether the specific record is in a subscription trial period. If a previous subscription period in the receipt has the value "true" for either the is_trial_period or is_in_intro_offer_period keys, the user is not eligible for a free trial or introductory price within that subscription group.」
Our expectation is that is_trial_period is true.
Receipt is not contain is_trial_period : true or is_in_intro_offer_period : true.
Only one case has occurred. Other customers are no problem.
Hello,
I'm trying to create a subscription for one of my apps.
When I specify the Product ID yearly_3, I get the following error message: The Product ID you entered is already being used by another subscription.
This app does not have any other subscriptions with this Product ID.
But I have another app with a yearly_3 Product ID.
According to the official documentation, the Product ID is A unique ID specific to your app. So I thought it was possible to have the same Product ID between apps, but not for the same app.
What's the rule here?
Thanks,
Axel
I am the Lead iOS Developer for The Incc, an upcoming social networking application. The platform offers subscriptions that grant users access to premium content, primarily digital magazines showcasing diverse cultures, alongside standard social media features and additional unique functionalities.
I am exploring two specific use cases for our subscription model.
Promo Codes with Split Payments:
We plan to collaborate with the our influencers (referred to as Mover Shakers) by providing them with promo codes for users to purchase subscriptions. For such purchases, we aim to implement a revenue split model, allocating 10% to the influencer and the remainder to us after Apple’s fees.
Gifting Subscriptions:
We also wish to enable users to gift subscriptions to others within the app.
I understand that the Apple Subscription Service does not natively support these features.
What other options do we have to achieve this that are also not against the Apple's guidelines.
Hello, Apple App Store Server API Team!
I have one questions about the identifiers provided by Apple App Store Server API. Could you please answer?
We are running an iOS App. In our app, the transactionId we get from Apple App Store Server API is called T1. (Example)
Q1. Is it correct that other iOS apps cannot get T1 for transactionId from Apple App Store Server API? (I'm wondering if the transactionId is globally unique across apps.)
Thank you!
Hi,
I launched and released my app in the App Store after first App build is approved. But its subscriptions are still in the status of Pending Binary Approval. So currently in my App subscription is empty. Is this normal to wail a bit? or should i do something asap. It's very strange for users to see no subscription options in a launched App I think.
I'm using Transaction.environment to determine server behavior.
https://developer.apple.com/documentation/storekit/apptransaction/environment
https://developer.apple.com/documentation/storekit/appstore/environment
I gather this information on the app using StoreKit and then send it to the server:
originalTransactionId = transaction.originalID
originalTransactionEnvironment = transaction.environment
When testing within Xcode, on a simulator, the value sent to the server for originalTransactionEnvironment is Xcode - as expected.
When testing on a device using a TestFlight build, the value sent to the server for originalTransactionEnvironment is undefined/nil. I expected it to be Sandbox - and later in production it should be Production.
Most importantly, the value sent to the server for originalTransactionId in the TestFlight version is not undefined/nil - it is the value I expected it would be. The transaction was originally for a subscription purchase, if that makes a difference.
So the transaction is available, and information like originalID is also available. Why is transaction.environment not available? What is the behavior in production?
I want to create offer code for my Vision app, but I didn't find that option in Apple Connect subscription price page. And when I check that from my iPhone app page, I saw the offer code description "Codes for discounted prices or free offers are unique alphanumeric codes that can be easily distributed using physical or digital channels for your iOS app and macOS app. Your customers can redeem them on devices running iOS 14, iPadOS 14, macOS 15 or later through the App Store redemption flow or within the app if you've implemented the presentCodeRedemptionSheet StoreKit API. You can create codes for up to 10 active offers at a time."
It doesn't mentioned VisionOS, so can I set offer code for my Vision app?
So, we've implemented IAP with StoreKit2 e2e for both the client and backend and it's working mostly perfectly, however we have an issue which we can't seem to understand Apple's behavior.
So, imagine a purchase that occurred on the 10th of December in the sandbox environment through an install from TestFlight, and this same purchase keeps getting queued in the Transaction.unfinished list for some reason (today, the 17th of December, a whole week after the initial purchase!).
Here's the flow:
We iterate the list on app launch
Send the unfinishedTransaction's transactionId to our servers
The server says "hey, we could verify it with Apple but it's not longer active (expired). We can't really work with it so just finish it on your side and don't send it to me again"
The client finishes!! the transaction
On the very next app launch it keeps reappearing in the Transaction.unfinished queue
Are we doing something wrong, why doesn't it get cleaned? Is this an expected behavior?
Note, this is generally the server's logic for new purchases:
If we weren't able to contact Apple - we tell the client to not finish the transaction so that we'll be able to re-iterate it on the next app launch or retry
If the transaction is not expired and valid - we update our records and tell the client to finish the transaction
If we couldn't update our records - we tell the client to not finish the transaction so that we'll be able to re-iterate it on the next app launch or retry
If the transaction is not valid for some reason - we tell the user to finish the transaction
The server might see it as a valid transaction if we'll send the originalTransactionId instead of the 'transactionId(using it to callgetTransactionInfoinAppStoreServerLibrary`), but is this something we want to do?
This will obviously not fix the problem because the server tells the client to finish the transaction anyways, but it simply doesn't work.
Please, any advice or changes to make to either Client/Server would be greatly appreciated
Best Regards, Ofek
I added auto renewable subscriptions to my app. First submission of IAPs require a new build along with it. I tested everything locally through the .storekit file. Everything worked perfectly so I submitted it for review.
The moment I did so, StoreKit.Product.products(for:) stops returning the products. If I click on the "Sync" button on .storekit now the pre-existing subscriptions disappear. Apple reviews the build and states that there are no subscription options visible.
Also in "Prepare for submission" phase, IAP & Subscriptions section disappears so one can no longer add them to the next builds.
I have tried to explain this 7 times (with new version submissions) through App Review Comments. It looks like nobody reads the responses. I tried adding the issue as a note, screenshot, video in different parts of the submission. They are entirely ignored. I sent 3 support request none of which have resulted in a response. I tried setting up a 1 on 1 call with Apple and it got rejected.
This issue has been reported by other people in this forum and others with no solutions provided.
I am completely out of options at this point. If I and others are indeed right to think that there is a bug in App Store Connect on the specific scenario with first time IAP review submissions where the first build is rejected by developer's fault, it bugs out with subscriptions.
My app's success entirely depends on this as I can't monetise it and I am in Apple Developer Program which means I am subscribing to this service. Can someone from Apple Team, please respond to this specific issue on whichever medium chosen. I am completely blocked and in dire need of help.
Thanks for your understanding.
I have an Apple subscription with a 2-week introductory offer and a 3-month promotional offer code. There are 2 subscription plans:
1-month subscription
12-month subscription
For the 1-month plan, my promotional offer code is "Monthly_Free," and for the 12-month plan, my promotional offer code is "Yearly_Free." However, when users try to enter the respective promo codes for the 1-month or 12-month plans, they receive the following error:
"Offer not available. Your account is not eligible for this offer. You can still subscribe at the regular plan price."
This works fine in the sandbox account, where I can use the promo codes as many times as needed, switching between the 1-month and 12-month plans easily. What could be the issue here?
I’m curious if Siri can help me improve my overall health, specifically with goals like losing weight. I’m not a programmer or very technical, so I’d love simple explanations or step-by-step instructions.
Here’s what I’d like to know:
Can Siri provide personalized health tips or reminders to help with weight loss (e.g., drinking water, exercising, or meal tracking)?
How can I use Siri to set up routines or shortcuts that integrate with the Apple Health app?
Are there any specific commands or features that make it easier to track progress, like logging meals or checking daily step counts?
I’m looking for practical ways to use Siri as a health companion without needing to dive into complex setups. Any advice would be greatly appreciated!
So I ran a promo for my app that got me 30k downloads or so. The app was free for a day and so it got lots of "purchases". There were two errors from StoreKit2 that I can't explain (I'll detail the other one in another post)
This one:
StoreKit.StoreKitError.systemError(Error Domain=NSCocoaErrorDomain Code=4097 "connection to service with pid 19497 named com.apple.storekitd" UserInfo={NSDebugDescription=connection to service with pid 19497 named com.apple.storekitd}
There are various theories online that the display name of the purchase could be an issue.
Another was that this indicates that this indicates that a helper process has crashed.
Generally my guidance was to restart the device and that seemed to resolve it for most if not everyone. But not everyone reached out and it rained bad reviews and I was accused of a bait and switch and so on.
Is there any way to mitigate this? Any way to address it? It doesn't happen for everyone but it happens very frequently still.
I am using RevenueCat to dynamically show subscriptions using experiments.
I'm doing this to experiment with price and wording on the paywall.
However, apple is rejecting this because they can't find all the subscriptions. However it's literally not possible for a user to see them all. I tried explaining this in my first rejection but they rejected it again. Any ideas?
Guideline 2.1 - Information Needed
We have started the review of your app, but we are not able to continue because we cannot locate the in-app purchases within your app at this time.
Specifically, out of 9 only 3 were found during the review.
Next Steps
To help us proceed with the review of your app, please reply to this message providing the steps for locating the in-app purchases in your app.
Note that in-app purchases are reviewed in an Apple-provided sandbox environment. Make sure they have been appropriately configured for review in the Apple-provided sandbox environment.
If you are restricting access to in-app purchases based on factors such as storefront or device configurations, please include this information in your reply along with steps to enable the in-app purchases for our review.
Resources
Learn more about offering in-app purchases.
Learn more about testing in sandbox.
Support
Reply to this message in your preferred language if you need assistance. If you need additional support, use the Contact Us module.
Consult with fellow developers and Apple engineers on the Apple Developer Forums.
Provide feedback on this message and your review experience by completing a short survey.
Reply to App Review
I'm trying to follow the instructions from https://developer.apple.com/help/app-store-connect/manage-submissions-to-app-review/submit-for-review's "Submit an in-app purchase for the first time" section. However, I can't get the “Add In-App Purchases or Subscriptions” dialog to open - there isn't a clickable link in the In-App Purchases and Subscriptions section.
My IAPs seem to be set up properly, they're all in the "Ready to Submit" state.
Hi, i have my mispelled my name and cannot change it in any way. My simple Apple account is show ok but developer account is shown wrong. I think this makes my previous enrollments invalid as my name cannot be checked. How can i fix this?
My submission was rejected because (among other reasons) of this:
"Guideline 2.1 - Performance - App Completeness
We found that your in-app purchase products exhibited one or more bugs which create a poor user experience. Specifically, your app did not load its content and the activity indicator spun indefinitely in subscription page. Please review the details and resources below and complete the next steps."
The issue here is that I use SubscriptionStoreView. The screenshot that the review team attached shows a loading spinner with a text "Loading subscription" - that view is already part of SubscriptionStoreView.
The problem here is how to prevent rejections like this. By using SubscriptionStoreView we get convenience because a lot of things are handled automatically, but there is no way to force reload and there are no callbacks in case loading of products breaks.
What is the recommended solution, except for not using SubscriptionStoreView and making a custom view?
It feels kind of stupid to have your app rejected because one of the Apple provided views malfunctions.
Hi everyone,
I have a question about subscription upgrades and refunds for an app that offers two options:
Premium Yearly - $99.99/year (level 1)
Premium Monthly - $9.99/month (level 2)
If a user has been on the Premium Monthly plan for 11 months (totaling $109.89) and then upgrades to the Premium Yearly plan ($99.99/year), how would the refund/credit work in this situation?
Would the user receive:
A $9.99 credit (difference between $109.89 paid and $99.99 for yearly)?
No credit at all?
I am somewhat of a beginner in mobile app development. I have some questions about IAP and commissions. One of my clients has a website that basically acts as the middle man which connects the trainers and participants. Basically, the trainers pay my client a subscription fee and they can list the kind of trainings they have to offer (ex. cardio, weight lifting, ...etc.). These trainings can be one-to-one, one-to-many, or one-to-few depending on the trainers. When the participants see something that they like, they would make a payment directly to the trainers via the website. To save time, we will probably do some kind of webview app. Having said all these, my questions are as follows,
As far as the IAP is concerned, can the payments between the trainers and the participants use third party payment method and ONLY the subscription fee from the trainers to the client use the storeKit/Apple IAP plugin?
If the answer to the question above is Yes (i.e. using Apple IAP for subscription only but use a third party payment for the transactions between the trainers and the participants), does it mean that the commissions ONLY apply on the subscription fees and NOT the payments between the trainers and the participants?
If the answer to Question 1 is No (i.e. ALL the payments have to go through Apple IAP), the commissions would apply to both the payments between the trainers and the participants and the monthly subscription payments, right? In this case though, to my understanding, when using the Apple IAP plugin, essentially, all the payments go to Apple temporarily. After taking out the commissions, the payments would be released to the bank account on file with the App Store within 45 days of the last day of the fiscal month in which the transaction was completed. Am I correct? And if so, as far as the business model on the App is concerned, my client would collect the money released from Apple and then distribute the money to the appropriate trainers. Am I correct?
Hi! Could you please clarify when and why the subscription auto-renewal rate in TestFlight was changed to a daily cycle? Now, the subscription lasts for 6 days! This is causing significant issues in testing. Previously, the 5-minute auto-renewal for weekly subscriptions was an excellent solution.
Is there a way to adjust the auto-renewal timing for an account in TestFlight?
Documentation link: https://developer.apple.com/help/app-store-connect/test-a-beta-version/subscription-renewal-rate-in-testflight.
Thank you for your clarification!