voko-sdk
Version:
Process payments with ease
39 lines (38 loc) • 2.06 kB
TypeScript
import { Environment, PaymentStatus, ProviderConfig, SupportedProvider, VokoErrorCode } from '../../core/types';
import { BaseAdapter } from '../base/base-adapter';
import { PaymentRequest, PaymentStatusRequest, PaymentStatusResponse } from '../../core/interfaces';
import { AzampayMnoPaymentRequest, AzampayBankPaymentRequest, AzampayPaymentResponse } from './azampay.types';
import { VokoPaymentResponse } from '../../core/models';
type AzampayConfig = ProviderConfig & {
appName: string;
clientId: string;
clientSecret: string;
};
export declare class AzampayAdapter extends BaseAdapter {
readonly provider = SupportedProvider.AZAMPAY;
private readonly appName;
private readonly clientId;
private readonly clientSecret;
private static tokenManager;
constructor(config: AzampayConfig);
protected getBaseUrl(environment: Environment): string;
protected getPaymentEndpoint(): string;
protected getStatusEndpoint(): string;
protected getContentHeaders(): Record<string, string>;
protected getStatusHttpMethod(): 'GET' | 'POST';
initiatePayment(request: PaymentRequest): Promise<VokoPaymentResponse>;
private getAuthToken;
private makeAuthenticatedApiCall;
protected transformRequest(request: PaymentRequest): AzampayMnoPaymentRequest | AzampayBankPaymentRequest;
protected transformResponse(providerResponse: AzampayPaymentResponse, originalRequest: PaymentRequest): VokoPaymentResponse;
protected getAuthHeaders(): Record<string, string>;
checkPaymentStatus(request: PaymentStatusRequest): Promise<PaymentStatusResponse>;
protected transformStatusResponse(_providerResponse: any): PaymentStatusResponse;
protected getStatusRequestData(_request: PaymentStatusRequest): Record<string, any>;
protected mapErrorCode(providerError: any): VokoErrorCode;
protected verifyWebhookSignature(_payload: string, _signature?: string): boolean;
private authenticate;
protected mapAzampayStatus(status: string): PaymentStatus;
private mapOperator;
}
export {};