UNPKG

@tecafrik/africa-payment-sdk

Version:

A single SDK to integrate all african payment providers seamlessly

34 lines 1.81 kB
/// <reference types="node" /> import { MobileMoneyCheckoutOptions, CheckoutResult, PaymentProvider, RefundOptions, RefundResult, CreditCardCheckoutOptions, RedirectCheckoutOptions, PaymentMethod, HandleWebhookOptions, Currency, MobileMoneyPayoutOptions, PayoutResult } from "../payment-provider.interface"; import EventEmitter2 from "eventemitter2"; import { PaymentFailedEvent, PaymentSuccessfulEvent } from "../payment-events"; declare class BogusPaymentProvider implements PaymentProvider { private config; private eventEmitter?; constructor(config: BogusPaymentProviderConfig); useEventEmitter(eventEmitter: EventEmitter2): void; checkout(options: MobileMoneyCheckoutOptions | CreditCardCheckoutOptions | RedirectCheckoutOptions, isFailure: boolean): Promise<CheckoutResult>; checkoutMobileMoney(options: MobileMoneyCheckoutOptions): Promise<CheckoutResult>; checkoutCreditCard(options: CreditCardCheckoutOptions): Promise<CheckoutResult>; checkoutRedirect(options: RedirectCheckoutOptions): Promise<CheckoutResult>; refund(options: RefundOptions): Promise<RefundResult>; handleWebhook(rawBody: Buffer | string, options: HandleWebhookOptions): Promise<PaymentSuccessfulEvent | PaymentFailedEvent>; payoutMobileMoney(options: MobileMoneyPayoutOptions): Promise<PayoutResult>; } type BogusPaymentProviderConfig = { /** * Whether to emit events instantly or wait for the webhook to be called */ instantEvents: boolean; }; export type BogusPaymentProviderWebhookBody = { success: boolean; amount: number; transactionId: string; transactionReference: string; paymentMethod: PaymentMethod; currency: Currency; metadata?: Record<string, unknown>; }; export default BogusPaymentProvider; //# sourceMappingURL=bogus.d.ts.map