How to implement Auto renewable subscription with first time discount - ios

I want to implement auto renewable subscription with different discounts offers to the user.
I have one product id but I want to apply different discount on same product id.
Scenario like this,
If user purchased within 1 week of installed app then want to give 50% discount on first payment.
If user purchased after 1 week and before 2nd week completion then want to give 25% discount on first payment.
Else user go with original price of product..
To achieve this functionality I have searched over internet and found something SKPaymentDiscount. But I don’t know I can achieve with SKPaymentDiscount or not.
If anybody have implemented same things or have experience with SKPaymentDiscount then please share with me.
If anybody have other suggestions then I will try that also.
Thanks in advance and welcome the suggestions.

As far as I know you cannot change the introductory offer dynamically on an auto renewable subscription. A workaround could be to create two different subscription types with different product IDs and different introductory offers. Then you can dynamically select the desired product ID based on the specified condition.
Keep in mind that the users will only get the introductory offer if they haven't purchased the product previously.
A similar question:
Free trial implementation for auto-renewable subscription for macOS app
Some relevant links in Apple's documentation:
App Store Connect Help - Set an introductory offer for an auto-renewable subscription:
https://help.apple.com/app-store-connect/#/deve1d49254f
StoreKit Documentation - Implementing Subscription Offers in Your App:
https://developer.apple.com/documentation/storekit/in-app_purchase/implementing_subscription_offers_in_your_app

No, you can not set introductory offer for different time stamp/ for different user as per your requirement.
You need to create 3 different products and assign the product id's according to user.
For SKPaymentdiscount:-
The SKPaymentDiscount contains the details of a subscription offer discount that you want to apply to a SKMutablePayment.
For more information follow :
https://developer.apple.com/documentation/storekit/skpaymentdiscount
Also check this cool link to know more about SKPaymentdicount class
https://blog.apphud.com/subscription-offers/

Related

Offer introductory price only to some subscription buyers

I have an app in the Apple app-store where some extra features are offered through a couple of one time in-app purchases. I want to transfer that to a subscription model. To make it more acceptable for those who already bought the old IAP I want to give them the first year free. However, I have problems implementing this.
Alternative 1:
Create an "Introductory offer" (one year free) for the new subscribed IAP. But I can't see a way to control who gets that offer, which means all new buyers will benefit from it.
Alternative 2:
Create a "Promotional offer". But that is only meant for getting old subscribers back. So there is no way for a new buyer to use that offer (I think).
Alternative 3:
Create two completely different IAP, one with an introductory offer and one without. That would work, but is a clunky solution that I want to avoid.
Are there any other alternatives?
You are not allowed to change someone who bought an IAP with no expiry date to a subscription. Doing this will likely lead to Apple intervening and unlisting your app.
They bought your IAP with the understanding it was an eternal licence. You can only bill NEW customers on a subscription.
You’ll need to keep record of those who purchased the IAP and new customers who purchase a subscription.

Auto-Renewable Subscription in iOS app

The company I work for has a lot of education apps in the app store (SAT Prep, ACT Prep, GRE Prep, etc...). The current business model is the user downloads the app for free with a handful of sample questions, and is given the option to buy 6 months of access to all the questions, a year, or lifetime.
we want to make the 6 month & 1 year options auto-renewable... is this possible? from what I've read apple really only allows auto-renewable subscriptions on newsstand apps, but we want to try to submit it anyway. Would this be achieved by changing the in app purchase setting in itunes connect from non recurring to recurring? and/or would i have to change the code in some places?
Thanks guys
Looking here - In App Purchase guide lines + having the same experience I think you might get rejection for using Auto Renewable products in your app. Saying that I think that apple guide lines for product types are not 100% clear, and you can definitely try to submit. I had examples where one reviewer rejected the app claiming for wrong product type but the second approved it with out any changes.
But, if you will get rejected -
You will have to create new products, as you can not change product type + if your product list is coded locally on the app you will have to update the list.
I am almost sure that auto renewable have a different restore mechanism so you will have to change that too.
Hope it helps

How to change price of product programmatically in in-app Purchase functionality?

I want to change price of product dynamically from mobile app on basis of email id through which user login.
Do Apple allow do this? If yes , Please tell me how to do this.
Prices for in-app purchase are set through iTunesconnect. As far as I am aware there is no API available to change prices and prices cannot be changed dynamically, only for specific periods of time (such as a 1 week "sale") or set indefinitely.
You could have multiple products registered at different price points and decide which product to display to a particular user - but be aware, the in-app purchase products are visible in the iTunes store, so your customers would be able to see all of the different price-points and products that you were selling
I do not think apple allows to do this. You can set it using itunesconnect. Application can only retrieve the information of products. They have not provide any web call to change the information of inapp purchase product in their programming guideline.

In-app purchase custom price

I've been searching for a while, but it may be too obvious and people don't post about it.
I want to know if I can put a dynamic price for a product.
I have a delivery application and the price may vary with the distance.
Also, it can be a non integer price, like $2,43.
Is it possible?
Also, I couldn't set a price at iTunes Connect, I need to be reviewed first?
Thanks a lot in advance!
As noted by other poster, you cannot have variable in-app purchases. You have to select one of the provided price tiers.
Now assuming you are making a taxi-service app then what you need to do in your app is provide the user with a list of prices that are fetched from your server for example how much will it cost to go from point A to point B. You can then "charge" them outside of the in-app purchases using your own pricing service (credit card over the phone etc).
Again in-app purchase doesn't work with what you need.
You can't set custom prices for an In-app purchase. You need to set the price using one of the tiers available.
You can set different prices for the same product by editing the the In-app purchase, selecting a tier, setting a "Price Effective Date" and "Price End Date" and hitting the button "Add to schedule".
EDIT: This can now be done using Apple Pay
You cannot set your own custom price for an in-app purchase, you can only use the ones that apple provides you with (this is most likely to stop things like in-app purchases for $0.01 or $100,000). Apple gives you plenty of price ranges, so you could just use $1.99 or $2.99 for your needs. In-app purchases are mostly non-integer prices.
Yet, if you were to go threw a third-party, other than apple, say PayPal you could do this easily, yet you won't get as many functionalities that IAPs have, and it would be near impossible to trigger something like removing ads inside of the application on this payment unless you have a server that you are using for your application. To implement PayPal, you could look at their tutorial HERE.
In short, no, you cannot set your own prices for in-app purchases, you can only use the ones that Apple provides (which can range from 0.99 to 999.99), yet, you can use a third-party like PayPal to get this functionality, although it really isn't needed

In-App Purchase... Can I do this?

I'm building an app that will provide users with an evolving directory of companies in their local area (location-based) that manufacture green/sustainable products. I want companies to be able to add themselves to the app by purchasing a subscription using in-app purchase. This would be a 1 year subscription.
Just read this in the iOS Standard Agreement: 2.3 Content and services may be offered through the In-App Purchase API on a subscription basis (e.g., subscriptions to newspapers and magazines). Rentals of content, services or functionality through the In-App Purchase API are not allowed (e.g., use of particular content may not be restricted to a pre-determined, limited period of time).
If the service is only for a year, does this preclude me from doing the above? Anybody have any insight on any of this? I'd appreciate your input - I can't get any info from Apple. Thanks.
My guess is that you are not allowed to do that. As you really cannot restrict who subscribes for a year – it might be any user – you probably cannot offer this. The IAP doesn't provide any content or service to the user other that a listing. As you probably need an external data source (e.g. a web application) I would suggest moving the subscription there. This is just my opinion and I am no lawyer so I might be completely wrong here.
You can do it. See the image below. You just have to choose the right option.
You can find it itunesConnect in the app detail section.
For your case I suggest Consumable is appropriate and have to maintain a check that wether its been a year or not since the last magazine purchase or what so ever your scenario is.

Resources