Now ** Paypal Supports Bitcoin ** . This statement started to create curiosity among software development community and other payment processing companies. The payment gateway is a popular and most attractive business model in Online E-Commerce Business eco-system. Paypal is been the leader in digital payment system. Now it extend the support to cryptocurrency.

We are going to present the list key functions, features and tech considerations for a Paypal Clone as a Minimum Viable Product.

Modules the Application

For the documentation & understanding purpose the key features are grouped as follows

  1. Pubic Website
  2. Registration / Login Module
  3. User Panel
  4. Admin Panel

Public Website

Public website is a mobile friendly responsive website which publishes the information about the business and also acts as a doorway to the Registration, Login & Support Pages. 

The identified pages are

  • Homepage
  • About Us Page
  • Service Information Pages
  • FAQ
  • Legal / Terms of Service
  • Privacy Policy
  • Contact Page

Key Design Considerations

  1. The pages are visually appealing & mobile friendly
  2. The pages are SEO friendly

Registration & Login

The application will be designed  as a Member only service application. The registration and authorization uses Laravel’s in-build authorization framework.

Account Type

Based on features two types of User Accounts are identified.

Users will be able to choose an account type based on the preferences

  1. Personal Account
  2. Business Account

Users will be able to create an account by entering the following: email address, password, name, address, location, phone number, agree to terms and conditions, etc.

Link a Debit/Credit card- Users need to enter the following: card number, expiration date, CSC, billing address, etc.

KYC

Based on the selected account type, the registration documents and KYC documents will defer. The typical documents in KYC are

  1. ID Proof (Photo ID)
  2. Location / Address Proof
  3. Bank Account Information & Proof

Fee & Transaction Limits

Based on the account type, the limits for the users to do Transactions & the fee per transaction will vary. The fee and limits are globally set.

Login

Users will be able to log into the platform by entering their email address and password. The key considerations during Login & Session Management are

  1. One active login per user
  2. Force login activity with 2FA
  3. Suspicious login block based on IP Range
  4. Auto-lock on too many failed login attempts

Password Recovery

Users will be able to select the “Have trouble logging in” option if they forgot the password on the application.

They need to enter their email address and select their preferred security check options to get a code. Then the users need to input the code to complete the password reset process.

 Out of scope (for MVP)

  1. Integration of any 3rd Party KYC Services
  2. Setting up new User Account Types  (assumption: Only 2 user account types )
  3. Setting up or Overwriting Fees per User ( assumption: global fee setup based on Account Type )
  4. Developing API Endpoints for Authentication ( assumption: currently web application only)
  5. Using any other OAuth / Google / Facebook Authentication methods

User Panel

Summary

Users will be able to view and check the following details:

  • Wallet & Balance
  • Receive or Send Money/Coins
  • Transaction History
  • Settings

Wallet & Balances

Any registered user (with email approved status), will be given a virtual wallet for Fiat Currencies.

Additionally they can create the ETH Address  & Crypto Address.

Users will be able to check their wallet balance and add funds on the application.

Key Design Considerations
  1. Only one wallet per currency (Fiat / Crypto ) per user
  2. Each wallet has its own unique address
  3. Wallets can not be deleted, once created
  4. Wallets can be freezed from access, but can’t be deleted
Assumptions
  1. Client will provide a Receiving Address (Company Bank Address), where the user deposits his funds to.
  2. The deposit confirmation is manual process (to be performed by Admin / Sub Admin)
  3. For Cryptocurrency, Client will provide the SERVERS (NODES) – with RPC Access or API endpoints
Out of Scope (for MVP)

Installing or Managing the Cryptocurrency Servers

Migrating or importing any existing wallets or addresses

Reconciling with Bank Data or Bank Feeds


Receive Money

  1. Receive directly through Deposit/Wallet Address

The user can receive money by funding directly to deposit / wallet address through any compatible wallet or banking services 

  1. Receive through Request Money Option

The user can request the money to any registered user / unregistered user by giving their email address along with amount & currency. 

In case of an existing user, an Email sent with a payment link. Clicking payment will lead to  a form Transfer the money.

In case of non-member, a registration link will be sent. Following the registration, the user will be redirected to Transfer Money option.

  1. Receive through Invoice (Business Accounts)

The user can create an Invoice and send it across to any business / individual to get paid. The typical workflow include

  1. Creating an invoice by detailing the Billing Item, Billing Unit, Cost per Unit, Discount %, Tax etc. It also includes the bill to address and necessary accounting code and information.
  2. Invoices can be edited, printed and cloned.
  3. Invoices payment status is tracked. In case of non-payment, the user can send reminder mails also.

Send Money

  1. Directly to Wallet Address

The user can directly send the Money from his wallet to other members wallet by entering the wallet address

  1. Scan QR Code

The wallet addresses are long alphanumeric strings and it is possible to error in typing through. The common practice is to scan the QR code and get the address.

  1. Follow Payment Links 

The user can send the Money by following the Payment Links. It will take the user to a pre-populated form with currency, wallet address and amount duly filled in.

  1. To Registered User

Simply by entering the users name /email address, the money can be transferred. The system will automatically deduct the wallet address for the given user.

Key Design Considerations
  1. All send calls are to be validated by 2FA & Transaction Password.
  2. The sending limits are pre-configured globally based on the User Account Type
Out of Scope (for MVP)

Integration of any AML (Anti Money Laundering ) API

Integration of any Accounting or Tax Solutions

Transaction History

The transaction history is grouped based on the wallet. 

The data is further grouped by the nature (Send / Receive ) and also sorted by data ( Today, Yesterday, Last Week, Last Month, Older )

The transaction history are exportable as CSV

Date Search & Transaction ID Search are provided.

Settings

The key user settings are 

  • Profile Settings
  • Password
  • Transaction Password
  • Account Freeze  

Login History

This section lists the login info of the user including the Date Time, Browser & IP Address. The Data for the last 90 days are maintained. 

Notifications

The system sends event based and action based notifications messages. These messages are presented as a readable list. Typical notifications are

  1. Login Successful
  2. Payment Success / Failure
  3. Password Change Success
  4. Payment Received
  5. Payment link sent
  6. Invoice sent
  7. Invoice Reminder Sent
  8. KYC Approval / Reject


Admin Panel

Admin panel aims to cater as an interface for managing the service of application and also serve as an interface to monitor the logs.

Login

Admin will be able to log into the platform using their credentials. The key design considerations are

  1. Login forced by OTP (Send to Admin Email / Mobile)
  2. Multiple logins prevented
  3. Login only possible from White Listed IPs

Dashboard

In this section, the admin can check the overall activities of the platform with key performance indicators set by the company. Here the admin can view the following details

  • Users Count ( New / All )
  • Fees Collected 

Manage Users

Admin will be able to manage users of the platform. The following features are available

  1. Filter Users by Business Account
  2. Filter Users by Recent Activity
  3. Search Users
  4. Export Users

The admin can view the user details and perform some support activities

  1. View User Info
  2. View User Wallet Balances
  3. View KYC Info
  4. View Login history
  5. Freeze Account 
  6. Force Reset Password 

Earnings

List the sum of fees collected & fee transaction details.

Settings

The admin panel provide the following settings / control to effectively manage the portal

  1. Fee Settings
  2. Currency Settings ( Coin ON/ OFF )
  3. Transfer limit settings

Mail Templates

Admin can set the email templates for all automated messages.

Content Management

Admin can update the contents including Terms of Service, Privacy Policy and FAQ.

Transaction History

Admin can see all the transactions in the system.  The following filters are made available

  1. Filter by Currency
  2. Filter by User

Event Logs

For monitoring purposes, the key events are logged

  1. Login Activity
  2. Transaction Activity
  3. Wallet Creations
  4. Password Changes

Error Logs

The system also has the Error Logs Interface. System generated errors are logged as a file. One file per day basis.


GET FREE QUOTE

Our GegoSoft team is happy to provide you a free quote for your Payment Gateway Project. Please contact us through the LIVE CHAT or Contact Form.