How to integrate payment system into the existing app

In last years the brick and mortar stores have changed their point of sales focusing on mobile. The reasons are clear like a whistle.

Consumers are increasingly turning to their smartphones to buy things online and an amount of e-commerce business grows like mushrooms after the rain establishing a new trend of mobile payments. 

According to statista.com research, the worldwide mobile payment revenue in 2015 was 450 billion U.S. dollars and is expected to surpass 1 trillion U.S. dollars in 2019.

As the number of people using mobile payments is increasing daily, the necessity to have a payment processing gateway becomes highly urgent for business.

READ ALSO: DO YOU NEED A MOBILE ECOMMERCE APP FOR YOUR BUSINESS?

What exactly are mobile payments?

Mobile payments encompass different technologies that are determined by the purposes.

Thus, you may use your phone to carry out payments for physical goods online or make in-app purchases of digital goods.
For the app developers, it means that the process of selling these two types of goods will be different.

The niche of in-app purchases on iOS and Android is obtained by Apple’s AppStore and Google’s Play services.

SEE ALSO: HOW TO CREATE YOUR OWN APP?

To provide mobile payments for physical goods there are a variety of payment systems that can be integrated into your app.

So let’s take a closer look at each of these systems.

In-app purchases, possibilities and fees

To sell the app related items (digital content or features) through your app you need to use solely the services of the one or both technological giants Apple or Google, depending on which platform your app is performed.

Both of the stores (AppStore and Google’s Play) charge a 30% fee for each user’s in-app purchase. For this reason, they do not let sell digital goods through third-party services.

To implement in-app purchases developers should use:

  • StoreKit for iOS
  • In-App Billing API for Android

StoreKit for iOS

Store Kit framework allows embedding a store inside your app on iOS platform. This framework connects to the App Store on your app’s behalf to securely process payments from users, prompting them to authorize payment. The framework then notifies your app, which provides the purchased items to users.

Here are some variations how you can use In-App Purchase:

  • A basic version of your app with additional premium features
  • A magazine app that lets users purchase and download new issues
  • A game that offers new levels to explore
  • An online game that allows players to purchase virtual property

The interactions between the user, your app, and the App Store during the In-App Purchase process take place in three stages. Look at the scheme below.

 

 

READ ALSO: HOW TO OUTSOURCE IPHONE APP DEVELOPMENT

In-App Billing API for Android

You can use the service to sell a wide range of digital content from inside your applications, including downloadable content such as media files or photos, virtual content such as game levels or options, premium services and features, and more. In-app Billing allows to sell products as:

  • Standard in-app products (one-time billing)
  • Subscriptions (recurring, automated billing)

Developers can create promo codes in a new version of In-App Billing to allow users redeem them for content or features.

While using In-App Billing your application never has to directly process any financial transactions.

To run the billing process between your app and the app store the developers should integrate these libraries into your project.

The setup of in-app purchases is fairly straightforward. A bit more complications you can face during the integration of payments systems for selling physical goods or services.

READ ALSO: HOW MUCH DOES IT COST TO DEVELOP AN ANDROID APP

Mobile payment integration solutions

To let your mobile app process payments for physical goods there are a plenty of payment gateways.

They are off-the-shelf merchant services that allow to transmit transaction information to acquiring banks and responses from issuing banks whether a transaction is approved or declined. The payment gateways process the credit card transaction data through their APIs. To put it simply, payment gateway facilitates a payment transaction and communication within banks.

SEE ALSO: HOW MUCH DOES IT COST TO BUILD A TAXI APP LIKE UBER?

While using payment gateway you should consider the security as an integral component because it operates with sensitive data such as credit card numbers and personal information. According to Payment Card Industry (PCI) Data Security Standard (DSS), it is not allowed to store credit card numbers on a retailer's point-of-sale terminal or in its databases after a transaction.

To provide secure transactions your payment gateway has to support an authenticated tokenization process, which is required when accepting payments from a mobile app. Tokenization is a process of authorization in systems connecting to finance and money.

During tokenization process, the sensitive data is replaced with unique identification symbols that retain all the essential information about the data without compromising its security.

SEE ALSO: HOW TO DEVELOP A SHOPPING APP LIKE WISH?

To be PCI compliant, you must install expensive end-to-end encryption systems or find a service provider who ensures the "tokenization option."

It’s obvious that to use a ready-made solution is cheaper than to develop your own, bringing the responsibility for the security of the credit card data on your shoulders.

Take a look at the following solutions to make the process of the payment transaction in your app less painful.

Stripe VS Braintree

The payment systems such as Stripe and PayPal’s Braintree will save you some time and headaches. Both payment systems offer robust native mobile libraries for Android and iOS and ensure PCI compliance by sending encrypted credit card data as a token.

With the help of Braintree.js / Stripe.js integration, you will avoid the security concerns because sensitive credit card data skips your servers.

Using these solutions you can store your customers’ payment information in a secure vault and then transmit that information directly to a payment system’s servers.

As we have mentioned above, Braintree and Stripe both have SDKs for iOS and Android. So the platform won’t affect your choice. But what will? Let’s figure this out by comparing these payment gateway solutions.

  • Transaction Fees

Сonditions and pricing plans are quite different depending on the country.
Stripe is available for businesses in 25 countries and accepts payments from anywhere in the world. Of course, your app should be a resident of one of the supported countries.

Stripe charges a percentage-based fee each time you accept a credit or debit card payment. The price is the same for all major cards, regardless of whether the card used is international, business, or American Express. Stripe’s fee is 1.4% + 20p for European cards and 2.9% + 20p for non-European cards. There’s no additional fee for failed charges or refunds.

Braintree charges users in Europe 2.9% + €0.30 per transaction. The exceptions are American Express transactions which will be charged 2.9% + $0.30.

When it comes to refunds, Braintree’s charge varies from country to country — in Australia, it will be $0.30, but in the USA there is no fee.

Also, you will have to pay a standard $15 fee per each chargeback in Braintree. Stripe will withdraw 15$ for the chargeback as well but will give it back once you successfully prove they really should. Learn more about chargeback policy in Stripe and Braintree.

At the same time, Braintree offers a discounted rates for business processing over $50K per month.

Since becoming part of PayPal in 2013, Braintree has managed to land in more than 45 countries and is available now in more than 130 currencies.

  • Security

Both Stripe and Braintree are certified as a PCI Level 1 Service Provider, the most stringent level of certification available. It means they are compliant with PCI-DSS rules and are more secure because a breach of your servers won't result in any stolen credit card data.

Moreover, Braintree partners with Kount to provide their customers with recognized industry-standard protection and fast transaction speeds.

  • API

Stripe API is designed by developers for developers and has extensive documentation.

Stripe provides libraries in six programming languages, from Java to Go, as well as a host of community libraries.

On the client side, the API makes it easy to store cards and enable direct payouts to a bank account. Also, the payment processor offers pre-built checkout and subscription solutions, so startups can start accepting payments quickly. Accounts have test mode and live mode API keys.

As James Allgrove, head of UK growth at Stripe told: "The way we think about it is it's a toolkit for developers to be able to build whatever they want with. We give you all of this functionality and you choose what you want to make use of and how you want to use it."

Last year it launched a product called Relay, which allows developers to embed a 'buy' button within third-party apps, including Facebook, Pinterest, and Twitter.

Braintree offers SDKs and fully customizable APIs in six programming languages. Moreover, it has pre-built shopping cart solutions.

Braintree providing merchants with an account, payment gateway and the facility to automate recurring payments, including wallet style credit card storage and support for mobile and international payments. Among its clients are huge economy players like Uber and Airbnb.

The capability to leverage the huge PayPal network is considered to be the main Braintree competitive advantage over Stripe as startups can scale internationally.

Both payment systems provide developers with Server SDK, which is needed to process transactions through their systems.

Takeaway

To make your app capable of providing payments for physical goods or services you need go through the following steps:

  • Choose the payment processor (e.g., Stripe or Braintree)
  • Link your app with a separate payments processor
  • Layer on top of the payment processor Android Pay or Apple Pay’s (e.g., PassKit)

To sum up, it’s hard to choose the best solution only by pricing plans. It all depends on your type of app, business specific, country and the amount of money your app will handle.

If we compare additional expenses, Stripe has the minimum of them. But Braintree offers more possibilities for startups while scaling their world presence due to the huge PayPal network.

 

Katherine

Author