npm package: @fundkit/tingg
Description: Tingg payment provider integration for FundKit
Latest version: 1.8.0

# @fundkit/tingg

Tingg payment provider integration for FundKit

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![npm](https://img.shields.io/npm/v/@fundkit/tingg)](https://www.npmjs.com/package/@fundkit/tingg)

## 📦 Installation

```bash
npm install @fundkit/core @fundkit/tingg
# or
yarn add @fundkit/core @fundkit/tingg
# or
pnpm add @fundkit/core @fundkit/tingg
```

## Get Your API Key

Before you start, you'll need a FundKit API key. Get yours at [fundkit.dev](https://fundkit.dev) - it's free to get started!

## Quick Start

```typescript
import { PaymentClient } from '@fundkit/core';
import { Tingg } from '@fundkit/tingg';

// Initialize Tingg provider
const tingg = new Tingg({
  apiKey: process.env.TINGG_API_KEY!,
  publicKey: process.env.TINGG_PUBLIC_KEY!,
});

// Use with FundKit client
const client = new PaymentClient({
  apiKey: process.env.FUNDKIT_API_KEY!,
  providers: [tingg],
  environment: 'sandbox',
});

// Process payment
const transaction = {
  amount: 5000,
  currency: 'KES',
  operator: 'safaricom',
  accountNumber: '254701234567',
  externalId: 'tx_' + Date.now(),
};

const response = await client.collection(transaction);
console.log('Tingg payment:', response);
```

## Configuration

### Required Configuration

```typescript
interface TinggConfig {
  apiKey: string;        // Your Tingg API key
  publicKey: string;     // Your Tingg public key
}
```

### Environment Variables

```bash
TINGG_API_KEY=your_api_key_here
TINGG_PUBLIC_KEY=your_public_key_here
```

## 🌍 Supported Features

- Mobile money payments across Africa
- Multiple currencies (KES, UGX, TZS, RWF, MWK, ZMW, ZWL)
- Transaction status checking
- Real-time notifications
- Sandbox and production environments
- High uptime (98%) across all supported countries

## 🌍 Supported Countries

Tingg supports mobile money payments in the following countries:

- **Kenya** (KES) - Safaricom M-Pesa, Airtel Money
- **Uganda** (UGX) - MTN MoMo, Airtel Money
- **Tanzania** (TZS) - M-Pesa, Tigo Pesa, Airtel Money
- **Rwanda** (RWF) - MTN MoMo, Airtel Money
- **Malawi** (MWK) - Airtel Money, TNM Mpamba
- **Zambia** (ZMW) - MTN MoMo, Airtel Money
- **Zimbabwe** (ZWL) - EcoCash, OneMoney

## API Reference

### Tingg Class

```typescript
class Tingg extends BaseProvider {
  constructor(config: TinggConfig);
  
  async collection(transaction: Transaction): Promise<CollectionResponse>;
  async getTransaction(txId: string): Promise<TransactionStatus>;
  getCoverage(): CoverageMap;
}
```

## Related Documentation

- [FundKit Core Documentation](https://www.npmjs.com/package/@fundkit/core)
- [Tingg API Documentation](https://docs.tingg.africa)

## Development

This package is part of the FundKit monorepo. For development setup:

1. Clone the FundKit repository
2. Install dependencies: `bun install`
3. Build packages: `bun run build`
4. Run tests: `bun test`

## License

MIT License - see the [LICENSE](LICENSE) file for details.

---

<!-- **Keywords:** tingg, payment, mobile-money, africa, kenya, uganda, tanzania, fundkit -->