UNPKG

yookassa-sdk

Version:

Интерфейс для интеграции с YooKassa, позволяет выполнять различные операции, такие как создание платежей, возвратов, чеков и управление ими. Написан на TypeScript.

106 lines (97 loc) 5.19 kB
import { Payments } from './payments/payment.type'; import { PaymentMethodsEnum } from './payments/paymentMethod.type'; import { Refunds } from './refunds/refund.type'; /** Фильтр по времени * * Время указывается в формате ISO 8601. Пример: `created_at.gte=2018-07-18T10:51:18.139Z` */ export type DateFilter = { /** время должно быть больше указанного значения или равно ему («с такого-то момента включительно»). */ gte?: string; /** время должно быть больше указанного значения */ gt?: string; /** время должно быть меньше указанного значения или равно ему */ lte?: string; /** Время должно быть меньше указанного значения */ lt?: string; }; export type GetPaymentListFilter = { /** Фильтр по времени создания */ created_at?: DateFilter; /** Фильтр по времени подтверждения */ captured_at?: DateFilter; /** Фильтр по коду [способа оплаты](https://yookassa.ru/developers/payment-acceptance/getting-started/payment-methods#all). * * @example Пример: `payment_method=bank_card` */ payment_method?: PaymentMethodsEnum; /**Фильтр по статусу платежа. * @example status=succeeded */ status?: Payments.PaymentStatus; /** * Размер выдачи результатов запроса — количество объектов, передаваемых в ответе. * Возможные значения: от 1 до 100. * @example Пример: limit=50 * @default 10 Значение по умолчанию: 10 */ limit?: number; /** * Указатель на следующий фрагмент списка. * @description В качестве указателя необходимо использовать значение параметра `next_cursor`, * полученное в ответе на предыдущий запрос. Используется, если в списке больше объектов, * чем может поместиться в выдаче (`limit`), и конец выдачи не достигнут. * @example Пример: `cursor=37a5c87d-3984-51e8-a7f3-8de646d39ec15` * @see [Пример использования](https://yookassa.ru/developers/using-api/lists#pagination) */ cursor?: string; }; export type GetRefundListFilter = Omit< GetPaymentListFilter, 'captured_at' | 'payment_method' > & { /** * Фильтр по идентификатору платежа (получить все возвраты по платежу). * @example payment_id=1da5c87d-0984-50e8-a7f3-8de646dd9ec9 */ payment_id?: string; /** * Статус возврата платежа. Возможные значения: * - `pending` — возврат создан, но пока еще обрабатывается; * - `succeeded` — возврат успешно завершен, указанная в запросе сумма переведена на платежное средство пользователя (финальный и неизменяемый статус); * - `canceled` — возврат отменен, инициатор и причина отмены указаны в объекте cancellation_details (финальный и неизменяемый статус). */ status?: Refunds.RefundStatus; }; export type GetReceiptListFilter = Pick< GetRefundListFilter, 'payment_id' | 'cursor' > & { /** Фильтр по идентификатору возврата (получить все чеки для указанного возврата). * В запросе можно передать только что-то одно: или идентификатор платежа, или идентификатор возврата. * @example Пример: refund_id=1da5c87d-0984-50e8-a7f3-8de646dd9ec9 */ refund_id?: string; }; export type GetListResponse<T> = { type: 'list'; /** Массив объектов. */ items: T[]; /** Указатель на следующий фрагмент списка. */ next_cursor?: string; }; /** В ответ на запрос придет [объект платежа](https://yookassa.ru/developers/api#payment_object) в актуальном статусе. */ export type CreatePaymentResponse = Payments.IPayment; export type YooKassaErrResponse = { type: 'error'; id: string; code: string; description: string; }; export class YooKassaErr extends Error { id: string; constructor(err: YooKassaErrResponse) { super(err.description); this.name = err.code; this.id = err.id; } }