import { GatewayProvider } from "../../../common/enums/payment.enum"; export interface IPaymentGateway { /** * * @param gatewayType * @param data */ requestPayment(gatewayType: GatewayProvider, data: NewPaymentData): Promise; /** * * @param gatewayType * @param data */ verifyPayment(gatewayType: GatewayProvider, data: VerifyPaymentData): Promise; /** * * @param gatewayType * @param authority */ retryPayment(gatewayType: GatewayProvider, authority: string): Promise; } export interface NewPaymentData { amount: number; description: string; email: string; mobile: string; callbackPath: string; } export interface VerifyPaymentData { authority: string; amount: number; }