Adama Science and Technology University: School of Electrical Engineering and Computing
Adama Science and Technology University: School of Electrical Engineering and Computing
Adama Science and Technology University: School of Electrical Engineering and Computing
SENIOR PROJECT
Payment Gateway
Group Members ID
Abdulmejid Shemsu………………………………………… A/UR15168/10
Abduselam Hafiz……………………………………………. A/UR14744/10
Fuad Endris ……………………………………………….... A/UR5107/09
Hayat Ahmed ………………………………………………. A/UR15378/10
Advisor
We have taken efforts in this project. However, it would not have been possible without the kind
support and help of many individuals and organizations. Our first appreciation goes to our advisor
Mr. Anteneh Alemu for his supervision, advice, guidance and continuous support.
Also, our deepest gratitude is in orders for all our friends and the teachers who supported as . They
all have given time and go through the project and helped us when needed.
i
Acronym
ii
Table of Contents
Acknowledgment........................................................................................................................................ i
Acronym .................................................................................................................................................... ii
List of Tables ............................................................................................................................................. v
List of Figures .......................................................................................................................................... vi
1. Chapter one ....................................................................................................................................... 1
1.1. Introduction ............................................................................................................................... 1
1.2. Background of the Project ............................................................................................................ 2
1.3. Statement of the Problem ............................................................................................................. 2
1.4. Justification of the Project ............................................................................................................ 3
1.5. Objective of the Project ................................................................................................................ 3
1.5.1. General Objective.................................................................................................................. 3
1.5.2. Specific Objective .................................................................................................................. 3
1.6. Scope and Limitations............................................................................................................... 3
1.6.1. Scope of the Project ............................................................................................................... 3
1.6.2. Limitation of the Project ....................................................................................................... 4
1.7. Feasibility Study ............................................................................................................................ 4
1.7.1. Operational Feasibility ......................................................................................................... 4
1.7.2. Technical Feasibility ............................................................................................................. 4
1.7.3. Economic Feasibility ............................................................................................................. 4
1.8. Significance of the Project ............................................................................................................ 5
1.9. Beneficiaries of the Project ........................................................................................................... 5
1.10. Methodology .............................................................................................................................. 5
1.11. Development Tools .................................................................................................................... 6
1.12. Required Resource with Cost ................................................................................................... 7
1.13. Task and Schedule .................................................................................................................... 8
1.14. Team Composition .................................................................................................................... 8
2. Chapter Two.......................................................................................................................................... 9
2. Description of existing system/ Literature Review ......................................................................... 9
2.1. Major function of existing system ............................................................................................ 9
2.2. Users of current system............................................................................................................. 9
2.3. Drawback of current system .................................................................................................. 10
2.4. Business Rule ........................................................................................................................... 10
3. Chapter Three ..................................................................................................................................... 11
iii
3. Proposed System ............................................................................................................................. 11
3.1. Overview .................................................................................................................................. 11
3.2. Functional Requirements ....................................................................................................... 11
3.3. Non-functional requirements ................................................................................................. 12
3.4. System Model .......................................................................................................................... 12
3.4.1. Scenarios .............................................................................................................................. 12
3.4.2. Use Case Model .................................................................................................................. 15
3.4.3. Use case diagram and description ...................................................................................... 16
3.5.1. Data dictionary .................................................................................................................... 26
3.5.2. Class diagram ...................................................................................................................... 27
3.5.3. Dynamic Model ................................................................................................................... 28
3.5.3.1. Sequence Diagram ........................................................................................................... 28
3.5.3.2. Activity Diagram ............................................................................................................. 33
3.5.3.3. State chart Diagram ........................................................................................................ 38
4. Chapter Four....................................................................................................................................... 40
4. System Design .................................................................................................................................. 40
4.1. Overview .................................................................................................................................. 41
4.1.1. Purpose of the System ......................................................................................................... 41
4.1.2. Design Goal .......................................................................................................................... 41
4.2. Proposed system architecture..................................................................................................... 43
4.2.1. System Process ........................................................................................................................ 43
4.2.2. Subsystem decomposition ................................................................................................... 45
4.2.3. Hardware/Software Mapping............................................................................................. 46
4.2.4. Persistent data management............................................................................................... 47
4.2.5. Component Diagram ........................................................................................................... 51
4.2.6. Database Design .................................................................................................................. 51
4.2.7. Access Control ..................................................................................................................... 52
4.2.8. User Interface Design .......................................................................................................... 53
5. Chapter Five ........................................................................................................................................ 54
5. Implementation ............................................................................................................................... 54
5.1. Overview .................................................................................................................................. 54
5.2. Coding Standard ..................................................................................................................... 54
5.3. Prototype.................................................................................................................................. 54
5.4. Implementation Details ........................................................................................................... 55
5.5. Deployment .............................................................................................................................. 56
iv
6. Chapter Six .......................................................................................................................................... 57
6. System Testing .................................................................................................................................... 57
6.1 Objective ........................................................................................................................................ 58
6.2. Scope ............................................................................................................................................. 58
6.3. Resource........................................................................................................................................ 58
6.4. Roles .............................................................................................................................................. 58
6.5. Schedule ........................................................................................................................................ 60
6.6 Test Case Scenarios and Requirements ....................................................................................... 60
6.6.1 Data and Database Integrity ................................................................................................. 60
6.6.2 Function testing ...................................................................................................................... 60
6.6.3 User interface testing ............................................................................................................. 60
6.6.4. Performance Testing ............................................................................................................. 61
6.6.5 Load testing ............................................................................................................................ 61
6.6.6. Security and Access Testing ................................................................................................. 61
6.7 Estimated Risk .............................................................................................................................. 61
6.8 Contingency plan .......................................................................................................................... 61
7. Chapter Seven ..................................................................................................................................... 61
7.1 User Manual ............................................................................................................................ 62
7.1.1 Authentication ........................................................................................................................ 62
7.1.2 Dashboard............................................................................................................................... 63
8. Chapter Eight .................................................................................................................................. 70
8.1 Conclusion ..................................................................................................................................... 70
8.2 Recommendation........................................................................................................................... 70
References................................................................................................................................................ 71
List of Tables
v
Table 1. 3 Other software tools ................................................................................................................... 7
Table 1. 4 Required resources and cost ....................................................................................................... 7
Table 1. 5 Team composition ...................................................................................................................... 8
List of Figures
vi
Figure 3. 1 Use case diagram .................................................................................................................... 16
Figure 3. 2 Class diagram ......................................................................................................................... 27
Figure 3. 3 Sequence diagram of customer and merchant registration ...................................................... 28
Figure 3. 4 Sequence diagram of customer and merchant login ................................................................ 29
Figure 3. 5 Sequence diagram of deposit money....................................................................................... 29
Figure 3. 6 Sequence diagram of withdraw money ................................................................................... 30
Figure 3. 7 Sequence diagram of transfer money ...................................................................................... 31
Figure 3. 8 Sequence diagram of view transaction .................................................................................... 31
Figure 3. 9 Sequence diagram of creating APP ......................................................................................... 32
Figure 3. 10 Sequence diagram of paying online ..................................................................................... 33
Figure 3. 11 Activity diagram of registration ............................................................................................ 33
Figure 3. 12 Activity diagram of login ...................................................................................................... 34
Figure 3. 13 Activity diagram of deposit money ....................................................................................... 34
Figure 3. 14 Activity diagram of withdraw money .................................................................................. 35
Figure 3. 15 Activity diagram of transfer money ...................................................................................... 35
Figure 3. 16 Activity diagram of online payment ..................................................................................... 36
Figure 3. 17 Activity diagram of view transaction .................................................................................... 36
Figure 3. 18 Activity diagram of view balance ......................................................................................... 37
Figure 3. 19 Activity diagram for creating APP ........................................................................................ 38
Figure 3. 20 State chart diagram of registration ........................................................................................ 38
Figure 3. 21 State chart diagram of login .................................................................................................. 39
Figure 3. 22 State chart digram of withdraw money ................................................................................. 39
Figure 3. 23 State chart diagram of transfer money .................................................................................. 39
Figure 3. 24 State chart diagram of online payment .................................................................................. 40
Figure 3. 25 State chart diagram for creating App .................................................................................... 40
vii
Figure 4. 20 Database design .................................................................................................................... 51
Figure 4. 21 User interface design ............................................................................................................ 53
Figure 4. 22 Mockup interface .................................................................................................................. 53
viii
1. Chapter one
1.1. Introduction
A payment gateway is a service that offers an electronic payment by a variety of payment methods
such as credit card, bank-based payments such as bank transfer, and real-time bank transfer based
on online banking. A payment gateway can be provided by banks to their customers or it can be
provided by a specialized financial service provider as a separate service.
A payment gateway can connect to multiple acquiring banks, cards, and payment networks. In
many cases, the payment gateway will fully manage these technical connections, relationships with
the external network, and bank accounts and therefore takes care of the technical processing of
payment methods for online shops. [1]
So, in general speaking, a payment gateway is a tool that securely validates your customer's credit
card details, ensuring funds are available for you to get paid. The payment gateway works as the
middleman between your customer and the merchant. It lets your customer submit their credit card
details and then securely passes this information from the customer to the merchant and then
between the merchant and the bank, ensuring the transaction is carried out securely and promptly.
An online payment gateway can simplify how merchants integrate the necessary software. As the
middleman during the payment processing, the gateway manages the customer’s sensitive card
details between the acquirer and the merchant. [2]
Different countries have different ways of supervision on their financial institutions. In Ethiopia
financial institutions are supervised by National Bank of Ethiopia, since online payment or
payment gateways are categorized under financial technology institutions (or fintech) they are also
monitored by National Bank of Ethiopia. In Ethiopia for fintech to get a license they have to get
approval from the Ministry of Innovation and Technology (or MoIT).
There are lots of payment gateways in our world. Such as PayPal, Stripe, and so on. Coming to
our country, financial companies like yenepay are engaged in providing a payment gateway.
The system we are going to develop is a payment gate way that works by integrating with ethswitch
for accessing user bank account and making transactions easy for our users.
1
1.2. Background of the Project
By the mid-’90s arrival of the internet, new business models arose which demanded a new kind of
payment method, one that could meet the needs of internet-based businesses. That meant the
beginning of the companies known as payment gateways, such as PayPal, Braintree or Stripe
Square. They revolutionized not only the evolution of payments, but it also meant a turning point
in the e-commerce industry.
Electronic payments quickly became the new face of payments and people started to relay on e-
payments, thus, making payment gateway a common term. In 1994, Amazon, one of the e-
commerce pioneers was founded. One year later eBay is launched and Pizza Hut starts accepting
online food ordering. The need for cheap electronic payment acceptance services fostered the
evolution of the payments industry. [3]
Coming to our country, Even though there are some online payment methods in our country, most
of them are provided by the bank to its customers. For instance CBE allow customers to pay their
different bills online. But this kind of service is only provided from a single bank. Even if there is
a specialized financial service provider as a separate service unlike the banks, for instance
companies like yenepay charge very high transaction fee. There is also Telebirr which charge low
transaction fee but customers cannot deposit to their account directly...plus there have been
numerous bug report on their mobile app (according to Telebirr users comment on the official
Telebirr Google play page).
Beside the need for more payment gateways in our country there are also problems on the existing
once. This project focuses on solving the following problems:
➢ Charges a lot per transaction.
➢ Security issue.
➢ Can’t pay online.
➢ High down time.
➢ Rolling back transactions.
➢ Process transaction till the end and notify the user as it is done successfully while it already
fails.
2
1.4. Justification of the Project
The general objective of our project is to design and develop a web based payment gateway.
In order with achieving the general objective the following specific objectives will achieved:
The scope of our project is building a payment gateway system for users that have an Ethiopian
bank account.
3
1.6.2. Limitation of the Project
Since our system is a web-based application, anybody who has an internet service can access our
system easily and due to the understandable nature of the system anybody can register and use the
system easily.
Our system is going to be implemented using PHP framework Laravel and we are also going to
use a relational database system which is called MariaDB. Since every tool we are going to use is
open source and available it is technically feasible.
There are several reasons that make our system economically feasible. Firstly there is no need to
setup branch banks. In terms of customer base expansion only marketing and server cost (Using
services like AWS will save us a lot of money rather than build our own server, since our server
billing will be metered or based on our usage and traffic). We also don’t need to hire lots of
employees like banks to serve customers, this intern saves money. No need to print customer
account books and other related items only online system.
4
1.8. Significance of the Project
➢ Saves time for the user: users will no longer wait for longer queues to withdraw
money from banks.
➢ Secured customer data.
➢ Quick payment method.
➢ Increase the convenience of making payments by enabling them to be made
swiftly and remotely from various devices connected to networks
➢ Credibility for the merchants: The merchant receives the money without any
fear of losing money or cheque bounce.
➢ Increase payment efficiency by reducing transaction costs.
➢ End User: might have a busy life for going shopping, waiting for bank queue etc..,
and our system eliminates such problems.
➢ Third Party Service Provider: could use our system to interact and accept payment
from their customers. Example of service providers
❖ Ecommerce websites
❖ Bill payment service providers
1.10. Methodology
Before implementing our system to make it easy for us we will start by designing each part of the
system. I.e., the database model, class diagrams, subsystem decomposition and so on that are
mentioned and depicted in detail in our documentation. Based on these designs we are going to
implement the system using the development tools that we mentioned in this documentation.
After starting our implementation, we are going to use the unit test method for checking frequently
if our code works properly. We will also build a system like ethwitch and bank for showing the
functionality of our system. We also planned to build third party service provider like ecommerce
for testing our system functionality.
Since our system is modularized, we will make integration testing when we integrate each
component. We will also make security testing to ensure that our system is free from any type of
treats.
5
1.11. Development Tools
While developing the project starts from each phase of documentation to the end, we will use the
following tools.
➢ Hardware
o Personal Computers
o Flash Drive
➢ Software tools
6
Table 1. 3 Other software tools
7
1.13. Task and Schedule
8
2. Chapter Two
➢ In order for a customer to send a payment they have to bring their bank book and fill the
form prepared for sending a payment
➢ If they use mobile banking, they can make their payment using their mobile phones.
➢ If the sender uses other online payment methods like telebirr or yenepay he/she can make
their payment through those services.
Deposit Money
➢ In order for a customer to deposit money they have to bring their bank book, money and
fill the form prepared for depositing payment.
➢ If the customer wants to deposit money in their telebirr account they can transfer money
from their bank account to their telebirr account.
➢ Banks
o Create an account for customers, provide a bank book.
o Accept payment from the user.
o Use the bank book or Kebele identification to perform the transaction
requested by the customer.
9
2.3. Drawback of current system
The following are business rules of the system according to BANKING BUSINESS
PROCLAMATION NO. 592/2008 [4]
✓ The minimum amounts of capital and reserves to be maintained by banks and the rules for
their computation shall be determined by the directive to be issued by the National Bank.
✓ The National Bank may prescribe different capital and reserve requirements to be
maintained by different banks depending on their risk profile.
✓ Where the National Bank considers that the capital of a bank is below the prescribed
minimum, it shall require the bank to take, within a specified period of time, measures
necessary to rectify the situation.
✓ No bank may at any time declare, credit the account of, or pay to shareholders any dividend
until all impairments of its capital, as determined by the National Bank, have been
removed.
✓ Any bank shall, at the end of each financial year, transfer to its legal reserve account a sum
of not less than 25 percent of its net profit.
✓ Notwithstanding the provisions of sub-article (1) of this Article, when the legal reserve
equals the paid-up capital of the bank, the amount to be retained by the bank as a legal
reserve from the net profit each year shall be determined by the directives to be issued by
the National Bank.
✓ The National Bank may, by directives, specify the circumstances under which the legal
reserve account may be reduced.
✓ Maximum withdrawal is 200,000 ETB
10
3. Chapter Three
3. Proposed System
3.1. Overview
The proposed system is designed for helping people for make payments using their smart devices.
The system consists of the following advantages time saving, providing information, and reliable
payment service. The system is going to be web based which helps different users and
organizations to access the system regardless of their location.
11
2. In customer accounts
• Send money
• Deposit money,
• Withdraw money, view transactions, and pay online.
3. In merchant account
• Send money, deposit and withdraw money,
• Withdraw money, View transactions,
• Create app credentials for their payment integration
• See their customers’ transaction activities if it involves them.
➢ Compatible and portable: we have made the system responsive so that it can be accessed
on every device. It is also accessible on every browser and operating systems.
➢ Usability: we made the user interface clear, easy and understandable for every user.
➢ Availability: as long as there is a working internet connection the system will give service
24/7 hours for the users.
➢ Performance: the maximum response time of the system is 10-20 second.
1. Deposit
Actors: Merchant, Customer
Flow Event
No Event
1 Open web
2 Login to platform
3 Navigate to deposit page
4 Enter card information or select previously attached card
5 Enter the amount of money
6 Click deposit button
7 Process deposit request
8 Logout
12
2. Withdraw
Actors: Merchant, Customer
Flow Event
No Event
1 Open web
2 Login to platform
3 Navigate to withdraw page
4 Enter card information or select previously attached card
5 Enter the amount of money
6 Click withdraw button
7 Process withdraw request
8 Logout
3. Transfer
Actors: Merchant, Customer
Flow Event
No Event
1 Open web
2 Login to platform
3 Navigate to send payment page
4 Enter phone number
5 Enter the amount of money
6 Click transfer
7 Logout
4. Online Payment
Actors: Customer
Flow Event
No Event
1 Go to merchant website
2 Click checkout
3 Redirect to our payment gateway’s payment page
4 Enter phone number
5 Enter OTP
13
6 Display detail information about the payment
7 Click pay
8 Redirect to merchant website
5. View balance
Actors: Merchant, Customer
Flow Event
No Event
1 Open web
2 Login to platform
3 Navigate to balance page
4 Logout
6. View transactions
No Event
1 Open web
2 Login to platform
3 Navigate to transaction page
4 Logout
Actors: Merchant
Flow Event
No Event
1 Get app credential
2 Integrate our payment system with their website using their app credential
following payment gateway integration guide line documentation
14
3.4.2. Use Case Model
Actor identification
• Register themselves.
Merchant Merchant or users that manage their • Deposit and withdraw
customer’s payment through our payment
money.
gateway.
• Transfer money.
• View balance.
• View transaction.
• Create APP
• Integrate payment to their
system.
• See their customers'
transaction activities if it
involves them.
• Manage their account.
15
• Send transaction request
EthSwitch The interface gateway that facilitates to the issuing banks
request and response exchange between
• Return response of the
issuing banks and the payment gateway.
transaction request
• Perform transaction
Bank Users/Issuer bank where the actual money request
resides • Debit and Credit account
• Perform card validation
and send response
16
Description of use case model
Actor • Customer
• Merchant
Pre-conditions • Users must have mobile number & open our sign-
up page.
Include -
17
Table 3. 3 Use case description login
Actor • Customer
• Merchant
Include -
18
Table 3. 4 Use case description deposit money
Include • Login
19
Table 3. 5 Use case description withdraw money
Include • Login
20
Table 3. 6 Use case description send money
Include • Login
21
Table 3. 7 Use case description view balance
Pre-conditions -
Exceptional flow -
Include • Login
22
Table 3. 8 Use case description view transactions
Include • Login
23
Use case description To perform online payment like ecommerce.
Include • Login
24
Table 3. 10 Use case description integrate payment
Use case description To create an app (account) which the merchant can use
to integrate to its website using the app key so that
customers can pay online to the merchant using our
payment gateway in which the merchant app
credentials will be used to transfer data from the
merchant website to our payment gateway & vice
versa.
Participating actor • Merchant
Pre-condition -
Include • Login
25
3.5. Object model
3.5.1. Data dictionary
26
3.5.2. Class diagram
27
3.5.3. Dynamic Model
3.5.3.1. Sequence Diagram
28
Figure 3. 4 Sequence diagram of customer and merchant login
29
Figure 3. 6 Sequence diagram of withdraw money
30
Figure 3. 7 Sequence diagram of transfer money
31
Figure 3. 9 Sequence diagram of creating APP
32
Figure 3. 10 Sequence diagram of paying online
33
Figure 3. 12 Activity diagram of login
34
Figure 3. 14 Activity diagram of withdraw money
35
Figure 3. 16 Activity diagram of online payment
36
Figure 3. 18 Activity diagram of view balance
37
Figure 3. 19 Activity diagram for creating APP
38
Figure 3. 21 State chart diagram of login
39
Figure 3. 24 State chart diagram of online payment
4. Chapter Four
4. System Design
40
4.1. Overview
This section describes the design issues of the overall system, such as design goal, subsystem
decomposition, hardware/software mapping, and persistent data management. It provides the
complete architectural overview of the proposed system. It is intended to capture and express the
significant architectural decisions, which have been made, on the system.
The purpose of this design is to show the direction how the system is built and to obtain clear and
enough information needed to drive the actual implementation of the system. This document
describes the design issues of the overall system. The objectives of these designs are to model the
system with high quality so that it could be easy to make a change to it.
The design goals describe the qualities of the system that are derived from the non-functional
requirements. Not only the system modeling techniques but also some system design techniques
like system decomposition design are covered well during this phase. These goals may be inferred
from the nonfunctional requirements.
Performance
• Response time: - Depending on the network connection that the user machine has the
system is going to interact and respond to the user's request in a maximum of 10–20
seconds.
• Memory: -The client system requires an average of 128MB of free RAM memory to be
loaded on a user’s web browser. The server system is going to require up to 500MB of
memory to store all the data and other components of the system and a minimum of
512MB of RAM.
Dependability
• Robustness: - since the system is a web-based system, that mainly uses a menu driven
entry there wouldn’t be an input problem by the user side. But for the server side there
41
might be an error during the process of entering data. In this time the system will provide
an error page and the system will continue without failure or crash.
• Availability: - as long as there is an internet connection the system will be available 7 days
a week and 24 hours a day.
• Reliability: the information provided by the system is as reliable as it is presented on the
web page interface, and this is maintained by the persistent database.
• Security: - The system uses a phone number, OTP and 2 step verification (if user wish to
enable it) and they will manage their own page according to their level of access and the
system will encrypt sensitive information and uses SSL to establish an encrypted channel
to allow for the safe transfer of private data over public channels.
Maintenance
Extensibility: - if it is needed to add new functionality to the system, this must be achieved
•
by only making a separate page and integrating this page with the existing system.
• Modifiability: - if in the system, some functionality requires to be modified, this
modification must be done specifically to that function or page without affecting the
overall system organization.
• Portability: - the system is developed to be viewed and retrieved from any web browser
regardless of their version and platform it resides in.
End user
From the user point of view the system should provide the following end user criteria so that
the system is usable by the user
• Utility: - in order to help the user, to easily understand and interact with the system, the
system must provide the following utilities
o Mouse over tips
o Keyboard alternative
• Usability: to enhance the usability of the system, the system should be designed
incorporating the following usability concepts
o Site mapping & Consistent page pattern
o Less overcrowded interface.
The design goals of the payment gateway system are prioritized as follows
42
2 Security
3 Performance
4 Dependability
5 Maintenance
➢ Customer
43
➢ Merchant
➢ Admin
44
Figure 4. 5 Admin overview
45
Figure 4. 7 System decomposition
Subsystem description
46
Figure 4. 8 Hardware/software mapping
47
Figure 4. 11 Transaction mapping
48
Figure 4. 13 Wallet mapping
49
Figure 4. 16 Permission mapping
50
4.2.5. Component Diagram
51
4.2.7. Access Control
52
4.2.8. User Interface Design
53
5. Chapter Five
5. Implementation
5.1. Overview
This section is to define the process of the information system that should be built (i.e., physical
system design), whether the system is operational and used, and if or not the system meets quality
standard (i.e., quality assurance).
This means set of agreed upon rules that developers follow to ensure the reusability, efficiency
and readability of the written code. These rules or conventions often cover the organization,
indentation, comments, declarations, statements, white space, naming conventions, programming
practices, programming principles, programming rules of thumb, etc.
As we stated on the chapter one of this documentation the programming languages, we are going
to use for implementing our projects are PHP framework Laravel and alpine JS. We have listed
below the coding standards used for each language.
1. PHP - The coding standard used for our PHP is PSR-2 coding standard.
2. Laravel – The coding standard used for our Laravel is PSR-2 since the official Laravel
framework follows the PSR-2 coding and the PSR-4 autoloading standard.
3. Alpine.js (JavaScript): The coding standard used for our JavaScript is from a set of coding
conventions and rules for use in JavaScript programming. It is inspired by the Sun document
Code Conventions for the Java Programming Language. It is heavily modified of course
because JavaScript is not Java.
5.3. Prototype
The prototype we implemented for this project is only for demonstration purposes for performing
the basic operations in a payment gateway system. Because in our country we need a trade license
and other requirements like financial operating license from NBE etc…. we couldn’t integrate to
EthSwitch, so instead we built demos for the purpose of demonstration.
Our prototype consists of a Payment gateway, system like EthSwitch, 2 Banks and 1 Merchant
Ecommerce website in order to show the process and basic operations like deposit, online payment,
withdrawal and transfer.
54
5.4. Implementation Details
As our system is currently only a web application, we will cover both the client and server sides
of the implementation.
Client Side
The web-based application of our payment gateway offers a variety of features. All users can
perform the required function from the system according to their access level and role, thanks to
our adaptive and responsive user interface web application.
Here we have listed the features of our web application for users.
• Online Payment
• Transaction Histories
• Wallets
• Balance Check
• Deposit
• Withdraw
• Transfer or send money
Server Side
This is where users on the client side ask and get a response, in addition this is where the interaction
between EthSwitch and our payment gateway occurs in order to handle the deposit and withdrawal.
55
infrastructure services to retail payment service providers, and through them, to end users in
Ethiopia; by deploying state-of-the-art technology along with highly skilled and motivated
professionals. The underling mandate of Ethswitch is contributing to the modernization of the
national payments system and enhancement of financial inclusion in the country. Since 2016, it
has enabled interoperability of ATMs and POS terminals operated by all banks. Currently, it is
also rolling out projects to achieve interoperability of other digital payment platforms operated by
all financial service providers. In October 28, 2021 EthSwitch S.C, Ethiopia’s National Switch
announced the commencement of interoperability of Digital Wallet, Mobile & Internet Banking
systems run by banks, Microfinance Institutions (MFIs) and E-money issuers, following the
authorization from the National Bank of Ethiopia after successful pilot test. The interoperability
enables customers of banks and MFIs & e-money issuers with digital wallet, mobile & internet
banking & accounts to send funds from one institution to another. The interoperability includes
transfers from bank account to bank account, wallet to wallet, wallet to bank account and from
bank accounts to wallet using internet based and USSD channels as well as smart phone
applications. [8]
5.5. Deployment
➢ Nginx: - is a well-known high-performance HTTP server and reverse proxy server.
NGINX provides an abundance of features, such as load balancing, caching, SSL/TLS
offloading, log rotation, and so on.
➢ Git: - open platform for developing, shipping, and running applications. Docker is used to
separate the application from the infrastructure so that we can deliver software quickly.
With Docker, you can manage your infrastructure in the same ways you manage your
applications. By taking advantage of Docker’s methodologies for shipping, testing, and
56
deploying code quickly, you can significantly reduce the delay between writing code and
running it in production.
➢ GitHub: - we sued it for the distributed version control and source code management
functionality of Git.
Table 5. 1 Components
6. Chapter Six
6. System Testing
57
6.1 Objective
The main purpose of this section is to plan, schedule and specify the modules and methods to
perform testing of the system. The main objectives are:
6.2. Scope
This testing documentation will be imposed on the following System and Version
Table 6. 1 Scope
The overall testing plan will include testing all the modules individually and the integration of the
modules. Task of this section include:
• Test the functionality of the features.
• Test the system security.
• Test the usability of the system.
6.3. Resource
Various resources will be used in the implementation of tests. The main roles are role (human)
resources and system resources.
6.4. Roles
58
Table 6. 2 Testing Roles
Human Resources
Roles Minimum Resource Responsibilities
Recommended
Test Manager Abduselam Hafiz Provides management
oversight Responsibilities:
➢ Provide technical
direction
➢ Acquire appropriate
resources
➢ Management
reporting
Test Designer Hayat Ahmed Identifies, prioritizes, and
implements test cases
Responsibilities:
➢ Generate test plan
➢ Generate Test Suite
➢ Evaluate effectiveness
of test effort
System Tester Abdulmejid Shemsu Executes the tests
Responsibilities:
➢ Execute tests
➢ Log results
➢ Recover from errors
➢ Document defects
Test System Administrator Fuad Endris Ensures test environment and
assets are managed and
maintained.
Responsibilities:
➢ Administer test
management system
Database Administration Abdulmejid Shemsu Ensures test data (database)
environment and assets are
managed and maintained.
Responsibilities:
➢ Administer test data
(database)
Designer Abduselam Hafiz & Hayat Identifies and defines the
Ahmed operations, attributes, and
associations of the test classes
Responsibilities:
➢ Identifies and defines
the test class(es)
59
Implementer Abdulmejid Shemsu & Fuad Implements and unit tests the
Endris test classes and test packages
Responsibilities:
➢ Creates the test
classes and packages
implemented in the
Test Suite.
6.5. Schedule
The testing schedule for the proposed system will be conducted in the following manner.
60
6.6.4. Performance Testing
➢ Verify response time to authenticate
➢ Verify response time for API response
➢ Verify response time for transaction takes place
➢ Verify response time for multiple request
6.6.5 Load testing
Testing our system how it can handle multiple request and transactions is our highest and most
important issue. To achieve this goal, we have used a queue transaction type that offers by the
Laravel.
6.6.6. Security and Access Testing
➢ Verify Authentication from a local PC.
➢ Verify Authentication from a remote PC.
➢ Verify API credential from API request.
➢ Verify Login security through OTP mechanism
➢ Verify two factory authentication method
7. Chapter Seven
61
7.1 User Manual
7.1.1 Authentication
Users will be sent to the login page as soon as they visit our website. Then, after they've logged
in, they'll be sent to the dashboard.
Both login and registration page redirected to the same page. After inserting their phone number
if its already found on our database the system sends the OTP for the user. If it isn’t found the
system asks for this information.
Login
Registration
Registration page where users insert their information. Name and account type
62
Figure 7. 3 OTP Confirmation Page
7.1.2 Dashboard
A dashboard is where a user gets after authentication. Dashboard helps the user to manage and
see about his account
63
Figure 7. 5 Merchant Dashboard Page
7.1.3 Activities
As we see from the above manual there are several navigation menus found in both merchant and
customer page namely: Send, wallet, deposit, withdraw and activity
Send
Send page with were we send a money to others with in the system.
64
Wallet
In the wallet page the users can see how much balance they have and their card used so far.
Deposit
Deposit page is where you can transfer your money from the bank to our system. It requires card
(ATM) number, cvv, expire month and expire year.
65
Activity
This page dedicated to look at their activities they have been working on our payment system
7.1.4 App
For a merchant to use our API end points, they have to register their app in our system. Once
they register their app we will generate an key for them.
66
Once the app was created the user can user our api endpoints
67
Role management page
Users have multiple permission and also have a role, this feature managed by the admin on the
admin control page. Currently there are only 3 roles: Super Admin, Customer, and Merchant.
68
7.2 Git address
https://github.com/abdulmejidshemsu/payment_gateway
69
8. Chapter Eight
8.1 Conclusion
The proposed system is a Payment Gateway System. Its main goal is to provide a means to
process payment transaction for service providers like merchants, bill payment services at
once place. It makes it easy for users to easily pay for merchants, for merchant to collect
payments. On this project we tried to describe the problem statement that means the need or
the use of the system define our business plan based on small research we did on current
existing systems or current Payment Gateway. The problem statement led to the formulation
of general objective of the project which is to design and implement an online nationwide
payment gateway. This will be done by implementing the functional requirements like
security, processing payment and transferring money and while maintaining the non-
functional requirements like robustness, reliability and performance.
The challenges faced during this project are a lack of data and cooperation from other
parties.
8.2 Recommendation
Through the making of the system, the team and advisor has faced and tackled many
challenges. Owing to the experience we have developed while designing the proposed
Payment Gateway we have few points to suggest for anybody who plans to work on similar
projects to ours. All the group made Now all the group members recommend to other
developers who want to maintain this system, to add some features which are not covered by
the system due to lack of time or resources like implementing subscription-based payment,
fraud detection using Machine Learning so that the system can protect uses form different
security issues.
70
References
[4] https://dfsobservatory.com/sites/default/files/Ethiopia%20-%20Proclomation%20No.%20592-2008%20-
%20Banking%20Business.pdf, access date (January 10, 2022).
[8] https://ethswitch.com/2021/11/15/ethswitch-enables-digital-wallet-mobile-and-internet-banking-interoperability/,
access date (January 29, 2022).
71