nestjs-yookassa
Version:
A NestJS library for integrating with YooKassa API
156 lines (155 loc) • 8.02 kB
TypeScript
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>;
}