The booming market of online payment apps like PayPal testifies to the convenience they offer, and many entrepreneurs are trying to tap into this market. If you are planning to lunch such an app, then you ought to read this guide on how to build an online payment app like PayPal.
The market for online payment apps
How large is the market for online payment apps? Well, mobile payment revenue was $450 billion in 2015, however, it’s likely to reach $1.08 trillion by the time 2019 ends, as a Statista report shows!
That’s only the mobile payment segment, whereas the overall digital payments market is far larger than that! The following statistics attest to this:
- By the end of 2019, the total amount of digital payments will reach $4.144 trillion, and the estimate for 2023 is $6.686 trillion.
- An estimated 3.7 billion users will have executed some form of digital payment transactions by the end of 2019.
Read “Digital payments” for more information.
An overview of PayPal
PayPal is one of the most popular online payment apps, and it operates in over 200 markets around the world. At the time of writing, PayPal has 277 million active account holders, enabling consumers and merchants to receive funds in over 100 currencies.
PayPal users can withdraw funds in 56 currencies, while they have the ability to hold funds with PayPal in 25 currencies. The app offers the following features:
- It can work both as a merchant account and a payment gateway.
- PayPal has no set-up or cancellation fees, however, there are service and transaction fees.
- Consumers can conduct peer-to-peer payment transactions using PayPal.
- They can link their debit card, credit card, and bank accounts with PayPal.
- The app has powerful security features including encryption, fraud screening, and address screening.
- Operating under stringent regulations applicable in the financial services industry, PayPal has robust “Know Your Customer” (KYC) processes.
- App users can send money around the world, moreover, they can easily manage their money with the ability to track their transactions.
- Consumers can access PayPal on the web, moreover, they can use it’s Android and iOS apps.
How to create an online payment app like PayPal
A software development project to build an online payment app like PayPal would involve the following steps:
1. Project Scoping
The project scope statement would include the following:
Download Our Project Specification Template
- Building a web app, an Android app, and an iOS app;
- The app should offer the following features:
- Core online payment features like opening user and merchant accounts, online payment, transaction/balance reporting, etc.;
- ID verification for users and merchants;
- CRM features to govern the relationship with merchants;
- Push notifications.
2. Selecting the right SDLC model
I recommend that you launch a “Minimum Viable Product” (MVP) with the above features, targeting one geography. This would enable you to get real market feedback, and you can subsequently enhance the app.
This calls for iterative development, and agile is the right SDLC model for such projects. You can read about agile in “What is software development life cycle and what you plan for?”.
3. Formulate a development approach
Consider the following approach to develop this app:
- Use “Platform as a Service” (PaaS) and “Mobile Backend as a Service” (MBaaS) platforms for developing the web and mobile apps, respectively.
- Implement features like online payment, ID verification, CRM, and push notifications using “Software Development Kits” (SDKs) and “Application Programming Interfaces” (APIs).
- Utilize “Integrated Development Environments” (IDES) and frameworks to expedite the project.
- Keep in mind that in future you will expand to different geographies, therefore, use “app internationalization” best practices. You can read about it in “The ultimate guide to mobile app internationalization”.
4. Build a “scrum team”
I recommend that you use the “scrum” technique in this project, which is suitable for agile projects. Build a team with the following roles:
- Business analysts;
- UI designers;
- Web developers, with Node.js expertise;
- Android developers, with experience in Kotlin;
- iOS developers, with Swift skill;
- A project manager (PM).
The PM performs the role of a “scrum master”, and forms small, cross-functional teams called “scrum teams”. The teams work on “sprints”, i.e., iterations in scrum parlance. Read more about scrum in “How to build a scrum development team?”.
5. Sign-up for managed cloud services platforms for the web and mobile app infrastructure
Unlike large enterprises with existing IT infrastructure, start-ups might want to avoid large upfront investment in IT infrastructure. They typically want to get going with the development quickly, and managed cloud services platforms can help here.
As I had earlier explained in “10 top PaaS providers for 2019”, using a PaaS platform helps in web app development as follows:
- The PaaS provider manages the cloud infrastructure, networking, server, storage, middleware, operating system, and runtime environment. A developer can just concentrate on the coding.
- You can easily integrate databases and 3rd party APIs into your app, with the help of a PaaS platform.
- DevOps is increasingly important for agile projects, and PaaS providers provide excellent DevOps tools.
- You would like your app to scale well, and PaaS providers have the right “Application Performance Monitoring” (APM) and auto-scaling solutions for this.
Use AWS Elastic Beanstalk, as AWS has excellent cloud capabilities. What’s more, using the same AWS account, you can also sign-up for AWS Amplify, i.e., the MBaaS offering from AWS. This helps as follows:
- You don’t need to hire cloud platform architects, infrastructure architects, and mobile backend developers. Managing a mobile backend takes time, however, using an MBaaS can save that time for you. AWS Amplify will manage the infrastructure, persistent storage, etc.
- AWS Amplify will make implementing features like user management, security, and push notifications easier.
- Mobile platforms and devices are many, and this adds to the complexity of mobile app development. It becomes easier to manage when you use an MBaaS platform.
- Integrating 3rd party APIs, scaling your app are other areas where you benefit from using an MBaaS platform like AWS Amplify.
6. Get an online payment solution
I recommend that you use an API/SDK solution to implement the core online payment features. Braintree, which is from PayPal, provides a robust solution for this, named “Braintree Direct”. This has the following features and advantages:
- An app built using this solution can accept and process payments online.
- Merchants will find in your app everything concerning online payment, and they can sell online to their customers.
- Braintree Direct is compatible with web, Android, and iOS.
- The solution incorporates industry-standard security features.
- Braintree Direct has fraud prevention features, moreover, it includes industry-standard encryption solutions. There are advanced fraud-prevention tools, and you can also add “3D secure” to provide additional security.
- It has a global reach and handles popular payment methods like card payment, PayPal, Apple Pay, Google Pay, Samsung Pay, Venmo, etc.
- Braintree Direct is PCI DSS-compliant, and it supports scalability.
- Recurring billing, account updates, and robust reporting are the other key features.
- The wide range of integration options available with Braintree Direct makes it easy to other platforms and applications like billing, analytics, etc.
Your development team can check out the following resources for implementing Braintree Direct:
- Read this guide for help with development.
- Braintree Direct also has tutorials to provide further help to programmers.
7. Procure an ID verification solution
An online payment app needs an ID verification solution, to meet the stringent regulations governing the financial service institutions. The solution should enable the verification of government-provided ID, moreover, it should handle “Know Your Customer” (KYC) and “Anti Money Laundering” (AML) process compliance.
Read How We Helped a Marketing Company to Build a Back-Office Custom Ads Dashboard
- Your app will have the ability to verify government-provided IDs like driver’s license, state ID, etc.
- This ID verification can happen online and on a real-time basis.
- Online account opening will be easier with streamlined KYC/AML compliance.
8. Sign-up for a CRM solution
Now, you will need to conduct the entire gamut of business activities with merchants that open accounts in your app. This calls for a solution providing the entire suite of CRM features. I recommend that you use Zoho here since they have a robust CRM solution.
9. Buy a bulk SMS solution
10. Download and set-up IDEs
Now is the time to obtain the development tools, therefore, I recommend that you download and set-up the following IDEs:
- IntelliJ IDEA, for the web app development, along with this Node.js plugin;
- Android Studio, for coding the Android app;
- Xcode, for the iOS app development.
11. Get a browser and mobile device lab on the cloud for testing
You would want to test your web and mobile apps with a wide variety of browsers and mobile devices, however, that’s not easy with open-source testing frameworks. Experitest has the right solutions for you, as follows:
- You can use their “Mobile device & browser lab” on the cloud, which enables access to a large set of web browsers and mobile devices.
- Use “SeeTest Reporter” from Experitest to get robust test reports and analytics.
12. Develop your web app
Now that you have sorted out the platforms, SDKs/APIs, and development tools, it’s time to develop the web app! This involves the following steps:
- Use js to code the web app, since this open-source runtime environment helps in developing performant and scalable web apps. Refer to this AWS Elastic Beanstalk documentation to find this runtime on Elastic Beanstalk.
- You can integrate the database resources of your choice, following the instructions in “Adding a database to your Elastic Beanstalk environment”.
- Integrate Braintree Direct, ID.me, Zoho CRM, and Twilio APIs.
- Test your app, and deploy it, using the guidance available in “Deploying Node.js applications to AWS Elastic Beanstalk”.
13. Design the UI for the mobile app
Your UI design team needs to design an appealing and easy-to-use UI, and the following resources can help:
- “Human Interface Guidelines”, for the iOS app UI design;
- Material design guidelines, for designing the Android app UI;
- “How to design the perfect icon for your mobile app?”, which has guidance for designing icons;
- “Mobile navigation menu examples”, for choosing an appropriate mobile navigation menu pattern;
- “8 trends in mobile app color scheme”, for selecting the right color scheme.
14. Code, test, and deploy the Android app
As the next step, let’s proceed with the Android app development, as follows:
- Use Kotlin, a powerful, feature-rich language that helps in coding fast and performant apps. Developers benefit from its concise syntax, moreover, Kotlin helps in avoiding common errors like null pointer exception.
- Android Studio supports Kotlin, and you can read “Get started with Kotlin on Android” for guidance.
- Integrate SDKs/APIs into your code.
- Use Espresso for testing, along with Experitest mobile device lab on the cloud.
- You can read this guide, for publishing the app to Google Play.
15. Developing the iOS app
The development of the iOS app involves the following steps:
- Code the app using Swift, which helps in creating fast and performant apps. Swift offers powerful features, and the code is easy to read and maintain.
- Use Xcode for the development, and XCTest for testing. You also need to use the cloud-based Experitest mobile device lab.
- Integrate Braintree Direct, ID.me, Twilio, and Zoho CRM SDKs/APIs with your code.
- After your testing, follow this guide to publish the app to the Apple App store.
16. Use effective tools to manage the project
A scrum team has the following key activities:
- Estimating and prioritizing requirements to plan iterations, which they do in “sprint planning meetings”;
- Project status tracking, using “daily stand-up meetings”;
- Sprint approval post-demonstration of the app, in “sprint review meetings”.
You should use an effective PM tool like Asana to manage these activities.
Building an app like PayPal?
A project to build an online payment app like PayPal can be complex, despite using platforms, SDKs, APIs, IDEs, and guidelines. You might benefit if you take professional help from a software development company. Read our guide “How to find the best software development company?” before you engage a development partner.
Download Our Project Specification Template
Latest posts by Aran Davies (see all)
- Can Distributed Computing Take On The Might Of AWS? - September 17, 2019
- AI Solutions To Digital Identity - September 15, 2019
- 10 Great Tools For VR Development - September 14, 2019