@companix/yookassa 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/api/common.d.ts +663 -18
  2. package/dist/api/enums/common.d.ts +21 -0
  3. package/dist/api/enums/common.js +21 -0
  4. package/dist/api/enums/common.js.map +1 -1
  5. package/dist/api/enums/currency.enum.d.ts +123 -118
  6. package/dist/api/enums/currency.enum.js +6 -1
  7. package/dist/api/enums/currency.enum.js.map +1 -1
  8. package/dist/api/enums/vat-codes.enum.d.ts +31 -0
  9. package/dist/api/enums/vat-codes.enum.js +36 -0
  10. package/dist/api/enums/vat-codes.enum.js.map +1 -0
  11. package/dist/api/notifications.d.ts +12 -0
  12. package/dist/api/requests/deal.d.ts +68 -0
  13. package/dist/api/requests/invoice.d.ts +102 -0
  14. package/dist/api/requests/me.d.ts +14 -0
  15. package/dist/api/requests/payment-method.d.ts +27 -0
  16. package/dist/api/requests/payment.d.ts +584 -0
  17. package/dist/api/requests/payout.d.ts +189 -0
  18. package/dist/api/requests/personal-data.d.ts +48 -0
  19. package/dist/api/requests/receipt.d.ts +273 -6
  20. package/dist/api/requests/refund.d.ts +110 -0
  21. package/dist/api/requests/webhook.d.ts +13 -0
  22. package/dist/api/responses/deal.d.ts +74 -0
  23. package/dist/api/responses/invoice.d.ts +125 -0
  24. package/dist/api/responses/me.d.ts +81 -0
  25. package/dist/api/responses/payment-method.d.ts +60 -0
  26. package/dist/api/responses/payment.d.ts +934 -0
  27. package/dist/api/responses/payout.d.ts +190 -5
  28. package/dist/api/responses/personal-data.d.ts +65 -0
  29. package/dist/api/responses/receipt.d.ts +249 -3
  30. package/dist/api/responses/refund.d.ts +148 -0
  31. package/dist/api/responses/sbp-banks.d.ts +25 -0
  32. package/dist/api/responses/webhook.d.ts +28 -0
  33. package/dist/index.js +3 -0
  34. package/dist/index.js.map +1 -1
  35. package/dist/modules/deal/deal.service.d.ts +16 -0
  36. package/dist/modules/deal/deal.service.js +16 -0
  37. package/dist/modules/deal/deal.service.js.map +1 -1
  38. package/dist/modules/invoice/invoice.service.d.ts +12 -0
  39. package/dist/modules/invoice/invoice.service.js +12 -0
  40. package/dist/modules/invoice/invoice.service.js.map +1 -1
  41. package/dist/modules/me/me.service.d.ts +7 -0
  42. package/dist/modules/me/me.service.js +7 -0
  43. package/dist/modules/me/me.service.js.map +1 -1
  44. package/dist/modules/payment/payment.service.d.ts +35 -0
  45. package/dist/modules/payment/payment.service.js +35 -0
  46. package/dist/modules/payment/payment.service.js.map +1 -1
  47. package/dist/modules/payment-method/payment-method.service.d.ts +12 -0
  48. package/dist/modules/payment-method/payment-method.service.js +12 -0
  49. package/dist/modules/payment-method/payment-method.service.js.map +1 -1
  50. package/dist/modules/payout/payout.service.d.ts +26 -0
  51. package/dist/modules/payout/payout.service.js +26 -0
  52. package/dist/modules/payout/payout.service.js.map +1 -1
  53. package/dist/modules/personal-data/personal-data.service.d.ts +13 -0
  54. package/dist/modules/personal-data/personal-data.service.js +13 -0
  55. package/dist/modules/personal-data/personal-data.service.js.map +1 -1
  56. package/dist/modules/receipt/receipt.service.d.ts +19 -0
  57. package/dist/modules/receipt/receipt.service.js +19 -0
  58. package/dist/modules/receipt/receipt.service.js.map +1 -1
  59. package/dist/modules/refund/refund.service.d.ts +20 -0
  60. package/dist/modules/refund/refund.service.js +20 -0
  61. package/dist/modules/refund/refund.service.js.map +1 -1
  62. package/dist/modules/sbp-banks/sbp-banks.service.d.ts +7 -0
  63. package/dist/modules/sbp-banks/sbp-banks.service.js +7 -0
  64. package/dist/modules/sbp-banks/sbp-banks.service.js.map +1 -1
  65. package/dist/modules/webhook/constants/yookassa-ip-whitelist.d.ts +4 -0
  66. package/dist/modules/webhook/constants/yookassa-ip-whitelist.js +4 -0
  67. package/dist/modules/webhook/constants/yookassa-ip-whitelist.js.map +1 -1
  68. package/dist/modules/webhook/decorators/yookassa-webhook.decorator.d.ts +13 -0
  69. package/dist/modules/webhook/decorators/yookassa-webhook.decorator.js +13 -0
  70. package/dist/modules/webhook/decorators/yookassa-webhook.decorator.js.map +1 -1
  71. package/dist/modules/webhook/utils/ip-matcher.util.d.ts +9 -0
  72. package/dist/modules/webhook/utils/ip-matcher.util.js +9 -0
  73. package/dist/modules/webhook/utils/ip-matcher.util.js.map +1 -1
  74. package/dist/modules/webhook/webhook.service.d.ts +18 -0
  75. package/dist/modules/webhook/webhook.service.js +18 -0
  76. package/dist/modules/webhook/webhook.service.js.map +1 -1
  77. package/dist/yookassa.interface.d.ts +26 -0
  78. package/dist/yookassa.module.d.ts +32 -0
  79. package/dist/yookassa.module.js +32 -0
  80. package/dist/yookassa.module.js.map +1 -1
  81. package/package.json +1 -1
@@ -1,215 +1,860 @@
1
- import { BankCardSourceEnum, BankCardTypeEnum, CurrencyEnum, LocaleEnum, VatRateEnum } from "./enums";
1
+ import { BankCardSourceEnum, BankCardTypeEnum, CurrencyEnum, LocaleEnum, VatRateEnum } from './enums';
2
+ import { VatCodesEnum } from './enums/vat-codes.enum';
3
+ /**
4
+ * Объект с данными для продажи авиабилетов. Используется только для платежей банковской картой.
5
+ */
2
6
  export interface CommonAirline {
7
+ /**
8
+ * Уникальный номер билета. Если при создании платежа вы уже знаете номер билета, тогда ticket_number — обязательный параметр. Если не знаете, тогда вместо ticket_number необходимо передать booking_reference с номером бронирования.
9
+ */
3
10
  ticket_number?: string;
11
+ /**
12
+ * Номер бронирования. Обязателен, если не передан ticket_number.
13
+ */
4
14
  booking_reference?: string;
15
+ /**
16
+ * Список пассажиров.
17
+ */
5
18
  passengers?: CommonPassengers[];
19
+ /**
20
+ * Список перелетов.
21
+ */
6
22
  legs?: CommonLegs[];
7
23
  }
8
24
  export interface CommonAmount {
25
+ /**
26
+ * Сумма в выбранной валюте. Всегда дробное значение. Разделитель дробной части — точка, разделитель тысяч отсутствует. Количество знаков после точки зависит от выбранной валюты. Пример: 1000.00.
27
+ */
9
28
  value: string;
29
+ /**
30
+ * Трехбуквенный код валюты в формате ISO-4217. Пример: RUB.
31
+ */
10
32
  currency: CurrencyEnum;
11
33
  }
12
34
  export interface CommonArticles {
35
+ /**
36
+ * Порядковый номер товара в корзине возврата. От 1 до 999 включительно.
37
+ */
13
38
  article_number: number;
39
+ /**
40
+ * Порядковый номер товара в одобренной корзине покупки (article_number в объекте платежа). От 1 до 999 включительно.
41
+ */
14
42
  payment_article_number: number;
43
+ /**
44
+ * Код ТРУ. 30 символов, две группы цифр, разделенные точкой. Формат: NNNNNNNNN.NNNNNNNNNYYYYMMMMZZZ, где NNNNNNNNN.NNNNNNNNN — код вида ТРУ по Перечню ТРУ, YYYY — код производителя, MMMM — код модели, ZZZ — код страны производителя. Пример: 329921120.06001010200080001643
45
+ *
46
+ * Как сформировать код ТРУ
47
+ */
15
48
  tru_code: string;
49
+ /**
50
+ * Количество возвращаемых единиц товара. Формат: целое положительное число.
51
+ */
16
52
  quantity: number;
17
53
  }
54
+ /**
55
+ * Данные об НДС, если товар или услуга облагается налогом (в параметре type передано значение calculated).
56
+ */
18
57
  export interface CommonCalculated {
19
- type: "calculated";
58
+ /**
59
+ * Код способа расчета НДС.
60
+ */
61
+ type: 'calculated';
62
+ /**
63
+ * Налоговая ставка (в процентах). Возможные значения: 5, 7, 10, 20 и 22. С 1 января 2026 года ставка НДС 22% применяется вместо ставки 20%.
64
+ */
20
65
  rate: VatRateEnum;
66
+ /**
67
+ * Сумма НДС.
68
+ */
21
69
  amount: CommonAmount;
22
70
  }
71
+ /**
72
+ * Данные банковской карты (необходимы, если вы собираете данные карты пользователей на своей стороне).
73
+ */
23
74
  export interface CommonCard {
75
+ /**
76
+ * Номер банковской карты.
77
+ */
24
78
  number: string;
79
+ /**
80
+ * Срок действия, год, YYYY.
81
+ */
25
82
  expiry_year: string;
83
+ /**
84
+ * Срок действия, месяц, MM.
85
+ */
26
86
  expiry_month: string;
87
+ /**
88
+ * Имя владельца карты.
89
+ */
27
90
  cardholder?: string;
91
+ /**
92
+ * Код CVC2 или CVV2, 3 или 4 символа, печатается на обратной стороне карты.
93
+ */
28
94
  csc?: string;
29
95
  }
30
96
  export interface CommonCard2 {
97
+ /**
98
+ * Первые 6 цифр номера карты (BIN). При оплате картой, сохраненной в ЮKassa и других сервисах, переданный BIN может не соответствовать значениям last4, expiry_year, expiry_month.
99
+ */
31
100
  first6?: string;
101
+ /**
102
+ * Последние 4 цифры номера карты.
103
+ */
32
104
  last4: string;
105
+ /**
106
+ * Срок действия, год, YYYY.
107
+ */
33
108
  expiry_year: string;
109
+ /**
110
+ * Срок действия, месяц, MM.
111
+ */
34
112
  expiry_month: string;
113
+ /**
114
+ * Тип банковской карты. Возможные значения: MasterCard (для карт Mastercard и Maestro), Visa (для карт Visa и Visa Electron), Mir, UnionPay, JCB, AmericanExpress, DinersClub, DiscoverCard, InstaPayment, InstaPaymentTM, Laser, Dankort, Solo, Switch и Unknown.
115
+ */
35
116
  card_type: BankCardTypeEnum;
117
+ /**
118
+ * Карточный продукт платежной системы, с которым ассоциирована банковская карта. Например, карточные продукты платежной системы Мир: Mir Classic, Mir Classic Credit, MIR Privilege Plus и другие.
119
+ */
36
120
  card_product?: CommonCardProduct;
121
+ /**
122
+ * Код страны, в которой выпущена карта. Передается в формате ISO-3166 alpha-2. Пример: RU.
123
+ */
37
124
  issuer_country?: string;
125
+ /**
126
+ * Наименование банка, выпустившего карту.
127
+ */
38
128
  issuer_name?: string;
129
+ /**
130
+ * Источник данных банковской карты. Возможные значения: mir_pay, apple_pay, google_pay. Присутствует, если пользователь при оплате выбрал карту, сохраненную в Mir Pay, Apple Pay или Google Pay.
131
+ */
39
132
  source?: BankCardSourceEnum;
40
133
  }
134
+ /**
135
+ * Данные банковской карты.
136
+ */
41
137
  export interface CommonCard3 {
138
+ /**
139
+ * Первые 6 цифр номера карты (BIN).
140
+ */
42
141
  first6: string;
142
+ /**
143
+ * Последние 4 цифры номера карты.
144
+ */
43
145
  last4: string;
146
+ /**
147
+ * Срок действия, год, YYYY.
148
+ */
44
149
  expiry_year: string;
150
+ /**
151
+ * Срок действия, месяц, MM.
152
+ */
45
153
  expiry_month: string;
154
+ /**
155
+ * Тип банковской карты. Возможные значения: MasterCard (для карт Mastercard и Maestro), Visa (для карт Visa и Visa Electron), Mir, UnionPay, JCB, AmericanExpress, DinersClub, DiscoverCard, InstaPayment, InstaPaymentTM, Laser, Dankort, Solo, Switch и Unknown.
156
+ */
46
157
  card_type: BankCardTypeEnum;
47
158
  }
159
+ /**
160
+ * Карточный продукт платежной системы, с которым ассоциирована банковская карта. Например, карточные продукты платежной системы Мир: Mir Classic, Mir Classic Credit, MIR Privilege Plus и другие.
161
+ */
48
162
  export interface CommonCardProduct {
163
+ /**
164
+ * Код карточного продукта. Пример: MCP
165
+ */
49
166
  code: string;
167
+ /**
168
+ * Название карточного продукта. Пример: MIR Privilege
169
+ */
50
170
  name?: string;
51
171
  }
172
+ /**
173
+ * Корзина заказа — список товаров или услуг, который отобразится на странице счета перед оплатой.
174
+ */
52
175
  export interface CommonCart {
176
+ /**
177
+ * Название товара или услуги (от 1 до 128 символов). Пользователь увидит его на странице счета перед оплатой.
178
+ */
53
179
  description: string;
180
+ /**
181
+ * Полная цена товара или услуги. Пользователь увидит ее на странице счета перед оплатой.
182
+ */
54
183
  price: CommonAmount;
184
+ /**
185
+ * Итоговая цена товара с учетом скидки. Если передана, то на странице счета цена отобразится с учетом скидки. Не нужно передавать, если пользователь оплачивает полную стоимость товара или услуги.
186
+ */
55
187
  discount_price?: CommonAmount;
188
+ /**
189
+ * Количество товара. Можно передать целое или дробное число. Разделитель дробной части — точка, разделитель тысяч отсутствует, максимум три знака после точки. Пример: 5.000
190
+ */
56
191
  quantity: number;
57
192
  }
193
+ /**
194
+ * Перенаправление пользователя на сайт ЮKassa для подтверждения привязки или страницу банка-эмитента для аутентификации по 3-D Secure.
195
+ */
58
196
  export interface CommonConfirmationRedirect {
59
- type: "redirect";
197
+ /**
198
+ * Код сценария подтверждения пользователем привязки платежного средства к вашему магазину в ЮKassa.
199
+ */
200
+ type: 'redirect';
201
+ /**
202
+ * Запрос на проведение привязки с аутентификацией по 3-D Secure. Будет работать, если оплату банковской картой вы по умолчанию принимаете без подтверждения платежа пользователем. В остальных случаях аутентификацией по 3-D Secure будет управлять ЮKassa. Если хотите принимать платежи и создавать привязки без дополнительного подтверждения пользователем, напишите вашему менеджеру ЮKassa.
203
+ */
60
204
  enforce?: boolean;
205
+ /**
206
+ * URL, на который вернется пользователь после подтверждения или отмены привязки на веб-странице. Не более 2048 символов.
207
+ */
61
208
  return_url: string;
209
+ /**
210
+ * Язык интерфейса, писем и смс, которые будет видеть или получать пользователь. Формат соответствует ISO/IEC 15897. Возможные значения: ru_RU, en_US. Регистр важен.
211
+ */
62
212
  locale?: LocaleEnum;
63
213
  }
214
+ /**
215
+ * Данные, необходимые для инициирования сценария подтверждения привязки.
216
+ *
217
+ * Сценарии подтверждения
218
+ */
64
219
  export type CommonConfirmation = CommonConfirmationRedirect;
220
+ /**
221
+ * Перенаправление пользователя на сайт ЮKassa для подтверждения привязки или страницу банка-эмитента для аутентификации по 3-D Secure.
222
+ */
65
223
  export interface CommonConfirmation2Redirect {
66
- type: "redirect";
224
+ /**
225
+ * Код сценария подтверждения пользователем привязки платежного средства к вашему магазину в ЮKassa.
226
+ */
227
+ type: 'redirect';
228
+ /**
229
+ * URL, на который необходимо перенаправить пользователя для подтверждения привязки.
230
+ */
67
231
  confirmation_url: string;
232
+ /**
233
+ * Запрос на проведение привязки с аутентификацией по 3-D Secure. Будет работать, если оплату банковской картой вы по умолчанию принимаете без подтверждения платежа пользователем. В остальных случаях аутентификацией по 3-D Secure будет управлять ЮKassa. Если хотите принимать платежи и создавать привязки без дополнительного подтверждения пользователем, напишите вашему менеджеру ЮKassa.
234
+ */
68
235
  enforce?: boolean;
236
+ /**
237
+ * URL, на который вернется пользователь после подтверждения или отмены привязки на веб-странице. Не более 2048 символов.
238
+ */
69
239
  return_url?: string;
70
240
  }
241
+ /**
242
+ * Выбранный сценарий подтверждения привязки. Присутствует, когда привязка ожидает подтверждения от пользователя.
243
+ *
244
+ * Сценарии подтверждения
245
+ */
71
246
  export type CommonConfirmation2 = CommonConfirmation2Redirect;
247
+ /**
248
+ * Информация о пользователе. Необходимо указать как минимум контактные данные: для Чеков от ЮKassa — электронную почту (customer.email), в остальных случаях — электронную почту (customer.email) или номер телефона (customer.phone).
249
+ */
72
250
  export interface CommonCustomer {
251
+ /**
252
+ * Для юрлица — название организации, для ИП и физического лица — ФИО. Если у физлица отсутствует ИНН, в этом же параметре передаются паспортные данные. Не более 256 символов.
253
+ *
254
+ * Можно передавать, если используете Чеки от ЮKassa или онлайн-кассу Orange Data, Атол Онлайн.
255
+ */
73
256
  full_name?: string;
257
+ /**
258
+ * ИНН пользователя (10 или 12 цифр). Если у физического лица отсутствует ИНН, необходимо передать паспортные данные в параметре full_name.
259
+ *
260
+ * Можно передавать, если используете Чеки от ЮKassa или онлайн-кассу Orange Data, Атол Онлайн.
261
+ */
74
262
  inn?: string;
263
+ /**
264
+ * Электронная почта пользователя для отправки чека. Обязательный параметр, если используете Чеки от ЮKassa или если используете стороннюю онлайн-кассу и не передаете phone.
265
+ */
75
266
  email?: string;
267
+ /**
268
+ * Телефон пользователя для отправки чека. Указывается в формате ITU-T E.164, например 79000000000. Обязательный параметр, если не передан email.
269
+ */
76
270
  phone?: string;
77
271
  }
78
272
  export interface CommonDeal {
273
+ /**
274
+ * Идентификатор сделки.
275
+ */
79
276
  id: string;
277
+ /**
278
+ * Данные о распределении денег.
279
+ */
80
280
  settlements: CommonSettlements[];
81
281
  }
82
282
  export interface CommonDeal2 {
283
+ /**
284
+ * Идентификатор сделки.
285
+ */
83
286
  id: string;
84
287
  }
288
+ /**
289
+ * Данные магазина, для которого сохраняется способ оплаты.
290
+ */
85
291
  export interface CommonHolder {
292
+ /**
293
+ * Идентификатор магазина в ЮKassa.
294
+ */
86
295
  account_id: string;
296
+ /**
297
+ * Идентификатор субаккаунта. Используется для разделения потоков платежей в рамках одного аккаунта.
298
+ */
87
299
  gateway_id?: string;
88
300
  }
301
+ /**
302
+ * Список товаров в заказе. Если используете Чеки от ЮKassa, можно передать максимум 80 товаров, если используете стороннюю онлайн-кассу, максимум 100 товаров.
303
+ */
89
304
  export interface CommonItems {
305
+ /**
306
+ * Название товара (от 1 до 128 символов). Тег в 54 ФЗ — 1030.
307
+ */
90
308
  description: string;
309
+ /**
310
+ * Цена товара (тег в 54 ФЗ — 1079).
311
+ */
91
312
  amount: CommonAmount;
92
- vat_code: number;
313
+ /**
314
+ * Ставка НДС (тег в 54 ФЗ — 1199). Перечень возможных значений:
315
+ *
316
+ * для Чеков от ЮKassa
317
+ *
318
+ * для сторонних онлайн-касс
319
+ */
320
+ vat_code: VatCodesEnum;
321
+ /**
322
+ * Количество товара (тег в 54 ФЗ — 1023). Можно передать целое или дробное число. Разделитель дробной части — точка, разделитель тысяч отсутствует. Максимально возможное значение и максимальное количество знаков после точки (для дробных значений) зависят от модели вашей онлайн-кассы. Для чеков от ЮKassa максимально возможное значение — 99999.999, не более 3 знаков после точки.
323
+ */
93
324
  quantity: number;
325
+ /**
326
+ * Мера количества предмета расчета (тег в 54 ФЗ — 2108) — единица измерения товара, например штуки, граммы.
327
+ *
328
+ * Обязательный параметр, если используете Чеки от ЮKassa или онлайн-кассу, обновленную до ФФД 1.2.
329
+ *
330
+ * Перечень возможных значений:
331
+ *
332
+ * для Чеков от ЮKassa
333
+ *
334
+ * для сторонних онлайн-касс
335
+ */
94
336
  measure?: string;
337
+ /**
338
+ * Дробное количество маркированного товара (тег в 54 ФЗ — 1291).
339
+ *
340
+ * Обязательный параметр, если одновременно выполняются эти условия:
341
+ *
342
+ * вы используете Чеки от ЮKassa или онлайн-кассу, обновленную до ФФД 1.2;
343
+ *
344
+ * товар нужно маркировать;
345
+ *
346
+ * поле measure имеет значение piece.
347
+ *
348
+ * Пример: вы продаете поштучно карандаши. Они поставляются пачками по 100 штук с одним кодом маркировки. При продаже одного карандаша нужно в numerator передать 1, а в denominator — 100.
349
+ */
95
350
  mark_quantity?: CommonMarkQuantity;
351
+ /**
352
+ * Признак предмета расчета (тег в 54 ФЗ — 1212) — это то, за что принимается оплата, например товар, услуга.
353
+ *
354
+ * Перечень возможных значений:
355
+ *
356
+ * для Чеков от ЮKassa
357
+ *
358
+ * для сторонних онлайн-касс
359
+ */
96
360
  payment_subject?: string;
361
+ /**
362
+ * Признак способа расчета (тег в 54 ФЗ — 1214) — отражает тип оплаты и факт передачи товара. Пример: покупатель полностью оплачивает товар и сразу получает его. В этом случае нужно передать значение full_payment (полный расчет).
363
+ *
364
+ * Перечень возможных значений:
365
+ *
366
+ * для Чеков от ЮKassa
367
+ *
368
+ * для сторонних онлайн-касс
369
+ */
97
370
  payment_mode?: string;
371
+ /**
372
+ * Код страны происхождения товара по общероссийскому классификатору стран мира (OК (MК (ИСО 3166) 004-97) 025-2001). Тег в 54 ФЗ — 1230. Пример: RU.
373
+ *
374
+ * Можно передавать, если используете онлайн-кассу Orange Data, Кит Инвест.
375
+ */
98
376
  country_of_origin_code?: string;
377
+ /**
378
+ * Номер таможенной декларации (от 1 до 32 символов). Тег в 54 ФЗ — 1231.
379
+ *
380
+ * Можно передавать, если используете онлайн-кассу Orange Data, Кит Инвест.
381
+ */
99
382
  customs_declaration_number?: string;
383
+ /**
384
+ * Сумма акциза товара с учетом копеек (тег в 54 ФЗ — 1229). Десятичное число с точностью до 2 знаков после точки.
385
+ *
386
+ * Можно передавать, если используете онлайн-кассу Orange Data, Кит Инвест.
387
+ */
100
388
  excise?: string;
389
+ /**
390
+ * Код товара (тег в 54 ФЗ — 1162) — уникальный номер, который присваивается экземпляру товара при маркировке.
391
+ *
392
+ * Формат: число в шестнадцатеричном представлении с пробелами. Максимальная длина — 32 байта. Пример: 00 00 00 01 00 21 FA 41 00 23 05 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 00 AB 00.
393
+ *
394
+ * Обязательный параметр, если одновременно выполняются эти условия:
395
+ *
396
+ * вы используете онлайн-кассу, обновленную до ФФД 1.05 или 1.1;
397
+ *
398
+ * товар нужно маркировать.
399
+ *
400
+ * Параметр должен отсутствовать в запросе, если вы используете Чеки от ЮKassa или онлайн-кассу, обновленную до ФФД 1.2.
401
+ */
101
402
  product_code?: string;
403
+ /**
404
+ * Планируемый статус товара. Тег в 54 ФЗ — 2003. Указывается только для товаров, которые подлежат обязательной маркировке (в items.mark_code_info передается параметр gs_1m, short или fur).
405
+ *
406
+ * Перечень возможных значений:
407
+ *
408
+ * для Чеков от ЮKassa
409
+ *
410
+ * для сторонних онлайн-касс
411
+ */
102
412
  planned_status?: number;
413
+ /**
414
+ * Код товара (тег в 54 ФЗ — 1163).
415
+ *
416
+ * Обязательный параметр, если одновременно выполняются эти условия:
417
+ *
418
+ * вы используете Чеки от ЮKassa или онлайн-кассу, обновленную до ФФД 1.2;
419
+ *
420
+ * товар нужно маркировать.
421
+ *
422
+ * Должно быть заполнено хотя бы одно поле.
423
+ */
103
424
  mark_code_info?: CommonMarkCodeInfo;
425
+ /**
426
+ * Режим обработки кода маркировки (тег в 54 ФЗ — 2102).
427
+ *
428
+ * Обязательный параметр, если одновременно выполняются эти условия:
429
+ *
430
+ * вы используете Чеки от ЮKassa или онлайн-кассу Атол Онлайн или BusinessRu, обновленную до ФФД 1.2;
431
+ *
432
+ * товар нужно маркировать.
433
+ *
434
+ * Должен принимать значение равное «0».
435
+ */
104
436
  mark_mode?: string;
437
+ /**
438
+ * Отраслевой реквизит предмета расчета (тег в 54 ФЗ — 1260). Можно передавать, если используете Чеки от ЮKassa или онлайн-кассу, обновленную до ФФД 1.2.
439
+ */
105
440
  payment_subject_industry_details?: CommonPaymentSubjectIndustryDetails[];
106
441
  }
442
+ /**
443
+ * Список перелетов.
444
+ */
107
445
  export interface CommonLegs {
446
+ /**
447
+ * Код аэропорта вылета по справочнику IATA, например LED.
448
+ */
108
449
  departure_airport: string;
450
+ /**
451
+ * Код аэропорта прилета по справочнику IATA, например AMS.
452
+ */
109
453
  destination_airport: string;
454
+ /**
455
+ * Дата вылета в формате YYYY-MM-DD по стандарту ISO 8601:2004.
456
+ */
110
457
  departure_date: string;
458
+ /**
459
+ * Код авиакомпании по справочнику IATA.
460
+ */
111
461
  carrier_code?: string;
112
462
  }
463
+ /**
464
+ * Код товара (тег в 54 ФЗ — 1163).
465
+ *
466
+ * Обязательный параметр, если одновременно выполняются эти условия:
467
+ *
468
+ * вы используете Чеки от ЮKassa или онлайн-кассу, обновленную до ФФД 1.2;
469
+ *
470
+ * товар нужно маркировать.
471
+ *
472
+ * Должно быть заполнено хотя бы одно поле.
473
+ */
113
474
  export interface CommonMarkCodeInfo {
475
+ /**
476
+ * Код товара в том виде, в котором он был прочитан сканером (тег в 54 ФЗ — 2000).
477
+ *
478
+ * Нужно передавать, если используете онлайн-кассу Orange Data.
479
+ *
480
+ * Пример: 010460406000590021N4N57RTCBUZTQ\u001d2403054002410161218\u001d1424010191ffd0\u001g92tIAF/YVpU4roQS3M/m4z78yFq0nc/WsSmLeX6QkF/YVWwy5IMYAeiQ91Xa2m/fFSJcOkb2N+uUUtfr4n0mOX0Q==
481
+ */
114
482
  mark_code_raw?: string;
483
+ /**
484
+ * Нераспознанный код товара (тег в 54 ФЗ — 1300).
485
+ */
115
486
  unknown?: string;
487
+ /**
488
+ * Код товара в формате EAN-8 (тег в 54 ФЗ — 1301).
489
+ */
116
490
  ean_8?: string;
491
+ /**
492
+ * Код товара в формате EAN-13 (тег в 54 ФЗ — 1302).
493
+ */
117
494
  ean_13?: string;
495
+ /**
496
+ * Код товара в формате ITF-14 (тег в 54 ФЗ — 1303).
497
+ */
118
498
  itf_14?: string;
499
+ /**
500
+ * Код товара в формате GS1.0 (тег в 54 ФЗ — 1304).
501
+ *
502
+ * Можно передавать, если используете онлайн-кассу Orange Data, aQsi, Кит Инвест, АТОЛ Онлайн.
503
+ */
119
504
  gs_10?: string;
505
+ /**
506
+ * Код товара в формате GS1.M (тег в 54 ФЗ — 1305).
507
+ */
120
508
  gs_1m?: string;
509
+ /**
510
+ * Код товара в формате короткого кода маркировки (тег в 54 ФЗ — 1306).
511
+ */
121
512
  short?: string;
513
+ /**
514
+ * Контрольно-идентификационный знак мехового изделия (тег в 54 ФЗ — 1307).
515
+ */
122
516
  fur?: string;
517
+ /**
518
+ * Код товара в формате ЕГАИС-2.0 (тег в 54 ФЗ — 1308).
519
+ */
123
520
  egais_20?: string;
521
+ /**
522
+ * Код товара в формате ЕГАИС-3.0 (тег в 54 ФЗ — 1309).
523
+ */
124
524
  egais_30?: string;
125
525
  }
526
+ /**
527
+ * Дробное количество маркированного товара (тег в 54 ФЗ — 1291).
528
+ *
529
+ * Обязательный параметр, если одновременно выполняются эти условия:
530
+ *
531
+ * вы используете Чеки от ЮKassa или онлайн-кассу, обновленную до ФФД 1.2;
532
+ *
533
+ * товар нужно маркировать;
534
+ *
535
+ * поле measure имеет значение piece.
536
+ *
537
+ * Пример: вы продаете поштучно карандаши. Они поставляются пачками по 100 штук с одним кодом маркировки. При продаже одного карандаша нужно в numerator передать 1, а в denominator — 100.
538
+ */
126
539
  export interface CommonMarkQuantity {
540
+ /**
541
+ * Числитель — количество продаваемых товаров из одной потребительской упаковки (тег в 54 ФЗ — 1293). Не может превышать denominator.
542
+ */
127
543
  numerator: number;
544
+ /**
545
+ * Знаменатель — общее количество товаров в потребительской упаковке (тег в 54 ФЗ — 1294).
546
+ */
128
547
  denominator: number;
129
548
  }
549
+ /**
550
+ * Данные об НДС, если создается платеж на несколько товаров или услуг с разными ставками НДС (в параметре type передано значение mixed).
551
+ */
130
552
  export interface CommonMixed {
131
- type: "mixed";
553
+ /**
554
+ * Код способа расчета НДС.
555
+ */
556
+ type: 'mixed';
557
+ /**
558
+ * Сумма НДС.
559
+ */
132
560
  amount: CommonAmount;
133
561
  }
562
+ /**
563
+ * Список пассажиров.
564
+ */
134
565
  export interface CommonPassengers {
566
+ /**
567
+ * Имя пассажира. Необходимо использовать латинские буквы, например SERGEI.
568
+ */
135
569
  first_name: string;
570
+ /**
571
+ * Фамилия пассажира. Необходимо использовать латинские буквы, например IVANOV.
572
+ */
136
573
  last_name: string;
137
574
  }
138
575
  export interface CommonPaymentSubjectIndustryDetails {
576
+ /**
577
+ * Идентификатор федерального органа исполнительной власти (тег в 54 ФЗ — 1262).
578
+ */
139
579
  federal_id: string;
580
+ /**
581
+ * Дата документа основания (тег в 54 ФЗ — 1263). Передается в формате ISO 8601
582
+ */
140
583
  document_date: string;
584
+ /**
585
+ * Номер нормативного акта федерального органа исполнительной власти, регламентирующего порядок заполнения реквизита «значение отраслевого реквизита» (тег в 54 ФЗ — 1264).
586
+ */
141
587
  document_number: string;
588
+ /**
589
+ * Значение отраслевого реквизита (тег в 54 ФЗ — 1265).
590
+ */
142
591
  value: string;
143
592
  }
593
+ /**
594
+ * Тип операции.
595
+ */
144
596
  export interface CommonPayout {
145
- type: "payout";
597
+ /**
598
+ * Тип операции.
599
+ */
600
+ type: 'payout';
601
+ /**
602
+ * Сумма вознаграждения продавца.
603
+ */
146
604
  amount: CommonAmount;
147
605
  }
606
+ /**
607
+ * Тип операции.
608
+ */
148
609
  export interface CommonPayout2 {
149
- type: "payout";
610
+ /**
611
+ * Тип операции.
612
+ */
613
+ type: 'payout';
614
+ /**
615
+ * Сумма, на которую необходимо уменьшить вознаграждение продавца. Должна быть меньше суммы возврата или равна ей.
616
+ */
150
617
  amount: CommonAmount;
151
618
  }
619
+ /**
620
+ * Данные для формирования чека.
621
+ *
622
+ * Необходимо передавать в этих случаях:
623
+ *
624
+ * вы компания или ИП и для оплаты с соблюдением требований 54-ФЗ используете Чеки от ЮKassa;
625
+ *
626
+ * вы компания или ИП, для оплаты с соблюдением требований 54-ФЗ используете стороннюю онлайн-кассу и отправляете данные для чеков по одному из сценариев: Платеж и чек одновременно или Сначала чек, потом платеж.
627
+ */
152
628
  export interface CommonReceipt {
629
+ /**
630
+ * Информация о пользователе. Необходимо указать как минимум контактные данные: для Чеков от ЮKassa — электронную почту (customer.email), в остальных случаях — электронную почту (customer.email) или номер телефона (customer.phone).
631
+ */
153
632
  customer?: CommonCustomer;
633
+ /**
634
+ * Список товаров в заказе. Если используете Чеки от ЮKassa, можно передать максимум 80 товаров, если используете стороннюю онлайн-кассу, максимум 100 товаров.
635
+ */
154
636
  items: CommonItems[];
637
+ /**
638
+ * Признак проведения платежа в интернете (тег в 54 ФЗ — 1125) — указывает на оплату через интернет. Возможные значения:
639
+ *
640
+ * true — оплата прошла онлайн, через интернет (например, на вашем сайте или в приложении);
641
+ *
642
+ * false — оплата прошла офлайн, при личном взаимодействии (например, в торговой точке или при встрече с курьером).
643
+ *
644
+ * По умолчанию true. Если вы принимаете платежи офлайн, передайте в запросе значение false.
645
+ */
155
646
  internet?: boolean;
647
+ /**
648
+ * Система налогообложения магазина (тег в 54 ФЗ — 1055).
649
+ *
650
+ * Для сторонних онлайн-касс: обязательный параметр, если вы используете онлайн-кассу Атол Онлайн, обновленную до ФФД 1.2, или у вас несколько систем налогообложения, в остальных случаях не передается. Перечень возможных значений
651
+ *
652
+ * Для Чеков от ЮKassa: параметр передавать не нужно, ЮKassa его проигнорирует.
653
+ */
156
654
  tax_system_code?: number;
655
+ /**
656
+ * Номер часовой зоны для адреса, по которому вы принимаете платежи (тег в 54 ФЗ — 1011). Указывается, только если в чеке есть товары, которые подлежат обязательной маркировке (в items.mark_code_info передается параметр gs_1m, short или fur).
657
+ *
658
+ * Перечень возможных значений:
659
+ *
660
+ * для Чеков от ЮKassa
661
+ *
662
+ * для сторонних онлайн-касс
663
+ */
157
664
  timezone?: number;
665
+ /**
666
+ * Отраслевой реквизит чека (тег в 54 ФЗ — 1261). Можно передавать, если используете Чеки от ЮKassa или онлайн-кассу, обновленную до ФФД 1.2.
667
+ */
158
668
  receipt_industry_details?: CommonPaymentSubjectIndustryDetails[];
669
+ /**
670
+ * Операционный реквизит чека (тег в 54 ФЗ — 1270). Можно передавать, если используете Чеки от ЮKassa или онлайн-кассу, обновленную до ФФД 1.2.
671
+ */
159
672
  receipt_operational_details?: CommonReceiptOperationalDetails;
160
673
  }
161
674
  export interface CommonReceiptOperationalDetails {
675
+ /**
676
+ * Идентификатор операции (тег в 54 ФЗ — 1271). Число от 0 до 255.
677
+ */
162
678
  operation_id: number;
679
+ /**
680
+ * Данные операции (тег в 54 ФЗ — 1272).
681
+ */
163
682
  value: string;
683
+ /**
684
+ * Время создания операции (тег в 54 ФЗ — 1273). Указывается по UTC и передается в формате ISO 8601. Пример: 2017-11-03T11:52:31.827Z
685
+ */
164
686
  created_at: string;
165
687
  }
166
688
  export interface CommonRecipient {
689
+ /**
690
+ * Идентификатор субаккаунта. Используется для разделения потоков платежей в рамках одного аккаунта.
691
+ */
167
692
  gateway_id: string;
168
693
  }
694
+ /**
695
+ * Перенаправление пользователя на сайт ЮKassa для подтверждения привязки или страницу банка-эмитента для аутентификации по 3-D Secure.
696
+ */
169
697
  export interface CommonRedirect {
170
- type: "redirect";
698
+ /**
699
+ * Код сценария подтверждения пользователем привязки платежного средства к вашему магазину в ЮKassa.
700
+ */
701
+ type: 'redirect';
702
+ /**
703
+ * Запрос на проведение привязки с аутентификацией по 3-D Secure. Будет работать, если оплату банковской картой вы по умолчанию принимаете без подтверждения платежа пользователем. В остальных случаях аутентификацией по 3-D Secure будет управлять ЮKassa. Если хотите принимать платежи и создавать привязки без дополнительного подтверждения пользователем, напишите вашему менеджеру ЮKassa.
704
+ */
171
705
  enforce?: boolean;
706
+ /**
707
+ * URL, на который вернется пользователь после подтверждения или отмены привязки на веб-странице. Не более 2048 символов.
708
+ */
172
709
  return_url: string;
710
+ /**
711
+ * Язык интерфейса, писем и смс, которые будет видеть или получать пользователь. Формат соответствует ISO/IEC 15897. Возможные значения: ru_RU, en_US. Регистр важен.
712
+ */
173
713
  locale?: LocaleEnum;
174
714
  }
715
+ /**
716
+ * Перенаправление пользователя на сайт ЮKassa для подтверждения привязки или страницу банка-эмитента для аутентификации по 3-D Secure.
717
+ */
175
718
  export interface CommonRedirect2 {
176
- type: "redirect";
719
+ /**
720
+ * Код сценария подтверждения пользователем привязки платежного средства к вашему магазину в ЮKassa.
721
+ */
722
+ type: 'redirect';
723
+ /**
724
+ * URL, на который необходимо перенаправить пользователя для подтверждения привязки.
725
+ */
177
726
  confirmation_url: string;
727
+ /**
728
+ * Запрос на проведение привязки с аутентификацией по 3-D Secure. Будет работать, если оплату банковской картой вы по умолчанию принимаете без подтверждения платежа пользователем. В остальных случаях аутентификацией по 3-D Secure будет управлять ЮKassa. Если хотите принимать платежи и создавать привязки без дополнительного подтверждения пользователем, напишите вашему менеджеру ЮKassa.
729
+ */
178
730
  enforce?: boolean;
731
+ /**
732
+ * URL, на который вернется пользователь после подтверждения или отмены привязки на веб-странице. Не более 2048 символов.
733
+ */
179
734
  return_url?: string;
180
735
  }
736
+ /**
737
+ * Тип операции.
738
+ */
181
739
  export interface CommonRefundSettlementsPayout {
182
- type: "payout";
740
+ /**
741
+ * Тип операции.
742
+ */
743
+ type: 'payout';
744
+ /**
745
+ * Сумма, на которую необходимо уменьшить вознаграждение продавца. Должна быть меньше суммы возврата или равна ей.
746
+ */
183
747
  amount: CommonAmount;
184
748
  }
749
+ /**
750
+ * Данные о распределении денег.
751
+ *
752
+ * Тип операции
753
+ */
185
754
  export type CommonRefundSettlements = CommonRefundSettlementsPayout;
755
+ /**
756
+ * Тип операции.
757
+ */
186
758
  export interface CommonSettlementsPayout {
187
- type: "payout";
759
+ /**
760
+ * Тип операции.
761
+ */
762
+ type: 'payout';
763
+ /**
764
+ * Сумма вознаграждения продавца.
765
+ */
188
766
  amount: CommonAmount;
189
767
  }
768
+ /**
769
+ * Данные о распределении денег.
770
+ *
771
+ * Тип операции
772
+ */
190
773
  export type CommonSettlements = CommonSettlementsPayout;
774
+ /**
775
+ * Перечень совершенных расчетов.
776
+ */
191
777
  export interface CommonSettlements2 {
778
+ /**
779
+ * Тип расчета.
780
+ *
781
+ * Перечень возможных значений
782
+ *
783
+ * для Чеков от ЮKassa
784
+ *
785
+ * для сторонних онлайн-касс
786
+ */
192
787
  type: string;
788
+ /**
789
+ * Сумма расчета.
790
+ */
193
791
  amount: CommonAmount;
194
792
  }
195
793
  export interface CommonSources {
794
+ /**
795
+ * Идентификатор магазина, для которого вы хотите провести возврат. Выдается ЮKassa, отображается в разделе Продавцы личного кабинета (столбец shopId).
796
+ */
196
797
  account_id: string;
798
+ /**
799
+ * Сумма возврата.
800
+ */
197
801
  amount: CommonAmount;
802
+ /**
803
+ * Комиссия, которую вы удержали при оплате, и хотите вернуть.
804
+ */
198
805
  platform_fee_amount?: CommonAmount;
199
806
  }
807
+ /**
808
+ * Данные об НДС, если товар или услуга не облагается налогом (в параметре type передано значение untaxed).
809
+ */
200
810
  export interface CommonUntaxed {
201
- type: "untaxed";
202
- }
811
+ /**
812
+ * Код способа расчета НДС.
813
+ */
814
+ type: 'untaxed';
815
+ }
816
+ /**
817
+ * Данные об НДС, если товар или услуга облагается налогом (в параметре type передано значение calculated).
818
+ */
203
819
  export interface CommonVatDataCalculated {
204
- type: "calculated";
820
+ /**
821
+ * Код способа расчета НДС.
822
+ */
823
+ type: 'calculated';
824
+ /**
825
+ * Налоговая ставка (в процентах). Возможные значения: 5, 7, 10, 20 и 22. С 1 января 2026 года ставка НДС 22% применяется вместо ставки 20%.
826
+ */
205
827
  rate: VatRateEnum;
828
+ /**
829
+ * Сумма НДС.
830
+ */
206
831
  amount: CommonAmount;
207
832
  }
833
+ /**
834
+ * Данные об НДС, если товар или услуга не облагается налогом (в параметре type передано значение untaxed).
835
+ */
208
836
  export interface CommonVatDataUntaxed {
209
- type: "untaxed";
210
- }
837
+ /**
838
+ * Код способа расчета НДС.
839
+ */
840
+ type: 'untaxed';
841
+ }
842
+ /**
843
+ * Данные об НДС, если создается платеж на несколько товаров или услуг с разными ставками НДС (в параметре type передано значение mixed).
844
+ */
211
845
  export interface CommonVatDataMixed {
212
- type: "mixed";
846
+ /**
847
+ * Код способа расчета НДС.
848
+ */
849
+ type: 'mixed';
850
+ /**
851
+ * Сумма НДС.
852
+ */
213
853
  amount: CommonAmount;
214
854
  }
855
+ /**
856
+ * Данные о налоге на добавленную стоимость (НДС). Платеж может облагаться или не облагаться НДС. Товары могут облагаться по одной ставке НДС или по разным.
857
+ *
858
+ * Ставки НДС у товаров
859
+ */
215
860
  export type CommonVatData = CommonVatDataCalculated | CommonVatDataUntaxed | CommonVatDataMixed;