Tanzania mobile money gateway β collect payments and send payouts via M-Pesa, Airtel Money, HaloPesa & YAS.
# πΈ Drop Cash
**Tanzania Mobile Money Payment Gateway** β Collect payments and send payouts via M-Pesa, Airtel Money, HaloPesa & YAS through a single ClickPesa integration.
---
## β¨ Features
- π¦ **Collect Payments** β USSD Push requests to customer phones
- πΈ **Send Payouts** β Disburse funds to mobile money wallets
- π **Dashboard** β Real-time balance, stats, and transaction overview
- π **Transaction History** β Searchable, filterable, per-session records
- π **Secure** β API keys stored in `.env`, never in source code
- π₯οΈ **Activity Log** β Dark terminal-style event viewer
- βοΈ **API Reference** β Built-in endpoint documentation
- π± **Responsive** β Works on desktop, tablet, and mobile
- π¨ **Modern UI** β Professional design with sidebar nav, stepper wizards, micro-animations
## π Quick Start
### Prerequisites
- Node.js v18 or higher
- A ClickPesa account with API credentials
### Setup
```bash
# 1. Clone the repository
git clone
github.com
cd Drop-cash
# 2. Install dependencies
npm install
# 3. Create your environment file
cp .env.example .env
# Edit .env with your ClickPesa credentials
# 4. Start the server
npm start
# β
localhost
```
### Development Mode (auto-restart)
```bash
npm run dev
```
## π Environment Variables
Create a `.env` file in the project root:
| Variable | Required | Description |
|----------|----------|-------------|
| `CLICKPESA_CLIENT_ID` | β
| Your ClickPesa Client ID |
| `CLICKPESA_API_KEY` | β
| Your ClickPesa API Key |
| `PORT` | β | Server port (default: `3000`) |
| `NODE_ENV` | β | Environment (`development` / `production`) |
> β οΈ **Never commit your `.env` file!** It's already in `.gitignore`.
Get your API keys from the ClickPesa Dashboard.
## π Project Structure
```
drop-cash/
βββ .env β Your secrets (git-ignored)
βββ .env.example β Template for other developers
βββ .gitignore β Excludes .env, node_modules, logs
βββ server.j β¦