import { SupportedProvider } from '../types/provider.types'; import { PaymentRequest, PaymentStatusRequest, PaymentStatusResponse } from './payment.interface'; import { WebhookVerificationResult } from './webhook.interface'; import { PaymentMethod, MobileOperator } from '../types/payment.types'; import { ProviderConfig } from '../types/provider.types'; import { VokoPaymentResponse } from '../models'; export interface PaymentAdapter { readonly provider: SupportedProvider; readonly config: ProviderConfig; initiatePayment(request: PaymentRequest): Promise; checkPaymentStatus(request: PaymentStatusRequest): Promise; verifyWebhook(payload: string, signature?: string): Promise; getSupportedPaymentMethods(): PaymentMethod[]; getSupportedOperators(): MobileOperator[]; }