@companix/yookassa 0.0.3 → 0.0.4

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