I am working on the integration of subscriptions in my OSX application. The subscription flow works perfectly but after the purchase it is not creating _MASReceipt folder in Contents folder of application so I cannot send the receipt to apple to verify this purchase. when I checked the logs it showing below error. Anyone who is familiar to this issue please help.
Error writing receipt (13401 bytes) using privileged service to /private/var/folders/xw/yd038cts3b94qmtvlxzb1sy80000gp/T/AppTranslocation/9B8BB321-1C16-4F41-93EA-E27675791E79/d/test.app
Error Domain=NSCocoaErrorDomain Code=642 "You can’t save the file “_MASReceipt” because the volume “9B8BB321-1C16-4F41-93EA-E27675791E79” is read only." UserInfo={NSFileOriginalItemLocationKey=file:///private/var/folders/xw/yd038cts3b94qmtvlxzb1sy80000gp/T/AppTranslocation/9B8BB321-1C16-4F41-93EA-E27675791E79/d/Advanced%20Uninstall%20Manager.app/Contents/_MASReceipt, NSURL=file:///private/var/folders/xw/yd038cts3b94qmtvlxzb1sy80000gp/T/AppTranslocation/9B8BB321-1C16-4F41-93EA-E27675791E79/d/abc.app/Contents/_MASReceipt, NSFileNewItemLocationKey=file:///System/Library/Caches/com.apple.appstored/abc.app/_MASReceipt/, NSUnderlyingError=0x7fdc618ded90 {Error Domain=NSCocoaErrorDomain Code=642 "You can’t save the file “_MASReceipt
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
We are currently experiencing an issue where our server is not receiving Apple’s server notification (webhook) for in-app purchase confirmations. This notification is critical as it helps us confirm the purchase status and fulfill the corresponding services to the users. Despite the successful completion of purchases within the app, the lack of webhook notifications prevents us from tracking and processing these payments on our backend.
In addition to resolving this issue, we are also concerned about the security aspect of receiving server notifications. Specifically, we want to ensure that any requests or notifications we receive are indeed coming from Apple, and not subject to potential man-in-the-middle (MIM) attacks. We are looking for information or best practices on how to validate that the request originates from a legitimate Apple source, ensuring the integrity of the communication and safeguarding our system from spoofed or malicious requests.
Key questions:
Server Notification Issue: Why might we not be receiving Apple's payment confirmation notifications, and what steps can we take to troubleshoot this issue?
Request Validation: What security mechanisms or validation techniques can we implement to confirm that the server notifications are genuinely from Apple, ensuring no interference from MIM attacks?
Does Apple provide any headers, tokens, or signatures in the server notification that we can use to verify the origin?
Are there any known methods or configurations to ensure secure receipt of in-app purchase confirmations?
We are looking for guidance and possible solutions to ensure a secure and reliable payment validation process for our in-app purchases. Any support in this regard would be highly appreciated.
Hello! Since October 2, we have observed a problem with the renewal of subscriptions. We have not changed anything, but the receipts no longer have the information whether a valid subscription exists after the subscription was actually automatically extended. The subscription status can then be queried correctly via verify Receipt. Has anything been changed to the receipts from Apple?
PS: we know that StoreKit1 is deprecated and we should switch to StoreKit2 asap.
I received an email from the app store that contained this message
We’re reaching out to let you know that the subscriptionPricePoints endpoint now requires a territory relationship filter. If you use the App Store Connect API to configure your subscriptions, please note that you'll be required to define this filter in an upcoming release.
but I can't understant it, please could anyon explain what they want or what should I do?
my app was built with Flutter and had in-app purchase
My team is developing a subscription feature where users can subscribe to individual educators on our platform to access their content. We are considering using a web view within our mobile app to handle subscription payments through third-party payment providers like Stripe, similar to how apps like Patreon manage payments. This approach would keep users within the app during the transaction process. Would implementing this payment flow comply with Apple’s policies?
Here's an idea to make it easier for users to get activated in the app. We can't give free access by default, because we incur costs for each activated user in the app. Can I give in-app access for registering with a partner and making a deposit with them, and then give the user a subscription plan for free for 30 days, without IAP and auto-renewal? The rules say you can't use third party payment methods, but it's part of the app that the user has to register with a partner, just for making a deposit to the partner, we give a trial gift.
we have now two Apps in the App store and they both should be only allowed subscription.
App # 1 is working fine with In App Subscription.
We applied the same logic as the first one but still the second App behaves diferentöy
App #2 is now live and for some reason one needs to purchase the App as In App purchase.
In test flight this issue was not present.
Is there someone to contact at Apple to find out why this is the case?
We also do not know from where the price for the in App purchase comes from as there is no value, only in Subscriptions.
Hi,
we had a case where one of our users wanted us to stop renewing his subscription in our app since he was unable to do it himself.
Is there a way for us to stop the auto renewal?
Kind regards
Ondřej Leitmančík
if my app was made to manage a physical device (an intercom) and offer services to family groups and individuals. In order for them to use the app they'll need a subscription.
My question is, Can I use the third party vendor (Stripe) to charge my user or will it have to be with the in app purchase (IAP) one?
if it has to be through IAP will I have to pay the 30% fee per transaction?
I have implemented auto-renew subscription in my app and I have also tested it on physical device by implementing storekit. The subscription is bought successfully and is working fine. But when I add the app for review to appstore along with the subscription they reject it because they could not find the subscription in the app.
It's a brand new app that hasn't got its first approval yet. I am including IAP subscriptions with it and after each rejection, I am unable to clear the Developer Action Needed status of the Subscriptions and re-include in the binary for review.
To clarify, after I created the Subscriptions I was able to include them in the binary, but after each rejection the Developer Action Needed status is not cleared, even though I edit the descriptions and save.
If I update the Localization on each Subscription, they do change status to Prepare for Submission, but the Subscription itself remains on Developer Action Needed.
I am having to create a new Subscription Group and Subscription with each rejection from the Review Team, because otherwise I cannot submit them with the binary for review.
Can anyone shed some light here? It seems there's a ton of other topics with the same issue that suggest to edit a description, which would then update the status to Ready to Submit but no matter what I try, it won't clear the Developer Action Needed.
Thank you
Hi I'm writing my first in-app purchase app, and I'm trying to do some testing with sandbox accounts. I wrote my subscription page use SwiftUI SubscriptionStoreView. And I read the documentation it says :
The sandbox account appears in Settings > App Store after the first time you use the device to attempt a purchase in a development-signed app.
But I have no idea how to make a sandbox purchasing. Every time I click the subscription button it just making a purchase in xcode environment. Did I missed anything? What can I do to make a sandbox pruchasing?
Hi,
Pretty sure abusive refunds are hurting our app placement. Noticed we had two refunds in the exact same hour from Poland and thought it odd since Poland makes up a very small part of our user base. Extra odd since we've had few refunds in general (~2% when comparing against activations + renewals) so I was worried our backend servers were down and the app not working but noticed no problems. I then checked the past 5 months (life time of our app) and noticed that over 60% of our refunds are all from Poland even though it makes up a very, very tiny amount of our sales.
I then also remembered my user support team member telling me they get endless emails from one user in Poland who is making rather unusual and paranoid statements about how various governments are out to get them along with complaining about our app not stopping them...at least that's what the machine translation is telling us, it's all in Polish.
Assuming it's all done by this one guy, their pattern is purchase, a few days later a refund, a few days go by, another sale, a day or two later, refund, etc. Then one day two sales and then two weeks later, two refunds at the same exact hour (presumably from two different Apple IDs this person has). As I was writing this it happened again, two more refunds (although this time I don't see the purchases they are tied to).
I'm considering just removing Poland from the list of countries for my IAPs. I don't want my app placement ruined by refunds associated with one user in one country! I've already noticed a sudden drop in installs in the past week corresponding to this guy increasing the frequency of this and I'm starting to get very worried!
I also noticed that nothing is pro-rated, the refunds match the proceeds exactly while the person does things with the app that cost us money on the server/cloud costs side. Fortunately it's not a lot so more surprised than concerned. I thought each day they waited after a purchase to request a refund they would still owe 1/30 of the monthly subscription price.
My questions are:
Can this truly be the same user or would Apple have blocked them from doing this cycle by now? I assume even if they used a new Apple ID that using the same purchase method would get them flagged.
Are a few refunds hurting our app placement in the App Store or as long as we're relatively low overall it's fine? It's been a marked change in # installs per day in the past week...
Is there a way to ask Apple to block one specific person from buying your app? I know their Apple ID (or at least one of them) since they emailed our support team with it.
Is 2% refunds an acceptable rate? We'd be below 1% if not for Poland.
Aren't IAP refunds pro-rated?
I checked events for Poland over the lifetime of the app and I get the following, which seems odd to me. Like how could we have a reactivation or does a purchase after a refund count as that? If so, would mean same Apple ID being used.
9 refunds
7 activations
3 reactivations
1 cancellation
1 enter grace period
1 entered billing retry
1 renewal
Thank you!
Colin
it's been 48 hours and I still haven't received a link where I can upload an ID, nor have I been able to pay. My account has been suspended and paying transactions cannot be completed no matter which card I try. I need to send a link where I can upload an ID and speed up the registration process. I have written my mobile application, completed its codes and now I have to publish it. My client is waiting for the application to be published. I need urgent help with this.
I have an app which is very similar to Patreon, where users can subscribe to influencers and get exclusive content. However, I do not know how to implement it with in-app purchase limitations
Since user can not subscribe to 1 subscription several times, but in my app they can subscribe to 2 or more influencers, I have to create a uniques subscription to all influencers, but there is a limitation of 10,000 in-app products. Additionally, since user can subscribe to only 1 sub in sub group, I also have to create a sub group to every influencer. It is crucial for me to have auto-renewable subscription, so I can not use consumables.
How Patreon could implement it, taking into account that they have thousands and millions of influencers?
Can somebody help me figure out a way to resolve this issue?
My app is planning to develop a subscription product, for this type of in-app purchase do I need call finish() to complete the transaction?
And, does currentEntitlements() return the transaction after calling finish()?
Hello,
I'm experiencing an issue with subscriptions in my app, which hasn't been approved yet.
I created the subscriptions in App Store Connect and can successfully sync them using a StoreKit file in Xcode. When I test the app on my device with this file, everything works fine – the subscriptions load, and I can simulate purchases without any issues.
However, when I submit the app to TestFlight or even when I test it on my device without the StoreKit file, the subscriptions are not found by their IDs, even though they are marked as Ready to Submit in App Store Connect.
If my StoreKit file can sync with App Store Connect, why am I unable to retrieve the subscriptions directly when compiling the app without this file? This makes it challenging to understand if the subscriptions are properly set up in the App Store.
Any help would be greatly appreciated!
Hello,
I’m facing an issue with the subscriptions in my app during the review process.
When I test the app in Xcode using a StoreKit configuration file, I can see and purchase the subscriptions without any problems. Testing with a Sandbox user in TestFlight also works fine – I can see and purchase the correct subscriptions.
However, my app was rejected during the review because the reviewer said the "Try for Free" button wasn’t working. In the screenshot, I noticed that the subscriptions didn't load and it showed dummy data instead.
This issue only seems to happen during the review. When I test the app in both TestFlight and the Xcode simulator, everything works perfectly. I can see the subscriptions, purchase them, and the app runs as expected.
Could you please help me understand why this issue is happening during the review, even though everything works fine on my end?
Also my banking information are ok and complete.
Thank you very much!
In my app, book club owners can charge users to join their clubs. My platform ( company ) takes an application fee, while the club owners receive a service fee from these transactions. I have one to many live discussions, in the future I will add sell ticket feature. Can I use Stripe for these B2B transactions, or am I required to process these through Apple IAP?
If I am pushed to be use Apple IAP then how to split the user purchase between me and the club owners.
Regards.
Some paid users are unable to use the paid features unlocked by purchasing our subscription plan. It seems that this is due to StoreKit 2's Transaction.currentEntitlements not working the way we would expect it to work.
Are you also encountering this issue? Do you have any idea to improve this situation?
At launch, our app checks if the user is subscribed to the plan, using Transaction.currentEntitlements. As a result, the currentEntitlements array was empty.
Our app then fetches the products from StoreKit 2 using Product.products(for:). As a result, the Product.SubscriptionInfo.RenewalState value of the corresponding Product (product.subscription.status.first.state) is subscribed, which confirms that the user has indeed purchased our plan, but seems to contradict the absence of the corresponding transaction in Transaction.currentEntitlements.
Proactive in-app purchase restore and a restore purchase button calling the AppStore.sync() method are implemented, but using the button did not solve the issue.