@gray-adeyi/korapay-vue
Version:
A Vue plugin for Korapay integration
56 lines • 1.7 kB
TypeScript
export declare enum Currency {
NGN = "NGN",
KES = "KES",
GHS = "GHS",
USD = "USD"
}
export declare enum PaymentChannel {
CARD = "card",
BANK_TRANSFER = "bank_transfer",
MOBILE_MONEY = "mobile_money"
}
export type Customer = {
readonly name: string;
readonly email: string;
};
export type PayResponse = {
readonly amount: number;
readonly reference: string;
readonly status: string;
};
export type InitializePayload = {
readonly reference: string;
readonly amount: number;
readonly currency?: Currency;
readonly customer: Customer;
readonly notificationUrl?: string;
readonly narration?: string;
readonly channels?: PaymentChannel[];
readonly defaultChannel?: PaymentChannel;
readonly metadata?: Record<string, any>;
readonly containerId?: string;
readonly onClose?: () => void;
readonly onSuccess?: (data: PayResponse) => void;
readonly onFailed?: (data: PayResponse) => void;
readonly onTokenized?: () => void;
readonly onPending?: () => void;
readonly merchantBearsCost?: boolean;
};
export type KorapayInitConfig = {
readonly publicKey?: string;
readonly currency?: Currency;
readonly notificationUrl?: string;
readonly channels?: PaymentChannel[];
readonly defaultChannel?: PaymentChannel;
readonly merchantBearsCost?: boolean;
};
export type KorapayScriptInitializePayload = InitializePayload & {
readonly key: string;
};
export type KorapayScriptAPI = {
readonly initialize: (payload: KorapayScriptInitializePayload) => Promise<void>;
};
export type KorapayContextAPI = {
readonly config: KorapayInitConfig;
};
//# sourceMappingURL=types.d.ts.map