Google Play/App Store in-app purchase policies - android

I heard from someone that on App Store, everything you sell or anything the user buys, Apple must have their 30% on it. That would imply that even if you open a web page within the app and accept a donation, Apple must have its percentage. Otherwise you would have to redirect the user to make this donation outside of the app - for instance, calling the browser.
So, if it's true, I wanted to know if Google holds the same policies. I couldn't find this specific answer in the documentation, just info about in-app purchase (but I'm considering that scenario a purchase within the app, but not IN the app itself (sorry if it sounds confusing).
Taking Groupon as example. If you buy a coupon, is it an "in-app purchase"? I don't believe Google would take 30% on everything you buy there, so I just wanted to make sure it is according to their rules.
The app I'm working on will have both donation and coupon purchase from sponsors (Walgreens, etc). Is it ok if I do this through a WebView, or would I have to actually call the browser?
Sorry if my concept of "in-app purchase" is blurred.
Any information on this topic is much appreciated.
EDIT:
From my understanding, In-App Purchase (for both Google and Apple) is like an API that you use to process these payments.
What I find confusing is that, for instance, in the Apple's In-App Purchase Guidelines:
So, does it mean I cannot use Apple's In-App Purchase to sell my book (but could open my e-commerce site in the app and sell it), or I cannot sell my book at all inside my app?
I know it may sound like a dumb question, but it doesn't seem so clear to me.

The standard 30% transaction fee applies to in-app transactions on Google Play and goes to the distribution partner and operating fees.
According to the Google Play Developer Program Policies:
In-app purchases:
Developers offering virtual goods or currencies
within a game downloaded from Google Play must use Google Play's
in-app billing service as the method of payment.
Developers offering additional content, services or functionality within another category of app downloaded from Google Play must use Google Play's in-app billing service as the method of payment, except: >
where payment is primarily for physical goods or services (e.g., buying movie tickets, or buying a publication where the price also includes a hard copy subscription); or
where payment is for digital content or goods that may be consumed outside of the app itself (e.g., buying songs that can be played on other music players).
Reference: https://support.google.com/googleplay/android-developer/answer/112622
With In-App Purchase on iOS and OS X, you can offer your customers additional digital content, functionality, services and even subscriptions within your paid or free app.
For example, In-App Purchase will allow you to sell:
Digital books or photos
Additional game levels
Access to a turn-by-turn map service
Subscriptions to digital magazines or newsletters
Digital content hosted on Apple servers
There are four supported categories of In-App Purchase items that you
may sell: 1) Content, 2) Functionality, 3) Services, and 4)
Subscriptions. You must deliver your digital good or service within
your app. You may not use In-App Purchase to sell real-world goods and
services.
Reference: https://developer.apple.com/in-app-purchase/In-App-Purchase-Guidelines.pdf

I would have commented on another answer that is missing a bit of information, but as I lack the required reputation, I'll post this as a new answer.
It's 100% possible and allowed to sell physical goods or services in an app released on both iOS (via Apple Store) and Android (via Google Store), but the main difference between selling physical good or services and digital goods comes in the payment system to use. Both platform actually have 2 payments systems with, each, their own restriction and legal implementations.
In the case of Google Store (a.k.a. Google Play), it's as this:
Any digital purchases that adds anything into the app itself must be done through Google Play In-app Billing system. To put it simple, this is the typical in-app purchase you see in any game that charge onto the Credit Card registered by the user on the Google Play account.
Any Services and Physical Goods that are not set toward in-app usage have to use either your own version of a selling system (which has to be separated from Google Play In-App Billing system) or, if you want an more secure way, by using the Google Pay API.
The Google Pay API is really similar to the Google Play In-app Billing system as it allow any user to also use the credit card registered to their Google account (note that it's not Google Play, but a general Google Account), but the main difference is that the Google Pay API can also be used outside of an App (like on a website).
An example of stuff you must use the Google Pay API and NOT the Google Play In-App Billing system is to purchase physical goods (which requires a shipping address to be registered with the sell of goods) or services (like paying a rent of a room at an Hotel or the purchase of plane ticket, digital or not).
Here's the link toward the Google Pay API official website: https://developers.google.com/pay/api
For iOS and its Apple Store, the same equivalent exists, but the problem comes from the fact that both methods uses the same base system called Apple Pay.
For sells of goods and services, you need to address to the site "for merchants":
https://support.apple.com/HT204274
https://developer.apple.com/apple-pay/
For digital goods that are accessible directly through the app itself, you got to use the In-App Purchase system which is described here:
https://developer.apple.com/in-app-purchase/
There's one important thing you got to remember: Both stores might have some resistance to the idea of publishing an App as an App and as a Game. Both payment systems have their own rules and guidelines and, as such, if you are to put both a in-app purchase and an option to sell goods and/or services, both has to be visually separated and must NOT be mixed from one to another. For example, they might refuse to publish a game that has only physical goods to sell or an App in their Store app that is more of a game with in-app purchases and barely any instance of real-good purchases.
The cost of using either Google Play In-App purchase or Apple Pay In-App purchase is 30% of the sales.
On the other hands, Apple Pay for merchants (physical goods & services) have no additional cost from the credit cards issuers' fee which is usually around 3% to 6% based on the payment methods. For example, if the user is using Paypal to pay on Apple Pay, it's 2.9% + $0.30 USD per transaction. Direct Mastercards and Visa users might pay up to 6%. This is done and managed directly by Apple Pay.
Google Pay (for merchant) is also free and come with a fixed percentage rate of 2.9% per sales with credits cards and, in some countries, offers free transaction for direct-bank-transfers and debit cards.
In both cases, there's a limit per transaction. Google Pay has transaction limits, but their depends on the shops and user (shopper) data. I have seen the number $10,000 often as a limit per transaction.
Apple, technically, has limits or security based on the country where the purchase is placed. (All numbers are here: https://support.apple.com/HT207435 )

Related

Is it possible to use a payment platform (subscription) other than Google / Android Pay?

I'm developing an application that the user will have to subscribe, I already have the backend part with Stripe API for recurring payments, with that I wouldn't want to use Google/Android Pay, bacouse I would lose 30% of the project's revenue.
How does Netflix, Disney Plus or Amazon Prime work around this rule?
Note that there's a distinction between Google Pay and Google Play's billing system. Within an app:
Google Pay is generally used for physical goods or for services that are used in the physical world, while
the Google Play billing system is used for digital goods and services for apps downloaded from the Google Play Store.
If you are comparing yourself to the likes of Netflix, Disney Plus, and Amazon Prime, it sounds like you are enquiring about Google Play's billing system.
From the Payments Policy:
Play-distributed apps must use Google Play's billing system as the method of payment if they require or accept payment for access to features or services, including any app functionality, digital content or goods.
a. Examples of app features or services requiring use of Google Play's billing system include, but are not limited to, in-app purchases of:
Items (such as virtual currencies, extra lives, additional playtime, add-on items, characters and avatars);
subscription services (such as fitness, game, dating, education, music, video, and other content subscription services);
app functionality or content (such as an ad-free version of an app or new features not available in the free version); and
cloud software and services (such as data storage services, business productivity software, and financial management software).
As for your question:
How do Netflix, Disney Plus or Amazon Prime do?
I believe they accept payments from outside of the app. That is, via their websites.
Note that if you do go down this route, Google Pay can be used free of charge on your website.

Is it possible to offer a different billing method than google play in my android app (dating app)?

Inside my dating app is it possible to offer a different billing method than google play? I ask because I heard that now it's forbidden to offer anything else than google play billing but I see close to all app (tinder, etc.) are still offering their own credit card payment
Only if it fulfils the requirements here: https://support.google.com/googleplay/android-developer/answer/9858738?hl=en
Here are the exceptions:
Developers offering products within a game downloaded on Google Play or providing access to game content must use Google Play In-app Billing as the method of payment.
Developers offering products within another category of app downloaded on Google Play must use Google Play In-app Billing as the method of payment, except for the following cases:
Payment is solely for physical products
Payment is for digital content that may be consumed outside of the app itself (e.g. songs that can be played on other music players).
In-app virtual currencies must only be used within the app or game title for which they were purchased.
Developers must not mislead users about the apps they are selling nor about any in-app services, goods, content, or functionality offered for purchase. If your product description on Google Play refers to in-app features that may require a specific or additional charge, your description must clearly notify users that payment is required to access those features.
Apps offering mechanisms to receive randomized virtual items from a purchase (i.e. "loot boxes") must clearly disclose the odds of receiving those items in advance of purchase.
Here are some examples of products not currently supported by Google Play In-app Billing:
Retail merchandise, such as groceries, clothing, housewares, and electronics.
Service fees, including taxi and transportation services, cleaning services, food delivery, airfare, and event tickets.
One-time membership fees or recurring dues, including gym memberships, loyalty programs, or clubs offering accessories, clothing, or other physical products.
One time-payments, including peer-to-peer payments, online auctions, and donations.
Electronic bill payment, including credit card bills, utilities, and cable or telecommunications services.

Android in-app purchase or Third party payment gateway

We are going to build a mobile app for iOS and Android (might build a web app later) where users can upload videos and their friends and followers can watch them. The videos can be either free or also be tagged with a price. If I tag a video with $1 when uploading it, my friends and followers will have to first pay $1 to watch and after paying that $1 they can watch it any time after that.
My client wants to use Authorize.net to do the payments. In iOS there are restrictions like we must use IAP for such feature. Similarly is there any restrictions on Android as well, that we must use Google In-app Billing or is it OK to use Authorize.net to do the payments?
Taken from this page:
Payments
Apps that employ in-store or in-app purchases must comply with the
following guidelines:
In-store purchases: Developers charging for apps and downloads from
Google Play must use Google Play’s payment system. In-app purchases:
Developers offering products within a game downloaded on Google Play or providing access to game content must use Google Play In-app
Billing as the method of payment.
Developers offering products within another category of app downloaded on Google Play must use Google Play In-app Billing as the
method of payment, except for the following cases:
Payment is solely for physical products
Payment is for digital content that may be consumed outside of the app itself (e.g. songs that can be played on other music players).
In-app virtual currencies must only be used within the app where they were first purchased.
Developers must not mislead users about the apps they are selling nor about any in-app services, goods, content, or functionality
offered for purchase. If your product description on Google Play
refers to in-app features that may require a specific or additional
charge, your description must clearly notify users that payment is
required to access those features.
So I guess the answer is no, you have to use Google Play in-app billing if you want to publish the app in the play store. But the policy states that digital content under some circumstances is excluded, I guess this applies to videos as well, although I'm not to sure about it. Depends on whether the videos can be played outside of the app (at least so it seems).

Is it allowed to handle money transactions within Android app?

I haven't found a solid answer to this on either the documentation of android/google play, SO, or on google searches.
In iOS is it not allowed to handle money transactions within the app, making you only do in-app purchases. I want to know if in Android this is the same case.
I know Android does not have a review process like iOS so this will be harder to "catch" even if its not allowed, but I wanted to do it correctly from the start.
The documentation suggests to do in-app purchases, but they take a 30% of the sale. Also, this seems to only be a suggestion.
So, here's the direct question. Can I sell images inside my app, handle the credit card transaction, handle the billing and charge the amount of money within my app in Android, without having to give 30% of the sale to google, and without having to use in-app purchases? I have seen apps like the Amazon Kindle app do this, but I don't know if they have to report/share 30% of the sale in the background.
Hopefully this isn't off topic since its a developing-related question, even though its not about specific code.
Edit: Just to clarify. The "goods" to be purchased in the app would be images, which can then be edited within the app and printed from within the app to a printer. The images will be downloaded from the app as an encrypted file so they can only be used with this app.
Yes! If the images that are being sold, once purchased, are available outside the app. According to Google Play Developer Program Policies :
Developers offering virtual goods or currencies within a game downloaded from Google Play must use Google Play's in-app billing service as the method of payment.
Developers offering additional content, services or functionality within another category of app downloaded from Google Play must use Google Play's in-app billing service as the method of payment, except:
where payment is primarily for physical goods or services (e.g., buying movie tickets, or buying a publication where the price also includes a hard copy subscription); or
where payment is for digital content or goods that may be consumed outside of the app itself (e.g., buying songs that can be played on other music players).

Alternative in-app-purchase methods for Android

I want to use an alternative way for in-app purchases in my Android application such as Fortumo or PayPal libraries. Don't they violate Android Developers Terms of Services? Or will it cause the suspending of my developer account?
Can I also sell electronic currencies in my application using Android native In-App-Purchase?
In-app purchases: Developers offering virtual goods or currencies
within a game downloaded from Google Play must use Google Play's
in-app billing service as the method of payment. Developers offering
additional content, services or functionality within another category
of app downloaded from Google Play must use Google Play's in-app
billing service as the method of payment, except:
where payment is primarily for physical goods or services (e.g., buying movie tickets,
or buying a publication where the price also includes a hard copy
subscription);
or where payment is for digital content or goods that
may be consumed outside of the app itself (e.g., buying songs that can
be played on other music players).
Developers must not mislead users about the apps they are selling nor
about any in-app services, goods, content or functionality they are
selling. If your product description on Google Play refers to in-app
features to which a specific or additional charge applies, your
description must clearly notify users that payment is required to
access those features.
Source: https://play.google.com/about/developer-content-policy.html
Consult a lawyer, not SO. IANL, but the Market agreement states that
All fees received by Developers for Products distributed via the
Market must be processed by the Market's Payment Processor.
AFAIK, the only authorized payment processor is Google Checkout/Wallet, so you decide whether using PayPal violates the agreement.
Direct in-app payment would violate Google's terms. However there are a large number of developers (e.g., KKBox) which do not want to pay Google 30% split. What they do is essential setting up a login page with passcode. On the other hand, they sell those passcode as pay-as-you-go or subscription. I believe this does not violate the terms of Google.

Categories

Resources