So I went through the trouble of implementing a Stripe payment system in my app, and submitted the app for review a few days ago. My app got rejected and Apple notified me that you have to use the In-App Purchase API for any payment system. This just doesn't seem right - why does Stripe even have an iOS SDK in that case?
You can use Stripe in an iOS app.
Apple accepts it when the customer can buy something which is not digital. for example your Instagram pictures printed on a mug, a computer and so on.
But if you use Stripe for something like a subscription (like a "gold access" to a revue) or to buy credits for a game, Apple will refuse the app and force you to use In-app purchase.
take a look here:
There are a couple different ways to integrate payments into your iOS app: Apple Pay and In-App Purchases. It’s important to understand
when each option should be used.
You can use Apple Pay to sell physical goods such as groceries,
clothing, and appliances. Also use Apple Pay for services such as club
memberships, hotel reservations, and tickets for events. These
transactions will be processed through Stripe and you’ll only need to
pay Stripe’s processing fee. You can read more about Apple Pay here.
You are required to use Apple’s In-App Purchase API to sell virtual goods such as premium content for your app, and subscriptions for digital content. Specifically, Apple’s developer terms require that the In-App Purchase API must be used for digital “content, functionality, or services” such as premium features or credits. If you use the In-App Purchase API, the transactions will be processed by Apple, which will charge a fee of 30% of the total transaction.
https://support.stripe.com/questions/apple-and-stripe-tos-and-fees
hope it helps
Related
When accepting payments in an app, do we have to use inapp purchasing, can we use Stripe for example? I ask because it takes way too long for apple to pay us when people buy. Also, does anyone know of a good open source library that I can use to accept payments with apple pay, credit card, etc?
Im selling subscriptions to view book summaries.
It really depend's what you are selling.
Checkout Apple's Human Interface Guidelines
It’s important for app developers to understand the difference between in-app purchase and Apple Pay. Use in-app purchase to sell virtual goods in your app, such as premium content for your app and subscriptions for digital content. Use Apple Pay in your app to sell physical goods like groceries, clothing, and appliances; for services such as club memberships, hotel reservations, and event tickets; and for donations.
As for a library, Revenuecat is brilliant, but then again, it depends on what you are selling and if it works for your needs. They have a Stripe integration.
This is the response of Apple, anyone here published an IOS app with either AliPay or Wechat pay.
I need help in regards with this.
Thank you.
Specifically, we found that your app includes AliPay (支付寶) and Taobao H5 Payments, which provides access to external payment mechanisms and enables the purchase of content, services, or functionality by means other than the in-app purchase API.
You can't use other third party payment methods for the purchase of digital goods/content with your app which is going to be consuming with in the app.
So for that apple recommends the use of in-app purchase.
When can I use third party payment methods?
When you are selling physical goods or provide services for the payment you receive.
When cot user in-app purchase?
When you are providing user digital goods like unlocking a game level, buying coins, etc. the you must use in-app purchase.
For more info. regarding this you can check the Apple's official document here
I came across the same problem when I had integrated BrainTree with my application. And then me and my team went ahead with further communication for the same as one of my app had same configuration even though it was acceptable by AppStore.
So If any of the features or levels in game is opened after paying to
the developers then that payment has to be done using In App Purchase.
And even in that around 30 to 40% of the amount developers has to pay
to the Apple.
And If payment is done like buying pizza or any other shopping in
which user does not need to pay anything to open any of the content
within app in that case developers can use any payment gateway.
My Application got rejected Recently with following error
Guideline 3.1.1 - Business - Payments - In-App Purchase
We noticed that your app offers a subscription with a mechanism other than the in-app purchase API.
Next Steps
To resolve this issue, please revise your app to ensure that the subscription for products used within the app is offered using the in-app purchase API, with the exception of the content specified in guideline 3.1.3 of the App Store Review Guidelines.
In-App Purchase
It may be appropriate to revise your app to use the in-app purchase API to provide content purchasing functionality.
In-app purchase provides several benefits, including:
The flexibility to support a variety of business models.
Impacting your app ranking by consolidating your sales to one app rather than distributing them across multiple apps.
An effective marketing vehicle to drive additional sales of new content.
For step-by-step instructions on in-app purchase creation within App Store Connect, refer to App Store Connect Help.
You can't sell subscription using Stripe, because it's a digital property.
More info:
There are a couple different ways to integrate payments into your iOS
app: Apple Pay and In-App Purchases. It’s important to understand when
each option should be used.
You can use Apple Pay to sell physical goods such as groceries,
clothing, and appliances. Also use Apple Pay for services such as club
memberships, hotel reservations, and tickets for events. These
transactions will be processed through Stripe and you’ll only need to
pay Stripe’s processing fee. You can read more about Apple Pay here.
You are required to use Apple’s In-App Purchase API to sell virtual
goods such as premium content for your app, and subscriptions for
digital content. Specifically, Apple’s developer terms require that
the In-App Purchase API must be used for digital “content,
functionality, or services” such as premium features or credits. If
you use the In-App Purchase API, the transactions will be processed by
Apple, which will charge a fee of 30% of the total transaction.
Docs: https://stripe.com/docs/mobile/ios#using-stripe-and-apple-pay-vs-in-app-purchases
You can't use a payment gateway other than InApp purchase to offer soft services/digital good transactions(Any functionality within the app) in your app.
I just want to know if apple forces developers to make the features in the app can be bought only through Apple (which will take 30% of the income) or I can make users buy directly by using paypal or ... ? And what is the programming guide to incluse paypal or credit card in my app(swift)?
May be Not,
There are rules and guideline made by Apple to regulate the In-App Purchase. What you are describing to make a feature available after Purchase is commonly know as In-App purchase.
Here is basic Guide line : https://developer.apple.com/app-store/review/guidelines/2016-06-13/
It have been specified in Point No.11 :Purchasing and currencies
Apps utilizing a system other than the In-App Purchase API (IAP) to
purchase content, functionality, or services in an App will be
rejected.
Apps using IAP to purchase physical goods or goods and services used
outside of the App will be rejected
Apple is very strict about the payment terms, do choose your method while, Outside payment will lead your app to rejection.
Hope this may help you to consider and go ahead with your decision.
I'd like to integrate payment for subscription to our services. Currently the website offers manually-renewable subscription for 6 or 12 months, and we take the payment by Credit Card (authorize.net payment gateway) or PayPal. As we'd like to offer the users to be able to renew subscriptions from our iOS app, too, I was thinking if I could integrate the Paypal and Authorize.net SDKs in our app instead of using in-app purchases.
Here are the points related to my question from the App Store Review Guidelines:
11.2. Apps utilizing a system other than the In-App Purchase API (IAP) to purchase content, functionality, or services in an App will be rejected
11.12. Apps offering subscriptions must do so using IAP, Apple will share the same 70/30 revenue split with developers for these purchases, as set forth in the Program License Agreement.
11.13. Apps that link to external mechanisms for purchases or subscriptions to be used in the App, such as a "buy" button that goes to a web site to purchase a digital book, will be rejected.
The above points don't exactly answer my following question:
If I must use in-app purchases for subscription renewals, can I also provide users the options to pay via Paypal and Credit Card through my iOS app besides in-app purchases? Note that the "buy" button won't go to a website to purchase the subscription - I'll be integrating PayPal and Authorize.net SDKs to receive purchases from the app.
Apple handles the payment options for you, you cannot offer your "own" payment providers for In-App Purchases. (You can, but your app will be rejected)
The official payment options vary on the user's country: https://support.apple.com/en-us/HT202631
Please note that there are things happening in this space.
According to recent news, apple is forced to allow external payments.
I don't know if it is already in effect in the guidelines of apple but I suspect it will be coming.