afrimomo-sdk
Version:
A unified SDK for African payment providers
56 lines • 1.88 kB
TypeScript
import { PayChangu } from "./services";
import { PawaPay } from "./services";
import { OneKhusa } from "./services";
import { PaymentProviderAdapter, PaymentProviderConfig } from "./services";
import type { Environment } from "./config/constants";
import { type EnvLoadOptions } from "./config/env";
export interface SDKConfig {
env?: EnvLoadOptions;
paychangu?: {
secretKey: string;
returnUrl?: string;
environment?: Environment;
sandboxUrl?: string;
productionUrl?: string;
};
pawapay?: {
jwt: string;
environment?: Environment;
sandboxUrl?: string;
productionUrl?: string;
};
onekhusa?: {
apiKey: string;
apiSecret: string;
organisationId: string;
environment?: Environment;
sandboxUrl?: string;
productionUrl?: string;
};
providers?: Record<string, PaymentProviderConfig>;
}
export declare class AfromomoSDK {
private readonly config;
private static instance?;
private _paychangu?;
private _pawapay?;
private _onekhusa?;
private readonly envConfig?;
private _providers;
private constructor();
static initialize(config?: SDKConfig): AfromomoSDK;
static getInstance(): AfromomoSDK;
get paychangu(): PayChangu;
get pawapay(): PawaPay;
get onekhusa(): OneKhusa;
getProvider(providerName: string): PaymentProviderAdapter;
addProvider(name: string, config: PaymentProviderConfig): PaymentProviderAdapter;
isServiceConfigured(service: "paychangu" | "pawapay" | "onekhusa" | string): boolean;
getConfiguredServices(): ("paychangu" | "pawapay" | "onekhusa")[];
getCustomProviders(): string[];
private initializeServices;
private initializeFromEnv;
private initializeFromConfig;
private initializeCustomProviders;
}
//# sourceMappingURL=sdk.d.ts.map