FinConnect is a lightweight, provider-agnostic integration SDK that simplifies payment processing across multiple East African fintech platforms.
# FinConnect
**A unified wrapper for East African fintech payment providers**
Features • Quick Start • Supported Providers • Documentation • Contributing
---
## Overview
FinConnect is a lightweight, provider-agnostic integration wrapper that simplifies payment processing across multiple East African fintech platforms. Instead of managing different authentication flows, payload structures, and error handling for each provider, FinConnect provides a **single, unified API** for PesaPal, AzamPay, ClickPesa, and more.
### The Problem We Solve
Integrating multiple payment providers typically requires:
- Learning different authentication flows (OAuth2 vs. JWT)
- Managing different payload structures per provider
- Implementing custom error handling for each API
- Maintaining complex provider-specific logic
FinConnect eliminates this complexity with a consistent, developer-friendly interface.
---
## ✨ Features
- 🔌 **Provider-Agnostic API** - Single interface for multiple payment providers
- 🔐 **Multi-Auth Support** - OAuth2, JWT, Bearer tokens handled transparently
- ⚡ **Type-Safe** - Full TypeScript support with complete type definitions
- 🌍 **Regional Coverage** - PesaPal (East Africa), AzamPay (Tanzania), ClickPesa (East Africa)
- 🛡️ **Error Handling** - Consistent error messages and status tracking
- 🔄 **Async/Await Ready** - Modern async patterns throughout
- 📝 **Well-Documented** - Comprehensive examples and API documentation
---
## 🚀 Quick Start
### Prerequisites
- Node.js 16.x or later
- npm 7.x or later
### Installation
```bash
npm install finconnect
```
Or from the repository source:
```bash
# Clone the repository
git clone
github.com
# Navigate to project directory
cd finconnect
# Install dependencies
npm install
```
### Configuration
Create a `.env` file in your root directory with your provider credentials:
```env
# PesaPal Configuration
PESAPAL_APP_KEY=your_key
PESAPAL_APP_SECRET=your_secret …