voko-sdk
Version:
Process payments with ease
34 lines (33 loc) • 1.72 kB
TypeScript
import { BaseAdapter } from '../base/base-adapter';
import { SupportedProvider, Environment, VokoErrorCode, ProviderConfig } from '../../core/types';
import { PaymentStatusResponse, PaymentRequest, PaymentStatusRequest } from '../../core/interfaces';
import { VokoPaymentResponse } from '../../core/models';
import { ZenoPayPaymentRequest, ZenoPayPaymentResponse, ZenoPayStatusResponse } from './zenopay.types';
type ZenopayConfig = ProviderConfig & {
apiKey: string;
vendor: string;
apiSecret?: string;
};
export declare class ZenopayAdapter extends BaseAdapter {
readonly provider = SupportedProvider.ZENOPAY;
private readonly vendor;
private readonly apiKey;
private readonly apiSecret;
constructor(config: ZenopayConfig);
protected getBaseUrl(environment: Environment): string;
protected getPaymentEndpoint(): string;
protected getStatusEndpoint(): string;
protected getContentHeaders(): Record<string, string>;
protected getStatusHttpMethod(): 'GET' | 'POST';
protected transformRequest(request: PaymentRequest): ZenoPayPaymentRequest;
protected transformResponse(providerResponse: ZenoPayPaymentResponse, originalRequest: PaymentRequest): VokoPaymentResponse;
protected transformStatusResponse(providerResponse: ZenoPayStatusResponse): PaymentStatusResponse;
protected getAuthHeaders(): Record<string, string>;
protected getStatusRequestData(request: PaymentStatusRequest): Record<string, any>;
protected mapErrorCode(providerError: any): VokoErrorCode;
protected verifyWebhookSignature(payload: string, signature?: string): boolean;
private mapZenopayStatus;
private mapOperator;
private generateDigest;
}
export {};