@fundkit/types
v1.8.0
Published
Type-only package for Unipay SDK
Readme
🔷 @fundkit/types
TypeScript type definitions for FundKit ecosystem
📦 Installation
npm install @fundkit/types
# or
yarn add @fundkit/types
# or
pnpm add @fundkit/typesPurpose
This package provides shared TypeScript type definitions used across the FundKit ecosystem. It ensures type safety and consistency across all FundKit packages.
Usage
import type {
Transaction,
CollectionResponse,
TransactionStatus,
PaymentProvider,
Currency,
Operator,
} from '@fundkit/types';
// Use types in your application
const transaction: Transaction = {
amount: 5000,
currency: 'UGX',
operator: 'mtn',
accountNumber: '256779280949',
externalId: 'tx_123456',
};
const response: CollectionResponse = {
transactionId: 'txn_abc123',
status: 'pending',
amount: 5000,
currency: 'UGX',
};📋 Exported Types
Core Types
// Transaction object for payment requests
interface Transaction {
amount: number;
currency: Currency;
operator: Operator;
accountNumber: string;
externalId: string;
reason?: string;
}
// Response from collection requests
interface CollectionResponse {
transactionId: string;
status: TransactionStatus;
amount: number;
currency: Currency;
externalId?: string;
reason?: string;
}
// Transaction status enumeration
type TransactionStatus =
| 'pending'
| 'processing'
| 'completed'
| 'failed'
| 'cancelled';Provider Types
// Supported payment providers
type PaymentProvider = 'honeycoin' | 'easypay' | 'tola';
// Mobile network operators
type Operator = 'mtn' | 'airtel' | 'telecom';
// Supported currencies
type Currency = 'UGX' | 'KES' | 'TZS' | 'RWF';Configuration Types
// Base provider configuration
interface BaseProviderConfig {
apiKey: string;
environment?: 'sandbox' | 'production';
}
// Payment client configuration
interface PaymentClientConfig {
apiKey: string;
providers: BaseProvider[];
environment?: 'sandbox' | 'production';
}Error Types
// Structured error response
interface FundKitError {
name: string;
code: string;
message: string;
details?: any;
context?: Record<string, any>;
}Related Packages
This types package is used by:
- @fundkit/core - Core SDK functionality
- @fundkit/honeycoin - HoneyCoin provider
- @fundkit/easypay - EasyPay provider
- @fundkit/tola - Tola provider
Development
This package is part of the FundKit monorepo. For development setup:
- Clone the FundKit repository
- Install dependencies:
bun install - Build types:
bun run types:build - Run tests:
bun test
License
MIT License - see the LICENSE file for details.
Keywords: typescript, types, definitions, fundkit, payment, sdk
