We want to sell digital content through subscription model in our app. Is it possible to support a subscription bundle? Let's say content in question is magazine subscription for $0.99 a month. Is it possible to support a bundle of subscription such that user can subscribe to any three magazine by buying a bundle for let's say $1.99? Or is it possible to support eat-all-you-can model - $3.99 for subscribing to all magazines in our app?
According to the official documents from Apple, yes you can. What you need to do is design your iAP store and items according to Apple's requirements.
Getting Started with In App Purchase
on iPhone OS (Version 2.0)
...
Subscriptions
Subscriptions and subscription
renewals to content or services can be
offered to customers for purchase. You
can offer customers the opportunity to
renew their content or service
subscriptions using In App Purchase,
but be sure to define a reasonable
renewal frequency to avoid bothering
users with unwelcome reminders. Be
aware that you are responsible for
both tracking subscription expirations
and for renewal billing; the App Store
does not monitor subscription duration
and does not offer an automatic
billing mechanism. Be sure to indicate
when an item is a subscription when
entering its product information into
iTunes Connect.
Both of these features are supported, they are called consumable and non-consumable in-app purchases.
Related
Guideline 3.1.1 - Business - Payments - In-App Purchase
We still 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:
The courses can be purchased in the app using payment mechanisms other than in-app purchase.
- Your app accesses digital content purchased outside the app, such as , but that content isn't available to purchase using in-app purchase.
- Your app includes intermediary currencies, such as points, coins, or gems, without using in-app purchase. Please note that the cost of the intermediary currency cannot be included in the purchase price of the app.
- Once the user's free trial has expired, the subscription is not available for purchase using in-app purchase and the user is directed to payment mechanisms other than in-app purchase.
- Your app includes or accesses paid services for buying and selling non-fungible tokens (NFTs), or related paid services, such as minting, listing, or transferring, with mechanisms other than in-app purchase.
Next Steps
The paid digital content, services, or subscriptions included in or accessed by your app must be available for purchase using in-app purchase.
Apps that offer paid digital services and content across multiple platforms may allow customers to access the content they acquired outside the app as long as it is also available for purchase using in-app purchase. See Guideline 3.1.3(b) Multiplatform Services for more information.
If you have any additional information to provide regarding the digital content and services in your app and how the guidelines apply to them, please reply to this message in App Store Connect and let us know. If there is information you'd like us to consider in our review of future submissions, please feel free to include it in the App Review Information section of App Store Connect.
I am planning to use subscription (auto renew) type of in-app purchase. My idea is to allow one subscription per device. (i.e.) if someone purchase the subscription on iPhone, he shouldn't be able to use same subscription on iPad. Instead I want to force user to new subscription for other device. But from in-app purchase what i understood is that, if user subscribe for a particular item, if he tries to purchase the same thing again, app store allows to user to restore already purchased item.
As per my current setup, all the downloads will happen from a separate server and I am going to keep all the receipts and content in that server. In order to implement this particular thing, what should I do in my application? Could someone help me on this?
Also if I want to limit download of data from server using in-app purchase for only 3 device? Beyond 3 I want user to make payment via in-app purchase again? How will I do this?
Thanks
Apple's In-App Purchase Guidelines state that you must support restoring subscriptions to all of a user's devices (see page 7).
Also consider if your content is episodic (such as a TV show or magazine) because that's a requirement for using auto-renewing subscriptions. For things like time-limited access to a certain feature, like voice guidance in a navigation app, you'd need to use non-renewing subscriptions.
I submitted an iPhone app to the store that got approved, but some things with the inApp purchasing weren't working. The consequence is that the users that tried to install the inApp purchases were charged, and Apple has recorded that they already purchased the additional feature. I have fixed the issue, and I use NSUserDefaults to track whether or not a user has purchased the feature. The problem is the users that have already paid for it. Is there a way to check through Apple whether or not the feature has already been paid for?
Thanks.
See the Restoring Transactions section of the In-App Purchase guide. Specifically:
Store Kit provides built-in functionality to restore transactions for
non-consumable products, auto-renewable subscriptions and free
subscriptions. To restore transactions, your application calls the
payment queue’s restoreCompletedTransactions method. The payment queue
sends a request to the App Store to restore the transctions. In
return, the App Store generates a new restore transaction for each
transaction that was previously completed.
If it is a consumable product (it shouldn't be) then I don't think there is a way to do it via Apple.
We are planning a new application development for iPhone and Android devices. The application would be published in both markets (Android Market and Apple's App Store) and its download would be free.
Nevertheless, the application would have some items that can be purchased by the user. The easiest way would be to integrate each version with its corresponding billing system: Android In-App Billing and the Apple iTunes Billing System.
Is there a way for avoiding the 30% transaction fee from the billing systems? Can a developer use a custom in-app billing system for its application? Is there a disclaimer policy for Android or iPhone when using other in-app bill systems for avoiding their transaction fees? What are the options a developer has for providing an in-app item purchase within his application?
Many thanks!
We've developed several applications that transport users to a web page payment portal contained within the application.
Apple have seemed fine with this approach, in one particular application we had implemented both In-App purchasing and a custom payment portal - they asked us to remove In-App purchasing as the app was selling deal/vouchers and they classed this as virtual product.... they didn't reject anything about our custom payment portal.
Potentially they could pull all apps that do this at any point they feel like it, although I don't see this as a likely scenario.
Since both Android Market and Apple's App Store terms of service prohibit what you're asking for, the answer is a simple: no, there is no way to avoid the transaction fees (and still remain within the terms of service).
You're also asking about a disclaimer policy -- if you mean for your product, you should disclaim to your users that your app could get removed from its respective market at any time, without any notice (if you decide to implement billing that subverts the market).
I have a website which sells a product to the user (downloadable). I am creating an iPhone app and want to be able to sell some of the products using the 3.0's in-app purchase.
Now the documentation mentions that anything you want to sell has to be uploaded to iTunes Connect and approved by Apple. But I want to be able to keep adding products to be sold by my app on a daily basis.
I have a web service to get the list of products from the website. Is it possible to include in-app purchase to let user buy this stuff from within the app but without having to add them to iTunes Connect?
As I understand it, no - all the things you want to sell via in-app purchase run through a vetting process similar to that of the apps themselves. Apple won't allow, for example, a "photo of the day" application if you can in-app purchase pornographic photos to be sent to you daily.
What you could probably do is submit your app with a backlog of in-app purchases, five or six days ahead of time, then consistently be submitting your daily items ahead of when you want them to be available. Not sure how reliable the review process is, or whether this will work for your situation - just a thought.
Nekin,
I think you have to use the type as consumable (in app purchase) product as each time the product has to be purchased. Once you purchase a book, then you can mark it as purchased in your local app database and that way the user need not buy the same book as you can check it in the local app database before connecting to the in app purchase payment request and this way the inapp purchase products can be dynamic and can use as many books but the list of books should be from your server.
You can keep updating the server data with more number of books.
Thanks,
Vijay