@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,54 +1,243 @@
1
1
  import type { CommonAmount, CommonDeal2 } from '../common';
2
+ /**
3
+ * Создание выплаты
4
+ *
5
+ * Используйте этот запрос, чтобы создать в ЮKassa объект выплаты. В запросе необходимо передать сумму выплаты, данные о способе получения выплаты (например, номер кошелька ЮMoney), описание выплаты и при необходимости дополнительные параметры, связанные с той функциональностью, которую вы хотите использовать.
6
+ *
7
+ * Передаваемые параметры и данные для аутентификации запросов зависят от того, какое платежное решение вы используете — обычные выплаты или выплаты в рамках Безопасной сделки.
8
+ */
2
9
  export interface CreatePayoutRequest {
10
+ /**
11
+ * Сумма выплаты. Есть ограничения на минимальный и максимальный размер выплаты и сумму выплат за месяц. Подробнее о лимитах обычных выплат и выплат в рамках Безопасной сделки
12
+ */
3
13
  amount: CommonAmount;
14
+ /**
15
+ * Данные платежного средства, на которое нужно сделать выплату. Обязательный параметр, если не передан payout_token или payment_method_id.
16
+ *
17
+ * Выплаты через СБП доступны только при обычных выплатах и только при выплатах физическим лицам.
18
+ */
4
19
  payout_destination_data?: CreatePayoutRequestPayoutDestinationData;
20
+ /**
21
+ * Токенизированные данные для выплаты. Например, синоним банковской карты. Обязательный параметр, если не передан payout_destination_data или payment_method_id.
22
+ */
5
23
  payout_token?: string;
24
+ /**
25
+ * Идентификатор сохраненного способа оплаты, данные которого нужно использовать для проведения выплаты. Подробнее о выплатах с использованием идентификатора сохраненного способа оплаты
26
+ *
27
+ * Обязательный параметр, если не передан payout_destination_data или payout_token.
28
+ */
6
29
  payment_method_id?: string;
30
+ /**
31
+ * Описание транзакции (не более 128 символов). Например: «Выплата по договору 37».
32
+ */
7
33
  description?: string;
34
+ /**
35
+ * Сделка, в рамках которой нужно провести выплату. Необходимо передавать, если вы проводите Безопасную сделку
36
+ */
8
37
  deal?: CommonDeal2;
38
+ /**
39
+ * Персональные данные получателя выплаты. Только для обычных выплат.
40
+ *
41
+ * Необходимо передавать в этих сценариях:
42
+ *
43
+ * выплаты с проверкой получателя (только для выплат через СБП);
44
+ *
45
+ * выплаты с передачей данных получателя для выписок из реестра.
46
+ *
47
+ * В массиве можно одновременно передать несколько идентификаторов, но только для разных типов данных.
48
+ */
9
49
  personal_data?: CreatePayoutRequestPersonalDataItem[];
50
+ /**
51
+ * Любые дополнительные данные, которые нужны вам для работы (например, ваш внутренний идентификатор заказа). Передаются в виде набора пар «ключ-значение» и возвращаются в ответе от ЮKassa. Ограничения: максимум 16 ключей, имя ключа не больше 32 символов, значение ключа не больше 512 символов, тип данных — строка в формате UTF-8.
52
+ */
10
53
  metadata?: Record<string, unknown>;
11
54
  }
55
+ /**
56
+ * Список выплат
57
+ *
58
+ * Используйте этот запрос, чтобы получить список выплат. Для выгрузки доступны выплаты, созданные за последние 3 года. Список можно отфильтровать по различным критериям.
59
+ *
60
+ * Данные для аутентификации запросов зависят от того, какое платежное решение вы используете — обычные выплаты или выплаты в рамках Безопасной сделки.
61
+ *
62
+ * Подробнее о работе со списками
63
+ */
12
64
  export interface GetPayoutsListRequest {
65
+ /**
66
+ * Фильтр по времени создания: время должно быть больше указанного значения или равно ему («с такого-то момента включительно»). Указывается в формате ISO 8601. Пример: created_at.gte=2018-07-18T10:51:18.139Z
67
+ */
13
68
  "created_at.gte"?: string;
69
+ /**
70
+ * Фильтр по времени создания: время должно быть больше указанного значения («с такого-то момента, не включая его»). Указывается в формате ISO 8601. Пример: created_at.gt=2018-07-18T10:51:18.139Z
71
+ */
14
72
  "created_at.gt"?: string;
73
+ /**
74
+ * Фильтр по времени создания: время должно быть меньше указанного значения или равно ему («по такой-то момент включительно»). Указывается в формате ISO 8601. Пример: created_at.lte=2018-07-18T10:51:18.139Z
75
+ */
15
76
  "created_at.lte"?: string;
77
+ /**
78
+ * Фильтр по времени создания: время должно быть меньше указанного значения («по такой-то момент, не включая его»). Указывается в формате ISO 8601. Пример: created_at.lt=2018-07-18T10:51:18.139Z
79
+ */
16
80
  "created_at.lt"?: string;
81
+ /**
82
+ * Фильтр по времени успешного проведения выплаты: время должно быть больше указанного значения или равно ему («с такого-то момента включительно»). Указывается в формате ISO 8601. Пример: succeeded_at.gte=2018-07-18T10:51:18.139Z
83
+ */
17
84
  "succeeded_at.gte"?: string;
85
+ /**
86
+ * Фильтр по времени успешного проведения выплаты: время должно быть больше указанного значения («с такого-то момента, не включая его»). Указывается в формате ISO 8601. Пример: succeeded_at.gt=2018-07-18T10:51:18.139Z
87
+ */
18
88
  "succeeded_at.gt"?: string;
89
+ /**
90
+ * Фильтр по времени успешного проведения выплаты: время должно быть меньше указанного значения или равно ему («по такой-то момент включительно»). Указывается в формате ISO 8601. Пример: succeeded_at.lte=2018-07-18T10:51:18.139Z
91
+ */
19
92
  "succeeded_at.lte"?: string;
93
+ /**
94
+ * Фильтр по времени успешного проведения выплаты: время должно быть меньше указанного значения («по такой-то момент, не включая его»). Указывается в формате ISO 8601. Пример: succeeded_at.lt=2018-07-18T10:51:18.139Z
95
+ */
20
96
  "succeeded_at.lt"?: string;
97
+ /**
98
+ * Фильтр по коду способа получения выплаты. Пример: payout_destination.type=bank_card
99
+ */
21
100
  "payout_destination.type"?: string;
101
+ /**
102
+ * Фильтр по статусу выплаты. Пример: status=succeeded
103
+ */
22
104
  status?: string;
105
+ /**
106
+ * Размер выдачи результатов запроса — количество объектов, передаваемых в ответе. Возможные значения: от 1 до 100. Пример: limit=50
107
+ *
108
+ * Значение по умолчанию: 10
109
+ */
23
110
  limit?: number;
111
+ /**
112
+ * Указатель на следующий фрагмент списка. Пример: cursor=37a5c87d-3984-51e8-a7f3-8de646d39ec15
113
+ *
114
+ * В качестве указателя необходимо использовать значение параметра next_cursor, полученное в ответе на предыдущий запрос. Используется, если в списке больше объектов, чем может поместиться в выдаче (limit), и конец выдачи не достигнут. Пример использования
115
+ */
24
116
  cursor?: string;
25
117
  }
118
+ /**
119
+ * Поиск выплат
120
+ *
121
+ * Используйте этот запрос для поиска выплат по заданным критериям. Доступно только для выплат, созданных за последние 3 месяца.
122
+ *
123
+ * Сейчас доступен поиск только по параметру metadata. Дополнительно можно указать дату и время создания выплаты (параметр created_at).
124
+ *
125
+ * Данные для аутентификации запросов зависят от того, какое платежное решение вы используете — обычные выплаты или выплаты в рамках Безопасной сделки.
126
+ */
26
127
  export interface GetPayoutsSearchRequest {
128
+ /**
129
+ * Фильтр по времени создания: время должно быть больше указанного значения или равно ему («с такого-то момента включительно»). Указывается в формате ISO 8601. Пример: created_at.gte=2018-07-18T10:51:18.139Z
130
+ */
27
131
  "created_at.gte"?: string;
132
+ /**
133
+ * Фильтр по времени создания: время должно быть больше указанного значения («с такого-то момента, не включая его»). Указывается в формате ISO 8601. Пример: created_at.gt=2018-07-18T10:51:18.139Z
134
+ */
28
135
  "created_at.gt"?: string;
136
+ /**
137
+ * Фильтр по времени создания: время должно быть меньше указанного значения или равно ему («по такой-то момент включительно»). Указывается в формате ISO 8601. Пример: created_at.lte=2018-07-18T10:51:18.139Z
138
+ */
29
139
  "created_at.lte"?: string;
140
+ /**
141
+ * Фильтр по времени создания: время должно быть меньше указанного значения («по такой-то момент, не включая его»). Указывается в формате ISO 8601. Пример: created_at.lt=2018-07-18T10:51:18.139Z
142
+ */
30
143
  "created_at.lt"?: string;
144
+ /**
145
+ * Фильтр по объекту metadata. Строгий поиск по паре «ключ-значение»: возвращаются объекты, у которых в metadata есть точное совпадение по ключу и по значению.
146
+ *
147
+ * Ограничения: можно передать максимум одну пару «ключ-значение», имя ключа не больше 32 символов, значение ключа не больше 512 символов, тип данных — строка в формате UTF-8 в URL-encoded виде.
148
+ *
149
+ * Шаблон: metadata[key]=value
150
+ *
151
+ * Пример: metadata%5Boperation_id%5D=e2ab2e1c-776d-4376-aba8-d2099243d1f6
152
+ */
31
153
  metadata?: Record<string, unknown>;
154
+ /**
155
+ * Размер выдачи результатов запроса — количество объектов, передаваемых в ответе. Возможные значения: от 1 до 100. Пример: limit=50
156
+ *
157
+ * Значение по умолчанию: 10
158
+ */
32
159
  limit?: number;
160
+ /**
161
+ * Указатель на следующий фрагмент списка. Пример: cursor=37a5c87d-3984-51e8-a7f3-8de646d39ec15
162
+ *
163
+ * В качестве указателя необходимо использовать значение параметра next_cursor, полученное в ответе на предыдущий запрос. Используется, если в списке больше объектов, чем может поместиться в выдаче (limit), и конец выдачи не достигнут. Пример использования
164
+ */
33
165
  cursor?: string;
34
166
  }
167
+ /**
168
+ * Данные для выплаты на кошелек ЮMoney.
169
+ */
35
170
  export interface CreatePayoutRequestPayoutDestinationDataYooMoney {
171
+ /**
172
+ * Код способа получения выплаты.
173
+ */
36
174
  "type": "yoo_money";
175
+ /**
176
+ * Номер кошелька ЮMoney, например 41001614575714. Длина от 11 до 33 цифр. Статус кошелька: для обычных выплат — любой, для выплат в рамках Безопасной сделки — именной или идентифицированный.
177
+ */
37
178
  account_number: string;
38
179
  }
180
+ /**
181
+ * Данные для выплаты на банковскую карту.
182
+ */
39
183
  export interface CreatePayoutRequestPayoutDestinationDataBankCard {
184
+ /**
185
+ * Код способа получения выплаты.
186
+ */
40
187
  "type": "bank_card";
188
+ /**
189
+ * Данные банковской карты для выплаты.
190
+ */
41
191
  card: CreatePayoutRequestPayoutDestinationDataBankCardCard;
42
192
  }
193
+ /**
194
+ * Данные для выплаты на счет в банке через систему быстрых платежей.
195
+ */
43
196
  export interface CreatePayoutRequestPayoutDestinationDataSbp {
197
+ /**
198
+ * Код способа получения выплаты.
199
+ */
44
200
  "type": "sbp";
201
+ /**
202
+ * Телефон, к которому привязан счет получателя выплаты в системе участника СБП. Указывается в формате ITU-T E.164, например 79000000000.
203
+ */
45
204
  phone: string;
205
+ /**
206
+ * Идентификатор выбранного участника СБП — банка или платежного сервиса, подключенного к сервису. Формат: 12 символов. Как получить идентификатор участника СБП
207
+ */
46
208
  bank_id: string;
47
209
  }
210
+ /**
211
+ * Данные платежного средства, на которое нужно сделать выплату. Обязательный параметр, если не передан payout_token или payment_method_id.
212
+ *
213
+ * Выплаты через СБП доступны только при обычных выплатах и только при выплатах физическим лицам.
214
+ *
215
+ * Способы получения выплаты
216
+ */
48
217
  export type CreatePayoutRequestPayoutDestinationData = CreatePayoutRequestPayoutDestinationDataYooMoney | CreatePayoutRequestPayoutDestinationDataBankCard | CreatePayoutRequestPayoutDestinationDataSbp;
218
+ /**
219
+ * Персональные данные получателя выплаты. Только для обычных выплат.
220
+ *
221
+ * Необходимо передавать в этих сценариях:
222
+ *
223
+ * выплаты с проверкой получателя (только для выплат через СБП);
224
+ *
225
+ * выплаты с передачей данных получателя для выписок из реестра.
226
+ *
227
+ * В массиве можно одновременно передать несколько идентификаторов, но только для разных типов данных.
228
+ */
49
229
  export interface CreatePayoutRequestPersonalDataItem {
230
+ /**
231
+ * Идентификатор персональных данных, сохраненных в ЮKassa.
232
+ */
50
233
  id: string;
51
234
  }
235
+ /**
236
+ * Данные банковской карты для выплаты.
237
+ */
52
238
  export interface CreatePayoutRequestPayoutDestinationDataBankCardCard {
239
+ /**
240
+ * Номер банковской карты. Формат: только цифры, без пробелов. Пример: 5555555555554477
241
+ */
53
242
  "number": string;
54
243
  }
@@ -1,16 +1,64 @@
1
+ /**
2
+ * Тип персональных данных.
3
+ */
1
4
  export interface CreatePersonalDataRequestPayoutStatementRecipient {
5
+ /**
6
+ * Тип персональных данных.
7
+ */
2
8
  "type": "payout_statement_recipient";
9
+ /**
10
+ * Любые дополнительные данные, которые нужны вам для работы (например, ваш внутренний идентификатор заказа). Передаются в виде набора пар «ключ-значение» и возвращаются в ответе от ЮKassa. Ограничения: максимум 16 ключей, имя ключа не больше 32 символов, значение ключа не больше 512 символов, тип данных — строка в формате UTF-8.
11
+ */
3
12
  metadata?: Record<string, unknown>;
13
+ /**
14
+ * Фамилия пользователя.
15
+ */
4
16
  last_name: string;
17
+ /**
18
+ * Имя пользователя.
19
+ */
5
20
  first_name: string;
21
+ /**
22
+ * Отчество пользователя. Обязательный параметр, если есть в паспорте.
23
+ */
6
24
  middle_name?: string;
25
+ /**
26
+ * Дата рождения. Передается в формате ISO 8601
27
+ */
7
28
  birthdate: string;
8
29
  }
30
+ /**
31
+ * Тип персональных данных.
32
+ */
9
33
  export interface CreatePersonalDataRequestSbpPayoutRecipient {
34
+ /**
35
+ * Тип персональных данных.
36
+ */
10
37
  "type": "sbp_payout_recipient";
38
+ /**
39
+ * Любые дополнительные данные, которые нужны вам для работы (например, ваш внутренний идентификатор заказа). Передаются в виде набора пар «ключ-значение» и возвращаются в ответе от ЮKassa. Ограничения: максимум 16 ключей, имя ключа не больше 32 символов, значение ключа не больше 512 символов, тип данных — строка в формате UTF-8.
40
+ */
11
41
  metadata?: Record<string, unknown>;
42
+ /**
43
+ * Фамилия пользователя.
44
+ */
12
45
  last_name: string;
46
+ /**
47
+ * Имя пользователя.
48
+ */
13
49
  first_name: string;
50
+ /**
51
+ * Отчество пользователя. Обязательный параметр, если есть в паспорте.
52
+ */
14
53
  middle_name?: string;
15
54
  }
55
+ /**
56
+ * Создание персональных данных
57
+ *
58
+ * Используйте этот запрос, чтобы создать в ЮKassa объект персональных данных. В запросе необходимо указать тип данных (с какой целью они будут использоваться) и передать информацию о пользователе: фамилию, имя, отчество и другие — в зависимости от выбранного типа.
59
+ *
60
+ * Идентификатор созданного объекта персональных данных необходимо использовать в запросе на создание выплаты.
61
+ *
62
+ * Типы персональных данных
63
+ */
16
64
  export type CreatePersonalDataRequest = CreatePersonalDataRequestPayoutStatementRecipient | CreatePersonalDataRequestSbpPayoutRecipient;
@@ -1,59 +1,326 @@
1
1
  import type { CommonAmount, CommonCustomer, CommonMarkCodeInfo, CommonMarkQuantity, CommonPaymentSubjectIndustryDetails, CommonReceiptOperationalDetails, CommonSettlements2 } from '../common';
2
2
  import { BasicStatusEnum, CreateReceiptTypeEnum } from '../enums';
3
+ import { VatCodesEnum } from '../enums/vat-codes.enum';
4
+ /**
5
+ * Создание чека
6
+ *
7
+ * Используйте этот запрос при оплате с соблюдением требований 54-ФЗ, чтобы создать чек зачета предоплаты.
8
+ *
9
+ * Если вы работаете по сценарию Сначала платеж, потом чек, в запросе также нужно передавать данные для формирования чека прихода и чека возврата прихода.
10
+ */
3
11
  export interface CreateReceiptRequest {
4
- "type": CreateReceiptTypeEnum;
12
+ /**
13
+ * Тип чека в онлайн-кассе. Возможные значения: payment (приход), refund (возврат прихода).
14
+ */
15
+ type: CreateReceiptTypeEnum;
16
+ /**
17
+ * Идентификатор платежа в ЮKassa для отображения информации о чеке в личном кабинете, на платеж не влияет. Обязательный параметр при создании чека прихода (тип чека — payment, статус платежа — waiting_for_capture или succeeded) и при создании чека возврата прихода для отмененного или частично подтвержденного платежа (тип чека — refund, статус платежа — canceled или succeeded).
18
+ *
19
+ * Для одного платежа можно создать не более 50 чеков.
20
+ */
5
21
  payment_id?: string;
22
+ /**
23
+ * Идентификатор возврата в ЮKassa для отображения информации о чеке в личном кабинете. Обязательный параметр при создании чека возврата прихода (если тип чека — refund, статус возврата — succeeded).
24
+ *
25
+ * Для одного возврата можно создать не более 50 чеков.
26
+ */
6
27
  refund_id?: string;
28
+ /**
29
+ * Информация о пользователе. Необходимо указать как минимум контактные данные: для Чеков от ЮKassa — электронную почту (customer.email), в остальных случаях — электронную почту (customer.email) или номер телефона (customer.phone).
30
+ */
7
31
  customer: CommonCustomer;
32
+ /**
33
+ * Список товаров в чеке: для Чеков от ЮKassa — не более 80 товаров, для сторонних онлайн-касс — не более 100 товаров.
34
+ */
8
35
  items: CreateReceiptRequestItemsItem[];
36
+ /**
37
+ * Признак проведения платежа в интернете (тег в 54 ФЗ — 1125) — указывает на оплату через интернет. Возможные значения:
38
+ *
39
+ * true — оплата прошла онлайн, через интернет (например, на вашем сайте или в приложении);
40
+ *
41
+ * false — оплата прошла офлайн, при личном взаимодействии (например, в торговой точке или при встрече с курьером).
42
+ *
43
+ * По умолчанию true. Если вы принимаете платежи офлайн, передайте в запросе значение false.
44
+ */
9
45
  internet?: boolean;
46
+ /**
47
+ * Формирование чека в онлайн-кассе сразу после создания объекта чека. Сейчас можно передать только значение true.
48
+ */
10
49
  send: boolean;
50
+ /**
51
+ * Система налогообложения магазина (тег в 54 ФЗ — 1055).
52
+ *
53
+ * Для сторонних онлайн-касс: обязательный параметр, если вы используете онлайн-кассу Атол Онлайн, обновленную до ФФД 1.2, или у вас несколько систем налогообложения, в остальных случаях не передается. Перечень возможных значений
54
+ *
55
+ * Для Чеков от ЮKassa: параметр передавать не нужно, ЮKassa его проигнорирует.
56
+ */
11
57
  tax_system_code?: number;
58
+ /**
59
+ * Номер часовой зоны для адреса, по которому вы принимаете платежи (тег в 54 ФЗ — 1011). Указывается, только если в чеке есть товары, которые подлежат обязательной маркировке (в items.mark_code_info передается параметр gs_1m, short или fur).
60
+ *
61
+ * Перечень возможных значений:
62
+ *
63
+ * для Чеков от ЮKassa
64
+ *
65
+ * для сторонних онлайн-касс
66
+ */
12
67
  timezone?: number;
68
+ /**
69
+ * Дополнительный реквизит пользователя (тег в 54 ФЗ — 1084).
70
+ *
71
+ * Можно передавать, если вы отправляете данные для формирования чека по сценарию Сначала платеж, потом чек
72
+ */
13
73
  additional_user_props?: CreateReceiptRequestAdditionalUserProps;
74
+ /**
75
+ * Отраслевой реквизит чека (тег в 54 ФЗ — 1261). Нужно передавать, если используете ФФД 1.2.
76
+ */
14
77
  receipt_industry_details?: CommonPaymentSubjectIndustryDetails[];
78
+ /**
79
+ * Операционный реквизит чека (тег в 54 ФЗ — 1270). Нужно передавать, если используете ФФД 1.2.
80
+ */
15
81
  receipt_operational_details?: CommonReceiptOperationalDetails;
82
+ /**
83
+ * Перечень совершенных расчетов.
84
+ */
16
85
  settlements: CommonSettlements2[];
86
+ /**
87
+ * Идентификатор магазина, от имени которого нужно отправить чек. Выдается ЮKassa, отображается в разделе Продавцы личного кабинета (столбец shopId). Необходимо передавать, если вы используете Сплитование платежей.
88
+ */
17
89
  on_behalf_of?: string;
18
90
  }
91
+ /**
92
+ * Список чеков
93
+ *
94
+ * Запрос позволяет получить список чеков, отфильтрованный по заданным критериям. Можно запросить чеки по конкретному платежу, чеки по конкретному возврату или все чеки магазина. Подробнее о работе со списками
95
+ */
19
96
  export interface GetReceiptsListRequest {
20
- "created_at.gte"?: string;
21
- "created_at.gt"?: string;
22
- "created_at.lte"?: string;
23
- "created_at.lt"?: string;
97
+ /**
98
+ * Фильтр по времени создания: время должно быть больше указанного значения или равно ему («с такого-то момента включительно»). Указывается в формате ISO 8601. Пример: created_at.gte=2018-07-18T10:51:18.139Z
99
+ */
100
+ 'created_at.gte'?: string;
101
+ /**
102
+ * Фильтр по времени создания: время должно быть больше указанного значения («с такого-то момента, не включая его»). Указывается в формате ISO 8601. Пример: created_at.gt=2018-07-18T10:51:18.139Z
103
+ */
104
+ 'created_at.gt'?: string;
105
+ /**
106
+ * Фильтр по времени создания: время должно быть меньше указанного значения или равно ему («по такой-то момент включительно»). Указывается в формате ISO 8601. Пример: created_at.lte=2018-07-18T10:51:18.139Z
107
+ */
108
+ 'created_at.lte'?: string;
109
+ /**
110
+ * Фильтр по времени создания: время должно быть меньше указанного значения («по такой-то момент, не включая его»). Указывается в формате ISO 8601. Пример: created_at.lt=2018-07-18T10:51:18.139Z
111
+ */
112
+ 'created_at.lt'?: string;
113
+ /**
114
+ * Фильтр по статусу чека. Возможные значения: pending — в обработке, succeeded — успешно зарегистрирован, canceled — отменен. Пример: status=succeeded
115
+ */
24
116
  status?: BasicStatusEnum;
117
+ /**
118
+ * Фильтр по идентификатору платежа (получить все чеки для указанного платежа). Пример: payment_id=1da5c87d-0984-50e8-a7f3-8de646dd9ec9 В запросе можно передать только что-то одно: или идентификатор платежа, или идентификатор возврата.
119
+ */
25
120
  payment_id?: string;
121
+ /**
122
+ * Фильтр по идентификатору возврата (получить все чеки для указанного возврата). Пример: refund_id=1da5c87d-0984-50e8-a7f3-8de646dd9ec9 В запросе можно передать только что-то одно: или идентификатор платежа, или идентификатор возврата.
123
+ */
26
124
  refund_id?: string;
125
+ /**
126
+ * Размер выдачи результатов запроса — количество объектов, передаваемых в ответе. Возможные значения: от 1 до 100. Пример: limit=50
127
+ *
128
+ * Значение по умолчанию: 10
129
+ */
27
130
  limit?: number;
131
+ /**
132
+ * Указатель на следующий фрагмент списка. Пример: cursor=37a5c87d-3984-51e8-a7f3-8de646d39ec15
133
+ *
134
+ * В качестве указателя необходимо использовать значение параметра next_cursor, полученное в ответе на предыдущий запрос. Используется, если в списке больше объектов, чем может поместиться в выдаче (limit), и конец выдачи не достигнут. Пример использования
135
+ */
28
136
  cursor?: string;
29
137
  }
138
+ /**
139
+ * Список товаров в чеке: для Чеков от ЮKassa — не более 80 товаров, для сторонних онлайн-касс — не более 100 товаров.
140
+ */
30
141
  export interface CreateReceiptRequestItemsItem {
142
+ /**
143
+ * Название товара (от 1 до 128 символов). Тег в 54 ФЗ — 1030.
144
+ */
31
145
  description: string;
146
+ /**
147
+ * Цена товара (тег в 54 ФЗ — 1079).
148
+ */
32
149
  amount: CommonAmount;
33
- vat_code: number;
150
+ /**
151
+ * Ставка НДС (тег в 54 ФЗ — 1199). Перечень возможных значений:
152
+ *
153
+ * для Чеков от ЮKassa
154
+ *
155
+ * для сторонних онлайн-касс
156
+ */
157
+ vat_code: VatCodesEnum;
158
+ /**
159
+ * Количество товара (тег в 54 ФЗ — 1023). Можно передать целое или дробное число. Разделитель дробной части — точка, разделитель тысяч отсутствует. Пример: 5.000
160
+ *
161
+ * Максимально возможное значение и максимальное количество знаков после точки (для дробных значений) зависят от модели вашей онлайн-кассы. Для чеков от ЮKassa максимально возможное значение — 99999.999, не более 3 знаков после точки.
162
+ */
34
163
  quantity: number;
164
+ /**
165
+ * Мера количества предмета расчета (тег в 54 ФЗ — 2108) — единица измерения товара, например штуки, граммы.
166
+ *
167
+ * Обязательный параметр, если используете Чеки от ЮKassa или онлайн-кассу, обновленную до ФФД 1.2.
168
+ *
169
+ * Перечень возможных значений:
170
+ *
171
+ * для Чеков от ЮKassa
172
+ *
173
+ * для сторонних онлайн-касс
174
+ */
35
175
  measure?: string;
176
+ /**
177
+ * Дробное количество маркированного товара (тег в 54 ФЗ — 1291).
178
+ *
179
+ * Обязательный параметр, если одновременно выполняются эти условия:
180
+ *
181
+ * вы используете Чеки от ЮKassa или онлайн-кассу, обновленную до ФФД 1.2;
182
+ *
183
+ * товар нужно маркировать;
184
+ *
185
+ * поле measure имеет значение piece.
186
+ *
187
+ * Пример: вы продаете поштучно карандаши. Они поставляются пачками по 100 штук с одним кодом маркировки. При продаже одного карандаша нужно в numerator передать 1, а в denominator — 100.
188
+ */
36
189
  mark_quantity?: CommonMarkQuantity;
190
+ /**
191
+ * Признак предмета расчета (тег в 54 ФЗ — 1212) — это то, за что принимается оплата, например товар, услуга.
192
+ *
193
+ * Перечень возможных значений:
194
+ *
195
+ * для Чеков от ЮKassa
196
+ *
197
+ * для сторонних онлайн-касс
198
+ */
37
199
  payment_subject?: string;
200
+ /**
201
+ * Признак способа расчета (тег в 54 ФЗ — 1214) — отражает тип оплаты и факт передачи товара. Пример: покупатель полностью оплачивает товар и сразу получает его. В этом случае нужно передать значение full_payment (полный расчет).
202
+ *
203
+ * Перечень возможных значений:
204
+ *
205
+ * для Чеков от ЮKassa
206
+ *
207
+ * для сторонних онлайн-касс
208
+ */
38
209
  payment_mode?: string;
210
+ /**
211
+ * Код страны происхождения товара по общероссийскому классификатору стран мира (OК (MК (ИСО 3166) 004-97) 025-2001). Тег в 54 ФЗ — 1230. Пример: RU.
212
+ *
213
+ * Можно передавать, если используете онлайн-кассу Orange Data, Кит Инвест.
214
+ */
39
215
  country_of_origin_code?: string;
216
+ /**
217
+ * Номер таможенной декларации (от 1 до 32 символов). Тег в 54 ФЗ — 1231.
218
+ *
219
+ * Можно передавать, если используете онлайн-кассу Orange Data, Кит Инвест.
220
+ */
40
221
  customs_declaration_number?: string;
222
+ /**
223
+ * Сумма акциза товара с учетом копеек (тег в 54 ФЗ — 1229). Десятичное число с точностью до 2 знаков после точки.
224
+ *
225
+ * Можно передавать, если используете онлайн-кассу Orange Data, Кит Инвест.
226
+ */
41
227
  excise?: string;
228
+ /**
229
+ * Код товара (тег в 54 ФЗ — 1162) — уникальный номер, который присваивается экземпляру товара при маркировке.
230
+ *
231
+ * Формат: число в шестнадцатеричном представлении с пробелами. Максимальная длина — 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.
232
+ *
233
+ * Обязательный параметр, если одновременно выполняются эти условия:
234
+ *
235
+ * вы используете онлайн-кассу, обновленную до ФФД 1.05 или 1.1;
236
+ *
237
+ * товар нужно маркировать.
238
+ *
239
+ * Параметр должен отсутствовать в запросе, если вы используете Чеки от ЮKassa или онлайн-кассу, обновленную до ФФД 1.2.
240
+ */
42
241
  product_code?: string;
242
+ /**
243
+ * Планируемый статус товара. Тег в 54 ФЗ — 2003. Указывается только для товаров, которые подлежат обязательной маркировке (в items.mark_code_info передается параметр gs_1m, short или fur).
244
+ *
245
+ * Перечень возможных значений:
246
+ *
247
+ * для Чеков от ЮKassa
248
+ *
249
+ * для сторонних онлайн-касс
250
+ */
43
251
  planned_status?: number;
252
+ /**
253
+ * Код товара (тег в 54 ФЗ — 1163).
254
+ *
255
+ * Обязательный параметр, если одновременно выполняются эти условия:
256
+ *
257
+ * вы используете Чеки от ЮKassa или онлайн-кассу, обновленную до ФФД 1.2;
258
+ *
259
+ * товар нужно маркировать.
260
+ *
261
+ * Должно быть заполнено хотя бы одно поле.
262
+ */
44
263
  mark_code_info?: CommonMarkCodeInfo;
264
+ /**
265
+ * Режим обработки кода маркировки (тег в 54 ФЗ — 2102).
266
+ *
267
+ * Обязательный параметр, если одновременно выполняются эти условия:
268
+ *
269
+ * вы используете Чеки от ЮKassa или онлайн-кассу Атол Онлайн или BusinessRu, обновленную до ФФД 1.2;
270
+ *
271
+ * товар нужно маркировать.
272
+ *
273
+ * Должен принимать значение равное «0».
274
+ */
45
275
  mark_mode?: string;
276
+ /**
277
+ * Отраслевой реквизит предмета расчета (тег в 54 ФЗ — 1260). Можно передавать, если используете Чеки от ЮKassa или онлайн-кассу, обновленную до ФФД 1.2.
278
+ */
46
279
  payment_subject_industry_details?: CommonPaymentSubjectIndustryDetails[];
280
+ /**
281
+ * Дополнительный реквизит предмета расчета (тег в 54 ФЗ — 1191). Не более 64 символов.
282
+ *
283
+ * Можно передавать, если вы отправляете данные для формирования чека по сценарию Сначала платеж, потом чек
284
+ */
47
285
  additional_payment_subject_props?: string;
286
+ /**
287
+ * Информация о поставщике товара или услуги (тег в 54 ФЗ — 1224). Можно передавать, если вы отправляете данные для формирования чека по сценарию Сначала платеж, потом чек.
288
+ */
48
289
  supplier?: CreateReceiptRequestItemsItemSupplier;
290
+ /**
291
+ * Тип посредника, реализующего товар или услугу. Параметр предусмотрен форматом фискальных документов (ФФД) и является обязательным, начиная с версии 1.1. Перечень возможных значений. Можно передавать, если ваша онлайн-касса обновлена до ФФД 1.1 и вы отправляете данные для формирования чека по сценарию Сначала платеж, потом чек
292
+ */
49
293
  agent_type?: string;
50
294
  }
295
+ /**
296
+ * Дополнительный реквизит пользователя (тег в 54 ФЗ — 1084).
297
+ *
298
+ * Можно передавать, если вы отправляете данные для формирования чека по сценарию Сначала платеж, потом чек
299
+ */
51
300
  export interface CreateReceiptRequestAdditionalUserProps {
301
+ /**
302
+ * Наименование дополнительного реквизита пользователя (тег в 54 ФЗ — 1085). Не более 64 символов.
303
+ */
52
304
  name: string;
305
+ /**
306
+ * Значение дополнительного реквизита пользователя (тег в 54 ФЗ — 1086). Не более 234 символов.
307
+ */
53
308
  value: string;
54
309
  }
310
+ /**
311
+ * Информация о поставщике товара или услуги (тег в 54 ФЗ — 1224). Можно передавать, если вы отправляете данные для формирования чека по сценарию Сначала платеж, потом чек.
312
+ */
55
313
  export interface CreateReceiptRequestItemsItemSupplier {
314
+ /**
315
+ * Наименование поставщика (тег в 54 ФЗ — 1225). Параметр предусмотрен форматом фискальных документов (ФФД) и является обязательным, начиная с версии 1.1.
316
+ */
56
317
  name?: string;
318
+ /**
319
+ * Телефон поставщика (тег в 54 ФЗ — 1171). Указывается в формате ITU-T E.164, например 79000000000. Параметр предусмотрен форматом фискальных документов (ФФД) и является обязательным, начиная с версии 1.1.
320
+ */
57
321
  phone?: string;
322
+ /**
323
+ * ИНН поставщика (10 или 12 цифр). Тег в 54 ФЗ — 1226. Параметр предусмотрен форматом фискальных документов (ФФД) и является обязательным, начиная с версии 1.05.
324
+ */
58
325
  inn?: string;
59
326
  }