GithubHelp home page GithubHelp logo

agweria / mobile-money Goto Github PK

View Code? Open in Web Editor NEW
25.0 9.0 31.0 723 KB

Mobile Money Payments API in Kenya (MPESA, EQUITY/EQUITEL,T-CASH). Supports B2B, B2C and C2B

Home Page: https://mobile-money.agweria.com

License: MIT License

PHP 100.00%
mpesa-api equitel mobile-money samerior aiirtel-money

mobile-money's Introduction

Mobile Money Payments API

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Style CI Circle CI Total Downloads

Kenya Mobile Payments API

About Agweria Limited

Agweria LLC is a consultation and software providing company in Kenya dedicated to provide robust and fully functional sophisticated software solutions. Our main area of expertise is software development. We have also brought many stakeholders in board to offer solutions for mobile, cloud, Business Intelligence and Technology Infrastructure. We focus on delivering true, measurable business value to our clients. We have a passion for customer satisfaction and are dedicated to delivering dependable and reliable solutions that exceed client expectations.

Introduction

This is a Laravel 5.5+ package for mobile-money and Equity API. The API allows a merchant to initiate C2B,B2C and B2B transactions including balance query and reversals.

This package includes Controllers, Migrations and Routes which simplifies everything for you. You only need to setup a few things in the published configuration file and you are good to go. It comes with a admin section to monitor transactions, send money via b2c and reverse transactions.

Documentation

Read our beautiful documentation on https://mobile-money.agweria.com

Support

Testing

Run the following command to test with phpunit

$ composer test

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

License

The MIT License (MIT). Please see License File for more information.

mobile-money's People

Contributors

freddygenicho avatar sammy2077 avatar thanosalexandris avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mobile-money's Issues

Enable providers in config

Add configuration to selectively enable payment provider

//rest of config
'enabled_providers'=>[
MpesaServiceProvider::class,
EquitelServiceProvider::class,
// Others
]

Also related to #15

Testing

Add a more comprehensive test and wide coverage

  • PHPUnit
  • testbench

B2C Listeners don't comply to psr-4 standards

The name-spacing of B2C listeners is faulty

Detailed description

B2C Listeners are name-spaced incorrectly leading to composer autoload warnings and later on, laravel throws errors

Context

This correction is necessary to avoid errors occurring after b2c event is fired

Possible implementation

Simple fix of the following:
namespace Samerior\MobileMoney\src\Mpesa\Listeners;

changed to:
namespace Samerior\MobileMoney\Mpesa\Listeners;

Your environment

  • PHP 7.4, Laravel 6.20, mobile-money 2.2.1
  • Ubuntu 20.04

Need to upgrade package to Guzzlehttp V 7 and above

The package bring conflict

Problem 1
- samerior/mobile-money 2.x-dev requires guzzlehttp/guzzle ^6.3 -> found guzzlehttp/guzzle[6.3.0, ..., 6.5.x-dev] but it conflicts with your root composer.json require (^7.0.1).
- samerior/mobile-money[v2.2.0, ..., v2.2.1] require guzzlehttp/guzzle ^6.4 -> found guzzlehttp/guzzle[6.4.0, ..., 6.5.x-dev] but it conflicts with your root composer.json require (^7.0.1).
- Root composer.json requires samerior/mobile-money ^2.2 -> satisfiable by samerior/mobile-money[v2.2.0, v2.2.1, 2.x-dev].

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for
packages currently locked to specific versions.

Missing B2B module

There seems to be no B2B implementation in the Package.

Detailed description

B2B and B2C are almost similar but there is only B2C implementation in the current version of the library (v2.1.1).

Context

This addition is important for those scenarios where one wants to have business to business transfers through mpesa.

Possible implementation

Similar to the BulkSender Class, a new class for B2B can be added with the changes specific to the new class.
The other changes are simple from there on.

Your environment

This is not really a bug but a feature addition.

  • PHP 7.4, Laravel 6.16, mobile-money 2.1.1
  • Ubuntu 18.04

Multiple Apps

Add support for multiple apps

  • It should be possible to have many apps for C2B, B2C, and B2B
  • Declare a default app in case it is not provided at execution time
  • If only one app exists, use it as default

Perfomance Enhancement

Improve the performance, eg

  • remove some resources when running in console
  • register console commands in command line only

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.