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 …