UNPKG

nestjs-yookassa

Version:

A NestJS library for integrating with YooKassa API

156 lines (155 loc) 8.02 kB
import { PaymentService, RefundService } from './services'; import { PaymentCreateRequest, RefundCreateRequest } from './interfaces'; export declare class YookassaService { private readonly paymentService; private readonly refundService; constructor(paymentService: PaymentService, refundService: RefundService); /** * Создает платеж через YooKassa. * Этот метод отправляет запрос на создание нового платежа с данными из `paymentData`. * Возвращает информацию о созданном платеже. * * @param {PaymentCreateRequest} paymentData - Данные для создания платежа. * @returns {Promise<PaymentDetails>} Ответ от API с деталями платежа. * * @example * ```ts * const paymentData: PaymentCreateRequest = { * amount: { * value: 1000, * currency: 'RUB' * }, * description: 'Test payment', * payment_method_data: { * type: PaymentMethodsEnum.yoo_money, * }, * confirmation: { * type: 'redirect', * return_url: 'https://example.com/thanks' * }, * capture: false, * }; * const paymentResponse = await this.yookassaService.createPayment(paymentData); * console.log(paymentResponse); * ``` */ createPayment(paymentData: PaymentCreateRequest): Promise<import("./interfaces").PaymentDetails>; /** * Получает список платежей. * Этот метод используется для получения списка всех платежей с возможностью пагинации. * * @param {number} limit - Максимальное количество платежей на страницу. * @param {string} from - Начальная дата для фильтрации. * @param {string} to - Конечная дата для фильтрации. * @returns {Promise<PaymentDetails[]>} Список платежей. * * @example * ```ts * const payments = await this.yookassaService.getPayments(10, '2025-01-01', '2025-01-17'); * console.log(payments); * ``` */ getPayments(limit?: number, from?: string, to?: string): Promise<import("./interfaces").PaymentDetails[]>; /** * Получает детали платежа по его ID. * Этот метод позволяет получить подробную информацию о платеже, включая его статус, сумму и другие данные. * * @param {string} paymentId - Уникальный идентификатор платежа, для которого нужно получить детали. * @returns {Promise<PaymentDetails>} Промис, который возвращает объект `PaymentDetails` с информацией о платеже. * * @example * ```ts * const paymentId = '123456'; * const paymentDetails = await this.yookassaService.getPaymentDetails(paymentId); * console.log(paymentDetails); * ``` */ getPaymentDetails(paymentId: string): Promise<import("./interfaces").PaymentDetails>; /** * Выполняет захват платежа. * Этот метод используется для захвата средств с карты клиента после того, как был создан платеж. * Обычно это делается, когда заказ подтвержден, и продавец готов забрать средства. * Возвращает обновленные детали платежа после захвата средств. * * @param {string} paymentId - Уникальный идентификатор платежа, который нужно захватить. * @param {Amount} amount - Сумма, которую необходимо захватить. Если сумма равна нулю, захватится полная сумма платежа. * @returns {Promise<PaymentDetails>} Промис, который возвращает объект `PaymentDetails` с информацией о платеже после захвата. * * @example * ```ts * const paymentId = '123456'; * const amount: Amount = { * value: 1000, * currency: 'RUB', * }; * const paymentDetails = await this.yookassaService.capturePayment(paymentId, amount); * console.log(paymentDetails); * ``` */ capturePayment(paymentId: string): Promise<import("./interfaces").PaymentDetails>; /** * Отменяет платеж. * Этот метод используется для отмены платежа. * * @param {string} paymentId - ID платежа. * @returns {Promise<PaymentDetails>} Детали отмененного платежа. * * @example * ```ts * const paymentId = '123456'; * const canceledPaymentDetails = await this.yookassaService.cancelPayment(paymentId); * console.log(canceledPaymentDetails); * ``` */ cancelPayment(paymentId: string): Promise<import("./interfaces").PaymentDetails>; /** * Создает возврат средств по указанному платежу. * Этот метод отправляет запрос на создание возврата с данными из `refundData`. * * @param {RefundCreateRequest} refundData - Данные для создания возврата. * @returns {Promise<RefundDetails>} Ответ от API с деталями созданного возврата. * * @example * ```ts * const refundData: RefundCreateRequest = { * payment_id: '123456', * description: 'Возврат за отмененный заказ', * }; * const refundResponse = await this.yookassaService.createRefund(refundData); * console.log(refundResponse); * ``` */ createRefund(refundData: RefundCreateRequest): Promise<import("./interfaces").RefundDetails>; /** * Получает список всех возвратов. * Возвращает массив объектов с информацией о возвратах. * * @param {number} limit - Максимальное количество платежей на страницу. * @param {string} from - Начальная дата для фильтрации. * @param {string} to - Конечная дата для фильтрации. * @returns {Promise<RefundDetails[]>} Массив объектов с деталями возвратов. * * @example * ```ts * const refunds = await this.yookassaService.getRefunds(10, '2025-01-01', '2025-01-17'); * console.log(refunds); * ``` */ getRefunds(limit?: number, from?: string, to?: string): Promise<import("./interfaces").RefundDetails[]>; /** * Получает детали возврата по его ID. * Этот метод возвращает подробную информацию о возврате, включая его статус и сумму. * * @param {string} refundId - Уникальный идентификатор возврата. * @returns {Promise<RefundDetails>} Объект с деталями возврата. * * @example * ```ts * const refundId = 'refund-id'; * const refundDetails = await this.yookassaService.getRefundDetails(refundId); * console.log(refundDetails); * ``` * @throws {NotFoundException} Если возврат с указанным ID не найден. */ getRefundDetails(refundId: string): Promise<import("./interfaces").RefundDetails>; }