Mobile App Payment Gateway Integration

How can you build a mobile app that accepts payments? Whether it’s a travel app or a fashion mobile commerce application, you need to somehow accept electronic payments for physical goods. Mobile shopping accounts for a large percentage of e-commerce retail sales in the US, according to Statista. It’s critical to have a payment processing gateway that runs smoothly in your mobile app.

We aren’t going to talk about in-app purchases of digital goods and how to implement them. These kinds of purchases on iOS and Android devices are performed solely by Apple’s App Store or Google’s Play Store services. Neither of the app stores let individual applications sell digital goods through third-party services. But once your app sells something “real” — a physical commodity — then you’re free to choose whatever payment system you like, thereby avoiding Google’s and/or Apple’s 30 percent share for every purchase made in your app. Let’s talk about how to integrate a payment gateway in your mobile app to process payments for physical goods.

Wait... What is a payment gateway?

A payment gateway processes credit card payments in mobile applications and on websites. It’s the best (nearly the only) way to handle online payments. 

Here’s how it works in an e-commerce mobile app: a user looks at your products and chooses what they need. These products go into a cart. The cart is linked with a payment gateway provider. When the user checks out and pays by card, the gateway sends a request to the bank that issued the user’s credit or debit card. In the perfect scenario, the bank sends back an approval code.

payment process with gateway

[How a payment gateway works in an e-commerce mobile app]

To make your business work according to this scenario, you’ll need to think not only about a gateway service provider. You’ll also need to think about the type of merchant account and compliance with security standards. We’ll talk about types of merchant accounts first, then we’ll study how to choose a payment gateway for your app and consider best practices for integrating a payment gateway.

Dedicated or aggregate merchant account

A merchant account is a bank account associated with your business. It enables your business to accept and process electronic card payments. It’s based on an agreement between your business, a bank, and a payment processor that settles card transactions.

There are two types of merchant accounts. A dedicated account is more expensive than an aggregate account (the exact price depends on the payment gateway provider), but it gives you more control over operations in your financial system (you can correct errors in transactions and debit your account in case of a chargeback claim, for example). A dedicated merchant account also provides you with faster transfers — within three days. For other account types, it usually takes two to seven days.

Despite the advantages of a dedicated account, most sellers prefer an aggregate account, which is less expensive and usually needs only 24 hours to be approved (for dedicated account approval, you’ll need to wait a couple of days). A dedicated account also requires more Know Your Customer (KYC) documentation than an aggregate account.

The main difference between dedicated and aggregate merchant accounts is that aggregate accounts offer one payment solution to multiple merchants, whereas dedicated accounts are tied to one merchant. That’s why you’ll get a higher level of control over your finances with a dedicated account than with an aggregate.

The most popular financial service providers that offer integration of different payment methods for e-commerce merchants are PayPal, Braintree (owned by PayPal), and Stripe. They each offer aggregate merchant accounts. We’ll talk later about the integration solutions they offer.

Credit card payment integration with a gateway API

There are a large number of payment gateways that allow you to process credit card transaction data through their APIs. This seems at first glance like a simple solution. But when you choose to integrate a payment gateway API, you place the responsibility for the security of credit card data on your own shoulders since that data now passes through your mobile app.

Furthermore, not all payment gateways support an authenticated tokenization process, which is required when accepting payments from a mobile app. Ideally, the payment gateway API should hand back a token from your server’s secure authenticated environment. This token represents the submitted card data and can be used to execute actual transactions. However, if this tokenization functionality is not provided by your gateway API, you’ll have to handle it yourself.

Payment Card Industry compliance

The first and most important requirement for any service that collects payments is to adhere to the Payment Card Industry Data Security Standard (PCI-DSS). You can find a list of service providers that are PCI-DSS compliant in the Visa Global Registry.

The process of becoming PCI certified takes months of work — and you honestly don’t need that headache if your app is going to simply pass card data to a gateway for long-term storage. But at the same time, anyone who accepts credit card payments — even those with mobile payment system integration — needs to comply with PCI-DSS rules.

Stripe and Braintree are mobile payment gateways that can help you comply with PCI-DSS requirements without too much effort. 
Major gateways or payment systems such as Stripe and Braintree offer robust native libraries for Android and iOS and ease PCI-DSS compliance by sending encrypted credit card data as a token. Thus, you can easily integrate mobile payment capabilities while avoiding most PCI-DSS compliance concerns because sensitive credit card data skips your servers.

Braintree and Stripe both charge owners in the US 2.9% plus $0.30 per successful transaction with Visa, Mastercard, Discover, JCB, Diners Club, American Express, and digital wallets.

Read also: How much does it cost to design an app?

Stripe vs Braintree

It’s hard to compare such large services as Stripe and Braintree. They have much in common and do a lot to beat the competition. But with deep study, of course we can find differences and choose the one that’s best for your own online business.

One of the biggest differences is that Braintree issues merchants their own merchant accounts, while Stripe serves as a third-party aggregator of digital transactions. This makes Braintree’s accounts more stable than Stripe’s, and account termination is more possible with Stipe. But Stripe rarely terminates accounts, and you can take some steps to protect yourself. For more information, check out Stripe’s list of restricted businesses and the legal agreements for Braintree’s services.

Stripe’s outstanding advantage is their subscription tools (such as Billing and Atlas) that are invaluable for e-businesses. Braintree has a comparable list of features, but with Stripe, you have much more control over fraud management. There’s also a difference in the international exchange charges (2.9% with Stripe and 3.9% with Braintree).

In addition, Braintree (a Paypal company) can easily be integrated with PayPal’s digital wallet and has a simple pricing model. Braintree has managed to keep Uber and Airbnb as clients. The Uber case study on Braintree’s blog shows how to make mobile apps with efficient payment processes.

Your decision to use Stripe or Braintree shouldn’t be based on their ranking but rather on which features you need and which payment methods are required in your app. Additionally, you need to think about risks associated with account stability.

Braintree integrations and latest updates

Braintree fully describes how to implement their SDKs in your app on their website for developers. But even without this comprehensive guide, integration with Braintree on any platform is pretty simple.

Braintree is changing rapidly, as is the number of mobile shoppers. The company is constantly working to provide app developers with the latest and most successful payment solutions. While you’re developing a new app and thinking about how to integrate a payment gateway, they may announce a few new custom solutions and tilt the scales in their favor. 

In October 2018, Braintree introduced Samsung Pay as a new in-app payment method for US-based merchants. This mobile app payment integration will help to increase the loyalty of millions of users around the world. It’s worth noting that for Samsung Pay transactions, you’ll need the advanced set of tools offered by Braintree that prevent fraudulent transactions.

Another novelty introduced by the company a little earlier is Braintree Extend. This product was developed to support partnership relations among Braintree users. Braintree Extend stores and securely shares payment information between partners, even if they use another merchant or service provider. This opens new opportunities for your business such as starting a rewards program to increase customer loyalty.

Braintree Extend

[Braintree Extend]

Stripe integration and latest updates

Stripe launched in 2011 as a developer-friendly payment system that took care of transactions and ensured their safety. Stripe supports multiple programming languages on the backend and is easy to deploy. The API for integration makes it easy for clients to store cards, enable subscriptions, and make direct payouts to a bank account. Mobile app developers can use Stripe’s functionality while retaining full control over the UI. This full-stack payment platform lets merchants accept instant payments in over 135 currencies.

Stripe payment solutions involve the Stripe Connect service, which helps accept payments and settle money with third-party companies. Using this service, you can build a strong and user-friendly online platform. Connect offers additional customization tools and analytics services.

All documentation for integrating Stripe can be found here. Stripe also has a detailed manual about APIs for payment processing.

Because of troubles with cryptocurrency volatility, in 2018 Stripe ended support for payments with Bitcoin. The company promised to continue watching the cryptocurrency market and expressed hope of re-enabling support for Bitcoin payments in the future.

Card-present transactions: PayPal Here and Square vs Stripe and Braintree

Stripe and Braintree can be used for card-not-present transactions, but services such as Square and PayPal Here offer solutions to accept mobile payments from consumers at a point of sale (POS). These POS systems can work well for a local marketplace or store.

The two main products offered by Square are Square Stand and Square Reader, which plugs into the standard headphone jack of your smartphone or tablet and allows you to take payments by swiping credit cards for a transaction fee (generally between 2.75–3%). In this case you don’t have to worry about PCI compliance, as it’s the payment system’s responsibility, not yours. Funds are deposited to your account in a day or two. These POS systems may be a good choice for a local marketplace or restaurant.

Stripe and Square are often talked about together in the media not because they’re similar (their business models are quite different) but because they’re prime examples of innovation in the e-commerce payments industry and both have billion-dollar valuations.

POS system by Square

[Point of sale system by Square]

As you can see, electronic money systems can really help you implement the payment functionality in your app. Large payment gateway providers such as Stripe and Braintree will help you simplify the integration of credit and debit card payments for both Android and iOS. Look around to find the best solution for your app, and don’t hesitate to get in touch with us here at Yalantis if you have any questions!

3.8/ 5.0
Article rating
153
Reviews
Remember those Facebook reactions? Well, we aren't Facebook but we love reactions too. They can give us valuable insights on how to improve what we're doing. Would you tell us how you feel about this article?
See what else we can do

Check out our knowledge and capabilities

Let's talk code

We use cookies to personalize our service and to improve your experience on the website and its subdomains. We also use this information for analytics.

More info