1. Home
  2. Insights
  3. Payment Gateway Integration in iOS and Android Apps
payment-gateway-integration-in-ios-and-android-apps

June 11, 2019

Payment Gateway Integration in iOS and Android Apps

What is a payment gateway and how does it work? Why should you use it in your services? What payment gateway should you choose? How do you integrate it in your mobile application? Learn the answers!

Mobile payments have taken center stage lately. Providing a fast and easy way to make purchases, they help users save time and enjoy a pleasant shopping experience. Since many people prefer to shop online, mobile payment gateway integration offers businesses a great competitive advantage. Retail companies, e-commerce stores, freelancing platforms, travel agencies, firms belonging to the HoReCa industry, and many others will benefit from using it.

How to build a mobile app that accepts payments? How do you ensure user and money safety? How do you automate the payment process? We’ve got the answers! Find out what payment gateways are, how it works, and how to implement it.

What is a payment gateway and why should you integrate it?

Funds movement in an interbank network is a complex sequence of operations that creates risks primarily associated with security assurance. Although, for the end user, a mobile money transfer takes only a few seconds–a huge amount of work is hidden under the hood.

Fortunately, the bank is responsible for all transactions and data safety. How do you deliver this information to the bank? How do you check that the user has funds on their account and the account is really live and belongs to the customer?

And what about storing payment details on mobile devices? What will happen if the base gets into the hands of the wrong people? Who will be responsible for this? Mobile app engineers and business owners should not bear the blame. Especially since not everyone can get the opportunity to carry out financial operations and store user and billing information.

payment gateway

In addition, to keep such data and work directly with banks, it is necessary to pass a complicated licensing procedure of PCI DSS (Payment Card Industry Data Security Standard), which can take months. A payment gateway is what will do everything for you. So, what does this actually mean?

A payment gateway is a service that performs the processing of electronic transactions. It acts as an online analog of the terminal and is used for payment authorization. An important advantage is that the buyer only gives their personal information to the online payment system, not to each individual seller. What’s more, the seller does not need to spend money on software development and hardware or worry about customer data security thanks to payment gateways.

Therefore, the mobile app payment gateway assumes responsibility for instantly sending data to the bank, tracking the transaction status, and providing for its safety.

How does a mobile payment gateway work?

It's noteworthy that a mobile payment gateway is just a transport on which billing information comes into the network of financial organizations. Then, it is transmitted through the interbank network channels like Visa and MasterCard.

Eventually, funds go to the business owner’s bank, which happens without the participation of the payment gateway. The last one monitors the operation result and informs the end user about it. But what does the process look like?

Simply put, it includes three main steps: payment gateway, banking network, and a client’s account.

payment integration how it works

More precisely, the mobile app payment processing with a mobile payment gateway looks as follows:

  1. The user (buyer) enters the required data in a mobile application.
  2. First of all, information about a transaction is sent to the payment processor. Through it, it is delivered to the bank that issued a user payment card.
  3. The bank sends a request to the payment system (MasterCard, VISA, etc.), which estimates a client’s credit reputation and analyzes the terms of the transaction.
  4. The card issuing bank sends an authorization code that permits the payment system to commit the transaction.
  5. This code is sent to the payment gateway and from there to the seller. If the bank approves the transaction, the funds are debited from the client’s account.

If the quality of the Internet connection is good, all of these operations take just a few seconds.

Since a huge amount of money and personal information of a large number of people pass through the payment gateway, security is very important. Therefore, all traffic of payment systems passes through an HTTPS secure protocol.

In addition, the IP address verification mechanism and the request signature are often used. These and other systems comply with modern security requirements and guarantee complete data protection in payment gateways.

Choose the right payment gateway

At the moment, there are plenty of payment gateway implementations that have both strong and weak sides. For example, some support over a hundred currencies, some accept cryptocurrencies or even focus on them, some establish additional security safeguards. Since everything depends on your business needs, you should define your goals, estimate the budget, investigate various payment gateways for mobile apps, and choose the best option.

In this post, we’ve considered some of the most popular payment gateways, namely Stripe, PayPal, and Braintree. Take a look!

Stripe Integration

Stripe is a San Francisco-based payment gateway provider, whose software enables companies and individuals to easily make money transfers. This payment gateway solution gives technical and banking infrastructure for operating online payment systems. To ensure safe data storage and prevent fraud, the service constantly monitors the network for suspicious activities.

Currently, Stripe is used in more than 100 countries and supports debit and credit cards, Apple Pay, Android Pay, Bitcoin, and Amex Express Checkout. Lyft, Instacart, Postmates, DoorDash, TaskRabbit, and Grab are among its famous customers.

stripe integration

Stripe offers a standard commission of 2.9% from each financial operation plus $0.3 per money transfer. It also sets no fees for international payments and gives some discounts for businesses that have a monthly income of $80,000.

Concerning the use of the Stripe payment processor, a plus is that it is geared toward mobile devices and mobile application engineers. First of all, it contains clear comprehensive documentation. Secondly, it provides programmers with iOS and Android SDKs (software development kits).

Moreover, Stripe has libraries in six programming languages, including ready-made JavaScript libraries for adding it to a website or web app. Thirdly, it has a good test mode–a copy of the real one–to allow everyone to check out the service. To switch to the live mode, you only need to replace the keys without touching the API.

PayPal Integration

PayPal is one of the pioneering companies, that, at one time, set the standard in its niche. As for today, this payment gateway provider continues to be very popular for the same reasons it took a leading position in its early years: ease of use, security, and global reach. A resident of nearly any country can make purchases and order services in online stores all over the world without entering their card details.

A personal user ID is the only thing that needs to be entered. Thanks to powerful encryption tools and monitoring of suspicious activities, customers can be confident in the security of their funds and personal accounts.

The platform sets up a standard fee of 3.4% plus 30 cents for each financial operation. However, if the company’s monthly income is more than $3,000, you can switch to another plan that has a lower commission.

PayPal integration

Now, PayPal is supported by more than 200 countries and unites 277 million users. Such giants as Walmart, eBay, and Adobe are among its biggest clients.

This online payment system includes iOS, Android, and Windows native clients, which software engineers use for integrating PayPal in a mobile or web application.

Braintree Integration

Braintree is a Chicago based company that focuses on delivering digital financial solutions for the e-commerce industry. In 2013, it was acquired by PayPal, which now can be integrated using Braintree SDK.

This payment gateway solution is a great choice for startups and middle-sized companies. Braintree establishes a standard fee of 2.9% from each operation plus 30 cents per transaction (like Stripe) and processes the first $50,000 payments for no fee.

braintree integration

The platform supports Apple Pay, Android Pay, and Alipay, accepts Visa, AMEX, Visa, JCB, MasterCard and other cards, and can be integrated with over 300 applications. Airbnb, Uber, Yelp, Dropbox, and other successful businesses use the service.

Braintree provides software engineers with the necessary SDKs and ability to write code in various programming languages for integrating a payment gateway in a mobile or web app. Its official website contains detailed documentation and clear instructions on the implementation.

What challenges can you face while working with payment gateways?

There are several possible challenges you can face when integrating a payment gateway in mobile apps:

  • Security concerns: Ensuring sensitive payment information is securely transmitted and stored is a key challenge during app payment gateway integration.
  • Integration with multiple payment methods: Integrating with various payment options like credit/debit cards, mobile wallets, net banking, etc. can be a complex process.
  • High transaction fees: Payment gateways often charge transaction fees, which can impact the profitability of the mobile app.
  • Technical difficulties in integration: Technical challenges such as compatibility issues between the app and payment gateways, slow load times, and integration bugs can arise during the integration process.
  • Handling refunds and chargebacks: A payment gateway integration must have the capability to handle refunds, chargebacks, and dispute resolution processes.
  • Maintenance and updates to the payment gateway API: Payment gateway APIs may require regular updates to stay up-to-date with the latest security and functionality standards. This can also require ongoing maintenance and technical support
  • Integration with other systems: Integrating payment gateways with other systems such as CRM, ERP, accounting software, etc. can also be challenging.
  • User data management: Properly storing, protecting, and utilizing customer data such as billing and shipping information is a critical aspect of payment gateway integration.
  • Scalability: As the mobile app grows and expands, the payment gateway integration must be able to scale accordingly to handle an increasing volume of transactions.

How to integrate a payment gateway in an iOS app?

Each platform offers SDKs and detailed documentation on how to integrate payment gateways in a mobile app. When you’re choosing a service, check whether it supports the required framework. Implementation details may slightly differ depending on the platforms and development tools used but in general, the scheme is the same. Therefore, let’s see how to integrate an online payment system in an iOS app with Braintree as a payment gateway provider.

In order to interact with Braintree, you need to update both a mobile application and the server software with which it works through the internal API.

Ultimately, a safe tripartite system is organized with each object playing its role:

  1. A client application–collects payment data such as credit card number, CCV, expiration date, and sends it to Braintree.
  2. The server part of the application–works with the previously collected payment data, for instance, receives a request from the client application to make a payment, and sends the corresponding request to Braintree.
  3. Braintree server–stores all unsafe payment information, takes over the execution of transactions.

In addition to these system elements, the concept of using Nonce instead of real billing details is important. Nonce is a kind of projection of payment information that is generated by Braintree based on data, once transmitted by the client application.

You can see the main interaction stages on the scheme below:

payment gateway

  1. Each time the application is started, we need a special to initialize the client-side SDK, which the client application requests from our server.
  2. Using the server-side SDK, the server application generates a token and returns it to the client.
  3. The client application sends the payment method details to Braintree. Hereupon, the configuration is complete. To carry out transactions, the client application will use the appropriate Nonce payment method instead of the actual payment details, a list of which is requested from Braintree.
  4. A request with payment data (for example) is sent to our server. In addition to Nonce, this request may also contain other data, such as the payment amount.
  5. The server application receives the request from the client application and generates a request for Braintree using the server SDK.

Implementation details may slightly differ depending on the operating system and development tools but in general the scheme is the same. On the official Braintree dev portal, client-side and server-side SDK versions are available for various platforms and programming languages.

It works as follows: the customer sends you the card information, which is moved forward to the server for carrying out a transaction. Nonce is not stored anywhere and each time it is generated again.

Take a look at how to adopt a payment gateway in an iOS application:

1. Create a Sandbox account in Braintree.

braintree integration in iOS

After finalizing the registration (check out the instructions in the email), log in to the account and find yourself on the home page, where you can see the keys for further SDK configuration.

braintree sdk integration

2. Next, you need to configure the server application. The Braintree’s official dev portal contains examples of the server-side SDK integration using various stacks of software development tools.

Regardless of the platform, you will need special keys, called Public Key, Private Key, and Merchant ID. To use them, pass the following way:

  • Log in to your Braintree account
  • Click the icon in the upper right
  • Choose an API in the dropdown menu

how to integrate braintree in iOS

  • Find the API Keys section, click on View near the Public Key

braintree sdk

  • Copy the Public Key, Private Key, Merchant ID, and use them in the server configuration

braintree integration client library tree

3. The next step is to implement a client-side SDK in iOS. As mentioned earlier, one of the main tasks of the client application is to collect and send the account information to Braintree. There are two ways to organize such a UI:

  • Use your own UI–in this case, you will have to take care of managing the life cycle of the corresponding requests. However, you can completely customize the app interface to your individual needs.
  • Use the Braintree Drop-in UI, a set of ready-made UI solutions for payment organizations, which allows programmers to quickly build the interface.

4. In the example below, the Drop-in UI using CocoaPods is used to work with the Braintree client-side SDK, we import the SDK itself into the project and initialize it. SDK initialization requires a special token that can be requested from our server through the appropriate endpoint.

Starting with the fourth version of the client-side SDK, it can also be initialized with the special Tokenization Key, which can be configured in the account on the Braintree portal.

You can do so by carrying out the following path:

  • Login to your Braintree account
  • Click on the icon in the upper right
  • Choose an API
  • Find the Tokenization Keys section

braintree integration in iOS tokenization key

  • Click on the button + Generate New Tokenization Key (or use the existing one)

5. To work in Sandbox, we need the test billing information.

testing sandbox

At this point, we have everything needed to implement the client.

The process of iOS SDK setup

1. Import BraintreeDropIn framework into your project

2. Thus, we need to get a Client Token in order to initialize the client SDK. This token must be generated on your server and returned to the client application upon the appropriate request. Starting from the fourth version, you can also apply a Tokenization Key to initialize the SDK, which can be generated in the Braintree control panel.

3. Next, we need to configure the payment method. Since we use the Drop-in UI, all we need is to design and show the user a special controller from the SDK. There is no need to worry about sending requests to the Braintree API as Drop-in UI will perform it.

As a result of DropIn controller work, we receive Nonce, which we will use for further transactions.

4. Due to having Nonce, we are ready to make payments. To do this, our server must generate a corresponding request to Braintree. In addition to information about the payment amount, this request must contain Nonce, which will be received from our client application.

Now, we have the payment gateway integration ready.

How to integrate a payment gateway in an Android application?

Payment gateway integration in Android is almost the same as iOS integration (except for several steps)–but generally, you can find Android SDKs and developer instructions on official websites. Check out Braintree website on how to integrate Braintree SDK for all popular platforms, and for Android as well.  

Our Experience

At the moment, we’re finalizing the creation of a mobile product that represents an Airbnb in the parking field. The product consists of iOS and web applications and enables users to reserve and pay for a parking place with a few clicks.

It also has a cool intuitive design and lets users view all parking lots in the US, including the address, price per hour, and how to get there. We decided to integrate Braintree as a great solution for startups and middle-sized companies.

Moreover, our team is building a mobile project, a travel experience marketplace, that gives users the opportunity to buy and sell engaging custom experiences right in the mobile app.

Final thoughts

If you deal with any kind of transactions, you should allow for accepting payments in your mobile app. The use of a mobile payment gateway will become a competitive advantage as you will automate online money transfers by making them last several seconds instead of several days.

A payment gateway is a connecting link between the bank and customer that removes the headache associated with safe data storage, fraud detection, and transaction security. What’s important here is that there will be no need for the buyer to give personal information to each particular seller.

If you need to implement a payment processor for your mobile apps, we are here to help you!

💵 What is a payment gateway?

A payment gateway is a secure online payment processing service that enables merchants to accept payments from customers through their mobile app or website.

💵 What are the benefits of integrating a payment gateway in an iOS or Android app?

Using a payment gateway provider for a mobile app allows for easy and secure transactions, reducing the risk of fraud. It also provides customers with a seamless and convenient shopping experience.

💵 Are there any fees associated with using a payment gateway?

Yes, most payment gateway providers charge a transaction fee for each payment processed through their service, along with other fees such as setup fees and monthly fees.

💵 Can a payment gateway be integrated into an existing mobile app?

Yes, a payment gateway can be integrated into an existing mobile app as long as the app has been designed to accommodate the integration.

Subscribe to new posts.

Get weekly updates on the newest design stories, case studies and tips right in your mailbox.

Subscribe