Taxi app is certainly a complex app to develop. Developers have to accommodate a few intricated features in the app, so app owner can add more and more people into a revenue stream. But, as I said, taxi app development is a complex process and not all the taxi app development companies are able to satisfy the basic requirements.
Payment method is one of the complicated requirements of the taxi app which demands the highest ever accuracy. App owner has to tolerate a million dollar loss if there is even a small bug in the payment function of the app. Looking at its urgency, all top ride-sharing companies like Uber and Lyft are updating its payment system on the regular bases and powering them with the more scalable solutions. They are developing more advanced payment systems which reduce the duplicate and failed transactions. In this blog, we will see the back-end and front-end side of Uber’s payment system. We will also understand the concept of payment processor and which payment processor Uber has adopted for streamlining its payment procedure.
How Uber processes 15 million payment transactions in a day?
According to data, 15 million Uber trips are requested each day. With every new trip request, a new transaction occurs. That means Uber’s payment system has to handle 15 million transactions every day. This is a huge number. To handle these many transactions, scalability of the payment system should be foremost. What makes it even more challenging is the split payment and payment in different currencies. But with the use of proper technology, Uber has overcome challenges and actualized an almost error-free payment environment.
To understand the logic behind Uber’s payment system in a more rational way, we will assume a scenario where you as a user pay the fare by using Google pay method. It is a very complex process, but I will try my best to summarize it in the easiest way. For that, I would distribute the payment process in the client side and server side processes.
First, let’s talk about the client side. When you open the Uber app for the first time, it asks your personal details. Along with it, it also asks you about your preferred payment method. Your payment method creates a payment profile, containing the data of payment method and Uber id. Once you add your payment method (Google pay), the app saves your card details. Now, whenever you book the ride, it checks your payment method and cards details. But this magical thing happens on the server side. Let’s understand the interesting mechanism Uber’s payment system is having on the server side.
As you can see in the image, there are major 4 components of the Uber’s payment system. Your mobile is where Uber’s application and Google SDK lives. Uber’s payment-related APIs are stored in Uber.com (Uber server), and Braintree is the payment processor Uber is using. If you are curious to know what is payment processor, then it is a piece of software which handles the transactions from various payment channels.
Now, when you request a ride, the app asks the payment data from Google SDK. This data contains your payment profile. Google SDK sends that data as a ‘nonce’. A nonce is the one-time usage token. Once the app gets the payment profile, it sends pickup request with the payment profile to the Uber server. Uber server authorizes the request and exchanges the data with the payment processor, Braintree. Braintree sends back the payment token. After that, Uber server again makes a request to Braintree to check your credit. Braintree responds and tells Uber server whether your Google pay account has sufficient amount to pay the fare or not. If Uber server finds Braintree’s reply positive, it confirms your pickup request.
If we sum up the learning of how Uber processes a payment, we can get to know that Uber server and payment processor are the key elements of the payment process. So, let’s understand the Uber server and its payment processor, Braintree in details.
Uber server contains the elements like Risk engine, Payment profile service, and PSP (Payment service provider) gateway. The moment Uber server gets the ride request, it checks whether you are risky or not. Risk engine works on machine learning and AI technique. It uses the IP address and history of your usage to decide. If risk engine finds you not suspicious, it shares your payment profile with the payment profile service. Payment profile service verifies the payment profile and forwards the data to the Braintree by using its gateway. Braintree performs a credit check as we have discussed earlier and sends the confirmation to the Uber server. Once it gets the confirmation from the Braintree, it confirms the ride request.
Now, Let’s dive into Uber’s payment processor, Braintree.
Uber’s journey with Braintree.
Braintree is the USA based company, providing mobile and web payment services to online businesses. It was founded in 2007 by Byron Johnson, but in 2013, Paypal acquired Braintree. Braintree supports almost all types of payment methods, like Apple Pay, Android Pay, Bitcoin, Paypal and all types of debit and credit cards. It also supported more than 130 types of currencies. Due to these reasons, top companies like Airbnb, Uber, GitHub, and Haile are using Braintree’s services.
If we talk specifically about Uber’s migration to Braintree, then there was a time when Uber was facing a lot of challenges in its payment system. For example, until 2011, Uber had to charge riders of the UK in the US dollar, rather than in euro or pound. This lack of compatibility was annoying users of European countries. Apart from this, Uber wanted a payment processor which is specifically developed for the mobile platform. After understanding the gravity of a reliable payment process, Uber adopted Braintree in 2011. Braintree is providing data portability which is the main reason why Uber has chosen its services.
Braintree offered a quick solution to the Uber. Engineers of the Uber wrote simple code on both the client side and server side and made the Uber’s payment environment so user-friendly. It was a very smooth transition.
The business outcome of Uber’s step to utilize the service of the Braintree was really fruitful. After people of European countries got the ability to pay in their local currencies, Uber witnessed magnification in the revenue like never before. Following is the graph from the official sources of the Uber which depicts the increase of Uber’s ride after 2011, after Uber has unfolded its industry-defined payment system!
In the nutshell:
There isn’t any doubt that Uber has taken a revolutionary step by exploiting features of Braintree. The current robust payment system which Uber is owning is the result of Uber’s partnership with Braintree. Uber knows how important it is to have a totally bug free payment environment. Uber has also developed its server in such a way that it does not only check the credit of the rider but validates the rider based on his IP address information and his usage history. So, if you are planning to satisfy a payment requirement of your app, it is always a good choice to follow the success path of the Uber as there is no other apps cater such a rewarding payment process.
About the author:
Vishal Virani is a Founder and CEO of Coruscate Solutions, a leading taxi app development company. He enjoys writing about the vital role of mobile apps for different industries, custom web development, and the latest technology trends.