/** * TypeScript типы для T-Bank Payments API Client * @see https://developer.tbank.ru/eacq/api */ export interface TbankPaymentsConfig { merchantId: string; secret: string; apiUrl?: string; logger?: { debug?: (message: string, data?: any) => void; error?: (message: string, data?: any) => void; }; retryConfig?: { retries?: number; retryDelay?: (retryCount: number) => number; retryCondition?: (error: any) => boolean; }; } export interface InitPaymentParams { Amount: number; OrderId: string; Description?: string; CustomerKey?: string; Recurrent?: 'Y'; PayType?: 'O' | 'T'; Language?: 'ru' | 'en'; NotificationURL?: string; SuccessURL?: string; FailURL?: string; Receipt?: any; DATA?: any; RebillId?: string | number; OperationInitiatorType?: '2' | 'R' | 'I' | 'D' | 'N'; } export interface InitPaymentResponse { Success: boolean; PaymentURL?: string; PaymentId: number; Status: string; RebillId?: string; } export interface ConfirmPaymentParams { PaymentId: string | number; Amount?: number; IP?: string; Receipt?: any; } export interface ConfirmPaymentResponse { Success: boolean; PaymentId: number; Status: string; } export interface CancelPaymentParams { PaymentId: string | number; Amount?: number; IP?: string; Receipt?: any; } export interface CancelPaymentResponse { Success: boolean; PaymentId: number; Status: string; } export interface GetPaymentStateParams { PaymentId: string | number; IP?: string; } export interface GetPaymentStateResponse { Success: boolean; PaymentId: number; Status: string; Amount: number; } export interface CheckOrderParams { OrderId: string; } export interface CheckOrderResponse { Success: boolean; OrderId: string; Payments: Array<{ PaymentId: number; Status: string; Amount: number; }>; } declare class TbankPayments { constructor(config: TbankPaymentsConfig); // Проведение платежа initPayment(params: InitPaymentParams): Promise; confirmPayment(params: ConfirmPaymentParams): Promise; confirmDebit(params: ConfirmPaymentParams): Promise; // Прием платежей по карте finishAuthorize(params: any): Promise; // Методы для работы с 3DS check3dsVersion(params: any): Promise; submit3DSMethod(params: any): Promise; submit3DSAuthorization(params: any): Promise; confirm3DSv1(params: any): Promise; confirm3DSv2(params: any): Promise; // Отмена платежа cancelPayment(params: CancelPaymentParams): Promise; // Статус платежа или заказа getPaymentState(params: GetPaymentStateParams): Promise; checkOrder(params: CheckOrderParams): Promise; // Справка по операции getConfirmOperation(params: any): Promise; // Платежи по сохраненным реквизитам chargeRecurrent(params: any): Promise; chargeQr(params: any): Promise; // Методы работы с чеками sendClosingReceipt(params: any): Promise; getReceiptState(params: any): Promise; // СБП getQr(params: any): Promise; getQrState(params: any): Promise; getQrBankList(params?: any): Promise; addAccount(params: any): Promise; getAddAccountState(params: any): Promise; getAccountQrList(params?: any): Promise; sbpPayTest(params: any): Promise; getQrMembersList(params?: any): Promise; // T-Pay getTPayStatus(): Promise; getTPayLink(params: { paymentId: number | string; version?: string }): Promise; getTPayQr(params: { paymentId: number | string }): Promise; // SberPay getSberPayQr(params: { paymentId: number | string }): Promise; getSberPayLink(params: { paymentId: number | string; version?: string }): Promise; // Mir Pay getMirPayDeepLink(params: any): Promise; // Методы работы с клиентами addCustomer(params: any): Promise; getCustomer(params: any): Promise; removeCustomer(params: any): Promise; // Методы работы с картами addCard(params: any): Promise; attachCard(params: any): Promise; getAddCardState(params: any): Promise; getCardList(params: any): Promise; removeCard(params: any): Promise; submitRandomAmount(params: any): Promise; // Вспомогательные методы generateToken(params: any): string; verifyNotificationSignature(notification: any, receivedToken: string): boolean; createReceipt(params: any): any; // Статические методы static amountToKopecks(rubles: number): number; static kopecksToAmount(kopecks: number): number; } export = TbankPayments;