The Digital Markets, Competition and Consumers Act 2024 (DMCC) was given Royal Assent in May 2024 in the United Kingdom and it's expected to occur in Autumn 2024. It states that in addition to making it easy to cancel via the app, businesses need to accept any clear statement from a user on their decision to bring the subscription to an end.
Currently, it's not possible to comply with this law given that App Store Connect does not offer the ability to cancel a subscription on behalf of a user. The ability to refund a user is also required.
Is there any plan to comply with this policy?
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 attempting to submit a companion app to the App Store that can only be accessed with login credentials from an existing app on the App Store, which requires a paid subscription to have full access.
These existing apps are our main apps. We have made sure they are compliant with Apple App Review Guidelines (they have all been approved). You can register a new account and start a new monthly in app purchase subscription on these apps. An account with these apps can be used for our new companion app.
Details of our companion app:
Simple Content: The app features simple mini-games with no specific or unusual content or features.
No In-App Purchases: The app does not have any in-app purchase functionality as it cannot be used independently from the main apps.
Link to Existing App: The login screen of our companion app includes a link that opens a popup that shows all our main existing apps on the App Store (the popup has links which can directly open the App Store page of each main app). It also indicates that an active paid subscription is required with one of these apps to use the companion app.
However, our submission has been repeatedly rejected based on the following guideline:
"Guideline 3.1.1 - Business - Payments - In-App Purchase
We noticed that your app includes or accesses paid digital content, services, or functionality by means other than in-app purchase, which is not appropriate for the App Store. Specifically:
Your app accesses digital content purchased outside the app, such as 'monthly subscription', but that content isn't available to purchase using in-app purchase."
Does anyone have any recommendations on how we can get this app approved?
Any guidance on adjustments or specific changes to align with Apple’s guidelines would be greatly appreciated.
Thank you!
Hello,
I am using SubscriptionStoreViews to list 2 subscriptions, both in the same group.. a monthly subscription and a six monthly subscription. Both work and appear in the list presented by SubscriptionStoreView.
However when I go to AppStore Connect and select the six monthly subscription to be a promoted subscription, it can now be selected and purchased on the AppStore but no longer appears in my SubscriptionStorekit View.
Is this expected behaviour and should I create a duplicate six month subscription which is not promoted, or is there a better solution?
Many thanks
My app has been published twice now with the same code. But each time the subscription was forgotten to be approved. The app is now in the AppStore and the subscription view shows that there is no available subscription. The subscription itself has the status "Waiting for review". Texts with the advice to review the subscription are apparently ignored and not read, as there have already been several inquiries which have already been answered in advance.
I have created an app with one subscription for one year. The subscriptions was rejected for more as 3 time. But I don't know, what I must do. No description or no email from apple. Only I can see "developer action is needed".
I have changed the name of the subscription group, I have changed the localization. but also it was rejected.
I have resubmitted an app version with text, that the subscription to checked. but the app was distributed only the subscription. the text was ignored.
now the state for the group localization is in waiting for review.
but, the subscription under the subscription group is approved.
what can I do?
We have a React Native application and are implementing Promotional Offers for our subscriptions. Our backend service decides what users are eligible for the offer and will send the offer and signature in the request.
The SKU, offer, and signature values are sent over the bridge to Objective-C where we then attach the discount to the payment if one exists.
When we hardcode the signature values on objective-C we get a successful purchase. When we try to use the signature parameters that were passed down we get a purchase error (SKErrorDomain: 12)
Some code snippets here:
if (offerSignature[@"offerId"] != nil) {
// convert timestamp to NSNumber
NSString *numberString = offerSignature[@"timestamp"];
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
NSNumber *number = [formatter numberFromString:numberString];
productIAP.paymentDiscount = [
[SKPaymentDiscount alloc] initWithIdentifier: offerSignature[@"offerId"]
keyIdentifier: offerSignature[@"keyIdentifier"]
nonce: [[NSUUID alloc] initWithUUIDString:offerSignature[@"nonce"]]
signature: offerSignature[@"signature"]
timestamp: number];
}
Here we are adding the SKPaymentDiscount to our custom product. and later on add it to the SKMutablePayment in the following snippet
SKMutablePayment *productIAPPayment = [SKMutablePayment paymentWithProduct:productIAP.skProduct];
productIAPPayment.applicationUsername = [self hashedValueForAccountName];
if (productIAP.paymentDiscount != nil) {
productIAPPayment.paymentDiscount = productIAP.paymentDiscount;
}
When we hardcode the values using the same values our backend service sends the payment goes through. Here is a snippet of how it looks like when we hardcode the values
productIAP.paymentDiscount = [
[SKPaymentDiscount alloc] initWithIdentifier: @"offer-here"
keyIdentifier: @"keyIdentifier-here"
nonce: [[NSUUID alloc] initWithUUIDString:@"nonce-here"]
signature: @"signature-here"
timestamp: @1715303421691];
We have attached the debugger and have verified the values are correct and at this moment do not know what else we can do to get this unblocked.
Is there an App store server notification (V2) when the free trial period ends?
Unfortunately, I can't find any information about whether and what information I receive as an app store notification when a free trail period expires. I assumed that there would be an expired or initial buy notification, but apparently this is not the case.
Can anyone help me? Thank you!
Dear Apple Support Team,
I am writing to seek assistance regarding the payment issues faced by users of my mobile app in Nigeria. Due to recent changes by the Central Bank of Nigeria, users are unable to make payments for in-app purchases with their local bank cards. This has significantly impacted our ability to monetize the platform.
We are requesting support in either the review of how the billing is set up or for permission to integrate local payment solutions that accept Nigerian bank cards.
Any assistance or direction you can provide on this matter would be greatly appreciated.
Thank you for your time and support.
Best regards,
AYo
I'm trying to use the appstore connect REST API to create an introductory offer for one of our subscriptions. The introductory offer should exist in all territories our app supports. I successfully created an intro offer for all territories, but only by calling POST https://api.appstoreconnect.apple.com/v1/subscriptionIntroductoryOffers (https://developer.apple.com/documentation/appstoreconnectapi/create_an_introductory_offer) 175 times, once for each territory. Is there a more efficient way to do that?
The API documentation has no explanatory text, only the types and payloads. I used those to piece together the following approach. I am not sure if this is even the intended way to use the API, so please correct me if I'm wrong.
Call GET https://api.appstoreconnect.apple.com/v1/subscriptions/{id}/pricePoints with territory filter USA to get all available price points in USD
From the result list, pick the price point whose customer price is closest to the one I wish to set up
Call GET https://api.appstoreconnect.apple.com/v1/subscriptionPricePoints/{id}/equalizations to get equivalent price points in all territories
Call POST https://api.appstoreconnect.apple.com/v1/subscriptionIntroductoryOffers for each the USA's the and other territories' price points
Now my question. The create intro offer endpoint takes as payload an object of type SubscriptionIntroductoryOfferCreateRequest (https://developer.apple.com/documentation/appstoreconnectapi/subscriptionintroductoryoffercreaterequest), which has a field "included", which is a list of price point IDs. In my step 3 above I have a list of price point IDs, and the field name and type suggests to put them here to create an intro offer for all territories in one API call. However, this does not work. The field "included" seems to have no effect whatsoever, no matter what I put in there.
Is there a way to create an intro offer for all territories in one go, or do I have to call the create endpoint multiple times?
Hello everyone,
I’m facing an issue with my app where it's stuck at the paywall screen because my app has been approved but my subscriptions are still "Waiting for Review". This prevents me from fetching the subscription options needed to display behind the paywall.
I've resubmitted my app multiple times and also created tickets and used Feedback Assistant to report this issue, but I haven't received a resolution yet.
Has anyone encountered a similar situation or have any suggestions on how to resolve this? My app is live, but without approved subscriptions, users can't access its full functionality.
Any advice or insights would be greatly appreciated.
Thank you.
Hi,
Suddenly product's are not being loaded on WatchOS anymore, no error throwing.
Just empty array response...
Works normal on iOS. Any idea why?
WatchOS 10.5
We want to have subscription that exist within user account. With Apple IAP if you buy a subscription once, it cannot be bought again for the same iCloud account. But if our user within our app logged out and created another account (app account not iCloud account) he should have ability to buy subscription for this new account.
Does Apple allow to use third-party service to implement subscriptions now (e.g. Stripe)? Because Apple IAP renewable subscription model wont work for our case.
Hi,
Two years ago we launched a business for readers and writers. People buy a subscription through our website, where they also upload books, articles, journals, etc. They are then directed to download either the iOS or Android apps where they can read the content writers have uploaded. The App also includes social functions allowing members to leave reviews, create discussions on each piece of writing, etc. When reviewing the Apple Developer guidelines, we were confident we met the definition of a ‘Reader’ App (defined by Apple as an App whose primary purpose is to access previously purchased content, being books, magazines, music, videos, etc).
We completed the External Link Request process as a Reader App and were successfully provided the exemption authority.
However, in our latest version update (one that includes a critical bug fix stopping us from promoting the business until it is fixed) we were rejected on the basis that the reviewer considered any inclusion of additional functionality automatically made us not a Reader app. (noting the social functions had been in place since day 1 and had been reviewed over a dozen times).
I understand that the term ‘Primary purpose’ is not in itself an exact measure, but to us it is quite clear the primary purpose of our App is to access the books and other written content that the member has purchased. The social functions are secondary and developed in support of this primary purpose.
We submitted an Appeal 6 days ago (noting it as urgent due to the bug fix it includes) but have had no response.
Really at a loss on what to do. Has anyone else had a similar issue? Or some precedents (either supportive or otherwise) on a definition of a Reader App?
Appreciate any advice on how we can resolve.
Regards
Yousif
Can I delete an auto-renewal subscription item even when there are subscribers?
Good morning,
I am in the process of setting up a new release of my application, in fact I recently submitted a release using stripe as a means of payment for subscriptions which was refused by telling me that it must go through Apple IAP.
Currently everything has been migrated to IAP, my subscriptions are offered by period (1 month, 6 months, etc.), and with discount vouchers that I manage until now with my server (managarial/marketing choice).
The approach used to manage this is to offer two subscriptions on Apple Connect for each period: for example 1 month => there is one subscription with $3 and one with $2.
With respect to my server verifications (has the user validated their discount voucher or not), I display the appropriate subscription to them.
Could you please tell me that this approach will not impact me on my next review? while knowing that currently all subscriptions now go through IAP Apple and my work on the server side only manages the display of the appropriate products and whether or not the user has validated their reduction voucher.
Tank you.
In my application, I have to create and remove many auto-renewal subscription items programmatically using an API. Like the YouTube app, when a user creates a channel, I will create a subscription item with their name, and when they shut down the channel, I will cancel the whole subscription and remove the item.
I found that I can create subscription items using the following API: https://developer.apple.com/documentation/appstoreconnectapi/create_an_auto-renewable_subscription
In the following document, I found that I can stop selling and cancel subscriptions at https://appstoreconnect.apple.com by changing the availability of item from "Cleared for Sale" to "Remove from Sale":
https://developer.apple.com/help/app-store-connect/manage-subscriptions/set-availability-for-an-auto-renewable-subscription
My question is can I stop selling and cancel subscriptions using an API? The App Store Connect API offers modifying subscription availability, but it only offers changing sales countries: https://developer.apple.com/documentation/appstoreconnectapi/modify_an_auto-renewable_subscription
They also offer a subscription deletion API, but I'm not sure if it'll work as I need: https://developer.apple.com/documentation/appstoreconnectapi/delete_a_subscription
How do you manage auto-renewal subscription items when you stop selling them? Is there any API or do you do it manually?
Thank you.
Hello guys! I would appreciate your help. I am developing an app (next to my webapp). In this app users can register as either owners of moving company or as the customers. Moving company owners can list their company like a directory/business listing. The app is free to use for customers and also for company owners except if you want to list your moving company to be able to get clients and sell your physical service.
Now i have a subscription plan in mind so the moving company can list itself, which will also be listen on my webapp as the databank is shared. According to someone this doesnt require IAP, because at the end the company is paying for the listing, to help him sell his physical service.
next to it, i also want to get provision for each time the moving company gets a client through our app and pays through our app.
thirdly, i was planning to offer sponsored Listing, which will aswell work for my webapp. Meaning if someone pays for sponsored listing on my app he gets sponsored on my webapp aswell and vice versa.
And lastly, the subscription plan has an upgrade package where moving companies can get leads aswell. Like the first thing someone told me that it shouldnt require IAP as the end service us physical and thats where i am helping out.
Now i wanted to be safe than sorry and wanted to know what you guys say. Is is allowed without IAP? Where do i need IAP and where can i for example use Stripe? Are there any ways to go around IAP? I have already read the guidelines but it seems my app functions fall between them (probably) as the sponsored Listings are also on webapp if bought in mobile app aswell as the physical services that are promoted and sold through our subscription, where we dont really offer a digital service.
I would really appreciate your help very much, and i thank you for reading all this.
I added my first subscription to my app using StoreKit's SubscriptionStoreView. Everything worked as expected in the debug environment and also in TestFlight. So I submitted my app and subscriptions to App Store Connect, got everything Approved and released.
After updating my app through App Store and checking the Subscription View, it just says "Subscription Unavailable. The subscription is unavailable in the current storefront."
I waited around 3 days and still getting the same message. Now the very strange behavior starts. I went to App Store Connect, I made and edit to the subscription description, saved, removed the edit, saved, and submitted to review. 15 minutes later the subscriptions appear in my app and everything works as expected. After getting the edit approved, the Subscription View in my app again only showed the message "Subscription Unavailable. The subscription is unavailable in the current storefront." No user is able to see the subscriptions anymore, even though it worked as expected before the edit was approved.
So I did the same as before. Again, make an edit to the subscription description, save, remove the edit, save, submit to review. 15 minutes later the subscriptions are again available in my app and it works as expected.
This is definitely not the expected behavior and submitting the subscription edits every day is wasting the App Review Team's time as well as mine. I contacted Apple Developer Support but I didn't get any reply back (at least yet).
I am not the only one experiencing this. I found a friend online who has the exact same issue, and is able to temporarily solve it by making an edit to the subscription description as well.
So far it has been a huge headache, and we are losing customers this way. Please if anyone has experience with this problem, or has any suggestions, they will be greatly appreciated.
Thank you so much,
Tomas
Im using Revenuecat to manage subscriptions. In real device everything works fine but in emulator there is an error fetching offerings. It says that there is an issue with the configuration but i'm not able to debug. None of the products registered in the revenuecat dashboard could be fetched from App Store Connect.
My app has been approved for four days now, but the subscription items are still "Waiting for review". Online users cannot make purchases. I have already contacted Apple's technical support via email and phone, but it seems to have no effect. What should I do?