How not to display old subscription values in the app store - ios

My application had updated subscription prices.
However, in the details of our app in the app store, you can still see all existing subscription prices.
The question is: How can I make visible only the prices we charge today?
----- edit -----
If I uncheck the "Cleared for Sale" as #PaulSchröder suggest.
When old subscribers complete their subscription time. Will they be able to automatically renew (old price) or will they be canceled (since this subscription no longer exists)?

You need to go to your subscription in App Store Connect and uncheck the "Cleared for Sale" checkbox (it is next to the Product-id). Unfortunately this can only do the Account Holder.
According to this post from PBK in Apples developer forum (third post), after unchecking the checkbox, it should open a dialog stating the following:
Your in-app purchase will be removed from sale on the App Store and discontinued as an auto-renewable subscription. Existing subscribers won’t be able to renew this subscription. To view the number of existing subscribers, go to Sales and Trends.
By selecting this checkbox and clicking Remove from Sale, you agree to provide the full amount of content to eligible subscribers through November 30, 2019. If you’re unable to do this, you allow Apple to refund the full amount or portion of the price paid by the user for that subscription.
So old subscribers will be affected in the way that their subscription won't re-new.

Related

How to rank subscription plans using Apple In-App Purchase in same subscription group?

We are trying to upgrade and downgrade subscription plans in apple in-app purchase.
All plans are in one subscription group having different prices and duration.
Our app has in-app purchases with auto-renewable subscriptions.
After buying subscription
1- I chose to downgrade to another product
I got a popup asking me to do I want to upgrade and will get a refund. I press confirm
2-After some time, I chose to upgrade to a higher subscription
I got a popup asking me to do I want to modify my subscription and subscription plan will begin and you will be charged when the current subscription expires
We have followed the below document.
https://developer.apple.com/app-store/subscriptions/#ranking
Still, We are a bit unclear about the apple developer document regarding subscription plan ranking.
Can anyone suggest, how to set the rank to a subscription plan?
I suppose you've configured your subscriptions in the wrong order since an upgrade should cancel immediately your current subscription, whereas a downgrade should wait for the next renewal date.
Here is an example of configuration:
Where the higher plan is "Gold".
So:
when you change from Silver to Bronze, you have to wait until the next renewal date
when you change from Silver to Gold, your subscription is immediately canceled and changed into Gold

Making changes to existing IAP auto-renewable subscription in App Store Connect

I have an existing app with a $0.99 monthly auto-renewing subscription. I need to change this to a $2.99 yearly auto-renewing subscription, but ensure users are notified by apple of the change so they can accept or decline it, just like when changing price of an existing subscription.
My plan right now is to create a 2.99/yr subscription in the same subscription group as the 0.99/mo subscription and then cancel the 0.99/mo subscription.
Will this notify users to cross grade to new subscription and just drop all my users without giving them option to change to new plan?
After opening a ticket with Apple Technical support, the response was
For price changes to existing auto renew product in App Store
connect, users are alerted and can accept
for duration changes to existing auto renew product in App Store
connect, its not documented what the behavior is
So the path I had to take was
create a 2nd auto-renew product
hide the 1st product in app so users don't see it as an option
show banner in app to prompt the cross grade
send push notifications to prompt the cross grade
I'd be curious what would have happened if I changed price and duration and hit save in App Store connect, but not worth it when I have millions of subscriptions.

How to delete subscriptions group in itunes connect

I am in trouble, I made a test subscriptions group in iTunes connect, but now I cannot delete it. Is there any way to delete it?
You should be able to delete a Subscription Group, if there are no subscriptions in it.
If you have subscriptions within the Subscription Group, start by deleting the subscriptions first. You can find the Delete This Subscription text-button at the bottom of the subscription detail page.
When your Subscription Group is empty, a Delete This Subscription text-button would appear at the bottom of the Subscription Group's detail page. Clicking that should do the job. 👌🏽
This does not currently seem possible.
From this thread on the apple developer forums:
No, those are required in situ [on site] for historical reference and to help guard against duplicated/conflated references going forward.
Feel free to file a feature request via the bug reporter link, below right, if deleting them is something you'd like to see in the future.
Here's information from the App Store Connect Help Guide.
https://help.apple.com/app-store-connect/#/dev636f037c8
Remove an auto-renewable subscription from sale.
Required Role: Account Holder. See Role permissions.
To remove your subscription from sale:
From the homepage, click My Apps, then select the app associated
with auto-renewable subscription.
In the toolbar, click Features, and in the left column, click In-App
Purchases.
Click on the subscription.
Under Availability, deselect Cleared for Sale to remove your
subscription from sale. Confirm in the dialogue by clicking Removing
from Sale.
Click Save
Apps in the Magazines and Newspaper category need at least one active auto-renewable subscription to be listed on the App Store. If your app is in the Magazines and Newspapers category and you wish to discontinue the only auto-renewable subscription in your app, you must switch to a different category and submit a new binary to App Store Connect. After that, you'll be able to remove the auto-renewable subscription from your app.
If you are unable to remove your subscription with the appropriate amount of lead time to provide the full amount of content through the duration of a customer’s subscription period, you should contact us.
If your app does not function without the discontinued auto-renewable subscription, remove your app from the App Store.
Go to Settings > USERNAME > iTunes & App Store.
Tap your Apple ID located on the top of the screen.
Tap View Apple ID. You will have to authenticate your Apple ID.
Tap Subscriptions to view a list
Tap the subscription that you want to cancel
It will display a blue check-mark once selected
below everything is a red cancel subscription tap it

in-app purchase for auto-renewal subscriptions notifications

I've been reading the various threads on in-app purchases auto-renewal subscriptions, and I think I've pieced together most of the information I need, but there are a few missing pieces. I'm hoping someone can help me.
The situation:
I have various subscription packages the user can subscribe to (e.g., package A for £1 a month, package B for £2 a month, etc.). I store the user's subscription information in my database. When the user logs in, I check which package he's on and if it's expired or not. My website, android and iOS all use the same database, hence this approach seems to make sense.
Subscribing users via in-app purchase seems straight forward enough. I check paymentQueue and once the payment is cleared, I can update my database.
My questions:
1) My understanding is the user can use iTunes to manage their subscription. Say, they go in to iTunes and cancel their subscription, how can I be notified so I can update my database? Do I need a daemon that checks expired subscriptions to see if the user renewed?
2) If the user wants to upgrade their subscription from Package A to Package B, how do I handle the pricing? Say on Jan 1st, they buy Package A, I charge them £1.00 and set the expiry date to Jan. 31st. On Jan. 15th, they want to upgrade to package B via in-app purchase. Ideally, I would charge them £2 for Package B minus £0.50 of credit they have for Package A and set the new expiry date to feb 14th. However, Apple forces me to associate each package with a tier price. How can I handle this? I don't want the user to wait until the end of the month to put them on a higher tier package...if they upgraded mid-month, it means they want the new content package B will deliver to them immediately.
Any help appreciated!
Thanks!
1) Yes you'll have to reverify your receipt check out the Receipt Validation Programming Guide in the documentation. They mention some important keys:
status - 0 if receipt is valid, or an error code
receipt - JSON response of the receipt
latest_receipt (auto-renewable only) - base 64 encoded receipt for the most recent renewal
latest_receipt_info - JSON version of latest_receipt
With this information, when a purchase is made, send the receipt to your backend for validation, the backend will keep the receipt in the DB and verify with status = 0 that it's a valid receipt. From there, every x days you can validate that receipt with a chron job, daemon, etc. and reverify. The response back each time will have latest_receipt_info that you now need to save to your DB so you have an up-to-date receipt for the next check in x days. This way you will always have the latest receipt. There is no instant notification for telling when a user cancels a subscription, but with this you'll know every x days if they have the subscription still.
2) Pricing like this unfortunately can't be handled. It was not intended for a user to "upgrade" with subscriptions - each subscription is access to it's own exclusive content as of this writing. However, if a customer emails in and complains about it, you could ask for their user name and figure out in your DB if this user has indeed upgraded mid-month and reimburse them appropriately. Very old-school and not feasible for a big user base, but hopefully you won't have that many and can keep them happy.
EDITED
For the second question, Apple's auto-renewable subscription system does not technically offer upgradeable plans between different products.
Every subscription is a stand alone product and it's up to the user to turn on/off subscriptions manually using the Subscription Manager in the iTunes Store.
However if package A and package B offer the exact same content only different duration than what ajay_nasa said is correct, you can create an single auto-subscription product with different duration options. If the user is on 1 month subscription and then the user tries to change to 2-months subscription they will get the following error message asking them go to the App Store's subscriptions manager
So basically the ONLY place the user can actually change the subscription's length is in the App Store. Whether Apple decide to pro-rate the amount left on the old subscription or just append it to the current one is really up to Apple. You need to make sure the user have access to the subscription as long as it's active by reading the Original Purchase Date and Subscription Expiration Date field from each receipt entry and determining the start and end dates of the subscription.
Answering question 1, you can verify subscription receipts in the same way as other IAP, but you'll need to check it periodically to see if the subscription has expired (the verification will tell you if it's expired).
There is more info on the Apple docs here:
http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/RenewableSubscriptions/RenewableSubscriptions.html
Actually, Apple's auto-renewable subscription system does offer upgradeable plans.
To achieve this we simply should add duration in existing Auto-Renewable Subscription. Every Auto-Renewable Subscription could be family of Subscriptions so whenever developer wants to achieve upgradation in subscription he should add duration in existing Auto-Renewable Subscription with different productID.
Whenever, user upgrade his plan in between the month then his upgrade plan will be automatically works from next month.
Answering to your question #1
Recently Apple launched a feature to enable server notification whenever the subscription is renewed. However, the subscription should be in-app.
See the links given below for your reference:
https://help.apple.com/itunes-connect/developer/#/dev0067a330b
&
https://itunespartner.apple.com/en/apps/news/45333106?sc_cid=ITC-AP-ENREC
We Need to Check Cancellation-Date provided in Receipt.

Subscriptions and content for iTunesConnect

I'm confused on how subscriptions work. Let's say I have add a subscription for for my magazine. It's for a whole year. My magazine is released on a quarterly basis. Now this is what confuses me:
Does the actual content, ie the magazine issues, have to be created as a Non-Consumable item?
The only reason you'd need a separate non-consumable item for each issue is if you wanted to offer individual issues for sale outside of a subscription. Presumably you'd hide these individual sale-items from subscribers since they have no need to purchase them.
Once the user has a subscription it becomes your responsibility to verify that the subscription is current and to download your new content to the app. If you save the transaction receipt from the subscription purchase then you can resubmit that to Apple each quarter and validate it prior to downloading content to the app.

Resources