Skip to content

MoneyUnify/mu-switch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MoneyUnify Switch

Introduction and Objective

MoneyUnify Switch is an open-source API platform designed to manage payment provider integrations, customer accounts, and transaction flows from a unified dashboard central unit. It combines It provides a standardized interface for handling multiple payment providers, allowing businesses to easily switch between them without changing their core application logic. The platform supports features such as transaction management, customer account linking, and real-time status updates, making it an ideal solution for businesses looking to streamline their payment processing and reduce dependency on a single provider.

Requirements

  • PHP 8.5+
  • Composer
  • Node.js 18+ / npm or pnpm
  • PostgreSQL preferably (you can use any db that supports native JSON columns)(configured via .env)
  • Git

Local Setup

  1. Clone the repository:
git clone https://github.com/MoneyUnify/mu-switch.git
cd mu-switch
  1. Install PHP dependencies:
composer install
  1. Install JavaScript dependencies:
npm install
  1. Create the environment file:
cp .env.example .env
  1. Generate the application key:
php artisan key:generate
  1. Configure your database connection inside .env - the .env.example file contains the necessary configuration options samples.

  2. Run migrations:

Note: The migrations will create the necessary tables for users, payment providers, customers, and transactions. Make sure your database is set up and the connection details in .env are correct before running this command.

php artisan migrate
  1. Start the development environment:
npm run dev

If you prefer the Laravel setup shortcut script, you can run:

npm run setup

Creating Fake Providers

A development-only Artisan command exists to create fake payment providers for a given user email. It is intentionally restricted to local or development environments.

php artisan mu:fake-providers user@example.com

To create a custom number of providers:

php artisan mu:fake-providers user@example.com --count=5

This command will:

  • validate that the app environment is local or development
  • find the user by email
  • create fake PaymentProvider records using Faker data

Authors

Contributing

We welcome contributions! If you want to help improve MoneyUnify Switch:

  • open an issue for bugs or feature requests
  • send a pull request with a clear description and tests
  • follow existing code style and architecture patterns

When contributing, please:

  • include a meaningful commit message
  • write or update tests for your changes
  • keep new features small and incremental

Show Your Support

If this project helps you, please consider supporting the development by:

  • starring the repository on GitHub
  • sharing it with the community
  • suggesting improvements or use cases

If you want to donate, please use the MoneyUnify team or sponsorship links associated with this repository.

License

This project is licensed under the MIT License. See the LICENSE.txt file for full details.

About

Payment Switch focused on Mobile Money - For the African Market

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors