Accepting payments in your mobile app could be one of the core features your project supports, especially if you’re selling physical products or services that are provided outside the app. For instance, any shopping app (e-commerce app) needs to have at least one way of accepting payments, within the app, so that users can buy products, directly with their phone and credit cards, and without too much overhead and friction.
There are many ways of accepting payments in your mobile app, and before making a decision and jumping into using one of them, you need to carefully consider all the pros and cons each payment option brings to the table. We encountered the same problem while adding payment support to our iOS shopping app template and thought that it might be a good idea to lay out our findings.
Accepting payments in your mobile app using Stripe
Stripe provides iOS and Android SDKs that integrate payment processing into mobile apps. These SDKs have many built-in features, like collecting and storing credit card information from your customers, as well as providing a powerful user interface that is highly customizable and that will allow for an excellent payment experience.
To integrate Stripe into your mobile app, you can simply follow their online documentation, for both iOS and Android. Simply follow the steps that are listed there (configuring your Stripe account, installing the SDK, changing the code as described, etc) and you’ll quickly be able to see Stripe payments in action. The SDK repositories on Github also have sample apps, which you can use as an example in your development.
They have good testing tools (things like test credit cards, for instance), that lets you efficiently test your payment integration, without having to create real money transactions.
Stripe charges you 2.9% + 30 cents, on every successful transaction that occurs using their payments platform. This is very competitive compared to all the other payment gateways.
Along with all types of credit and debit cards, Stripe also has built-in support for Apple Pay, which is a nice to have feature, especially considering the growth trajectory of Apple Pay transactions.
Accepting payments in your mobile app using PayPal
PayPal is the largest online payment system and they act as the intermediary for a huge amount of online transactions. If you have a business app where people purchase products from, you definitely want to consider adding payment support for PayPal, since most of your customers will have PayPal accounts.
There are two ways of accepting payments in your mobile app with PayPal.
- Braintree Direct – this is the recommended approach if it’s supported in the country your business operates. On top of regular credit cards, debit cards and PayPal, it also has some nice payment integrations, such as Venmo, Apple Pay, Android Pay, etc. The payment processing system is being integrated in the same manner as all the other gateways. You’ll need to add their SDK into your app’s source code and then follow the integrations steps described in their documentation. The advantage over Stripe is that Braintree has lower fee rates: 1.9% + 30 cents per transaction. Keep in mind that Braintree is a PayPal company, and represents the direct competitor of Stripe – usually, they have the same features as well as testing tools. For more details, check out their website.
- PayPal Mobile SDKs – this is the legacy way of adding PayPal support into a mobile app. Implementation wise, it’s the same complexity of adding the other SDKs, so it should only be used if the country where you operate is not supported by Braintree. If you’re interested in learning more about how you can integrate PayPal payment processing using PayPal mobile SDKs, you check out their documentation.
- If you don’t want to go the SDK route, you can also build your native mobile payment experience from scratch, and leverage the REST API that is available from PayPal. In this approach, you’ll own and implement the client side of the entire payment experience and use PayPal API to actually trigger the payment transactions. You’ll reinvent the wheel, by not taking advantage of the existing SDK source code, but you’ll control 100% the code on your native mobile clients.
Accepting payments in your mobile app using Apple/Android Pay
If you don’t want to go with any of the third party payment gateways outlined above and you’re confident that your potential customers are tech-savvy enough, you can integrate the native payment processors, provided by Apple and Google: Apple Pay and Android Pay. While these reduce the purchasing friction for your users (since they don’t require them to add any card details), be aware of the fact that these are still being adopted by mobile users, and not everyone will be familiar with them.
Usually, these should be supported along with other payment methods, that accept credit cards and/or PayPal. They come for free with the SDKs describe above, so it’s usually no hassle to have them.
In conclusion, there is a wide variety of payment processing gateways that you can adopt to support payments in your app. There’s also a wide range of technologies that can be used. Choosing the right approach depends on the country where your mobile business operates as well as the technologies that you (or the developers who work for you) are familiar with. Accepting payments in your mobile app is technically pretty straightforward since most of them only require following some trivial steps of official documentation. You only need to make sure that the payment methods your mobile app supports have enough coverage on your potential customers so that you’re not missing out on any sales.