kora-checkout
Version:
A JavaScript SDK for integrating with Kora's Checkout Standard payment gateway
63 lines (53 loc) • 1.66 kB
TypeScript
/**
* TypeScript definitions for Kora Payment SDK
*/
interface CustomerDetails {
name: string;
email: string;
}
interface KoraPaymentOptions {
key: string;
reference: string;
amount: number;
currency?: string;
customer: CustomerDetails;
notification_url?: string;
narration?: string;
channels?: string[];
default_channel?: string;
metadata?: Record<string, any>;
containerId?: string;
onClose?: () => void;
onSuccess?: (data: any) => void;
onFailed?: (data: any) => void;
onTokenized?: (data: any) => void;
onPending?: () => void;
merchant_bears_cost?: boolean;
}
declare class KoraPayment {
constructor(config?: Partial<KoraPaymentOptions>);
/**
* Loads the Kora payment script if not already loaded
* @returns Promise that resolves when script is loaded
*/
loadScript(): Promise<void>;
/**
* Initialize the payment gateway
* @param options Payment configuration options
* @returns Promise that resolves when initialized
*/
initialize(options?: Partial<KoraPaymentOptions>): Promise<boolean>;
/**
* Close the payment modal programmatically
* @returns true if modal was closed, false otherwise
*/
close(): boolean;
/**
* Validate required options for payment
* @param options Payment options to validate
*/
private validateOptions(options: Partial<KoraPaymentOptions>): void;
}
declare function createKoraPayment(config?: Partial<KoraPaymentOptions>): KoraPayment;
export { createKoraPayment, KoraPayment as default };
export type { CustomerDetails, KoraPaymentOptions };