Payment Service Integration for a Car Leasing App — by Mbicycle

Check how the Mbicycle agency provided a few dedicated developers to augment the client’s team and help them with assuring a payment service integration for a car leasing app efficiently.

Client & Context

Our client is an African-based startup that provides a financial tool for locals to lease cars by working as drivers and paying commissions for them regularly via their official app. A leased car remains the property of the user when it pays off fully.

For the service users’ convenience, there is a mobile application where drivers register and keep payments. The app also tracks and gathers data on the amount of completed and scheduled rides, the charge rates for drivers, commission size for our client, etc.

Challenges & Requirements

The client urgently needed to augment their in-house team to plug payment service into their current app and develop all infrastructure needed for the smooth operation of this service. Since the client needed to implement this solution in a short time, they decided not to hire new employees to the company, but to involve a few dedicated experts from Mbicycle. After approving the right specialists, the client defined several challenges for them, as follows:

  • Assure swift inquiry of a high-tech and loaded project and full-fledged involvement.
  • Deliver narrow-focused expertise in implementing other payment solutions.
  • Onboard our experts in a short time.
  • Conduct seamless and smooth integration of the payment service with the client’s major software.
  • Stick to tight project deadlines.

Process

To assure the full and efficient accomplishment of this project’s requirements, Mbicycle provided two Java backend developers. Thus, the overall project team along with Mbicycle’s experts included the following:

  • 4 Java backend developers
  • 4 Kotlin frontend developers (there is only an Android version of the app for now, but we’ve already started the migration of the entire software to React Native)
  • Product owner
  • QA engineer
  • Project manager
  • UI designer

The project team followed Agile Scrum with two-week sprints as the primary development methodology. We also held daily meetings with the entire team and demo sessions after implementing each major feature. Our client fully determined the scope and sequence of the feature implementation, as well as the demo session frequency.

Solution

We launched our backend team augmentation services by picking the CVs of all candidates suitable best for the client’s requirements. After getting feedback, we organized interviews with the preferred specialists. In less than two weeks, the client hired two experienced Java backend developers from Mbicycle to join the project team, led by the client’s side Team Lead.

We focused our solution on the development and implementation of the specific module for making payments — Wallet. For that purpose, we plugged a specific Payment Service Provider (PSP) — a company that helps with conducting money transactions via mobile apps in the client’s business region. With it, we integrated our Wallet module into the client’s app, so that users could get money for working as drivers, as well as pay a commission for car leasing and make other types of payments. Additionally, we implemented the Single Sign-On (SSO) authorization for the client’s major software platform using the SSO Keycloak framework.

The Mbicycle experts augmented the client’s project team to help them develop a backend infrastructure for integrating the Wallet payment service successfully. Working on this project, our team implemented the following features:

  • Authorization of payments via OTP (One-Time Password) — we used the Termii OTP service to integrate this feature.
  • Storing and viewing the payment history.
  • Filtering transactions and exporting this data to pdf. For this, we used the JasperReports library.
  • Biometric / fingerprint authentication to confirm every payment.
  • Sending push notifications about various types of payments and transactions.
  • Verification of users of government banking institutions through our client’s application. We integrated such functionality that allowed checking and matching each app user with the identification bank number to confirm their identity.

Technologies & Tools

Architecture

Microservices

Frontend

Kotlin

Backend

Java, Python

Third-party library APIs

Redis, Docker, DynamoDb, Postgres DB, Jasper Report, AWS: SNS, SQS, RDS, ECS, EC2, S3

Results

Our Java backend developers joined the project at the MVP stage when it was a startup. Today we are operating more than 1000 active users in this payment service and scaling it for the primary markets in the African region by plugging local Payment Service Providers and setting up the necessary infrastructure.

The client is satisfied with the quality and dispatch of our specialists’ work, as well as their close-knit collaboration with the client’s in-house team. Moreover, the client is already about to hire a few more developers from Mbicycle to extend the app functionality. For example, if now its users can pay for mobile services only, we are going to let them pay for a lot more services, including a Netflix subscription, purchases in online stores, and more.