@tecafrik/africa-payment-sdk
Version:
A single SDK to integrate all african payment providers seamlessly
34 lines • 1.81 kB
TypeScript
/// <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