I want to implement inApp purchase where amount is automatically deducted every week.
User don't have to enter the credential again and again.
It just notify user and deduct the amount.
Like news letter feature in the application.
Every week perticular amount is been deducted.
It will ask for inapp credential one time and then it will deduct automatically.
I heard about consumable and non-consumable.
This will be like consumable.
But credential will be asked for every time.
How can i avoid that.
You should take a look at the official documents : https://developer.apple.com/in-app-purchase/In-App-Purchase-Guidelines.pdf
Basically, there is 5 type of InApp products which are :
Consumables
Non-Consumables
Auto-Renewable Subscriptions
Free Subscriptions
Non-Renewing Subscriptions
And I think you want to use Auto-Renewable Subscriptions, be sure to be compliant with Apple guidelines about what you want to sell.
Related
I want to implement InApp purchase in my iOS video streaming app to do that I need to implement Non-renewing subscription e.g 1 month,3 months, 6 months and 1 year.
I am using Objetive-C in my application.
Can you please tell me how to implement it because as per Apple, developer need to manage subscription expiration date and time.
How to validate receipt ??
How to manage user's subscription on multiple device or restore user's subscription if user login on other device ??
Please help me and let me know if anything is required in Non-renewing subscription.
Thanks,
You should go through the in-app purchase programming guide before starting the implementation.
https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction.html
Store-kit won't send you any notification in case of subscription end for a non-renewable subscription. You need to calculate the duration on your own and revoke the user's access to your server after that duration.
To verify the receipt you can do the validation on user's device or on your server, but your server is preferably better and even recommended by apple also.
For restoring the purchase you can go through the following doc
https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/Restoring.html#//apple_ref/doc/uid/TP40008267-CH8-SW9
Non Renewing subscription
First of non renewing subscription is the consumable keys that means once it purchased it just purchased. Keep in mind Storekit doesnot restore consumable products so you have to manage yourself because StoreKit does not do it as it do in Auto-renewable subscriptions and Non-consumable .
More details about Non renewing subscription :
Does Non-Renewing subscription requires a restore button?
How to manage?
To manage your in-app purchase you have to use server DB. You have to store your all purchases in server DB by using post API.
Benefits:
You can easily maintain the end date of purchase.
You can get each paid account every time user logged in with any device.
Note: Maintain your DB according to your need.
Please, help me to clarify purchases types.
I have an ionic project, where a user has a possibility to post to feed. But he/she has to pay for each news he/she posts.
I know that purchases are of three types: consumable, non-consumable and subscriptions.
I cant understand what is the type of such kind of purchases?
You would be a consumable type as you are paying every time you post.
Good description from a previous post https://stackoverflow.com/a/21251768/5270656
Ref: itunesconnect.apple.com
Everything is here:
Consumable (pay everytime)
A consumable In-App Purchase must be purchased every time
the user downloads it. One-time services, such as fish food in a
fishing app, are usually implemented as consumables.
Select Non-Consumable (one time payment)
Non-consumable In-App Purchases only need to be
purchased once by users. Services that do not expire or decrease with
use are usually implemented as non-consumables, such as new race
tracks for a game app.
Select Auto-Renewable Subscriptions (will deduct money from your credit card on a cycle complete)
Auto-renewable Subscriptions allow
the user to purchase updating and dynamic content for a set duration
of time. Subscriptions renew automatically unless the user opts out,
such as magazine subscriptions.
Select Free Subscription (no payment and is still visible even you did not submitted your account detail to itunes connect)
Free subscriptions are a way for developers
to put free subscription content in Newsstand. Once a user signs up
for a free subscription, it will be available on all devices
associated with the user’s Apple ID. Note that free subscriptions do
not expire and can only be offered in Newsstand-enabled apps.
Select Non-Renewing (need to renew manually)
Subscription Non-Renewing Subscriptions allow the
sale of services with a limited duration. Non-Renewing Subscriptions
must be used for In-App Purchases that offer time-based access to
static content. Examples include a one week subscription to voice
guidance feature within a navigation app or an annual subscription to
online catalog of archived video or audio.
My application currently allows the user to subscribe to our service using in-app purchase auto-renewable subscription. The app provides images, 12 images per month, and every month the user needs to renew his/her subscription to see the new content.
I haven't work on the auto-renewable model before, so I have built a model to validate the receipt and it works, but should I check if the user subscription expired or not, and, if so, how?
Also, does the app store only allow magazines and newspaper items to be auto-renewable?
I haven't worked on the auto-renewable model before, so any help on this matter would be highly appreciated.
When a user signs up for an auto-renewable subscription, they continue to be charged until they manually cancel it. This is obviously great from a developer’s point of view, because it takes a lot more effort to cancel something than to just let it continue.
You might already be familiar with a class of apps that use auto-renewable subscriptions already: Newsstand.
Newsstand was first introduced in iOS 5, and allows content providers to easily distribute their newspapers and magazines. With it, Apple introduced the auto-renewable subscription model, which allows you to set a subscription duration and manage renewals automatically through the StoreKit framework.
However, Apple has placed some very strict rules around auto-renewable subscriptions, meaning their usage is (usually) exclusive to Newsstand apps.
So sadly, if you want to provide content or features for a limited duration, outside of Newsstand, then your only option is to use non-renewing subscriptions.
found that here: http://www.raywenderlich.com/36270/in-app-purchases-non-renewing-subscription-tutorial
An auto-renewable subscription is an iOS In-App Purchase category that allows an app to provide and charge for content or features over a set amount of time.
Hear is a very useful link!. It provides almost every details about auto renewable subscription
Auto-Renewable In-App purchases continues charging the user (weekly/monthly/yearly etc.) until they cancel it.
You can check if the subscription has expired using the a validated receipt. It contains subscription expiration date and time.
If you want to lock content if subscription has not renewed, you may want to check receipt info against current date/time, on applicationDidBecomeActive delegate. There are open source libraries that lets you verify receipts locally as well.
And any kind of app can have Auto-Renewable In-App purchases, not just newsstand apps.
Apple, iOS, IAP.
The official doc says:
Product type - Users can buy - Appears in the receipt - Synced across devices - Restored
Consumable - Multiple times - Once - Not synced - Not restored
Non-renewing - Multiple times - Once - By your app - By your app
Of course consumable can be made same to non-renewing "by my app" if I want to, so what's the exact difference? Why Apple distinguish these two types identical on his side?
Ref: itunesconnect.apple.com
Everything is here:
Consumable (pay everytime)
A consumable In-App Purchase must be purchased every time
the user downloads it. One-time services, such as fish food in a
fishing app, are usually implemented as consumables.
Select Non-Consumable (one time payment)
Non-consumable In-App Purchases only need to be
purchased once by users. Services that do not expire or decrease with
use are usually implemented as non-consumables, such as new race
tracks for a game app.
Select Auto-Renewable Subscriptions (will deduct money from your credit card on a cycle complete)
Auto-renewable Subscriptions allow
the user to purchase updating and dynamic content for a set duration
of time. Subscriptions renew automatically unless the user opts out,
such as magazine subscriptions.
Select Free Subscription (no payment and is still visible even you did not submitted your account detail to itunes connect)
Free subscriptions are a way for developers
to put free subscription content in Newsstand. Once a user signs up
for a free subscription, it will be available on all devices
associated with the user’s Apple ID. Note that free subscriptions do
not expire and can only be offered in Newsstand-enabled apps.
Select Non-Renewing (need to renew manually)
Subscription Non-Renewing Subscriptions allow the
sale of services with a limited duration. Non-Renewing Subscriptions
must be used for In-App Purchases that offer time-based access to
static content. Examples include a one week subscription to voice
guidance feature within a navigation app or an annual subscription to
online catalog of archived video or audio.
Consumable items are individually purchased items. You need to buy one each time you want one. For example, in a game, if you ran out of lives and wanted to keep playing, you can buy an extra life (consumable). Once you use that life, if you need more than you need to buy another one.
Non-renewing is referring to subscriptions. It is the purchase of a subscription to something for a designated time frame, that will not automatically renew/re-charge after it expires. Example would be buying a one month subscription to a weekly magazine app that publishes new content every week. You purchase this one month, non-renewing, subscription and you get access to the app's content for a month. After the month is over, it does not automatically renew itself and will not bill you again.
I'm launching an app that I would like to offer for free each month up to a certain usage level. If the user exceeds the threshold, the app would charge them a monthly subscription. However, I don't want the subscription to automatically renew each month. Rather, I would like the usage level to reset the following month, and if the user does not exceed the threshold, the app is free for that month.
Any creative ideas about how to make this happen?
Yes, look at Apple Overview of In-App Purchase:
Non-renewing subscriptions are a mechanism for creating products with a limited duration. Non-renewing subscriptions differ from auto-renewable subscriptions in a few key ways:
The term of the subscription is not declared when you create the product in iTunes Connect; your application is responsible for providing this information to the user. In most cases, you would include the term of the subscription in the description of your product.
Non-renewing subscriptions may be purchased multiple times (like a consumable product) and are not automatically renewed by the App Store. You are responsible for implementing the renewal process inside your application. Specifically, your application must recognize when the subscription has expired and prompt the user to purchase the product again.
You are required to deliver non-renewing subscriptions to all devices owned by the user. Non-renewing subscriptions are not automatically synchronized to all devices by Store Kit; you must implement this infrastructure yourself. For example, most subscriptions are provided by an external server; your server would need to implement a mechanism to identify users and associate subscription purchases with the user who purchased them.
You can track the user usage and ask him to buy your Non-renewing subscriptions* if the usage exceeds the threshold. Then at the end of the subscription you can check it again and ask him to pay again for the next month.
I would consider using renewable subscriptions for users that know that their usage will
always exceed the threshold.