Payment Gateway Service is act as a middleware which interacts with the different Mobile Money Providers(MMP's) and Fineract to manage transactions and selecting vendors for the ease of the User and the client.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
What things you need to install the software and how to install them
Java >= 1.8
Apache Maven
MySQL
IDE: preferable: IntelliJ IDEA
Lombok Plugin
A step by step series of examples that tell you how to get a development env running
Java:
sudo apt-get update
sudo apt-get upgrade
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
Java Installation: sudo apt-get install oracle-java8-installer
Check version: java -version
Maven:
Maven Installation: sudo apt-get install maven
Check version: mvn -version
MySQL:
Installation: sudo apt-get install mysql-server
Check version: mysql --version
IntelliJ Idea:
Installation: https://www.jetbrains.com/help/idea/install-and-set-up-product.html
Lombok Plugin:
Install Lombok plugin: https://plugins.jetbrains.com/plugin/6317-lombok-plugin
sudo mysql -u root -p
create database `payment-gateway`;
exit
- Project Setup on Git:
- Fork:
- Clone:
- Main Development Branch: payment-gateway-core-functionality
https://github.com/openMF/payment-gateway/tree/payment-gateway-core-functionality
- Import into IDE
- change branch:
git checkout payment-gateway-core-functionality
- mvn clean install
- Run PaymentGateway.java file as Java Application - PaymentGateway.java
http://localhost:8080/swagger-ui.html
or
<DomainName>/swagger-ui.html
- Middleware generic architecture which can be used to integrate different Mobile money providers like Beyonic, MPesa, Razorpay
- Payment flows from API's
Main Slug:/payment-gateway/api/v1/
- Get All vendors API's
/vendors
- Get All active vendors API's
/active-vendors
- Get vendor by particular ID
/vendor/{id}
- Get all Transactions with headers to filter search result: nextTransactionId, size, isTotalCountRequired, vendorIdList, clientPhoneNumber, clientAccountNumber
/transactions/search
curl -X GET \ http://localhost:8080/payment-gateway/api/v1/transactions/search \ -H 'clientPhoneNumber: +80099999111'
- Get Transaction by Transaction ID
/transaction/{transactionId}
- Beyonic Integration for Collections, Collection Request and Payment API's
- Use Cases:
- Mobile/Online Banking
- Loan Repayment from Mobile Money Account
- Savings Deposit from Mobile Money Account
- Mobile Wallet
- Loan Repayment
- Savings Deposit
- View list of mobile money transactions
- Mobile/Online Banking
- Peer to Peer transfer model
- Interacting with Fineract API's
See installation steps on Ubuntu
- Maven - Dependency Management
- Sanyam Goel - Sanyam Goel
- Rahul Goel - Rahul Goel
- Steve Conrad - Steve Conrad
See also the list of contributors who participated in this project.
This project is licensed under the Mozilla Public License 2.0 License - see the LICENSE.md file for details