Yandex Pay API
version: 1.0.0
Совет
Для знакомства с платежными механиками используйте готовую Postman-коллекцию.
Заголовки
Передавайте следующие HTTP заголовки в ваших запросах:
- X-Request-Id: <уникальный идентификатор запроса>
- X-Request-Timeout: <таймаут запроса в миллисекундах>
- X-Request-Attempt: <номер попытки (0 — первая попытка, 1, 2 и т.д. — перезапросы)>
X-Request-Id нужен для отладки запросов, а также для обеспечения идемпотентности пишущих запросов.
Поэтому одно и то же значение X-Request-Id должно сохраняться во всех перезапросах при получении
ошибок с HTTP-кодами 5xx, либо 429 в ответ.
X-Request-Timeout нужен для deadline propagation
во время обработки запроса в системе.
Не используйте значения таймаутов меньше секунды. Максимальное значение таймаута — 10 секунд.
X-Request-Attempt полезен для общей диагностики.
Аутентификация запроса продавца
Для использования API необходимо получить аутентификационный API-ключ.
Токен необходимо передавать для каждого запроса в HTTP-заголовке Authorization.
Управление ключами находится в консоли Яндекс Пэй.
При этом в sandbox окружении API-ключ равен значению merchant_id.
--header 'Authorization: Api-Key <значение ключа>'
Если в запросе отсутствует токен или передан недействительный токен,
сервер возвращает HTTP-статус 401 Unauthorized.
Sections
Specification
Open API
{
"components": {
"schemas": {
"Agent": {
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
},
"BaseMerchantApiOrder": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "Внутренний идентификатор корзины на стороне Яндекс Пэй.",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Купоны, применённые к корзине",
"items": {
"properties": {
"description": {
"description": "Описание. Например, \"Скидка 3%\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Код купона",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Скидки, применённые к корзине",
"items": {
"properties": {
"amount": {
"description": "Сумма скидки",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Текстовое описание",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Идентификатор скидки в системе мерчанта",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Идентификатор корзины на стороне продавца.",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Позиция корзины",
"items": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
},
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"finalPrice": {
"description": "Цена за единицу товара с учётом всех скидок на позицию и на корзину",
"example": "123.45",
"format": "double",
"type": "string"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Размеры и вес товара. Обязательно для товара типа `PHYSICAL`"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Тип товара. Важен для интеграции с доставками",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Стоимость корзины с учетом всех скидок.",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"default": null,
"description": "Итоговая стоимость корзины, которая пойдет в оплату"
}
},
"required": [
"items"
],
"type": "object"
}
],
"description": "Корзина"
},
"created": {
"description": "Дата и время создания заказа (ISO 8601)",
"format": "date-time",
"type": "string"
},
"currencyCode": {
"description": "Трехбуквенный код валюты заказа (ISO 4217)",
"enum": [
"RUB",
"UZS"
],
"maxLength": 2048,
"type": "string"
},
"isPrepayment": {
"default": false,
"description": "Проводить ли заказ по флоу «отложенной оплаты».\n\nЕсли параметр установлен в `true`, то заказ будет оформляться как заказ с отложенной оплатой.",
"type": "boolean"
},
"merchantId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"metadata": {
"description": "Произвольные данные, переданные при инициализации кнопки",
"maxLength": 2048,
"type": "string"
},
"orderAmount": {
"description": "Полная стоимость заказа к оплате с учётом возвратов, доставки, скидок и промокодов",
"example": "123.45",
"format": "double",
"type": "string"
},
"orderId": {
"description": "Уникальный идентификатор заказа на стороне продавца.\n\nИспользуется:\n- как ключ идемпотентности;\n- для дальнейшего взаимодействия по заказу и платежу;\n- в сверках.",
"maxLength": 2048,
"type": "string"
},
"paymentMethod": {
"properties": {
"cardLast4": {
"maxLength": 2048,
"type": "string"
},
"cardNetwork": {
"description": "Платежная система",
"enum": [
"AMEX",
"DISCOVER",
"JCB",
"MASTERCARD",
"MAESTRO",
"VISAELECTRON",
"VISA",
"MIR",
"UNIONPAY",
"UZCARD",
"HUMOCARD",
"UNKNOWN",
"UNDEFINED",
null
],
"type": "string"
},
"methodType": {
"enum": [
"CARD",
"SPLIT",
"SBP",
"SPLIT_SBP",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME"
],
"type": "string"
}
},
"required": [
"methodType"
],
"type": "object"
},
"paymentStatus": {
"description": "Статус платежа в заказе. Подробнее читайте в разделе [Статусы платежей](../../../../payments/statuses.md#payments-statuses).\n\nНе может быть `null`.",
"enum": [
"PENDING",
"AUTHORIZED",
"CAPTURED",
"VOIDED",
"REFUNDED",
"CONFIRMED",
"PARTIALLY_REFUNDED",
"FAILED",
null
],
"type": "string",
"x-enumDescriptions": {
"AUTHORIZED": "Платеж за заказ авторизован. Средства заблокированы на счету плательщика",
"CAPTURED": "Заказ успешно оплачен. Средства списаны со счета плательщика",
"CONFIRMED": "Заказ успешно оформлен",
"FAILED": "Заказ не был успешно оплачен",
"PARTIALLY_REFUNDED": "Совершён частичный возврат средств за заказ",
"PENDING": "Ожидается оплата",
"REFUNDED": "Совершён возврат средств за заказ",
"VOIDED": "Оплата отменена (voided). Списание средств не производилось"
}
},
"paymentUrl": {
"description": "Ссылка на оплату заказа",
"maxLength": 2048,
"type": "string"
},
"reason": {
"description": "причина (применимо для статусов VOIDED/FAILED)",
"maxLength": 2048,
"type": "string"
},
"shippingMethod": {
"allOf": [
{
"properties": {
"courierOption": {
"allOf": [
{
"properties": {
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для метода доставки. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"courierOptionId": {
"description": "id выбранного варианта доставки в системе продавца",
"maxLength": 2048,
"type": "string"
},
"customerChoice": {
"allOf": [
{
"properties": {
"date": {
"format": "date",
"type": "string"
},
"time": {
"allOf": [
{
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
}
]
}
},
"required": [
"date"
],
"type": "object"
}
],
"description": "Выбранные пользователем дата и интервал. Только для `type: FLEXIBLE`"
},
"fromDate": {
"description": "Ближайшая дата доставки для `type: PLAIN`. Начало интервала выбора даты доставки для `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"fromTime": {
"description": "Начало интервала времени доставки. Только для `type: PLAIN`",
"type": "string"
},
"provider": {
"description": "Тип службы доставки.",
"enum": [
"BOXBERRY",
"CDEK",
"RUSSIAN_POST",
"EMS",
"COURIER",
"DHL",
"EXPRESS_DELIVERY",
"FIVEPOST",
"OZON_ROCKET",
"DPD",
"SBER_LOGISTICS",
"PEK",
"PICKPOINT",
"KCE",
"PONY_EXPRESS",
"YANDEX_DELIVERY",
null
],
"type": "string"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"timeIntervals": {
"allOf": [
{
"properties": {
"grid": {
"allOf": [
{
"properties": {
"duration": {
"description": "Продолжительность каждого интервала",
"type": "string"
},
"end": {
"description": "Максимальное время начала самого последнего интервала",
"type": "string"
},
"start": {
"description": "Время начала самого первого интервала",
"type": "string"
},
"step": {
"description": "Разница во времени между началами двух соседних интервалов",
"type": "string"
}
},
"required": [
"duration",
"end",
"start",
"step"
],
"type": "object"
}
],
"description": "Кодирует интервалы в виде сетки. Используйте этот формат, если необходимо задать больше 20 интервалов доставки.\nПример: `{\"start\": \"09:00\", \"end\": \"21:00\", \"duration\": \"00:20\", \"step\": \"01:00\"}` трактуется как набор интервалов: `[{\"start\": \"09:00\", \"end\": \"09:20\"}, {\"start\": \"10:00\", \"end\": \"10:20\"}, ..., {\"start\": \"20:00\", \"end\": \"20:20\"}]`"
},
"type": {
"description": "Если указан тип `GRID`, то необходимо задать поле `grid`. Если указан тип `VALUES`, то необходимо задать поле `values`",
"enum": [
"GRID",
"VALUES"
],
"type": "string"
},
"values": {
"description": "Задаёт список интервалов напрямую. Подходит для небольшого количества интервалов доставки. Рекомендуемое максимальная количество интервалов - 20",
"items": {
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"type"
],
"type": "object"
}
],
"description": "Кодирует интервалы времени доставки, доступные для выбора. Только для `type: FLEXIBLE`"
},
"title": {
"description": "Название способа доставки. Показывается пользователю в списке вариантов",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "Самая поздняя дата доставки для `type: PLAIN`. Конец интервала выбора даты доставки для `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"toTime": {
"description": "Конец интервала времени доставки. Только для `type: PLAIN`",
"type": "string"
},
"type": {
"default": "PLAIN",
"description": "Тип опции.\nДля `FLEXIBLE` вариантов доставки пользователю дается возможность выбрать желаемые дату и интервал:\n- дата доставки выбирается покупателем в отрезке `[fromDate, toDate]`\n- чтобы предоставить пользователю выбор интервала в течении дня, заполните `timeIntervals`\nДля `PLAIN` вариантов такой выбор отсутствует.",
"enum": [
"PLAIN",
"FLEXIBLE"
],
"type": "string"
}
},
"required": [
"amount",
"category",
"courierOptionId",
"title"
],
"type": "object"
}
],
"description": "если methodType == COURIER"
},
"methodType": {
"enum": [
"DIRECT",
"PICKUP",
"COURIER",
"YANDEX_DELIVERY"
],
"type": "string"
},
"pickupOption": {
"allOf": [
{
"properties": {
"address": {
"description": "Адрес в виде строки",
"maxLength": 2048,
"type": "string"
},
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для выбранного способа самовывоза. Доступные методы оплаты заказа при выбранном способе самовывоза. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки в точку",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Дополнительное описание",
"maxLength": 2048,
"type": "string"
},
"fromDate": {
"description": "YYYY-MM-DD. Ближайшая возможная дата доставки",
"format": "date",
"type": "string"
},
"location": {
"properties": {
"latitude": {
"format": "float",
"type": "number"
},
"longitude": {
"format": "float",
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
},
"phones": {
"description": "Телефоны для связи",
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"pickupPointId": {
"description": "Уникальный id точки самовывоза в системе продавца",
"maxLength": 2048,
"type": "string"
},
"provider": {
"description": "Тип точки вывоза.",
"enum": [
"YANDEX_MARKET",
"BOXBERRY",
"CDEK",
"IN_STORE",
"RUSSIAN_POST",
"PICKPOINT",
"DPD"
],
"type": "string"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"schedule": {
"description": "График работы точки",
"items": {
"properties": {
"fromTime": {
"description": "HH:mm, \"08:00\"",
"type": "string"
},
"label": {
"description": "Например, \"пн-пт\"",
"maxLength": 2048,
"type": "string"
},
"toTime": {
"description": "HH:mm, \"20:00\"",
"type": "string"
}
},
"required": [
"fromTime",
"label",
"toTime"
],
"type": "object"
},
"type": "array"
},
"storagePeriod": {
"description": "Опционально. Срок хранения товара в точке самовывоза в днях",
"format": "int32",
"type": "integer"
},
"title": {
"description": "Название точки самовывоза",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "YYYY-MM-DD. Самая поздняя дата доставки",
"format": "date",
"type": "string"
}
},
"required": [
"address",
"location",
"pickupPointId",
"title"
],
"type": "object"
}
],
"description": "если methodType == PICKUP"
},
"yandexDeliveryOption": {
"allOf": [
{
"properties": {
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для метода доставки. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"fromDatetime": {
"format": "date-time",
"type": "string"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"title": {
"description": "Название способа доставки. Показывается пользователю в списке вариантов",
"maxLength": 2048,
"type": "string"
},
"toDatetime": {
"format": "date-time",
"type": "string"
},
"yandexDeliveryOptionId": {
"description": "Id предложения Яндекс Доставки",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"category",
"title",
"yandexDeliveryOptionId"
],
"type": "object"
}
],
"description": "если methodType == YANDEX_DELIVERY"
}
},
"required": [
"methodType"
],
"type": "object"
}
],
"description": "Выбранный способ доставки"
},
"updated": {
"description": "Дата и время обновления заказа (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"cart",
"currencyCode"
],
"type": "object"
},
"BillingReport": {
"properties": {
"branchId": {
"default": null,
"description": "Обязательное поле только для офлайн-магазинов. Идентификатор точки продаж",
"maxLength": 2048,
"type": "string"
},
"managerId": {
"default": null,
"description": "Обязательное поле только для офлайн-магазинов. Идентификатор менеджера",
"maxLength": 2048,
"type": "string"
}
},
"type": "object"
},
"CancelOrderRequest": {
"properties": {
"externalOperationId": {
"description": "Идентификатор операции",
"maxLength": 2048,
"type": "string"
},
"reason": {
"description": "Причина отмены",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"reason"
],
"type": "object"
},
"CaptureRequest": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "Внутренний идентификатор корзины на стороне Яндекс Пэй.",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Купоны, применённые к корзине",
"items": {
"properties": {
"description": {
"description": "Описание. Например, \"Скидка 3%\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Код купона",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Скидки, применённые к корзине",
"items": {
"properties": {
"amount": {
"description": "Сумма скидки",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Текстовое описание",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Идентификатор скидки в системе мерчанта",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Идентификатор корзины на стороне продавца.",
"maxLength": 2048,
"type": "string"
},
"items": {
"items": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
},
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Размеры и вес товара. Обязательно для товара типа `PHYSICAL`"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Тип товара. Важен для интеграции с доставками",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"properties": {
"amount": {
"description": "Стоимость корзины с учетом всех скидок.",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Итоговая корзина"
},
"externalOperationId": {
"description": "Идентификатор операции",
"maxLength": 2048,
"type": "string"
},
"orderAmount": {
"description": "Сумма к списанию. Если не указана, будет списана итоговая стоимость переданной корзины",
"example": "123.45",
"format": "double",
"type": "string"
},
"shipping": {
"allOf": [
{
"properties": {
"amount": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"methodType": {
"enum": [
"DIRECT",
"PICKUP",
"COURIER",
"YANDEX_DELIVERY"
],
"type": "string"
}
},
"required": [
"amount",
"methodType"
],
"type": "object"
}
],
"description": "Итоговый способ доставки"
}
},
"type": "object"
},
"Cart": {
"properties": {
"cartId": {
"description": "Внутренний идентификатор корзины на стороне Яндекс Пэй.",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Купоны, применённые к корзине",
"items": {
"properties": {
"description": {
"description": "Описание. Например, \"Скидка 3%\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Код купона",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Скидки, применённые к корзине",
"items": {
"properties": {
"amount": {
"description": "Сумма скидки",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Текстовое описание",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Идентификатор скидки в системе мерчанта",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Идентификатор корзины на стороне продавца.",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Позиция корзины",
"items": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
},
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"finalPrice": {
"description": "Цена за единицу товара с учётом всех скидок на позицию и на корзину",
"example": "123.45",
"format": "double",
"type": "string"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Размеры и вес товара. Обязательно для товара типа `PHYSICAL`"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Тип товара. Важен для интеграции с доставками",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Стоимость корзины с учетом всех скидок.",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"default": null,
"description": "Итоговая стоимость корзины, которая пойдет в оплату"
}
},
"required": [
"items"
],
"type": "object"
},
"CartItem": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
},
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"finalPrice": {
"description": "Цена за единицу товара с учётом всех скидок на позицию и на корзину",
"example": "123.45",
"format": "double",
"type": "string"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Размеры и вес товара. Обязательно для товара типа `PHYSICAL`"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Тип товара. Важен для интеграции с доставками",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"CartItemFeatures": {
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
},
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
},
"CartItemFeatures1": {
"properties": {
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
},
"CartItemWithoutFinalPriceCamelCase": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
},
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Размеры и вес товара. Обязательно для товара типа `PHYSICAL`"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Тип товара. Важен для интеграции с доставками",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"CartTotal": {
"properties": {
"amount": {
"description": "Стоимость корзины с учетом всех скидок.",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
},
"CartWithRequiredTotalWithoutFinalPrice": {
"properties": {
"cartId": {
"description": "Внутренний идентификатор корзины на стороне Яндекс Пэй.",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Купоны, применённые к корзине",
"items": {
"properties": {
"description": {
"description": "Описание. Например, \"Скидка 3%\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Код купона",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Скидки, применённые к корзине",
"items": {
"properties": {
"amount": {
"description": "Сумма скидки",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Текстовое описание",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Идентификатор скидки в системе мерчанта",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Идентификатор корзины на стороне продавца.",
"maxLength": 2048,
"type": "string"
},
"items": {
"items": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
},
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Размеры и вес товара. Обязательно для товара типа `PHYSICAL`"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Тип товара. Важен для интеграции с доставками",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"properties": {
"amount": {
"description": "Стоимость корзины с учетом всех скидок.",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
},
"required": [
"items",
"total"
],
"type": "object"
},
"CheckSubscriptionUserCardActivated": {
"properties": {
"check_card_active": {
"description": "Позволяет проверить привязку карты",
"type": "boolean"
}
},
"type": "object"
},
"Coupon": {
"properties": {
"description": {
"description": "Описание. Например, \"Скидка 3%\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Код купона",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"CourierOption": {
"properties": {
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для метода доставки. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"courierOptionId": {
"description": "id выбранного варианта доставки в системе продавца",
"maxLength": 2048,
"type": "string"
},
"customerChoice": {
"allOf": [
{
"properties": {
"date": {
"format": "date",
"type": "string"
},
"time": {
"allOf": [
{
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
}
]
}
},
"required": [
"date"
],
"type": "object"
}
],
"description": "Выбранные пользователем дата и интервал. Только для `type: FLEXIBLE`"
},
"fromDate": {
"description": "Ближайшая дата доставки для `type: PLAIN`. Начало интервала выбора даты доставки для `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"fromTime": {
"description": "Начало интервала времени доставки. Только для `type: PLAIN`",
"type": "string"
},
"provider": {
"description": "Тип службы доставки.",
"enum": [
"BOXBERRY",
"CDEK",
"RUSSIAN_POST",
"EMS",
"COURIER",
"DHL",
"EXPRESS_DELIVERY",
"FIVEPOST",
"OZON_ROCKET",
"DPD",
"SBER_LOGISTICS",
"PEK",
"PICKPOINT",
"KCE",
"PONY_EXPRESS",
"YANDEX_DELIVERY",
null
],
"type": "string"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"timeIntervals": {
"allOf": [
{
"properties": {
"grid": {
"allOf": [
{
"properties": {
"duration": {
"description": "Продолжительность каждого интервала",
"type": "string"
},
"end": {
"description": "Максимальное время начала самого последнего интервала",
"type": "string"
},
"start": {
"description": "Время начала самого первого интервала",
"type": "string"
},
"step": {
"description": "Разница во времени между началами двух соседних интервалов",
"type": "string"
}
},
"required": [
"duration",
"end",
"start",
"step"
],
"type": "object"
}
],
"description": "Кодирует интервалы в виде сетки. Используйте этот формат, если необходимо задать больше 20 интервалов доставки.\nПример: `{\"start\": \"09:00\", \"end\": \"21:00\", \"duration\": \"00:20\", \"step\": \"01:00\"}` трактуется как набор интервалов: `[{\"start\": \"09:00\", \"end\": \"09:20\"}, {\"start\": \"10:00\", \"end\": \"10:20\"}, ..., {\"start\": \"20:00\", \"end\": \"20:20\"}]`"
},
"type": {
"description": "Если указан тип `GRID`, то необходимо задать поле `grid`. Если указан тип `VALUES`, то необходимо задать поле `values`",
"enum": [
"GRID",
"VALUES"
],
"type": "string"
},
"values": {
"description": "Задаёт список интервалов напрямую. Подходит для небольшого количества интервалов доставки. Рекомендуемое максимальная количество интервалов - 20",
"items": {
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"type"
],
"type": "object"
}
],
"description": "Кодирует интервалы времени доставки, доступные для выбора. Только для `type: FLEXIBLE`"
},
"title": {
"description": "Название способа доставки. Показывается пользователю в списке вариантов",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "Самая поздняя дата доставки для `type: PLAIN`. Конец интервала выбора даты доставки для `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"toTime": {
"description": "Конец интервала времени доставки. Только для `type: PLAIN`",
"type": "string"
},
"type": {
"default": "PLAIN",
"description": "Тип опции.\nДля `FLEXIBLE` вариантов доставки пользователю дается возможность выбрать желаемые дату и интервал:\n- дата доставки выбирается покупателем в отрезке `[fromDate, toDate]`\n- чтобы предоставить пользователю выбор интервала в течении дня, заполните `timeIntervals`\nДля `PLAIN` вариантов такой выбор отсутствует.",
"enum": [
"PLAIN",
"FLEXIBLE"
],
"type": "string"
}
},
"required": [
"amount",
"category",
"courierOptionId",
"title"
],
"type": "object"
},
"CreateOrderRequest": {
"properties": {
"availablePaymentMethods": {
"default": null,
"description": "Доступные методы оплаты на платежной форме Яндекс Пэй.\n\nЕсли вы интегрируете оплату только одним методом, например, Карта — указывается один метод `[\"CARD\"]`. Для платежей по банковским картам и через Сплит необходимо передать: `[\"CARD\", \"SPLIT\"]`.",
"items": {
"enum": [
"CARD",
"SPLIT"
],
"type": "string"
},
"minItems": 1,
"type": "array"
},
"billingPhone": {
"description": "Номер телефона клиента.\n\nИспользуется для упрощения авторизации, а также может увеличить вероятность одобрения по Сплиту.\n\nДля номера телефона предлагаем использовать формат `+71234567890` или `71234567890`. В строке допустимо наличие других символов, однако все символы, кроме цифр, игнорируются. Если номер телефона начинается с `8`, то он обрабатывается как аналогичный номер, где `8` заменена на `+7`.\n\nНапример, такие переданные значения `71234567890`, `+71234567890`, `81234567890`, `+7 (123) 456-78-90` будут обрабатываться как `71234567890`.",
"maxLength": 2048,
"type": "string"
},
"cart": {
"allOf": [
{
"description": "{% note info %}\n\nСтоимость доставки передавайте в `items` как отдельный товар.\n\n{% endnote %}",
"properties": {
"externalId": {
"description": "Идентификатор корзины на стороне продавца.",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Корзина товаров, которую оплачивает покупатель.",
"items": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
},
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity",
"title",
"total"
],
"type": "object"
},
"type": "array"
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Стоимость корзины с учетом всех скидок.",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"description": "Итоговая информация о стоимости заказа."
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Корзина"
},
"currencyCode": {
"description": "Трехбуквенный код валюты заказа (ISO 4217)",
"enum": [
"RUB",
"UZS"
],
"maxLength": 2048,
"type": "string"
},
"extensions": {
"allOf": [
{
"properties": {
"billingReport": {
"allOf": [
{
"properties": {
"branchId": {
"default": null,
"description": "Обязательное поле только для офлайн-магазинов. Идентификатор точки продаж",
"maxLength": 2048,
"type": "string"
},
"managerId": {
"default": null,
"description": "Обязательное поле только для офлайн-магазинов. Идентификатор менеджера",
"maxLength": 2048,
"type": "string"
}
},
"type": "object"
}
],
"description": "Информация о месте и авторе оформления заказа."
},
"paymentData": {
"allOf": [
{
"properties": {
"saleToken": {
"description": "Уникальный id, генерируемый кассой для каждой операции оплаты",
"maxLength": 2048,
"type": "string"
}
},
"type": "object"
}
],
"description": "Дополнительные параметры платежа"
},
"qrData": {
"allOf": [
{
"properties": {
"token": {
"description": "QR токен",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"token"
],
"type": "object"
}
],
"description": "Дополнительные параметры для отправки ссылки на оплату с использованием QR"
},
"smsOffer": {
"allOf": [
{
"properties": {
"phone": {
"description": "Номер телефона клиента (пример `+71234567890`) для СМС-информирования. Только для merchantId офлайн-магазина.",
"maxLength": 2048,
"pattern": "^\\+\\d+$",
"type": "string"
}
},
"required": [
"phone"
],
"type": "object"
}
],
"description": "Дополнительные параметры для отправки ссылки на оплату с использованием SMS.\n\nОбязательное поле только для офлайн-магазинов."
}
},
"type": "object"
}
],
"default": null,
"description": "Дополнительные параметры для оформления офлайн заказа"
},
"isPrepayment": {
"description": "Проводить ли заказ по флоу «отложенной оплаты».\n\nЕсли параметр установлен в `true`, то заказ будет оформляться как заказ с отложенной оплатой.",
"type": "boolean"
},
"metadata": {
"description": "Произвольные данные по заказу для внутреннего использования",
"maxLength": 2048,
"type": "string"
},
"orderId": {
"description": "Уникальный идентификатор заказа на стороне продавца.\n\nИспользуется:\n- как ключ идемпотентности;\n- для дальнейшего взаимодействия по заказу и платежу;\n- в сверках.",
"maxLength": 2048,
"type": "string"
},
"orderSource": {
"default": null,
"description": "Поверхность на которой инициализировали создание заказа\n\nНеобходимо для последующей аналитики\n\n---\n\n**WEBSITE**: Кнопка размещена на сайте. Ссылка на оплату сформировалась после действий (нажатия кнопки) пользователя на сайте\n\n**APP**: Кнопка размещена в мобильном приложении. Ссылка на оплату сформировалась после действий (нажатия кнопки) пользователя в приложении\n\n**CRM**: Ссылка на оплату сформирована менеджером в CRM или другой админке\n\n**CASH_REGISTER**: Ссылка на оплату сформирована для отображения на оффлайн-кассе\n\n**CMS_PLUGIN**: Ссылка на оплату сформирована в плагине для CMS\n\n**TV**: Ссылка на оплату сформирована для отображения на ТВ-платформе\n",
"enum": [
"WEBSITE",
"APP",
"CRM",
"CASH_REGISTER",
"CMS_PLUGIN",
"TV"
],
"type": "string"
},
"preferredPaymentMethod": {
"default": "FULLPAYMENT",
"description": "Предпочтительный метод оплаты.\n\nПереданный метод будет автоматически выбран на форме оплаты, если это не противоречит доступным методам оплаты.",
"enum": [
"FULLPAYMENT",
"SPLIT"
],
"type": "string"
},
"publicConstructor": {
"description": "Конструктор предвыбранного плана для оплаты в Сплит.\n\n_Доступно только по согласованию_",
"type": "string"
},
"purpose": {
"description": "Назначение платежа",
"maxLength": 1000,
"type": "string"
},
"redirectUrls": {
"allOf": [
{
"description": "{% note info %}\n\nВ мобильных интеграциях, использующих [App Link](../../../android-sdk/app-link-debugging.md) и [Universal Link](../../../ios-sdk/universal-link-debugging.md), в поле `redirectUrls` можно указать базовый URL сайта.\n\n{% endnote %}",
"properties": {
"onAbort": {
"description": "Ссылка для переадресации пользователя в случае отмены процесса оплаты. Отмену оплаты осуществляет пользователь на форме для оплаты.",
"maxLength": 2048,
"type": "string"
},
"onError": {
"description": "Обязательное поле только для онлайн-магазинов. Ссылка для переадресации пользователя в случае возникновения ошибки во время оплаты, или если срок ссылки на оплату истек.",
"maxLength": 2048,
"type": "string"
},
"onSuccess": {
"description": "Обязательное поле только для онлайн-магазинов. Ссылка для переадресации пользователя в случае успешной оплаты.",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"onError",
"onSuccess"
],
"type": "object"
}
],
"description": "Ссылки для переадресации пользователя с формы оплаты. Обязательно для онлайн-магазинов."
},
"risk": {
"allOf": [
{
"properties": {
"billingPhone": {
"description": "**DEPRECATED** Номер телефона клиента.<br/>*Cледует использовать одноименное поле на уровень выше.*",
"maxLength": 2048,
"type": "string"
},
"customerAggregates": {
"allOf": [
{
"properties": {
"amountFirstSuccessfulOrder": {
"description": "Сумма первого успешного заказа",
"example": "123.45",
"format": "double",
"type": "string"
},
"amountLatestSuccessfulOrder": {
"description": "Сумма последнего успешного заказа",
"example": "123.45",
"format": "double",
"type": "string"
},
"cookie": {
"description": "Куки",
"maxLength": 2048,
"type": "string"
},
"daysSinceLastPasswordReset": {
"description": "Количество дней с момента последнего сброса пароля",
"format": "int32",
"type": "integer"
},
"failedLoginAttemptsOneDay": {
"description": "Количество неуспешных попыток входа за последний день",
"format": "int32",
"type": "integer"
},
"failedLoginAttemptsSevenDays": {
"description": "Количество неуспешных попыток входа за последние 7 дней",
"format": "int32",
"type": "integer"
},
"firstSuccessfulOrderDate": {
"description": "Дата первого успешного заказа в истории",
"example": "2025-01-15",
"format": "date",
"type": "string"
},
"historicalCookieLogin": {
"description": "Вход с сохраненной куки (ранее уже оплачивал заказ)",
"type": "boolean"
},
"historicalDeviceLogin": {
"description": "Вход с сохраненного устройства (ранее уже оплачивал заказ)",
"type": "boolean"
},
"lastPasswordResetDate": {
"description": "Дата последнего сброса пароля",
"example": "2025-01-15",
"format": "date",
"type": "string"
},
"latestSuccessfulOrderLastYearDate": {
"description": "Дата последнего успешного заказа за последний год",
"example": "2025-01-15",
"format": "date",
"type": "string"
},
"previousSuccessfulOrdersAtSameAddress": {
"description": "Был ли у пользователя успешный заказ по текущему адресу ранее",
"type": "boolean"
},
"redemptionRateLastHalfYear": {
"description": "Процент выкупа за последние полгода",
"example": "123.45",
"format": "double",
"type": "string"
},
"registrationDate": {
"description": "Дата регистрации на сайте мерчанта",
"example": "2025-01-15",
"format": "date",
"type": "string"
}
},
"type": "object"
}
],
"description": "Агрегированные данные о клиенте"
},
"deviceId": {
"description": "Идентификатор устройства клиента (device_id/gaid/idfa/ifv)",
"maxLength": 2048,
"type": "string"
},
"isExpressShipping": {
"description": "Признак экспресс-доставки",
"type": "boolean"
},
"merchantMcc": {
"description": "MCC мерчанта",
"maxLength": 2048,
"type": "string"
},
"merchantName": {
"description": "Название мерчанта",
"maxLength": 2048,
"type": "string"
},
"merchantOfflinePosLegalAddress": {
"description": "Юридический адрес оффлайн точки",
"maxLength": 2048,
"type": "string"
},
"merchantTaxRefNumber": {
"description": "Налоговый номер мерчанта",
"maxLength": 2048,
"type": "string"
},
"periodCheckAggregates": {
"allOf": [
{
"properties": {
"successfulOrdersCountNineMonths": {
"description": "Количество успешных заказов за последние 9 месяцев",
"format": "int32",
"type": "integer"
},
"successfulOrdersCountOneMonth": {
"description": "Количество успешных заказов за последний месяц",
"format": "int32",
"type": "integer"
},
"successfulOrdersCountSixMonths": {
"description": "Количество успешных заказов за последние 6 месяцев",
"format": "int32",
"type": "integer"
},
"successfulOrdersCountThreeMonths": {
"description": "Количество успешных заказов за последние 3 месяца",
"format": "int32",
"type": "integer"
},
"successfulOrdersCountTwelveMonths": {
"description": "Количество успешных заказов за последние 12 месяцев",
"format": "int32",
"type": "integer"
},
"totalAmountSuccessfulOrdersNineMonths": {
"description": "Сумма успешных заказов за последние 9 месяцев",
"example": "123.45",
"format": "double",
"type": "string"
},
"totalAmountSuccessfulOrdersOneMonth": {
"description": "Сумма успешных заказов за последний месяц",
"example": "123.45",
"format": "double",
"type": "string"
},
"totalAmountSuccessfulOrdersSixMonths": {
"description": "Сумма успешных заказов за последние 6 месяцев",
"example": "123.45",
"format": "double",
"type": "string"
},
"totalAmountSuccessfulOrdersThreeMonths": {
"description": "Сумма успешных заказов за последние 3 месяца",
"example": "123.45",
"format": "double",
"type": "string"
},
"totalAmountSuccessfulOrdersTwelveMonths": {
"description": "Сумма успешных заказов за последние 12 месяцев",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"type": "object"
}
],
"description": "Агрегаты по чекам за различные периоды"
},
"qrType": {
"description": "Тип QR-кода",
"enum": [
"static",
"dynamic",
null
],
"type": "string"
},
"qrcId": {
"description": "ID QR-кода",
"maxLength": 2048,
"type": "string"
},
"shippingAddress": {
"description": "Адрес доставки. Если выбран способ получения «самовывоз» (`PICKUP`), то нужно указать адрес пункта выдачи.",
"maxLength": 2048,
"type": "string"
},
"shippingPhone": {
"description": "Номер телефона получателя.",
"example": 71234567890,
"maxLength": 2048,
"type": "string"
},
"shippingType": {
"description": "Способ получения заказа",
"enum": [
"COURIER",
"PICKUP",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Дополнительная информация, наличие которой может увеличить вероятность одобрения по Сплиту. Доступно в полной мере только для онлайн-магазинов."
},
"ttl": {
"default": 1800,
"description": "Параметр определяет время, в течение которого пользователь может воспользоваться ссылкой на форму оплаты заказа.\n\nПо истечении времени пользователь будет видеть сообщение \"Вышло время оплаты\".\n\nЕсли пользователь воспользовался ссылкой до истечения времени, то на завершение оплаты отводится дополнительно 15 минут. Если по истечении дополнительного времени оплата не произошла, заказ считается не оплаченным окончательно.\n\nЭто отражается в изменении статуса заказа `Order.paymentStatus` на значение `FAILED`. Также выполняется отправка [уведомления](../../merchant-api/webhook) об изменении статуса заказа. Если продавец бронировал товар, то после изменения статуса заказ можно отменить.\n\nВремя жизни (сек): `180 <= ttl <= 604800`\n\nВремя жизни (при создании ссылки в личном кабинете, сек): `86400`",
"format": "int32",
"type": "integer"
}
},
"required": [
"cart",
"currencyCode",
"orderId"
],
"type": "object"
},
"CreateOrderResponse": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"paymentUrl": {
"description": "Ссылка на оплату заказа",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"paymentUrl"
],
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"required": [
"data"
],
"type": "object"
},
"CreateOrderResponseData": {
"properties": {
"paymentUrl": {
"description": "Ссылка на оплату заказа",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"paymentUrl"
],
"type": "object"
},
"CreateSubscriptionRequest": {
"properties": {
"cart": {
"allOf": [
{
"description": "{% note info %}\n\nСтоимость доставки передавайте в `items` как отдельный товар.\n\n{% endnote %}",
"properties": {
"externalId": {
"description": "Идентификатор корзины на стороне продавца.",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Корзина товаров, которую оплачивает покупатель.",
"items": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity",
"title",
"total"
],
"type": "object"
},
"type": "array"
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Стоимость корзины с учетом всех скидок.",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"description": "Итоговая информация о стоимости заказа."
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Корзина"
},
"currencyCode": {
"description": "Трехбуквенный код валюты заказа (ISO 4217)",
"enum": [
"RUB",
"UZS"
],
"maxLength": 2048,
"type": "string"
},
"futureWriteOffAmount": {
"description": "Сумма, которую будет списана в будущем",
"example": "123.45",
"format": "double",
"type": "string"
},
"intervalCount": {
"description": "Количество периодов подписки в единицах времени, указанных в `intervalUnit`.\n\nНапример, для подписки в 6 месяцев укажите: `intervalUnit: 'MONTH'`, `intervalCount: 6`.\n\nОбязательно, если не указан параметр `isBinding=True`.",
"example": "6",
"format": "int32",
"type": "integer"
},
"intervalUnit": {
"description": "Единица времени, в которой будет периодичность подписки.\n\nОбязательно, если не указан параметр `isBinding=True`.",
"enum": [
"SECOND",
"DAY",
"WEEK",
"MONTH",
"YEAR",
null
],
"type": "string"
},
"isBinding": {
"default": false,
"description": "Позволяет привязать карту пользователя без сформированной корзины товаров\n\nЕсли во время первого списания нужна только привязка карты, передайте в запросе параметр isBinding=true.\n\nКорзину и периодичность подписки в данном сценарии передавать не нужно.",
"type": "boolean"
},
"metadata": {
"description": "Произвольные данные по заказу для внутреннего использования",
"maxLength": 2048,
"type": "string"
},
"orderId": {
"description": "Уникальный идентификатор заказа на стороне продавца.\n\nИспользуется:\n- как ключ идемпотентности;\n- для дальнейшего взаимодействия по заказу и платежу;\n- в сверках.",
"maxLength": 2048,
"type": "string"
},
"orderSource": {
"default": null,
"description": "Поверхность на который инициализацировали создание заказа\n\nНеобходимо для последующей аналитики\n\n---\n\n**WEBSITE**: Кнопка размещена на сайте. Ссылка на оплату сформировалась после действий (нажатия кнопки) пользователя на сайте\n\n**APP**: Кнопка размещена в мобильном приложении. Ссылка на оплату сформировалась после действий (нажатия кнопки) пользователя в приложении\n\n**CRM**: Ссылка на оплату сформирована менеджером в CRM или другой админке\n\n**CASH_REGISTER**: Ссылка на оплату сформирована для отображения на оффлайн-кассе\n\n**CMS_PLUGIN**: Ссылка на оплату сформирована в плагине для CMS\n\n**TV**: Ссылка на оплату сформирована для отображения на ТВ-платформе",
"enum": [
"WEBSITE",
"APP",
"CRM",
"CASH_REGISTER",
"CMS_PLUGIN",
"TV"
],
"type": "string"
},
"purpose": {
"description": "Назначение платежа",
"maxLength": 1000,
"type": "string"
},
"redirectUrls": {
"allOf": [
{
"description": "{% note info %}\n\nВ мобильных интеграциях, использующих [App Link](../../../android-sdk/app-link-debugging.md) и [Universal Link](../../../ios-sdk/universal-link-debugging.md), в поле `redirectUrls` можно указать базовый URL сайта.\n\n{% endnote %}",
"properties": {
"onAbort": {
"description": "Ссылка для переадресации пользователя в случае отмены процесса оплаты. Отмену оплаты осуществляет пользователь на форме для оплаты.",
"maxLength": 2048,
"type": "string"
},
"onError": {
"description": "Обязательное поле только для онлайн-магазинов. Ссылка для переадресации пользователя в случае возникновения ошибки во время оплаты, или если срок ссылки на оплату истек.",
"maxLength": 2048,
"type": "string"
},
"onSuccess": {
"description": "Обязательное поле только для онлайн-магазинов. Ссылка для переадресации пользователя в случае успешной оплаты.",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"onError",
"onSuccess"
],
"type": "object"
}
],
"description": "Ссылки для переадресации пользователя с формы оплаты. Обязательно для онлайн-магазинов."
},
"title": {
"description": "Название подписки",
"maxLength": 30,
"type": "string"
},
"trialCount": {
"description": "Количество периодов триального периода, например \"7 дней\"",
"format": "int32",
"type": "integer"
},
"trialEndAt": {
"description": "Дата окончания пробного периода. Взаимоисключающее с полями `trial_unit` + `trial_count`",
"format": "date-time",
"type": "string"
},
"trialUnit": {
"description": "Единица времени в которой будет периодичность триального периода",
"enum": [
"SECOND",
"DAY",
"WEEK",
"MONTH",
"YEAR",
null
],
"type": "string"
},
"ttl": {
"default": 1800,
"description": "Время жизни заказа (в секундах)\n\n`180 <= ttl <= 604800`",
"format": "int32",
"type": "integer"
}
},
"required": [
"currencyCode",
"orderId"
],
"type": "object"
},
"CreateSubscriptionResponse": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"paymentUrl": {
"description": "Ссылка на оплату заказа",
"maxLength": 2048,
"type": "string"
},
"subscriptionId": {
"description": "Идентификатор подписки",
"format": "uuid",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"paymentUrl",
"subscriptionId"
],
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"required": [
"data"
],
"type": "object"
},
"CreateSubscriptionResponseData": {
"properties": {
"paymentUrl": {
"description": "Ссылка на оплату заказа",
"maxLength": 2048,
"type": "string"
},
"subscriptionId": {
"description": "Идентификатор подписки",
"format": "uuid",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"paymentUrl",
"subscriptionId"
],
"type": "object"
},
"CustomerAggregates": {
"properties": {
"amountFirstSuccessfulOrder": {
"description": "Сумма первого успешного заказа",
"example": "123.45",
"format": "double",
"type": "string"
},
"amountLatestSuccessfulOrder": {
"description": "Сумма последнего успешного заказа",
"example": "123.45",
"format": "double",
"type": "string"
},
"cookie": {
"description": "Куки",
"maxLength": 2048,
"type": "string"
},
"daysSinceLastPasswordReset": {
"description": "Количество дней с момента последнего сброса пароля",
"format": "int32",
"type": "integer"
},
"failedLoginAttemptsOneDay": {
"description": "Количество неуспешных попыток входа за последний день",
"format": "int32",
"type": "integer"
},
"failedLoginAttemptsSevenDays": {
"description": "Количество неуспешных попыток входа за последние 7 дней",
"format": "int32",
"type": "integer"
},
"firstSuccessfulOrderDate": {
"description": "Дата первого успешного заказа в истории",
"example": "2025-01-15",
"format": "date",
"type": "string"
},
"historicalCookieLogin": {
"description": "Вход с сохраненной куки (ранее уже оплачивал заказ)",
"type": "boolean"
},
"historicalDeviceLogin": {
"description": "Вход с сохраненного устройства (ранее уже оплачивал заказ)",
"type": "boolean"
},
"lastPasswordResetDate": {
"description": "Дата последнего сброса пароля",
"example": "2025-01-15",
"format": "date",
"type": "string"
},
"latestSuccessfulOrderLastYearDate": {
"description": "Дата последнего успешного заказа за последний год",
"example": "2025-01-15",
"format": "date",
"type": "string"
},
"previousSuccessfulOrdersAtSameAddress": {
"description": "Был ли у пользователя успешный заказ по текущему адресу ранее",
"type": "boolean"
},
"redemptionRateLastHalfYear": {
"description": "Процент выкупа за последние полгода",
"example": "123.45",
"format": "double",
"type": "string"
},
"registrationDate": {
"description": "Дата регистрации на сайте мерчанта",
"example": "2025-01-15",
"format": "date",
"type": "string"
}
},
"type": "object"
},
"CustomerSubscriptionResponse": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"cancelledAt": {
"description": "Время отмены подписки",
"format": "date-time",
"type": "string"
},
"customerSubscriptionId": {
"description": "ID подписки",
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"isCardActive": {
"description": "Статус привязанной карты",
"type": "boolean"
},
"nextWriteOff": {
"description": "Дата следующего списания",
"format": "date-time",
"type": "string"
},
"status": {
"description": "Статус подписки",
"enum": [
"NEW",
"ACTIVE",
"CANCELLED",
"EXPIRED"
],
"type": "string"
},
"subscriptionPlanId": {
"description": "ID плана подписки",
"format": "uuid",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"status",
"subscriptionPlanId"
],
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
},
"CustomerSubscriptionResponseData": {
"properties": {
"cancelledAt": {
"description": "Время отмены подписки",
"format": "date-time",
"type": "string"
},
"customerSubscriptionId": {
"description": "ID подписки",
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"isCardActive": {
"description": "Статус привязанной карты",
"type": "boolean"
},
"nextWriteOff": {
"description": "Дата следующего списания",
"format": "date-time",
"type": "string"
},
"status": {
"description": "Статус подписки",
"enum": [
"NEW",
"ACTIVE",
"CANCELLED",
"EXPIRED"
],
"type": "string"
},
"subscriptionPlanId": {
"description": "ID плана подписки",
"format": "uuid",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"status",
"subscriptionPlanId"
],
"type": "object"
},
"Delivery": {
"properties": {
"actualPrice": {
"description": "Цена доставки для продавца",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Дата и время создания доставки (ISO 8601)",
"format": "date-time",
"type": "string"
},
"price": {
"description": "Цена доставки для покупателя",
"example": "123.45",
"format": "double",
"type": "string"
},
"status": {
"default": "NEW",
"description": "Статус доставки",
"enum": [
"NEW",
"ESTIMATING",
"EXPIRED",
"READY_FOR_APPROVAL",
"COLLECTING",
"PREPARING",
"DELIVERING",
"DELIVERED",
"RETURNING",
"RETURNED",
"FAILED",
"CANCELLED"
],
"type": "string"
},
"updated": {
"description": "Дата и время обновления доставки (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"price"
],
"type": "object"
},
"Discount": {
"properties": {
"amount": {
"description": "Сумма скидки",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Текстовое описание",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Идентификатор скидки в системе мерчанта",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"FlexibleCustomerChoice": {
"properties": {
"date": {
"format": "date",
"type": "string"
},
"time": {
"allOf": [
{
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
}
]
}
},
"required": [
"date"
],
"type": "object"
},
"FlexibleTimeIntervals": {
"properties": {
"grid": {
"allOf": [
{
"properties": {
"duration": {
"description": "Продолжительность каждого интервала",
"type": "string"
},
"end": {
"description": "Максимальное время начала самого последнего интервала",
"type": "string"
},
"start": {
"description": "Время начала самого первого интервала",
"type": "string"
},
"step": {
"description": "Разница во времени между началами двух соседних интервалов",
"type": "string"
}
},
"required": [
"duration",
"end",
"start",
"step"
],
"type": "object"
}
],
"description": "Кодирует интервалы в виде сетки. Используйте этот формат, если необходимо задать больше 20 интервалов доставки.\nПример: `{\"start\": \"09:00\", \"end\": \"21:00\", \"duration\": \"00:20\", \"step\": \"01:00\"}` трактуется как набор интервалов: `[{\"start\": \"09:00\", \"end\": \"09:20\"}, {\"start\": \"10:00\", \"end\": \"10:20\"}, ..., {\"start\": \"20:00\", \"end\": \"20:20\"}]`"
},
"type": {
"description": "Если указан тип `GRID`, то необходимо задать поле `grid`. Если указан тип `VALUES`, то необходимо задать поле `values`",
"enum": [
"GRID",
"VALUES"
],
"type": "string"
},
"values": {
"description": "Задаёт список интервалов напрямую. Подходит для небольшого количества интервалов доставки. Рекомендуемое максимальная количество интервалов - 20",
"items": {
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"type"
],
"type": "object"
},
"FlexibleTimeIntervalsGridDescriptor": {
"properties": {
"duration": {
"description": "Продолжительность каждого интервала",
"type": "string"
},
"end": {
"description": "Максимальное время начала самого последнего интервала",
"type": "string"
},
"start": {
"description": "Время начала самого первого интервала",
"type": "string"
},
"step": {
"description": "Разница во времени между началами двух соседних интервалов",
"type": "string"
}
},
"required": [
"duration",
"end",
"start",
"step"
],
"type": "object"
},
"ItemQuantity": {
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
},
"ItemReceipt": {
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
},
"Location": {
"properties": {
"latitude": {
"format": "float",
"type": "number"
},
"longitude": {
"format": "float",
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
},
"MarkQuantity": {
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
},
"Measurements": {
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
},
"MerchantOperationResponse": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"operation": {
"properties": {
"amount": {
"description": "Сумма операции в фиатной валюте",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Дата и время создания операции (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Идентификатор операции на стороне продавца",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"description": "Уникальный идентификатор заказа на стороне продавца.\n\nИспользуется:\n- как ключ идемпотентности;\n- для дальнейшего взаимодействия по заказу и платежу;\n- в сверках.",
"maxLength": 2048,
"type": "string"
},
"params": {
"description": "Дополнительные параметры операции. Список полей отличается в зависимости от типа операции.\n\nПри возврате сохраняются `motive`, `branchId` и `managerId`, которые вы указали в запросе [/refund](../order/merchant_v2_refund-post.md):\n\n```json\n{\n \"params\": {\n \"motive\": \"Товар не устроил\", // причина возврата\n \"branch_id\": \"42\", // идентификатор точки продаж\n \"manager_id\": \"12345\" // идентификатор менеджера\n }\n}\n```\n\nПри отмене сохраняется `reason`, который вы указали в запросе [/cancel](../order/merchant_v1_cancel-post.md):\n\n```json\n{\n \"params\": {\n \"cancel_reason\": \"Покупатель отказался\" // причина отмены\n }\n}\n```",
"type": "object"
},
"pointsAmount": {
"description": "Сумма операции в баллах Плюса",
"example": "123.45",
"format": "double",
"type": "string"
},
"reason": {
"description": "Причина ошибки",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Дата и время обновления операции (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
}
},
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
},
"MerchantOrderResponse": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"delivery": {
"properties": {
"actualPrice": {
"description": "Цена доставки для продавца",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Дата и время создания доставки (ISO 8601)",
"format": "date-time",
"type": "string"
},
"price": {
"description": "Цена доставки для покупателя",
"example": "123.45",
"format": "double",
"type": "string"
},
"status": {
"default": "NEW",
"description": "Статус доставки",
"enum": [
"NEW",
"ESTIMATING",
"EXPIRED",
"READY_FOR_APPROVAL",
"COLLECTING",
"PREPARING",
"DELIVERING",
"DELIVERED",
"RETURNING",
"RETURNED",
"FAILED",
"CANCELLED"
],
"type": "string"
},
"updated": {
"description": "Дата и время обновления доставки (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"price"
],
"type": "object"
},
"operations": {
"items": {
"properties": {
"amount": {
"description": "Сумма операции в фиатной валюте",
"example": "123.45",
"format": "double",
"type": "string"
},
"approvalCode": {
"description": "Код подтверждения транзакции от процессингового центра.",
"readOnly": true,
"type": "string"
},
"created": {
"description": "Дата и время создания операции (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Идентификатор операции на стороне продавца",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"description": "Уникальный идентификатор заказа на стороне продавца.\n\nИспользуется:\n- как ключ идемпотентности;\n- для дальнейшего взаимодействия по заказу и платежу;\n- в сверках.",
"maxLength": 2048,
"type": "string"
},
"params": {
"description": "Дополнительные параметры операции. Список полей отличается в зависимости от типа операции.\n\nПри возврате сохраняются `motive`, `branchId` и `managerId`, которые вы указали в запросе [/refund](../order/merchant_v2_refund-post.md):\n\n```json\n{\n \"params\": {\n \"motive\": \"Товар не устроил\", // причина возврата\n \"branch_id\": \"42\", // идентификатор точки продаж\n \"manager_id\": \"12345\" // идентификатор менеджера\n }\n}\n```\n\nПри отмене сохраняется `reason`, который вы указали в запросе [/cancel](../order/merchant_v1_cancel-post.md):\n\n```json\n{\n \"params\": {\n \"cancel_reason\": \"Покупатель отказался\" // причина отмены\n }\n}\n```",
"type": "object"
},
"reason": {
"description": "Причина ошибки",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Дата и время обновления операции (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
},
"type": "array"
},
"order": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "Внутренний идентификатор корзины на стороне Яндекс Пэй.",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Купоны, применённые к корзине",
"items": {
"properties": {
"description": {
"description": "Описание. Например, \"Скидка 3%\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Код купона",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Скидки, применённые к корзине",
"items": {
"properties": {
"amount": {
"description": "Сумма скидки",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Текстовое описание",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Идентификатор скидки в системе мерчанта",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Идентификатор корзины на стороне продавца.",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Позиция корзины",
"items": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
},
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"finalPrice": {
"description": "Цена за единицу товара с учётом всех скидок на позицию и на корзину",
"example": "123.45",
"format": "double",
"type": "string"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Размеры и вес товара. Обязательно для товара типа `PHYSICAL`"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Тип товара. Важен для интеграции с доставками",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Стоимость корзины с учетом всех скидок.",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"default": null,
"description": "Итоговая стоимость корзины, которая пойдет в оплату"
}
},
"required": [
"items"
],
"type": "object"
}
],
"description": "Корзина"
},
"created": {
"description": "Дата и время создания заказа (ISO 8601)",
"format": "date-time",
"type": "string"
},
"currencyCode": {
"description": "Трехбуквенный код валюты заказа (ISO 4217)",
"enum": [
"RUB",
"UZS"
],
"maxLength": 2048,
"type": "string"
},
"isPrepayment": {
"default": false,
"description": "Проводить ли заказ по флоу «отложенной оплаты».\n\nЕсли параметр установлен в `true`, то заказ будет оформляться как заказ с отложенной оплатой.",
"type": "boolean"
},
"merchantId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"metadata": {
"description": "Произвольные данные, переданные при инициализации кнопки",
"maxLength": 2048,
"type": "string"
},
"orderAmount": {
"description": "Полная стоимость заказа к оплате с учётом возвратов, доставки, скидок и промокодов",
"example": "123.45",
"format": "double",
"type": "string"
},
"orderId": {
"description": "Уникальный идентификатор заказа на стороне продавца.\n\nИспользуется:\n- как ключ идемпотентности;\n- для дальнейшего взаимодействия по заказу и платежу;\n- в сверках.",
"maxLength": 2048,
"type": "string"
},
"paymentMethod": {
"properties": {
"cardLast4": {
"maxLength": 2048,
"type": "string"
},
"cardNetwork": {
"description": "Платежная система",
"enum": [
"AMEX",
"DISCOVER",
"JCB",
"MASTERCARD",
"MAESTRO",
"VISAELECTRON",
"VISA",
"MIR",
"UNIONPAY",
"UZCARD",
"HUMOCARD",
"UNKNOWN",
"UNDEFINED",
null
],
"type": "string"
},
"methodType": {
"enum": [
"CARD",
"SPLIT",
"SBP",
"SPLIT_SBP",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME"
],
"type": "string"
}
},
"required": [
"methodType"
],
"type": "object"
},
"paymentStatus": {
"description": "Статус платежа в заказе. Подробнее читайте в разделе [Статусы платежей](../../../../payments/statuses.md#payments-statuses).\n\nНе может быть `null`.",
"enum": [
"PENDING",
"AUTHORIZED",
"CAPTURED",
"VOIDED",
"REFUNDED",
"CONFIRMED",
"PARTIALLY_REFUNDED",
"FAILED",
null
],
"type": "string",
"x-enumDescriptions": {
"AUTHORIZED": "Платеж за заказ авторизован. Средства заблокированы на счету плательщика",
"CAPTURED": "Заказ успешно оплачен. Средства списаны со счета плательщика",
"CONFIRMED": "Заказ успешно оформлен",
"FAILED": "Заказ не был успешно оплачен",
"PARTIALLY_REFUNDED": "Совершён частичный возврат средств за заказ",
"PENDING": "Ожидается оплата",
"REFUNDED": "Совершён возврат средств за заказ",
"VOIDED": "Оплата отменена (voided). Списание средств не производилось"
}
},
"paymentUrl": {
"description": "Ссылка на оплату заказа",
"maxLength": 2048,
"type": "string"
},
"reason": {
"description": "причина (применимо для статусов VOIDED/FAILED)",
"maxLength": 2048,
"type": "string"
},
"shippingMethod": {
"allOf": [
{
"properties": {
"courierOption": {
"allOf": [
{
"properties": {
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для метода доставки. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"courierOptionId": {
"description": "id выбранного варианта доставки в системе продавца",
"maxLength": 2048,
"type": "string"
},
"customerChoice": {
"allOf": [
{
"properties": {
"date": {
"format": "date",
"type": "string"
},
"time": {
"allOf": [
{
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
}
]
}
},
"required": [
"date"
],
"type": "object"
}
],
"description": "Выбранные пользователем дата и интервал. Только для `type: FLEXIBLE`"
},
"fromDate": {
"description": "Ближайшая дата доставки для `type: PLAIN`. Начало интервала выбора даты доставки для `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"fromTime": {
"description": "Начало интервала времени доставки. Только для `type: PLAIN`",
"type": "string"
},
"provider": {
"description": "Тип службы доставки.",
"enum": [
"BOXBERRY",
"CDEK",
"RUSSIAN_POST",
"EMS",
"COURIER",
"DHL",
"EXPRESS_DELIVERY",
"FIVEPOST",
"OZON_ROCKET",
"DPD",
"SBER_LOGISTICS",
"PEK",
"PICKPOINT",
"KCE",
"PONY_EXPRESS",
"YANDEX_DELIVERY",
null
],
"type": "string"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"timeIntervals": {
"allOf": [
{
"properties": {
"grid": {
"allOf": [
{
"properties": {
"duration": {
"description": "Продолжительность каждого интервала",
"type": "string"
},
"end": {
"description": "Максимальное время начала самого последнего интервала",
"type": "string"
},
"start": {
"description": "Время начала самого первого интервала",
"type": "string"
},
"step": {
"description": "Разница во времени между началами двух соседних интервалов",
"type": "string"
}
},
"required": [
"duration",
"end",
"start",
"step"
],
"type": "object"
}
],
"description": "Кодирует интервалы в виде сетки. Используйте этот формат, если необходимо задать больше 20 интервалов доставки.\nПример: `{\"start\": \"09:00\", \"end\": \"21:00\", \"duration\": \"00:20\", \"step\": \"01:00\"}` трактуется как набор интервалов: `[{\"start\": \"09:00\", \"end\": \"09:20\"}, {\"start\": \"10:00\", \"end\": \"10:20\"}, ..., {\"start\": \"20:00\", \"end\": \"20:20\"}]`"
},
"type": {
"description": "Если указан тип `GRID`, то необходимо задать поле `grid`. Если указан тип `VALUES`, то необходимо задать поле `values`",
"enum": [
"GRID",
"VALUES"
],
"type": "string"
},
"values": {
"description": "Задаёт список интервалов напрямую. Подходит для небольшого количества интервалов доставки. Рекомендуемое максимальная количество интервалов - 20",
"items": {
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"type"
],
"type": "object"
}
],
"description": "Кодирует интервалы времени доставки, доступные для выбора. Только для `type: FLEXIBLE`"
},
"title": {
"description": "Название способа доставки. Показывается пользователю в списке вариантов",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "Самая поздняя дата доставки для `type: PLAIN`. Конец интервала выбора даты доставки для `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"toTime": {
"description": "Конец интервала времени доставки. Только для `type: PLAIN`",
"type": "string"
},
"type": {
"default": "PLAIN",
"description": "Тип опции.\nДля `FLEXIBLE` вариантов доставки пользователю дается возможность выбрать желаемые дату и интервал:\n- дата доставки выбирается покупателем в отрезке `[fromDate, toDate]`\n- чтобы предоставить пользователю выбор интервала в течении дня, заполните `timeIntervals`\nДля `PLAIN` вариантов такой выбор отсутствует.",
"enum": [
"PLAIN",
"FLEXIBLE"
],
"type": "string"
}
},
"required": [
"amount",
"category",
"courierOptionId",
"title"
],
"type": "object"
}
],
"description": "если methodType == COURIER"
},
"methodType": {
"enum": [
"DIRECT",
"PICKUP",
"COURIER",
"YANDEX_DELIVERY"
],
"type": "string"
},
"pickupOption": {
"allOf": [
{
"properties": {
"address": {
"description": "Адрес в виде строки",
"maxLength": 2048,
"type": "string"
},
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для выбранного способа самовывоза. Доступные методы оплаты заказа при выбранном способе самовывоза. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки в точку",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Дополнительное описание",
"maxLength": 2048,
"type": "string"
},
"fromDate": {
"description": "YYYY-MM-DD. Ближайшая возможная дата доставки",
"format": "date",
"type": "string"
},
"location": {
"properties": {
"latitude": {
"format": "float",
"type": "number"
},
"longitude": {
"format": "float",
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
},
"phones": {
"description": "Телефоны для связи",
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"pickupPointId": {
"description": "Уникальный id точки самовывоза в системе продавца",
"maxLength": 2048,
"type": "string"
},
"provider": {
"description": "Тип точки вывоза.",
"enum": [
"YANDEX_MARKET",
"BOXBERRY",
"CDEK",
"IN_STORE",
"RUSSIAN_POST",
"PICKPOINT",
"DPD"
],
"type": "string"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"schedule": {
"description": "График работы точки",
"items": {
"properties": {
"fromTime": {
"description": "HH:mm, \"08:00\"",
"type": "string"
},
"label": {
"description": "Например, \"пн-пт\"",
"maxLength": 2048,
"type": "string"
},
"toTime": {
"description": "HH:mm, \"20:00\"",
"type": "string"
}
},
"required": [
"fromTime",
"label",
"toTime"
],
"type": "object"
},
"type": "array"
},
"storagePeriod": {
"description": "Опционально. Срок хранения товара в точке самовывоза в днях",
"format": "int32",
"type": "integer"
},
"title": {
"description": "Название точки самовывоза",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "YYYY-MM-DD. Самая поздняя дата доставки",
"format": "date",
"type": "string"
}
},
"required": [
"address",
"location",
"pickupPointId",
"title"
],
"type": "object"
}
],
"description": "если methodType == PICKUP"
},
"yandexDeliveryOption": {
"allOf": [
{
"properties": {
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для метода доставки. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"fromDatetime": {
"format": "date-time",
"type": "string"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"title": {
"description": "Название способа доставки. Показывается пользователю в списке вариантов",
"maxLength": 2048,
"type": "string"
},
"toDatetime": {
"format": "date-time",
"type": "string"
},
"yandexDeliveryOptionId": {
"description": "Id предложения Яндекс Доставки",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"category",
"title",
"yandexDeliveryOptionId"
],
"type": "object"
}
],
"description": "если methodType == YANDEX_DELIVERY"
}
},
"required": [
"methodType"
],
"type": "object"
}
],
"description": "Выбранный способ доставки"
},
"updated": {
"description": "Дата и время обновления заказа (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"cart",
"currencyCode"
],
"type": "object"
}
},
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
},
"MerchantRedirectUrls": {
"description": "{% note info %}\n\nВ мобильных интеграциях, использующих [App Link](../../../android-sdk/app-link-debugging.md) и [Universal Link](../../../ios-sdk/universal-link-debugging.md), в поле `redirectUrls` можно указать базовый URL сайта.\n\n{% endnote %}",
"properties": {
"onAbort": {
"description": "Ссылка для переадресации пользователя в случае отмены процесса оплаты. Отмену оплаты осуществляет пользователь на форме для оплаты.",
"maxLength": 2048,
"type": "string"
},
"onError": {
"description": "Обязательное поле только для онлайн-магазинов. Ссылка для переадресации пользователя в случае возникновения ошибки во время оплаты, или если срок ссылки на оплату истек.",
"maxLength": 2048,
"type": "string"
},
"onSuccess": {
"description": "Обязательное поле только для онлайн-магазинов. Ссылка для переадресации пользователя в случае успешной оплаты.",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"onError",
"onSuccess"
],
"type": "object"
},
"MerchantRiskInfo": {
"properties": {
"billingPhone": {
"description": "**DEPRECATED** Номер телефона клиента.<br/>*Cледует использовать одноименное поле на уровень выше.*",
"maxLength": 2048,
"type": "string"
},
"customerAggregates": {
"allOf": [
{
"properties": {
"amountFirstSuccessfulOrder": {
"description": "Сумма первого успешного заказа",
"example": "123.45",
"format": "double",
"type": "string"
},
"amountLatestSuccessfulOrder": {
"description": "Сумма последнего успешного заказа",
"example": "123.45",
"format": "double",
"type": "string"
},
"cookie": {
"description": "Куки",
"maxLength": 2048,
"type": "string"
},
"daysSinceLastPasswordReset": {
"description": "Количество дней с момента последнего сброса пароля",
"format": "int32",
"type": "integer"
},
"failedLoginAttemptsOneDay": {
"description": "Количество неуспешных попыток входа за последний день",
"format": "int32",
"type": "integer"
},
"failedLoginAttemptsSevenDays": {
"description": "Количество неуспешных попыток входа за последние 7 дней",
"format": "int32",
"type": "integer"
},
"firstSuccessfulOrderDate": {
"description": "Дата первого успешного заказа в истории",
"example": "2025-01-15",
"format": "date",
"type": "string"
},
"historicalCookieLogin": {
"description": "Вход с сохраненной куки (ранее уже оплачивал заказ)",
"type": "boolean"
},
"historicalDeviceLogin": {
"description": "Вход с сохраненного устройства (ранее уже оплачивал заказ)",
"type": "boolean"
},
"lastPasswordResetDate": {
"description": "Дата последнего сброса пароля",
"example": "2025-01-15",
"format": "date",
"type": "string"
},
"latestSuccessfulOrderLastYearDate": {
"description": "Дата последнего успешного заказа за последний год",
"example": "2025-01-15",
"format": "date",
"type": "string"
},
"previousSuccessfulOrdersAtSameAddress": {
"description": "Был ли у пользователя успешный заказ по текущему адресу ранее",
"type": "boolean"
},
"redemptionRateLastHalfYear": {
"description": "Процент выкупа за последние полгода",
"example": "123.45",
"format": "double",
"type": "string"
},
"registrationDate": {
"description": "Дата регистрации на сайте мерчанта",
"example": "2025-01-15",
"format": "date",
"type": "string"
}
},
"type": "object"
}
],
"description": "Агрегированные данные о клиенте"
},
"deviceId": {
"description": "Идентификатор устройства клиента (device_id/gaid/idfa/ifv)",
"maxLength": 2048,
"type": "string"
},
"isExpressShipping": {
"description": "Признак экспресс-доставки",
"type": "boolean"
},
"merchantMcc": {
"description": "MCC мерчанта",
"maxLength": 2048,
"type": "string"
},
"merchantName": {
"description": "Название мерчанта",
"maxLength": 2048,
"type": "string"
},
"merchantOfflinePosLegalAddress": {
"description": "Юридический адрес оффлайн точки",
"maxLength": 2048,
"type": "string"
},
"merchantTaxRefNumber": {
"description": "Налоговый номер мерчанта",
"maxLength": 2048,
"type": "string"
},
"periodCheckAggregates": {
"allOf": [
{
"properties": {
"successfulOrdersCountNineMonths": {
"description": "Количество успешных заказов за последние 9 месяцев",
"format": "int32",
"type": "integer"
},
"successfulOrdersCountOneMonth": {
"description": "Количество успешных заказов за последний месяц",
"format": "int32",
"type": "integer"
},
"successfulOrdersCountSixMonths": {
"description": "Количество успешных заказов за последние 6 месяцев",
"format": "int32",
"type": "integer"
},
"successfulOrdersCountThreeMonths": {
"description": "Количество успешных заказов за последние 3 месяца",
"format": "int32",
"type": "integer"
},
"successfulOrdersCountTwelveMonths": {
"description": "Количество успешных заказов за последние 12 месяцев",
"format": "int32",
"type": "integer"
},
"totalAmountSuccessfulOrdersNineMonths": {
"description": "Сумма успешных заказов за последние 9 месяцев",
"example": "123.45",
"format": "double",
"type": "string"
},
"totalAmountSuccessfulOrdersOneMonth": {
"description": "Сумма успешных заказов за последний месяц",
"example": "123.45",
"format": "double",
"type": "string"
},
"totalAmountSuccessfulOrdersSixMonths": {
"description": "Сумма успешных заказов за последние 6 месяцев",
"example": "123.45",
"format": "double",
"type": "string"
},
"totalAmountSuccessfulOrdersThreeMonths": {
"description": "Сумма успешных заказов за последние 3 месяца",
"example": "123.45",
"format": "double",
"type": "string"
},
"totalAmountSuccessfulOrdersTwelveMonths": {
"description": "Сумма успешных заказов за последние 12 месяцев",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"type": "object"
}
],
"description": "Агрегаты по чекам за различные периоды"
},
"qrType": {
"description": "Тип QR-кода",
"enum": [
"static",
"dynamic",
null
],
"type": "string"
},
"qrcId": {
"description": "ID QR-кода",
"maxLength": 2048,
"type": "string"
},
"shippingAddress": {
"description": "Адрес доставки. Если выбран способ получения «самовывоз» (`PICKUP`), то нужно указать адрес пункта выдачи.",
"maxLength": 2048,
"type": "string"
},
"shippingPhone": {
"description": "Номер телефона получателя.",
"example": 71234567890,
"maxLength": 2048,
"type": "string"
},
"shippingType": {
"description": "Способ получения заказа",
"enum": [
"COURIER",
"PICKUP",
null
],
"type": "string"
}
},
"type": "object"
},
"Operation": {
"properties": {
"amount": {
"description": "Сумма операции в фиатной валюте",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Дата и время создания операции (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Идентификатор операции на стороне продавца",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"description": "Уникальный идентификатор заказа на стороне продавца.\n\nИспользуется:\n- как ключ идемпотентности;\n- для дальнейшего взаимодействия по заказу и платежу;\n- в сверках.",
"maxLength": 2048,
"type": "string"
},
"params": {
"description": "Дополнительные параметры операции. Список полей отличается в зависимости от типа операции.\n\nПри возврате сохраняются `motive`, `branchId` и `managerId`, которые вы указали в запросе [/refund](../order/merchant_v2_refund-post.md):\n\n```json\n{\n \"params\": {\n \"motive\": \"Товар не устроил\", // причина возврата\n \"branch_id\": \"42\", // идентификатор точки продаж\n \"manager_id\": \"12345\" // идентификатор менеджера\n }\n}\n```\n\nПри отмене сохраняется `reason`, который вы указали в запросе [/cancel](../order/merchant_v1_cancel-post.md):\n\n```json\n{\n \"params\": {\n \"cancel_reason\": \"Покупатель отказался\" // причина отмены\n }\n}\n```",
"type": "object"
},
"pointsAmount": {
"description": "Сумма операции в баллах Плюса",
"example": "123.45",
"format": "double",
"type": "string"
},
"reason": {
"description": "Причина ошибки",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Дата и время обновления операции (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
},
"OperationResponseData": {
"properties": {
"operation": {
"properties": {
"amount": {
"description": "Сумма операции в фиатной валюте",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Дата и время создания операции (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Идентификатор операции на стороне продавца",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"description": "Уникальный идентификатор заказа на стороне продавца.\n\nИспользуется:\n- как ключ идемпотентности;\n- для дальнейшего взаимодействия по заказу и платежу;\n- в сверках.",
"maxLength": 2048,
"type": "string"
},
"params": {
"description": "Дополнительные параметры операции. Список полей отличается в зависимости от типа операции.\n\nПри возврате сохраняются `motive`, `branchId` и `managerId`, которые вы указали в запросе [/refund](../order/merchant_v2_refund-post.md):\n\n```json\n{\n \"params\": {\n \"motive\": \"Товар не устроил\", // причина возврата\n \"branch_id\": \"42\", // идентификатор точки продаж\n \"manager_id\": \"12345\" // идентификатор менеджера\n }\n}\n```\n\nПри отмене сохраняется `reason`, который вы указали в запросе [/cancel](../order/merchant_v1_cancel-post.md):\n\n```json\n{\n \"params\": {\n \"cancel_reason\": \"Покупатель отказался\" // причина отмены\n }\n}\n```",
"type": "object"
},
"pointsAmount": {
"description": "Сумма операции в баллах Плюса",
"example": "123.45",
"format": "double",
"type": "string"
},
"reason": {
"description": "Причина ошибки",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Дата и время обновления операции (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
}
},
"type": "object"
},
"OrderExtensions": {
"properties": {
"billingReport": {
"allOf": [
{
"properties": {
"branchId": {
"default": null,
"description": "Обязательное поле только для офлайн-магазинов. Идентификатор точки продаж",
"maxLength": 2048,
"type": "string"
},
"managerId": {
"default": null,
"description": "Обязательное поле только для офлайн-магазинов. Идентификатор менеджера",
"maxLength": 2048,
"type": "string"
}
},
"type": "object"
}
],
"description": "Информация о месте и авторе оформления заказа."
},
"paymentData": {
"allOf": [
{
"properties": {
"saleToken": {
"description": "Уникальный id, генерируемый кассой для каждой операции оплаты",
"maxLength": 2048,
"type": "string"
}
},
"type": "object"
}
],
"description": "Дополнительные параметры платежа"
},
"qrData": {
"allOf": [
{
"properties": {
"token": {
"description": "QR токен",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"token"
],
"type": "object"
}
],
"description": "Дополнительные параметры для отправки ссылки на оплату с использованием QR"
},
"smsOffer": {
"allOf": [
{
"properties": {
"phone": {
"description": "Номер телефона клиента (пример `+71234567890`) для СМС-информирования. Только для merchantId офлайн-магазина.",
"maxLength": 2048,
"pattern": "^\\+\\d+$",
"type": "string"
}
},
"required": [
"phone"
],
"type": "object"
}
],
"description": "Дополнительные параметры для отправки ссылки на оплату с использованием SMS.\n\nОбязательное поле только для офлайн-магазинов."
}
},
"type": "object"
},
"OrderResponseData": {
"properties": {
"delivery": {
"properties": {
"actualPrice": {
"description": "Цена доставки для продавца",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Дата и время создания доставки (ISO 8601)",
"format": "date-time",
"type": "string"
},
"price": {
"description": "Цена доставки для покупателя",
"example": "123.45",
"format": "double",
"type": "string"
},
"status": {
"default": "NEW",
"description": "Статус доставки",
"enum": [
"NEW",
"ESTIMATING",
"EXPIRED",
"READY_FOR_APPROVAL",
"COLLECTING",
"PREPARING",
"DELIVERING",
"DELIVERED",
"RETURNING",
"RETURNED",
"FAILED",
"CANCELLED"
],
"type": "string"
},
"updated": {
"description": "Дата и время обновления доставки (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"price"
],
"type": "object"
},
"operations": {
"items": {
"properties": {
"amount": {
"description": "Сумма операции в фиатной валюте",
"example": "123.45",
"format": "double",
"type": "string"
},
"approvalCode": {
"description": "Код подтверждения транзакции от процессингового центра.",
"readOnly": true,
"type": "string"
},
"created": {
"description": "Дата и время создания операции (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Идентификатор операции на стороне продавца",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"description": "Уникальный идентификатор заказа на стороне продавца.\n\nИспользуется:\n- как ключ идемпотентности;\n- для дальнейшего взаимодействия по заказу и платежу;\n- в сверках.",
"maxLength": 2048,
"type": "string"
},
"params": {
"description": "Дополнительные параметры операции. Список полей отличается в зависимости от типа операции.\n\nПри возврате сохраняются `motive`, `branchId` и `managerId`, которые вы указали в запросе [/refund](../order/merchant_v2_refund-post.md):\n\n```json\n{\n \"params\": {\n \"motive\": \"Товар не устроил\", // причина возврата\n \"branch_id\": \"42\", // идентификатор точки продаж\n \"manager_id\": \"12345\" // идентификатор менеджера\n }\n}\n```\n\nПри отмене сохраняется `reason`, который вы указали в запросе [/cancel](../order/merchant_v1_cancel-post.md):\n\n```json\n{\n \"params\": {\n \"cancel_reason\": \"Покупатель отказался\" // причина отмены\n }\n}\n```",
"type": "object"
},
"reason": {
"description": "Причина ошибки",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Дата и время обновления операции (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
},
"type": "array"
},
"order": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "Внутренний идентификатор корзины на стороне Яндекс Пэй.",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Купоны, применённые к корзине",
"items": {
"properties": {
"description": {
"description": "Описание. Например, \"Скидка 3%\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Код купона",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Скидки, применённые к корзине",
"items": {
"properties": {
"amount": {
"description": "Сумма скидки",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Текстовое описание",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Идентификатор скидки в системе мерчанта",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Идентификатор корзины на стороне продавца.",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Позиция корзины",
"items": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
},
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"finalPrice": {
"description": "Цена за единицу товара с учётом всех скидок на позицию и на корзину",
"example": "123.45",
"format": "double",
"type": "string"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Размеры и вес товара. Обязательно для товара типа `PHYSICAL`"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Тип товара. Важен для интеграции с доставками",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Стоимость корзины с учетом всех скидок.",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"default": null,
"description": "Итоговая стоимость корзины, которая пойдет в оплату"
}
},
"required": [
"items"
],
"type": "object"
}
],
"description": "Корзина"
},
"created": {
"description": "Дата и время создания заказа (ISO 8601)",
"format": "date-time",
"type": "string"
},
"currencyCode": {
"description": "Трехбуквенный код валюты заказа (ISO 4217)",
"enum": [
"RUB",
"UZS"
],
"maxLength": 2048,
"type": "string"
},
"isPrepayment": {
"default": false,
"description": "Проводить ли заказ по флоу «отложенной оплаты».\n\nЕсли параметр установлен в `true`, то заказ будет оформляться как заказ с отложенной оплатой.",
"type": "boolean"
},
"merchantId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"metadata": {
"description": "Произвольные данные, переданные при инициализации кнопки",
"maxLength": 2048,
"type": "string"
},
"orderAmount": {
"description": "Полная стоимость заказа к оплате с учётом возвратов, доставки, скидок и промокодов",
"example": "123.45",
"format": "double",
"type": "string"
},
"orderId": {
"description": "Уникальный идентификатор заказа на стороне продавца.\n\nИспользуется:\n- как ключ идемпотентности;\n- для дальнейшего взаимодействия по заказу и платежу;\n- в сверках.",
"maxLength": 2048,
"type": "string"
},
"paymentMethod": {
"properties": {
"cardLast4": {
"maxLength": 2048,
"type": "string"
},
"cardNetwork": {
"description": "Платежная система",
"enum": [
"AMEX",
"DISCOVER",
"JCB",
"MASTERCARD",
"MAESTRO",
"VISAELECTRON",
"VISA",
"MIR",
"UNIONPAY",
"UZCARD",
"HUMOCARD",
"UNKNOWN",
"UNDEFINED",
null
],
"type": "string"
},
"methodType": {
"enum": [
"CARD",
"SPLIT",
"SBP",
"SPLIT_SBP",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME"
],
"type": "string"
}
},
"required": [
"methodType"
],
"type": "object"
},
"paymentStatus": {
"description": "Статус платежа в заказе. Подробнее читайте в разделе [Статусы платежей](../../../../payments/statuses.md#payments-statuses).\n\nНе может быть `null`.",
"enum": [
"PENDING",
"AUTHORIZED",
"CAPTURED",
"VOIDED",
"REFUNDED",
"CONFIRMED",
"PARTIALLY_REFUNDED",
"FAILED",
null
],
"type": "string",
"x-enumDescriptions": {
"AUTHORIZED": "Платеж за заказ авторизован. Средства заблокированы на счету плательщика",
"CAPTURED": "Заказ успешно оплачен. Средства списаны со счета плательщика",
"CONFIRMED": "Заказ успешно оформлен",
"FAILED": "Заказ не был успешно оплачен",
"PARTIALLY_REFUNDED": "Совершён частичный возврат средств за заказ",
"PENDING": "Ожидается оплата",
"REFUNDED": "Совершён возврат средств за заказ",
"VOIDED": "Оплата отменена (voided). Списание средств не производилось"
}
},
"paymentUrl": {
"description": "Ссылка на оплату заказа",
"maxLength": 2048,
"type": "string"
},
"reason": {
"description": "причина (применимо для статусов VOIDED/FAILED)",
"maxLength": 2048,
"type": "string"
},
"shippingMethod": {
"allOf": [
{
"properties": {
"courierOption": {
"allOf": [
{
"properties": {
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для метода доставки. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"courierOptionId": {
"description": "id выбранного варианта доставки в системе продавца",
"maxLength": 2048,
"type": "string"
},
"customerChoice": {
"allOf": [
{
"properties": {
"date": {
"format": "date",
"type": "string"
},
"time": {
"allOf": [
{
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
}
]
}
},
"required": [
"date"
],
"type": "object"
}
],
"description": "Выбранные пользователем дата и интервал. Только для `type: FLEXIBLE`"
},
"fromDate": {
"description": "Ближайшая дата доставки для `type: PLAIN`. Начало интервала выбора даты доставки для `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"fromTime": {
"description": "Начало интервала времени доставки. Только для `type: PLAIN`",
"type": "string"
},
"provider": {
"description": "Тип службы доставки.",
"enum": [
"BOXBERRY",
"CDEK",
"RUSSIAN_POST",
"EMS",
"COURIER",
"DHL",
"EXPRESS_DELIVERY",
"FIVEPOST",
"OZON_ROCKET",
"DPD",
"SBER_LOGISTICS",
"PEK",
"PICKPOINT",
"KCE",
"PONY_EXPRESS",
"YANDEX_DELIVERY",
null
],
"type": "string"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"timeIntervals": {
"allOf": [
{
"properties": {
"grid": {
"allOf": [
{
"properties": {
"duration": {
"description": "Продолжительность каждого интервала",
"type": "string"
},
"end": {
"description": "Максимальное время начала самого последнего интервала",
"type": "string"
},
"start": {
"description": "Время начала самого первого интервала",
"type": "string"
},
"step": {
"description": "Разница во времени между началами двух соседних интервалов",
"type": "string"
}
},
"required": [
"duration",
"end",
"start",
"step"
],
"type": "object"
}
],
"description": "Кодирует интервалы в виде сетки. Используйте этот формат, если необходимо задать больше 20 интервалов доставки.\nПример: `{\"start\": \"09:00\", \"end\": \"21:00\", \"duration\": \"00:20\", \"step\": \"01:00\"}` трактуется как набор интервалов: `[{\"start\": \"09:00\", \"end\": \"09:20\"}, {\"start\": \"10:00\", \"end\": \"10:20\"}, ..., {\"start\": \"20:00\", \"end\": \"20:20\"}]`"
},
"type": {
"description": "Если указан тип `GRID`, то необходимо задать поле `grid`. Если указан тип `VALUES`, то необходимо задать поле `values`",
"enum": [
"GRID",
"VALUES"
],
"type": "string"
},
"values": {
"description": "Задаёт список интервалов напрямую. Подходит для небольшого количества интервалов доставки. Рекомендуемое максимальная количество интервалов - 20",
"items": {
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"type"
],
"type": "object"
}
],
"description": "Кодирует интервалы времени доставки, доступные для выбора. Только для `type: FLEXIBLE`"
},
"title": {
"description": "Название способа доставки. Показывается пользователю в списке вариантов",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "Самая поздняя дата доставки для `type: PLAIN`. Конец интервала выбора даты доставки для `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"toTime": {
"description": "Конец интервала времени доставки. Только для `type: PLAIN`",
"type": "string"
},
"type": {
"default": "PLAIN",
"description": "Тип опции.\nДля `FLEXIBLE` вариантов доставки пользователю дается возможность выбрать желаемые дату и интервал:\n- дата доставки выбирается покупателем в отрезке `[fromDate, toDate]`\n- чтобы предоставить пользователю выбор интервала в течении дня, заполните `timeIntervals`\nДля `PLAIN` вариантов такой выбор отсутствует.",
"enum": [
"PLAIN",
"FLEXIBLE"
],
"type": "string"
}
},
"required": [
"amount",
"category",
"courierOptionId",
"title"
],
"type": "object"
}
],
"description": "если methodType == COURIER"
},
"methodType": {
"enum": [
"DIRECT",
"PICKUP",
"COURIER",
"YANDEX_DELIVERY"
],
"type": "string"
},
"pickupOption": {
"allOf": [
{
"properties": {
"address": {
"description": "Адрес в виде строки",
"maxLength": 2048,
"type": "string"
},
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для выбранного способа самовывоза. Доступные методы оплаты заказа при выбранном способе самовывоза. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки в точку",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Дополнительное описание",
"maxLength": 2048,
"type": "string"
},
"fromDate": {
"description": "YYYY-MM-DD. Ближайшая возможная дата доставки",
"format": "date",
"type": "string"
},
"location": {
"properties": {
"latitude": {
"format": "float",
"type": "number"
},
"longitude": {
"format": "float",
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
},
"phones": {
"description": "Телефоны для связи",
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"pickupPointId": {
"description": "Уникальный id точки самовывоза в системе продавца",
"maxLength": 2048,
"type": "string"
},
"provider": {
"description": "Тип точки вывоза.",
"enum": [
"YANDEX_MARKET",
"BOXBERRY",
"CDEK",
"IN_STORE",
"RUSSIAN_POST",
"PICKPOINT",
"DPD"
],
"type": "string"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"schedule": {
"description": "График работы точки",
"items": {
"properties": {
"fromTime": {
"description": "HH:mm, \"08:00\"",
"type": "string"
},
"label": {
"description": "Например, \"пн-пт\"",
"maxLength": 2048,
"type": "string"
},
"toTime": {
"description": "HH:mm, \"20:00\"",
"type": "string"
}
},
"required": [
"fromTime",
"label",
"toTime"
],
"type": "object"
},
"type": "array"
},
"storagePeriod": {
"description": "Опционально. Срок хранения товара в точке самовывоза в днях",
"format": "int32",
"type": "integer"
},
"title": {
"description": "Название точки самовывоза",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "YYYY-MM-DD. Самая поздняя дата доставки",
"format": "date",
"type": "string"
}
},
"required": [
"address",
"location",
"pickupPointId",
"title"
],
"type": "object"
}
],
"description": "если methodType == PICKUP"
},
"yandexDeliveryOption": {
"allOf": [
{
"properties": {
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для метода доставки. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"fromDatetime": {
"format": "date-time",
"type": "string"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"title": {
"description": "Название способа доставки. Показывается пользователю в списке вариантов",
"maxLength": 2048,
"type": "string"
},
"toDatetime": {
"format": "date-time",
"type": "string"
},
"yandexDeliveryOptionId": {
"description": "Id предложения Яндекс Доставки",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"category",
"title",
"yandexDeliveryOptionId"
],
"type": "object"
}
],
"description": "если methodType == YANDEX_DELIVERY"
}
},
"required": [
"methodType"
],
"type": "object"
}
],
"description": "Выбранный способ доставки"
},
"updated": {
"description": "Дата и время обновления заказа (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"cart",
"currencyCode"
],
"type": "object"
}
},
"type": "object"
},
"OrderResponseOperation": {
"properties": {
"amount": {
"description": "Сумма операции в фиатной валюте",
"example": "123.45",
"format": "double",
"type": "string"
},
"approvalCode": {
"description": "Код подтверждения транзакции от процессингового центра.",
"readOnly": true,
"type": "string"
},
"created": {
"description": "Дата и время создания операции (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Идентификатор операции на стороне продавца",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"description": "Уникальный идентификатор заказа на стороне продавца.\n\nИспользуется:\n- как ключ идемпотентности;\n- для дальнейшего взаимодействия по заказу и платежу;\n- в сверках.",
"maxLength": 2048,
"type": "string"
},
"params": {
"description": "Дополнительные параметры операции. Список полей отличается в зависимости от типа операции.\n\nПри возврате сохраняются `motive`, `branchId` и `managerId`, которые вы указали в запросе [/refund](../order/merchant_v2_refund-post.md):\n\n```json\n{\n \"params\": {\n \"motive\": \"Товар не устроил\", // причина возврата\n \"branch_id\": \"42\", // идентификатор точки продаж\n \"manager_id\": \"12345\" // идентификатор менеджера\n }\n}\n```\n\nПри отмене сохраняется `reason`, который вы указали в запросе [/cancel](../order/merchant_v1_cancel-post.md):\n\n```json\n{\n \"params\": {\n \"cancel_reason\": \"Покупатель отказался\" // причина отмены\n }\n}\n```",
"type": "object"
},
"reason": {
"description": "Причина ошибки",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Дата и время обновления операции (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
},
"PaymentData": {
"properties": {
"saleToken": {
"description": "Уникальный id, генерируемый кассой для каждой операции оплаты",
"maxLength": 2048,
"type": "string"
}
},
"type": "object"
},
"PaymentMethod": {
"properties": {
"cardLast4": {
"maxLength": 2048,
"type": "string"
},
"cardNetwork": {
"description": "Платежная система",
"enum": [
"AMEX",
"DISCOVER",
"JCB",
"MASTERCARD",
"MAESTRO",
"VISAELECTRON",
"VISA",
"MIR",
"UNIONPAY",
"UZCARD",
"HUMOCARD",
"UNKNOWN",
"UNDEFINED",
null
],
"type": "string"
},
"methodType": {
"enum": [
"CARD",
"SPLIT",
"SBP",
"SPLIT_SBP",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME"
],
"type": "string"
}
},
"required": [
"methodType"
],
"type": "object"
},
"PaymentsOperator": {
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"PeriodCheckAggregates": {
"properties": {
"successfulOrdersCountNineMonths": {
"description": "Количество успешных заказов за последние 9 месяцев",
"format": "int32",
"type": "integer"
},
"successfulOrdersCountOneMonth": {
"description": "Количество успешных заказов за последний месяц",
"format": "int32",
"type": "integer"
},
"successfulOrdersCountSixMonths": {
"description": "Количество успешных заказов за последние 6 месяцев",
"format": "int32",
"type": "integer"
},
"successfulOrdersCountThreeMonths": {
"description": "Количество успешных заказов за последние 3 месяца",
"format": "int32",
"type": "integer"
},
"successfulOrdersCountTwelveMonths": {
"description": "Количество успешных заказов за последние 12 месяцев",
"format": "int32",
"type": "integer"
},
"totalAmountSuccessfulOrdersNineMonths": {
"description": "Сумма успешных заказов за последние 9 месяцев",
"example": "123.45",
"format": "double",
"type": "string"
},
"totalAmountSuccessfulOrdersOneMonth": {
"description": "Сумма успешных заказов за последний месяц",
"example": "123.45",
"format": "double",
"type": "string"
},
"totalAmountSuccessfulOrdersSixMonths": {
"description": "Сумма успешных заказов за последние 6 месяцев",
"example": "123.45",
"format": "double",
"type": "string"
},
"totalAmountSuccessfulOrdersThreeMonths": {
"description": "Сумма успешных заказов за последние 3 месяца",
"example": "123.45",
"format": "double",
"type": "string"
},
"totalAmountSuccessfulOrdersTwelveMonths": {
"description": "Сумма успешных заказов за последние 12 месяцев",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"type": "object"
},
"PickupOption": {
"properties": {
"address": {
"description": "Адрес в виде строки",
"maxLength": 2048,
"type": "string"
},
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для выбранного способа самовывоза. Доступные методы оплаты заказа при выбранном способе самовывоза. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки в точку",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Дополнительное описание",
"maxLength": 2048,
"type": "string"
},
"fromDate": {
"description": "YYYY-MM-DD. Ближайшая возможная дата доставки",
"format": "date",
"type": "string"
},
"location": {
"properties": {
"latitude": {
"format": "float",
"type": "number"
},
"longitude": {
"format": "float",
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
},
"phones": {
"description": "Телефоны для связи",
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"pickupPointId": {
"description": "Уникальный id точки самовывоза в системе продавца",
"maxLength": 2048,
"type": "string"
},
"provider": {
"description": "Тип точки вывоза.",
"enum": [
"YANDEX_MARKET",
"BOXBERRY",
"CDEK",
"IN_STORE",
"RUSSIAN_POST",
"PICKPOINT",
"DPD"
],
"type": "string"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"schedule": {
"description": "График работы точки",
"items": {
"properties": {
"fromTime": {
"description": "HH:mm, \"08:00\"",
"type": "string"
},
"label": {
"description": "Например, \"пн-пт\"",
"maxLength": 2048,
"type": "string"
},
"toTime": {
"description": "HH:mm, \"20:00\"",
"type": "string"
}
},
"required": [
"fromTime",
"label",
"toTime"
],
"type": "object"
},
"type": "array"
},
"storagePeriod": {
"description": "Опционально. Срок хранения товара в точке самовывоза в днях",
"format": "int32",
"type": "integer"
},
"title": {
"description": "Название точки самовывоза",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "YYYY-MM-DD. Самая поздняя дата доставки",
"format": "date",
"type": "string"
}
},
"required": [
"address",
"location",
"pickupPointId",
"title"
],
"type": "object"
},
"PickupSchedule": {
"properties": {
"fromTime": {
"description": "HH:mm, \"08:00\"",
"type": "string"
},
"label": {
"description": "Например, \"пн-пт\"",
"maxLength": 2048,
"type": "string"
},
"toTime": {
"description": "HH:mm, \"20:00\"",
"type": "string"
}
},
"required": [
"fromTime",
"label",
"toTime"
],
"type": "object"
},
"QRData": {
"properties": {
"token": {
"description": "QR токен",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"token"
],
"type": "object"
},
"RecurSubscriptionRequest": {
"properties": {
"amount": {
"description": "Сумма списания",
"example": "123.45",
"format": "double",
"type": "string"
},
"cart": {
"allOf": [
{
"description": "{% note info %}\n\nСтоимость доставки передавайте в `items` как отдельный товар.\n\n{% endnote %}",
"properties": {
"externalId": {
"description": "Идентификатор корзины на стороне продавца.",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Корзина товаров, которую оплачивает покупатель.",
"items": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity",
"title",
"total"
],
"type": "object"
},
"type": "array"
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Стоимость корзины с учетом всех скидок.",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"description": "Итоговая информация о стоимости заказа."
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Корзина"
},
"currencyCode": {
"description": "Трехбуквенный код валюты заказа (ISO 4217)",
"enum": [
"RUB",
"UZS"
],
"maxLength": 2048,
"type": "string"
},
"metadata": {
"description": "Произвольные данные по заказу для внутреннего использования",
"maxLength": 2048,
"type": "string"
},
"orderId": {
"description": "Уникальный идентификатор заказа на стороне продавца.\n\nИспользуется:\n- как ключ идемпотентности;\n- для дальнейшего взаимодействия по заказу и платежу;\n- в сверках.",
"maxLength": 2048,
"type": "string"
},
"parentOrderId": {
"description": "Идентификатор стартового заказа",
"maxLength": 2048,
"type": "string"
},
"purpose": {
"description": "Назначение платежа",
"maxLength": 1000,
"type": "string"
}
},
"required": [
"amount",
"cart",
"currencyCode",
"orderId",
"parentOrderId"
],
"type": "object"
},
"RecurSubscriptionResponse": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"operationId"
],
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
},
"RecurSubscriptionResponseData": {
"properties": {
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"operationId"
],
"type": "object"
},
"RefundRequest": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "Внутренний идентификатор корзины на стороне Яндекс Пэй.",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Купоны, применённые к корзине",
"items": {
"properties": {
"description": {
"description": "Описание. Например, \"Скидка 3%\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Код купона",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Скидки, применённые к корзине",
"items": {
"properties": {
"amount": {
"description": "Сумма скидки",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Текстовое описание",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Идентификатор скидки в системе мерчанта",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Идентификатор корзины на стороне продавца.",
"maxLength": 2048,
"type": "string"
},
"items": {
"items": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
},
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Размеры и вес товара. Обязательно для товара типа `PHYSICAL`"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Тип товара. Важен для интеграции с доставками",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"properties": {
"amount": {
"description": "Стоимость корзины с учетом всех скидок.",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Итоговая корзина"
},
"externalOperationId": {
"description": "Идентификатор операции в системе продавца",
"maxLength": 2048,
"type": "string"
},
"orderAmount": {
"description": "Итоговая сумма заказа. Равна `cart.total.amount` + `shipping.amount`",
"example": "123.45",
"format": "double",
"type": "string"
},
"refundAmount": {
"description": "Сумма к возврату. Минимальная сумма возврата — 1 рубль.",
"example": "123.45",
"format": "double",
"type": "string"
},
"shipping": {
"properties": {
"amount": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"methodType": {
"enum": [
"DIRECT",
"PICKUP",
"COURIER",
"YANDEX_DELIVERY"
],
"type": "string"
}
},
"required": [
"amount",
"methodType"
],
"type": "object"
}
},
"required": [
"orderAmount",
"refundAmount"
],
"type": "object"
},
"RefundV2Request": {
"properties": {
"branchId": {
"description": "Идентификатор точки продаж",
"maxLength": 2048,
"type": "string"
},
"externalOperationId": {
"description": "Идентификатор операции возврата в системе продавца. Должен быть уникальным.\n\nПередайте этот параметр, чтобы получить возможность отслеживать состояние операции возврата через метод [operations/{external_operation_id}](../operation/merchant_v1_operations-get).\n\nЕсли операция не завершена (обрабатывается или остановлена), то повторный вызов метода возврата с такими же аргументами и таким же значением `externalOperationId` будет идемпотентным: в ответе вернется та же операция. Иначе вернется ошибка.\n\nЕсли процесс возврата был успешно запущен, то повторный вызов метода возврата с тем же `externalOperationId` вернет ошибку с \"reasonCode\": \"DUPLICATE_EXTERNAL_OPERATION_ID\".",
"maxLength": 2048,
"type": "string"
},
"managerId": {
"description": "Идентификатор менеджера",
"maxLength": 2048,
"type": "string"
},
"motive": {
"description": "Причина возврата",
"maxLength": 2048,
"type": "string"
},
"refundAmount": {
"description": "Сумма к возврату. Минимальная сумма возврата — 1 рубль.",
"example": "123.45",
"format": "double",
"type": "string"
},
"refundCart": {
"allOf": [
{
"properties": {
"items": {
"items": {
"properties": {
"price": {
"description": "Цена одной единицы товара/услуги после выполнения операции.\nНеобходимо указать, если цена одной единицы уменьшается в результате операции.\nЭто может быть полезным, если необходимо вернуть часть денег за товар или подтверждении заказа.\nЕсли не указывать это поле в запросе, то считается, что цена осталась прежней.",
"example": "123.45",
"format": "double",
"type": "string"
},
"productId": {
"description": "Идентификатор позиции в корзине на момент создания заказа.\nЕсли передать идентификатор, которого не было в первоначальной корзине - произойдёт ошибка.",
"maxLength": 2048,
"type": "string"
},
"quantityCount": {
"description": "Количество единиц товара для операции возврата.\n\nЗначение зависит от используемой корзины:\n- если `targetCart`, то `quantityCount` — остаток товара после возврата (было 5 единиц товара, указали 3 → вернется 2);\n- если `refundCart`, то `quantityCount` — количество возвращаемых товаров (было 5 единиц товара, указали 3 → вернется 3).\nЕсли поле не указано, количество товара не меняется.",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
],
"description": "Описывает позиции корзины, которые нужно вернуть.\nНе может быть указано одновременно с полем `targetCart`.\nВместе с этим параметром желательно передавать идентификатор операции `externalOperationId`, так как он является токеном идемпотентности."
},
"targetCart": {
"allOf": [
{
"properties": {
"items": {
"items": {
"properties": {
"price": {
"description": "Цена одной единицы товара/услуги после выполнения операции.\nНеобходимо указать, если цена одной единицы уменьшается в результате операции.\nЭто может быть полезным, если необходимо вернуть часть денег за товар или подтверждении заказа.\nЕсли не указывать это поле в запросе, то считается, что цена осталась прежней.",
"example": "123.45",
"format": "double",
"type": "string"
},
"productId": {
"description": "Идентификатор позиции в корзине на момент создания заказа.\nЕсли передать идентификатор, которого не было в первоначальной корзине - произойдёт ошибка.",
"maxLength": 2048,
"type": "string"
},
"quantityCount": {
"description": "Количество единиц товара для операции возврата.\n\nЗначение зависит от используемой корзины:\n- если `targetCart`, то `quantityCount` — остаток товара после возврата (было 5 единиц товара, указали 3 → вернется 2);\n- если `refundCart`, то `quantityCount` — количество возвращаемых товаров (было 5 единиц товара, указали 3 → вернется 3).\nЕсли поле не указано, количество товара не меняется.",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
],
"description": "Описывает итоговое состояние корзины после выполнения возврата.\nЕсли это поле не указано, то считается, что корзина возвращается полностью.Не может быть указано одновременно с полем `refundCart`."
},
"targetShipping": {
"allOf": [
{
"properties": {
"amount": {
"description": "Стоимость доставки после выполнения операции",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"type": "object"
}
],
"description": "Применимо только к Yandex Pay Checkout. В остальных случаях следует оставить это поле пустым.\n\nОписывает итоговое состояние доставки после выполнения возврата.\nЕсли это поле не указано или равно `null`, то считается, что стоимость доставки возвращается полностью."
}
},
"required": [
"refundAmount"
],
"type": "object"
},
"RenderedCart": {
"description": "{% note info %}\n\nСтоимость доставки передавайте в `items` как отдельный товар.\n\n{% endnote %}",
"properties": {
"externalId": {
"description": "Идентификатор корзины на стороне продавца.",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Корзина товаров, которую оплачивает покупатель.",
"items": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
},
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity",
"title",
"total"
],
"type": "object"
},
"type": "array"
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Стоимость корзины с учетом всех скидок.",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"description": "Итоговая информация о стоимости заказа."
}
},
"required": [
"items",
"total"
],
"type": "object"
},
"RenderedCart1": {
"description": "{% note info %}\n\nСтоимость доставки передавайте в `items` как отдельный товар.\n\n{% endnote %}",
"properties": {
"externalId": {
"description": "Идентификатор корзины на стороне продавца.",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Корзина товаров, которую оплачивает покупатель.",
"items": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity",
"title",
"total"
],
"type": "object"
},
"type": "array"
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Стоимость корзины с учетом всех скидок.",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"description": "Итоговая информация о стоимости заказа."
}
},
"required": [
"items",
"total"
],
"type": "object"
},
"RenderedCartItem": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
},
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity",
"title",
"total"
],
"type": "object"
},
"RenderedCartItem1": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity",
"title",
"total"
],
"type": "object"
},
"SMSOffer": {
"properties": {
"phone": {
"description": "Номер телефона клиента (пример `+71234567890`) для СМС-информирования. Только для merchantId офлайн-магазина.",
"maxLength": 2048,
"pattern": "^\\+\\d+$",
"type": "string"
}
},
"required": [
"phone"
],
"type": "object"
},
"ShippingMethod": {
"properties": {
"courierOption": {
"allOf": [
{
"properties": {
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для метода доставки. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"courierOptionId": {
"description": "id выбранного варианта доставки в системе продавца",
"maxLength": 2048,
"type": "string"
},
"customerChoice": {
"allOf": [
{
"properties": {
"date": {
"format": "date",
"type": "string"
},
"time": {
"allOf": [
{
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
}
]
}
},
"required": [
"date"
],
"type": "object"
}
],
"description": "Выбранные пользователем дата и интервал. Только для `type: FLEXIBLE`"
},
"fromDate": {
"description": "Ближайшая дата доставки для `type: PLAIN`. Начало интервала выбора даты доставки для `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"fromTime": {
"description": "Начало интервала времени доставки. Только для `type: PLAIN`",
"type": "string"
},
"provider": {
"description": "Тип службы доставки.",
"enum": [
"BOXBERRY",
"CDEK",
"RUSSIAN_POST",
"EMS",
"COURIER",
"DHL",
"EXPRESS_DELIVERY",
"FIVEPOST",
"OZON_ROCKET",
"DPD",
"SBER_LOGISTICS",
"PEK",
"PICKPOINT",
"KCE",
"PONY_EXPRESS",
"YANDEX_DELIVERY",
null
],
"type": "string"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"timeIntervals": {
"allOf": [
{
"properties": {
"grid": {
"allOf": [
{
"properties": {
"duration": {
"description": "Продолжительность каждого интервала",
"type": "string"
},
"end": {
"description": "Максимальное время начала самого последнего интервала",
"type": "string"
},
"start": {
"description": "Время начала самого первого интервала",
"type": "string"
},
"step": {
"description": "Разница во времени между началами двух соседних интервалов",
"type": "string"
}
},
"required": [
"duration",
"end",
"start",
"step"
],
"type": "object"
}
],
"description": "Кодирует интервалы в виде сетки. Используйте этот формат, если необходимо задать больше 20 интервалов доставки.\nПример: `{\"start\": \"09:00\", \"end\": \"21:00\", \"duration\": \"00:20\", \"step\": \"01:00\"}` трактуется как набор интервалов: `[{\"start\": \"09:00\", \"end\": \"09:20\"}, {\"start\": \"10:00\", \"end\": \"10:20\"}, ..., {\"start\": \"20:00\", \"end\": \"20:20\"}]`"
},
"type": {
"description": "Если указан тип `GRID`, то необходимо задать поле `grid`. Если указан тип `VALUES`, то необходимо задать поле `values`",
"enum": [
"GRID",
"VALUES"
],
"type": "string"
},
"values": {
"description": "Задаёт список интервалов напрямую. Подходит для небольшого количества интервалов доставки. Рекомендуемое максимальная количество интервалов - 20",
"items": {
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"type"
],
"type": "object"
}
],
"description": "Кодирует интервалы времени доставки, доступные для выбора. Только для `type: FLEXIBLE`"
},
"title": {
"description": "Название способа доставки. Показывается пользователю в списке вариантов",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "Самая поздняя дата доставки для `type: PLAIN`. Конец интервала выбора даты доставки для `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"toTime": {
"description": "Конец интервала времени доставки. Только для `type: PLAIN`",
"type": "string"
},
"type": {
"default": "PLAIN",
"description": "Тип опции.\nДля `FLEXIBLE` вариантов доставки пользователю дается возможность выбрать желаемые дату и интервал:\n- дата доставки выбирается покупателем в отрезке `[fromDate, toDate]`\n- чтобы предоставить пользователю выбор интервала в течении дня, заполните `timeIntervals`\nДля `PLAIN` вариантов такой выбор отсутствует.",
"enum": [
"PLAIN",
"FLEXIBLE"
],
"type": "string"
}
},
"required": [
"amount",
"category",
"courierOptionId",
"title"
],
"type": "object"
}
],
"description": "если methodType == COURIER"
},
"methodType": {
"enum": [
"DIRECT",
"PICKUP",
"COURIER",
"YANDEX_DELIVERY"
],
"type": "string"
},
"pickupOption": {
"allOf": [
{
"properties": {
"address": {
"description": "Адрес в виде строки",
"maxLength": 2048,
"type": "string"
},
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для выбранного способа самовывоза. Доступные методы оплаты заказа при выбранном способе самовывоза. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки в точку",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Дополнительное описание",
"maxLength": 2048,
"type": "string"
},
"fromDate": {
"description": "YYYY-MM-DD. Ближайшая возможная дата доставки",
"format": "date",
"type": "string"
},
"location": {
"properties": {
"latitude": {
"format": "float",
"type": "number"
},
"longitude": {
"format": "float",
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
},
"phones": {
"description": "Телефоны для связи",
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"pickupPointId": {
"description": "Уникальный id точки самовывоза в системе продавца",
"maxLength": 2048,
"type": "string"
},
"provider": {
"description": "Тип точки вывоза.",
"enum": [
"YANDEX_MARKET",
"BOXBERRY",
"CDEK",
"IN_STORE",
"RUSSIAN_POST",
"PICKPOINT",
"DPD"
],
"type": "string"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"schedule": {
"description": "График работы точки",
"items": {
"properties": {
"fromTime": {
"description": "HH:mm, \"08:00\"",
"type": "string"
},
"label": {
"description": "Например, \"пн-пт\"",
"maxLength": 2048,
"type": "string"
},
"toTime": {
"description": "HH:mm, \"20:00\"",
"type": "string"
}
},
"required": [
"fromTime",
"label",
"toTime"
],
"type": "object"
},
"type": "array"
},
"storagePeriod": {
"description": "Опционально. Срок хранения товара в точке самовывоза в днях",
"format": "int32",
"type": "integer"
},
"title": {
"description": "Название точки самовывоза",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "YYYY-MM-DD. Самая поздняя дата доставки",
"format": "date",
"type": "string"
}
},
"required": [
"address",
"location",
"pickupPointId",
"title"
],
"type": "object"
}
],
"description": "если methodType == PICKUP"
},
"yandexDeliveryOption": {
"allOf": [
{
"properties": {
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для метода доставки. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"fromDatetime": {
"format": "date-time",
"type": "string"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"title": {
"description": "Название способа доставки. Показывается пользователю в списке вариантов",
"maxLength": 2048,
"type": "string"
},
"toDatetime": {
"format": "date-time",
"type": "string"
},
"yandexDeliveryOptionId": {
"description": "Id предложения Яндекс Доставки",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"category",
"title",
"yandexDeliveryOptionId"
],
"type": "object"
}
],
"description": "если methodType == YANDEX_DELIVERY"
}
},
"required": [
"methodType"
],
"type": "object"
},
"ShippingPrice": {
"properties": {
"amount": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"methodType": {
"enum": [
"DIRECT",
"PICKUP",
"COURIER",
"YANDEX_DELIVERY"
],
"type": "string"
}
},
"required": [
"amount",
"methodType"
],
"type": "object"
},
"StorageInitialPaymentOptions": {
"properties": {
"amount": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"cardId": {
"maxLength": 2048,
"type": "string"
},
"merchantId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"paymentMethod": {
"enum": [
"CARD",
"SPLIT",
"SBP",
"SPLIT_SBP",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME",
null
],
"type": "string"
},
"publicConstructor": {
"maxLength": 2048,
"type": "string"
},
"sessionId": {
"maxLength": 2048,
"type": "string"
}
},
"type": "object"
},
"SubmitRequest": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "Внутренний идентификатор корзины на стороне Яндекс Пэй.",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Купоны, применённые к корзине",
"items": {
"properties": {
"description": {
"description": "Описание. Например, \"Скидка 3%\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Код купона",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Скидки, применённые к корзине",
"items": {
"properties": {
"amount": {
"description": "Сумма скидки",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Текстовое описание",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Идентификатор скидки в системе мерчанта",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Идентификатор корзины на стороне продавца.",
"maxLength": 2048,
"type": "string"
},
"items": {
"items": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
},
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Размеры и вес товара. Обязательно для товара типа `PHYSICAL`"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Тип товара. Важен для интеграции с доставками",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"properties": {
"amount": {
"description": "Стоимость корзины с учетом всех скидок.",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Итоговая корзина"
},
"externalOperationId": {
"description": "Идентификатор операции в системе продавца",
"maxLength": 2048,
"type": "string"
},
"orderAmount": {
"description": "Итоговая сумма заказа. Равна `cart.total.amount`.\n\nЯвляется обязательным полем, если передается `cart`.",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"externalOperationId"
],
"type": "object"
},
"SuccessResponse": {
"properties": {
"code": {
"default": 200
},
"data": {
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
},
"Supplier": {
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"TargetCart": {
"properties": {
"items": {
"items": {
"properties": {
"price": {
"description": "Цена одной единицы товара/услуги после выполнения операции.\nНеобходимо указать, если цена одной единицы уменьшается в результате операции.\nЭто может быть полезным, если необходимо вернуть часть денег за товар или подтверждении заказа.\nЕсли не указывать это поле в запросе, то считается, что цена осталась прежней.",
"example": "123.45",
"format": "double",
"type": "string"
},
"productId": {
"description": "Идентификатор позиции в корзине на момент создания заказа.\nЕсли передать идентификатор, которого не было в первоначальной корзине - произойдёт ошибка.",
"maxLength": 2048,
"type": "string"
},
"quantityCount": {
"description": "Количество единиц товара для операции возврата.\n\nЗначение зависит от используемой корзины:\n- если `targetCart`, то `quantityCount` — остаток товара после возврата (было 5 единиц товара, указали 3 → вернется 2);\n- если `refundCart`, то `quantityCount` — количество возвращаемых товаров (было 5 единиц товара, указали 3 → вернется 3).\nЕсли поле не указано, количество товара не меняется.",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"TargetCartItem": {
"properties": {
"price": {
"description": "Цена одной единицы товара/услуги после выполнения операции.\nНеобходимо указать, если цена одной единицы уменьшается в результате операции.\nЭто может быть полезным, если необходимо вернуть часть денег за товар или подтверждении заказа.\nЕсли не указывать это поле в запросе, то считается, что цена осталась прежней.",
"example": "123.45",
"format": "double",
"type": "string"
},
"productId": {
"description": "Идентификатор позиции в корзине на момент создания заказа.\nЕсли передать идентификатор, которого не было в первоначальной корзине - произойдёт ошибка.",
"maxLength": 2048,
"type": "string"
},
"quantityCount": {
"description": "Количество единиц товара для операции возврата.\n\nЗначение зависит от используемой корзины:\n- если `targetCart`, то `quantityCount` — остаток товара после возврата (было 5 единиц товара, указали 3 → вернется 2);\n- если `refundCart`, то `quantityCount` — количество возвращаемых товаров (было 5 единиц товара, указали 3 → вернется 3).\nЕсли поле не указано, количество товара не меняется.",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId"
],
"type": "object"
},
"TargetShipping": {
"properties": {
"amount": {
"description": "Стоимость доставки после выполнения операции",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"type": "object"
},
"TimeInterval": {
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
},
"TransferOperator": {
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"YandexDeliveryOption": {
"properties": {
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для метода доставки. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"fromDatetime": {
"format": "date-time",
"type": "string"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"title": {
"description": "Название способа доставки. Показывается пользователю в списке вариантов",
"maxLength": 2048,
"type": "string"
},
"toDatetime": {
"format": "date-time",
"type": "string"
},
"yandexDeliveryOptionId": {
"description": "Id предложения Яндекс Доставки",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"category",
"title",
"yandexDeliveryOptionId"
],
"type": "object"
}
},
"securitySchemes": {
"ApiKey": {
"in": "header",
"name": "Authorization",
"type": "apiKey"
}
}
},
"info": {
"description": "\n{% note tip %}\n\nДля знакомства с [платежными механиками](../../../payments/index.md) используйте готовую Postman-коллекцию.\n\n<a class=\"custom-g-button custom-g-button_view_normal custom-g-button_size_l\" href=\"https://doc-static.yandex.net/src/support/yandex_pay/postman/yandex-pay-api_postman-collection_18-08-2025.zip\" target=\"_blank\" download>\n <span class=\"g-button__text\">\n Скачать коллекцию\n </span>\n</a>\n\n{% endnote %}\n\n## Заголовки {#headers}\n\nПередавайте следующие HTTP заголовки в ваших запросах:\n\n- X-Request-Id: <уникальный идентификатор запроса>\n- X-Request-Timeout: <таймаут запроса в миллисекундах>\n- X-Request-Attempt: <номер попытки (0 — первая попытка, 1, 2 и т.д. — перезапросы)>\n\n`X-Request-Id` нужен для отладки запросов, а также для обеспечения идемпотентности пишущих запросов.\nПоэтому одно и то же значение `X-Request-Id` должно сохраняться во всех перезапросах при получении\nошибок с HTTP-кодами 5xx, либо 429 в ответ.\n\n`X-Request-Timeout` нужен для [deadline propagation](https://sre.google/sre-book/addressing-cascading-failures/#deadline-propagation-1)\nво время обработки запроса в системе.\nНе используйте значения таймаутов меньше секунды. Максимальное значение таймаута — 10 секунд.\n\n`X-Request-Attempt` полезен для общей диагностики.\n\n## Аутентификация запроса продавца {#auth}\n\nДля использования API необходимо получить аутентификационный API-ключ.\nТокен необходимо передавать для каждого запроса в HTTP-заголовке `Authorization`.\nУправление ключами находится в [консоли Яндекс Пэй](https://console.pay.yandex.ru/settings).\nПри этом в sandbox окружении API-ключ равен значению `merchant_id`.\n\n```text\n--header 'Authorization: Api-Key <значение ключа>'\n```\n\nЕсли в запросе отсутствует токен или передан недействительный токен,\nсервер возвращает HTTP-статус `401 Unauthorized`.",
"title": "Yandex Pay API",
"version": "1.0.0"
},
"openapi": "3.0.3",
"paths": {
"/api/merchant/v1/orders": {
"post": {
"description": "Запрос на создание заказа. Возвращает ссылку на оплату заказа.",
"operationId": "merchant_v1_orders-post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"availablePaymentMethods": {
"default": null,
"description": "Доступные методы оплаты на платежной форме Яндекс Пэй.\n\nЕсли вы интегрируете оплату только одним методом, например, Карта — указывается один метод `[\"CARD\"]`. Для платежей по банковским картам и через Сплит необходимо передать: `[\"CARD\", \"SPLIT\"]`.",
"items": {
"enum": [
"CARD",
"SPLIT"
],
"type": "string"
},
"minItems": 1,
"type": "array"
},
"billingPhone": {
"description": "Номер телефона клиента.\n\nИспользуется для упрощения авторизации, а также может увеличить вероятность одобрения по Сплиту.\n\nДля номера телефона предлагаем использовать формат `+71234567890` или `71234567890`. В строке допустимо наличие других символов, однако все символы, кроме цифр, игнорируются. Если номер телефона начинается с `8`, то он обрабатывается как аналогичный номер, где `8` заменена на `+7`.\n\nНапример, такие переданные значения `71234567890`, `+71234567890`, `81234567890`, `+7 (123) 456-78-90` будут обрабатываться как `71234567890`.",
"maxLength": 2048,
"type": "string"
},
"cart": {
"allOf": [
{
"description": "{% note info %}\n\nСтоимость доставки передавайте в `items` как отдельный товар.\n\n{% endnote %}",
"properties": {
"externalId": {
"description": "Идентификатор корзины на стороне продавца.",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Корзина товаров, которую оплачивает покупатель.",
"items": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
},
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity",
"title",
"total"
],
"type": "object"
},
"type": "array"
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Стоимость корзины с учетом всех скидок.",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"description": "Итоговая информация о стоимости заказа."
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Корзина"
},
"currencyCode": {
"description": "Трехбуквенный код валюты заказа (ISO 4217)",
"enum": [
"RUB",
"UZS"
],
"maxLength": 2048,
"type": "string"
},
"extensions": {
"allOf": [
{
"properties": {
"billingReport": {
"allOf": [
{
"properties": {
"branchId": {
"default": null,
"description": "Обязательное поле только для офлайн-магазинов. Идентификатор точки продаж",
"maxLength": 2048,
"type": "string"
},
"managerId": {
"default": null,
"description": "Обязательное поле только для офлайн-магазинов. Идентификатор менеджера",
"maxLength": 2048,
"type": "string"
}
},
"type": "object"
}
],
"description": "Информация о месте и авторе оформления заказа."
},
"paymentData": {
"allOf": [
{
"properties": {
"saleToken": {
"description": "Уникальный id, генерируемый кассой для каждой операции оплаты",
"maxLength": 2048,
"type": "string"
}
},
"type": "object"
}
],
"description": "Дополнительные параметры платежа"
},
"qrData": {
"allOf": [
{
"properties": {
"token": {
"description": "QR токен",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"token"
],
"type": "object"
}
],
"description": "Дополнительные параметры для отправки ссылки на оплату с использованием QR"
},
"smsOffer": {
"allOf": [
{
"properties": {
"phone": {
"description": "Номер телефона клиента (пример `+71234567890`) для СМС-информирования. Только для merchantId офлайн-магазина.",
"maxLength": 2048,
"pattern": "^\\+\\d+$",
"type": "string"
}
},
"required": [
"phone"
],
"type": "object"
}
],
"description": "Дополнительные параметры для отправки ссылки на оплату с использованием SMS.\n\nОбязательное поле только для офлайн-магазинов."
}
},
"type": "object"
}
],
"default": null,
"description": "Дополнительные параметры для оформления офлайн заказа"
},
"isPrepayment": {
"description": "Проводить ли заказ по флоу «отложенной оплаты».\n\nЕсли параметр установлен в `true`, то заказ будет оформляться как заказ с отложенной оплатой.",
"type": "boolean"
},
"metadata": {
"description": "Произвольные данные по заказу для внутреннего использования",
"maxLength": 2048,
"type": "string"
},
"orderId": {
"description": "Уникальный идентификатор заказа на стороне продавца.\n\nИспользуется:\n- как ключ идемпотентности;\n- для дальнейшего взаимодействия по заказу и платежу;\n- в сверках.",
"maxLength": 2048,
"type": "string"
},
"orderSource": {
"default": null,
"description": "Поверхность на которой инициализировали создание заказа\n\nНеобходимо для последующей аналитики\n\n---\n\n**WEBSITE**: Кнопка размещена на сайте. Ссылка на оплату сформировалась после действий (нажатия кнопки) пользователя на сайте\n\n**APP**: Кнопка размещена в мобильном приложении. Ссылка на оплату сформировалась после действий (нажатия кнопки) пользователя в приложении\n\n**CRM**: Ссылка на оплату сформирована менеджером в CRM или другой админке\n\n**CASH_REGISTER**: Ссылка на оплату сформирована для отображения на оффлайн-кассе\n\n**CMS_PLUGIN**: Ссылка на оплату сформирована в плагине для CMS\n\n**TV**: Ссылка на оплату сформирована для отображения на ТВ-платформе\n",
"enum": [
"WEBSITE",
"APP",
"CRM",
"CASH_REGISTER",
"CMS_PLUGIN",
"TV"
],
"type": "string"
},
"preferredPaymentMethod": {
"default": "FULLPAYMENT",
"description": "Предпочтительный метод оплаты.\n\nПереданный метод будет автоматически выбран на форме оплаты, если это не противоречит доступным методам оплаты.",
"enum": [
"FULLPAYMENT",
"SPLIT"
],
"type": "string"
},
"publicConstructor": {
"description": "Конструктор предвыбранного плана для оплаты в Сплит.\n\n_Доступно только по согласованию_",
"type": "string"
},
"purpose": {
"description": "Назначение платежа",
"maxLength": 1000,
"type": "string"
},
"redirectUrls": {
"allOf": [
{
"description": "{% note info %}\n\nВ мобильных интеграциях, использующих [App Link](../../../android-sdk/app-link-debugging.md) и [Universal Link](../../../ios-sdk/universal-link-debugging.md), в поле `redirectUrls` можно указать базовый URL сайта.\n\n{% endnote %}",
"properties": {
"onAbort": {
"description": "Ссылка для переадресации пользователя в случае отмены процесса оплаты. Отмену оплаты осуществляет пользователь на форме для оплаты.",
"maxLength": 2048,
"type": "string"
},
"onError": {
"description": "Обязательное поле только для онлайн-магазинов. Ссылка для переадресации пользователя в случае возникновения ошибки во время оплаты, или если срок ссылки на оплату истек.",
"maxLength": 2048,
"type": "string"
},
"onSuccess": {
"description": "Обязательное поле только для онлайн-магазинов. Ссылка для переадресации пользователя в случае успешной оплаты.",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"onError",
"onSuccess"
],
"type": "object"
}
],
"description": "Ссылки для переадресации пользователя с формы оплаты. Обязательно для онлайн-магазинов."
},
"risk": {
"allOf": [
{
"properties": {
"billingPhone": {
"description": "**DEPRECATED** Номер телефона клиента.<br/>*Cледует использовать одноименное поле на уровень выше.*",
"maxLength": 2048,
"type": "string"
},
"customerAggregates": {
"allOf": [
{
"properties": {
"amountFirstSuccessfulOrder": {
"description": "Сумма первого успешного заказа",
"example": "123.45",
"format": "double",
"type": "string"
},
"amountLatestSuccessfulOrder": {
"description": "Сумма последнего успешного заказа",
"example": "123.45",
"format": "double",
"type": "string"
},
"cookie": {
"description": "Куки",
"maxLength": 2048,
"type": "string"
},
"daysSinceLastPasswordReset": {
"description": "Количество дней с момента последнего сброса пароля",
"format": "int32",
"type": "integer"
},
"failedLoginAttemptsOneDay": {
"description": "Количество неуспешных попыток входа за последний день",
"format": "int32",
"type": "integer"
},
"failedLoginAttemptsSevenDays": {
"description": "Количество неуспешных попыток входа за последние 7 дней",
"format": "int32",
"type": "integer"
},
"firstSuccessfulOrderDate": {
"description": "Дата первого успешного заказа в истории",
"example": "2025-01-15",
"format": "date",
"type": "string"
},
"historicalCookieLogin": {
"description": "Вход с сохраненной куки (ранее уже оплачивал заказ)",
"type": "boolean"
},
"historicalDeviceLogin": {
"description": "Вход с сохраненного устройства (ранее уже оплачивал заказ)",
"type": "boolean"
},
"lastPasswordResetDate": {
"description": "Дата последнего сброса пароля",
"example": "2025-01-15",
"format": "date",
"type": "string"
},
"latestSuccessfulOrderLastYearDate": {
"description": "Дата последнего успешного заказа за последний год",
"example": "2025-01-15",
"format": "date",
"type": "string"
},
"previousSuccessfulOrdersAtSameAddress": {
"description": "Был ли у пользователя успешный заказ по текущему адресу ранее",
"type": "boolean"
},
"redemptionRateLastHalfYear": {
"description": "Процент выкупа за последние полгода",
"example": "123.45",
"format": "double",
"type": "string"
},
"registrationDate": {
"description": "Дата регистрации на сайте мерчанта",
"example": "2025-01-15",
"format": "date",
"type": "string"
}
},
"type": "object"
}
],
"description": "Агрегированные данные о клиенте"
},
"deviceId": {
"description": "Идентификатор устройства клиента (device_id/gaid/idfa/ifv)",
"maxLength": 2048,
"type": "string"
},
"isExpressShipping": {
"description": "Признак экспресс-доставки",
"type": "boolean"
},
"merchantMcc": {
"description": "MCC мерчанта",
"maxLength": 2048,
"type": "string"
},
"merchantName": {
"description": "Название мерчанта",
"maxLength": 2048,
"type": "string"
},
"merchantOfflinePosLegalAddress": {
"description": "Юридический адрес оффлайн точки",
"maxLength": 2048,
"type": "string"
},
"merchantTaxRefNumber": {
"description": "Налоговый номер мерчанта",
"maxLength": 2048,
"type": "string"
},
"periodCheckAggregates": {
"allOf": [
{
"properties": {
"successfulOrdersCountNineMonths": {
"description": "Количество успешных заказов за последние 9 месяцев",
"format": "int32",
"type": "integer"
},
"successfulOrdersCountOneMonth": {
"description": "Количество успешных заказов за последний месяц",
"format": "int32",
"type": "integer"
},
"successfulOrdersCountSixMonths": {
"description": "Количество успешных заказов за последние 6 месяцев",
"format": "int32",
"type": "integer"
},
"successfulOrdersCountThreeMonths": {
"description": "Количество успешных заказов за последние 3 месяца",
"format": "int32",
"type": "integer"
},
"successfulOrdersCountTwelveMonths": {
"description": "Количество успешных заказов за последние 12 месяцев",
"format": "int32",
"type": "integer"
},
"totalAmountSuccessfulOrdersNineMonths": {
"description": "Сумма успешных заказов за последние 9 месяцев",
"example": "123.45",
"format": "double",
"type": "string"
},
"totalAmountSuccessfulOrdersOneMonth": {
"description": "Сумма успешных заказов за последний месяц",
"example": "123.45",
"format": "double",
"type": "string"
},
"totalAmountSuccessfulOrdersSixMonths": {
"description": "Сумма успешных заказов за последние 6 месяцев",
"example": "123.45",
"format": "double",
"type": "string"
},
"totalAmountSuccessfulOrdersThreeMonths": {
"description": "Сумма успешных заказов за последние 3 месяца",
"example": "123.45",
"format": "double",
"type": "string"
},
"totalAmountSuccessfulOrdersTwelveMonths": {
"description": "Сумма успешных заказов за последние 12 месяцев",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"type": "object"
}
],
"description": "Агрегаты по чекам за различные периоды"
},
"qrType": {
"description": "Тип QR-кода",
"enum": [
"static",
"dynamic",
null
],
"type": "string"
},
"qrcId": {
"description": "ID QR-кода",
"maxLength": 2048,
"type": "string"
},
"shippingAddress": {
"description": "Адрес доставки. Если выбран способ получения «самовывоз» (`PICKUP`), то нужно указать адрес пункта выдачи.",
"maxLength": 2048,
"type": "string"
},
"shippingPhone": {
"description": "Номер телефона получателя.",
"example": 71234567890,
"maxLength": 2048,
"type": "string"
},
"shippingType": {
"description": "Способ получения заказа",
"enum": [
"COURIER",
"PICKUP",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Дополнительная информация, наличие которой может увеличить вероятность одобрения по Сплиту. Доступно в полной мере только для онлайн-магазинов."
},
"ttl": {
"default": 1800,
"description": "Параметр определяет время, в течение которого пользователь может воспользоваться ссылкой на форму оплаты заказа.\n\nПо истечении времени пользователь будет видеть сообщение \"Вышло время оплаты\".\n\nЕсли пользователь воспользовался ссылкой до истечения времени, то на завершение оплаты отводится дополнительно 15 минут. Если по истечении дополнительного времени оплата не произошла, заказ считается не оплаченным окончательно.\n\nЭто отражается в изменении статуса заказа `Order.paymentStatus` на значение `FAILED`. Также выполняется отправка [уведомления](../../merchant-api/webhook) об изменении статуса заказа. Если продавец бронировал товар, то после изменения статуса заказ можно отменить.\n\nВремя жизни (сек): `180 <= ttl <= 604800`\n\nВремя жизни (при создании ссылки в личном кабинете, сек): `86400`",
"format": "int32",
"type": "integer"
}
},
"required": [
"cart",
"currencyCode",
"orderId"
],
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"paymentUrl": {
"description": "Ссылка на оплату заказа",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"paymentUrl"
],
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"required": [
"data"
],
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v1/orders",
"tags": [
"order"
]
}
},
"/api/merchant/v1/orders/{order_id}": {
"get": {
"description": "Запрос на получение деталей заказа.\n\nЗапрос возвращает детали заказа и список транзакций по возврату.",
"operationId": "merchant_v1_order-get",
"parameters": [
{
"description": "ID заказа на стороне продавца, который был передан в ответе на /orders.",
"in": "path",
"name": "order_id",
"required": true,
"schema": {
"maxLength": 2048,
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"delivery": {
"properties": {
"actualPrice": {
"description": "Цена доставки для продавца",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Дата и время создания доставки (ISO 8601)",
"format": "date-time",
"type": "string"
},
"price": {
"description": "Цена доставки для покупателя",
"example": "123.45",
"format": "double",
"type": "string"
},
"status": {
"default": "NEW",
"description": "Статус доставки",
"enum": [
"NEW",
"ESTIMATING",
"EXPIRED",
"READY_FOR_APPROVAL",
"COLLECTING",
"PREPARING",
"DELIVERING",
"DELIVERED",
"RETURNING",
"RETURNED",
"FAILED",
"CANCELLED"
],
"type": "string"
},
"updated": {
"description": "Дата и время обновления доставки (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"price"
],
"type": "object"
},
"operations": {
"items": {
"properties": {
"amount": {
"description": "Сумма операции в фиатной валюте",
"example": "123.45",
"format": "double",
"type": "string"
},
"approvalCode": {
"description": "Код подтверждения транзакции от процессингового центра.",
"readOnly": true,
"type": "string"
},
"created": {
"description": "Дата и время создания операции (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Идентификатор операции на стороне продавца",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"description": "Уникальный идентификатор заказа на стороне продавца.\n\nИспользуется:\n- как ключ идемпотентности;\n- для дальнейшего взаимодействия по заказу и платежу;\n- в сверках.",
"maxLength": 2048,
"type": "string"
},
"params": {
"description": "Дополнительные параметры операции. Список полей отличается в зависимости от типа операции.\n\nПри возврате сохраняются `motive`, `branchId` и `managerId`, которые вы указали в запросе [/refund](../order/merchant_v2_refund-post.md):\n\n```json\n{\n \"params\": {\n \"motive\": \"Товар не устроил\", // причина возврата\n \"branch_id\": \"42\", // идентификатор точки продаж\n \"manager_id\": \"12345\" // идентификатор менеджера\n }\n}\n```\n\nПри отмене сохраняется `reason`, который вы указали в запросе [/cancel](../order/merchant_v1_cancel-post.md):\n\n```json\n{\n \"params\": {\n \"cancel_reason\": \"Покупатель отказался\" // причина отмены\n }\n}\n```",
"type": "object"
},
"reason": {
"description": "Причина ошибки",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Дата и время обновления операции (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
},
"type": "array"
},
"order": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "Внутренний идентификатор корзины на стороне Яндекс Пэй.",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Купоны, применённые к корзине",
"items": {
"properties": {
"description": {
"description": "Описание. Например, \"Скидка 3%\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Код купона",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Скидки, применённые к корзине",
"items": {
"properties": {
"amount": {
"description": "Сумма скидки",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Текстовое описание",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Идентификатор скидки в системе мерчанта",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Идентификатор корзины на стороне продавца.",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Позиция корзины",
"items": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
},
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"finalPrice": {
"description": "Цена за единицу товара с учётом всех скидок на позицию и на корзину",
"example": "123.45",
"format": "double",
"type": "string"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Размеры и вес товара. Обязательно для товара типа `PHYSICAL`"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Тип товара. Важен для интеграции с доставками",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Стоимость корзины с учетом всех скидок.",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"default": null,
"description": "Итоговая стоимость корзины, которая пойдет в оплату"
}
},
"required": [
"items"
],
"type": "object"
}
],
"description": "Корзина"
},
"created": {
"description": "Дата и время создания заказа (ISO 8601)",
"format": "date-time",
"type": "string"
},
"currencyCode": {
"description": "Трехбуквенный код валюты заказа (ISO 4217)",
"enum": [
"RUB",
"UZS"
],
"maxLength": 2048,
"type": "string"
},
"isPrepayment": {
"default": false,
"description": "Проводить ли заказ по флоу «отложенной оплаты».\n\nЕсли параметр установлен в `true`, то заказ будет оформляться как заказ с отложенной оплатой.",
"type": "boolean"
},
"merchantId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"metadata": {
"description": "Произвольные данные, переданные при инициализации кнопки",
"maxLength": 2048,
"type": "string"
},
"orderAmount": {
"description": "Полная стоимость заказа к оплате с учётом возвратов, доставки, скидок и промокодов",
"example": "123.45",
"format": "double",
"type": "string"
},
"orderId": {
"description": "Уникальный идентификатор заказа на стороне продавца.\n\nИспользуется:\n- как ключ идемпотентности;\n- для дальнейшего взаимодействия по заказу и платежу;\n- в сверках.",
"maxLength": 2048,
"type": "string"
},
"paymentMethod": {
"properties": {
"cardLast4": {
"maxLength": 2048,
"type": "string"
},
"cardNetwork": {
"description": "Платежная система",
"enum": [
"AMEX",
"DISCOVER",
"JCB",
"MASTERCARD",
"MAESTRO",
"VISAELECTRON",
"VISA",
"MIR",
"UNIONPAY",
"UZCARD",
"HUMOCARD",
"UNKNOWN",
"UNDEFINED",
null
],
"type": "string"
},
"methodType": {
"enum": [
"CARD",
"SPLIT",
"SBP",
"SPLIT_SBP",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME"
],
"type": "string"
}
},
"required": [
"methodType"
],
"type": "object"
},
"paymentStatus": {
"description": "Статус платежа в заказе. Подробнее читайте в разделе [Статусы платежей](../../../../payments/statuses.md#payments-statuses).\n\nНе может быть `null`.",
"enum": [
"PENDING",
"AUTHORIZED",
"CAPTURED",
"VOIDED",
"REFUNDED",
"CONFIRMED",
"PARTIALLY_REFUNDED",
"FAILED",
null
],
"type": "string",
"x-enumDescriptions": {
"AUTHORIZED": "Платеж за заказ авторизован. Средства заблокированы на счету плательщика",
"CAPTURED": "Заказ успешно оплачен. Средства списаны со счета плательщика",
"CONFIRMED": "Заказ успешно оформлен",
"FAILED": "Заказ не был успешно оплачен",
"PARTIALLY_REFUNDED": "Совершён частичный возврат средств за заказ",
"PENDING": "Ожидается оплата",
"REFUNDED": "Совершён возврат средств за заказ",
"VOIDED": "Оплата отменена (voided). Списание средств не производилось"
}
},
"paymentUrl": {
"description": "Ссылка на оплату заказа",
"maxLength": 2048,
"type": "string"
},
"reason": {
"description": "причина (применимо для статусов VOIDED/FAILED)",
"maxLength": 2048,
"type": "string"
},
"shippingMethod": {
"allOf": [
{
"properties": {
"courierOption": {
"allOf": [
{
"properties": {
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для метода доставки. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"courierOptionId": {
"description": "id выбранного варианта доставки в системе продавца",
"maxLength": 2048,
"type": "string"
},
"customerChoice": {
"allOf": [
{
"properties": {
"date": {
"format": "date",
"type": "string"
},
"time": {
"allOf": [
{
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
}
]
}
},
"required": [
"date"
],
"type": "object"
}
],
"description": "Выбранные пользователем дата и интервал. Только для `type: FLEXIBLE`"
},
"fromDate": {
"description": "Ближайшая дата доставки для `type: PLAIN`. Начало интервала выбора даты доставки для `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"fromTime": {
"description": "Начало интервала времени доставки. Только для `type: PLAIN`",
"type": "string"
},
"provider": {
"description": "Тип службы доставки.",
"enum": [
"BOXBERRY",
"CDEK",
"RUSSIAN_POST",
"EMS",
"COURIER",
"DHL",
"EXPRESS_DELIVERY",
"FIVEPOST",
"OZON_ROCKET",
"DPD",
"SBER_LOGISTICS",
"PEK",
"PICKPOINT",
"KCE",
"PONY_EXPRESS",
"YANDEX_DELIVERY",
null
],
"type": "string"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"timeIntervals": {
"allOf": [
{
"properties": {
"grid": {
"allOf": [
{
"properties": {
"duration": {
"description": "Продолжительность каждого интервала",
"type": "string"
},
"end": {
"description": "Максимальное время начала самого последнего интервала",
"type": "string"
},
"start": {
"description": "Время начала самого первого интервала",
"type": "string"
},
"step": {
"description": "Разница во времени между началами двух соседних интервалов",
"type": "string"
}
},
"required": [
"duration",
"end",
"start",
"step"
],
"type": "object"
}
],
"description": "Кодирует интервалы в виде сетки. Используйте этот формат, если необходимо задать больше 20 интервалов доставки.\nПример: `{\"start\": \"09:00\", \"end\": \"21:00\", \"duration\": \"00:20\", \"step\": \"01:00\"}` трактуется как набор интервалов: `[{\"start\": \"09:00\", \"end\": \"09:20\"}, {\"start\": \"10:00\", \"end\": \"10:20\"}, ..., {\"start\": \"20:00\", \"end\": \"20:20\"}]`"
},
"type": {
"description": "Если указан тип `GRID`, то необходимо задать поле `grid`. Если указан тип `VALUES`, то необходимо задать поле `values`",
"enum": [
"GRID",
"VALUES"
],
"type": "string"
},
"values": {
"description": "Задаёт список интервалов напрямую. Подходит для небольшого количества интервалов доставки. Рекомендуемое максимальная количество интервалов - 20",
"items": {
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"type"
],
"type": "object"
}
],
"description": "Кодирует интервалы времени доставки, доступные для выбора. Только для `type: FLEXIBLE`"
},
"title": {
"description": "Название способа доставки. Показывается пользователю в списке вариантов",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "Самая поздняя дата доставки для `type: PLAIN`. Конец интервала выбора даты доставки для `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"toTime": {
"description": "Конец интервала времени доставки. Только для `type: PLAIN`",
"type": "string"
},
"type": {
"default": "PLAIN",
"description": "Тип опции.\nДля `FLEXIBLE` вариантов доставки пользователю дается возможность выбрать желаемые дату и интервал:\n- дата доставки выбирается покупателем в отрезке `[fromDate, toDate]`\n- чтобы предоставить пользователю выбор интервала в течении дня, заполните `timeIntervals`\nДля `PLAIN` вариантов такой выбор отсутствует.",
"enum": [
"PLAIN",
"FLEXIBLE"
],
"type": "string"
}
},
"required": [
"amount",
"category",
"courierOptionId",
"title"
],
"type": "object"
}
],
"description": "если methodType == COURIER"
},
"methodType": {
"enum": [
"DIRECT",
"PICKUP",
"COURIER",
"YANDEX_DELIVERY"
],
"type": "string"
},
"pickupOption": {
"allOf": [
{
"properties": {
"address": {
"description": "Адрес в виде строки",
"maxLength": 2048,
"type": "string"
},
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для выбранного способа самовывоза. Доступные методы оплаты заказа при выбранном способе самовывоза. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки в точку",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Дополнительное описание",
"maxLength": 2048,
"type": "string"
},
"fromDate": {
"description": "YYYY-MM-DD. Ближайшая возможная дата доставки",
"format": "date",
"type": "string"
},
"location": {
"properties": {
"latitude": {
"format": "float",
"type": "number"
},
"longitude": {
"format": "float",
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
},
"phones": {
"description": "Телефоны для связи",
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"pickupPointId": {
"description": "Уникальный id точки самовывоза в системе продавца",
"maxLength": 2048,
"type": "string"
},
"provider": {
"description": "Тип точки вывоза.",
"enum": [
"YANDEX_MARKET",
"BOXBERRY",
"CDEK",
"IN_STORE",
"RUSSIAN_POST",
"PICKPOINT",
"DPD"
],
"type": "string"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"schedule": {
"description": "График работы точки",
"items": {
"properties": {
"fromTime": {
"description": "HH:mm, \"08:00\"",
"type": "string"
},
"label": {
"description": "Например, \"пн-пт\"",
"maxLength": 2048,
"type": "string"
},
"toTime": {
"description": "HH:mm, \"20:00\"",
"type": "string"
}
},
"required": [
"fromTime",
"label",
"toTime"
],
"type": "object"
},
"type": "array"
},
"storagePeriod": {
"description": "Опционально. Срок хранения товара в точке самовывоза в днях",
"format": "int32",
"type": "integer"
},
"title": {
"description": "Название точки самовывоза",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "YYYY-MM-DD. Самая поздняя дата доставки",
"format": "date",
"type": "string"
}
},
"required": [
"address",
"location",
"pickupPointId",
"title"
],
"type": "object"
}
],
"description": "если methodType == PICKUP"
},
"yandexDeliveryOption": {
"allOf": [
{
"properties": {
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для метода доставки. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY",
"UNIQR_REUSABLE",
"UNIQR_ONETIME"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"fromDatetime": {
"format": "date-time",
"type": "string"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"title": {
"description": "Название способа доставки. Показывается пользователю в списке вариантов",
"maxLength": 2048,
"type": "string"
},
"toDatetime": {
"format": "date-time",
"type": "string"
},
"yandexDeliveryOptionId": {
"description": "Id предложения Яндекс Доставки",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"category",
"title",
"yandexDeliveryOptionId"
],
"type": "object"
}
],
"description": "если methodType == YANDEX_DELIVERY"
}
},
"required": [
"methodType"
],
"type": "object"
}
],
"description": "Выбранный способ доставки"
},
"updated": {
"description": "Дата и время обновления заказа (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"cart",
"currencyCode"
],
"type": "object"
}
},
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v1/orders/{order_id}",
"tags": [
"order"
]
}
},
"/api/merchant/v1/orders/{order_id}/cancel": {
"post": {
"description": "Отмена блокировки средств на счете плательщика. Используется только в [двухстадийных платежах](../../../../hold/index.md).\n\nДоступно только для платежей в статусе `AUTHORIZED` — средства заблокированы на счете плательщика, но не списаны методом [/capture](./merchant_v1_capture-post.md).\n\nВ случае успеха статус платежа изменится на `VOIDED` — оплата отменена продавцом до списания средств.\n\n## Сравнение /rollback, /refund и /cancel\n\nПодробнее см. в разделе [Возврат платежей](../../../refund-payments.md).\n\n#|
|| **Метод** | [/rollback](./merchant_v1_rollback-post.md) | [/refund](./merchant_v2_refund-post.md) | [/cancel](./merchant_v1_cancel-post.md) ||
||
**Описание**
|
Прерывание оплаты продавцом путем аннулирования платежной ссылки.
|
Полный или частичный возврат средств.
|
Отмена блокировки средств на счете плательщика.
Используется только в двухстадийных платежах.
||
||
**Доступен в статусах**
|
Доступен в любом статусе. Целевое использование — до завершения оплаты, в статусе `PENDING`.
|
`CAPTURED` — заказ успешно оплачен, средства списаны со счета плательщика.
`PARTIALLY_REFUNDED` — совершен частичный возврат средств.
|
`AUTHORIZED` — средства заблокированы на счете плательщика, но не списаны методом [/capture](./merchant_v1_capture-post.md).
||
||
**Переводит в статус**
|
`FAILED` — оплата не прошла.
|
`REFUNDED` — совершен полный возврат средств.
`PARTIALLY_REFUNDED` — совершен частичный возврат средств. В заказе остались товары.
|
`VOIDED` — оплата отменена продавцом до списания средств.
||
|#",
"operationId": "merchant_v1_cancel-post",
"parameters": [
{
"description": "ID заказа на стороне продавца, который был передан в ответе на /orders.",
"in": "path",
"name": "order_id",
"required": true,
"schema": {
"maxLength": 2048,
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"externalOperationId": {
"description": "Идентификатор операции",
"maxLength": 2048,
"type": "string"
},
"reason": {
"description": "Причина отмены",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"reason"
],
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"operation": {
"properties": {
"amount": {
"description": "Сумма операции в фиатной валюте",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Дата и время создания операции (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Идентификатор операции на стороне продавца",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"description": "Уникальный идентификатор заказа на стороне продавца.\n\nИспользуется:\n- как ключ идемпотентности;\n- для дальнейшего взаимодействия по заказу и платежу;\n- в сверках.",
"maxLength": 2048,
"type": "string"
},
"params": {
"description": "Дополнительные параметры операции. Список полей отличается в зависимости от типа операции.\n\nПри возврате сохраняются `motive`, `branchId` и `managerId`, которые вы указали в запросе [/refund](../order/merchant_v2_refund-post.md):\n\n```json\n{\n \"params\": {\n \"motive\": \"Товар не устроил\", // причина возврата\n \"branch_id\": \"42\", // идентификатор точки продаж\n \"manager_id\": \"12345\" // идентификатор менеджера\n }\n}\n```\n\nПри отмене сохраняется `reason`, который вы указали в запросе [/cancel](../order/merchant_v1_cancel-post.md):\n\n```json\n{\n \"params\": {\n \"cancel_reason\": \"Покупатель отказался\" // причина отмены\n }\n}\n```",
"type": "object"
},
"pointsAmount": {
"description": "Сумма операции в баллах Плюса",
"example": "123.45",
"format": "double",
"type": "string"
},
"reason": {
"description": "Причина ошибки",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Дата и время обновления операции (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
}
},
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v1/orders/{order_id}/cancel",
"tags": [
"order"
]
}
},
"/api/merchant/v1/orders/{order_id}/refund": {
"post": {
"deprecated": true,
"description": "{% note warning %}\n\nЭтот метод устарел. Используйте новую версию [v2/orders/{order_id}/refund](./merchant_v2_refund-post.md).\n\n{% endnote %}\n\nЗапрос на возврат средств за заказ.\n\nДоступно только для платежей в статусе `CAPTURED` и `PARTIALLY_REFUNDED`.\nВ случае успеха статус платежа изменится на `REFUNDED` или `PARTIALLY_REFUNDED` в зависимости от суммы\nи будет отправлено событие `ORDER_STATUS_UPDATED`.\nСобытие `OPERATION_STATUS_UPDATED` будет отправлено как в случае успеха, так и при возникновении ошибки\nв процессе совершения возврата.\n\nВ запросе нужно передать итоговую корзину предоставляемых товаров и услуг.\nИтоговая корзина должна формироваться из текущей корзины исключением некоторых позиций,\nлибо корректировкой стоимости имеющихся позиций, по которым производился возврат.\nСумма корзины должна совпадать с текущей суммой платежа за вычетом суммы возврата.\n\n{% note info %}\n\nСумма возврата не может быть менее 1 рубля,\nпосле частичного возврата оставшаяся сумма корзины не может быть менее 1 рубля\n\n{% endnote %}",
"operationId": "merchant_v1_refund-post",
"parameters": [
{
"description": "ID заказа на стороне продавца, который был передан в ответе на /orders.",
"in": "path",
"name": "order_id",
"required": true,
"schema": {
"maxLength": 2048,
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "Внутренний идентификатор корзины на стороне Яндекс Пэй.",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Купоны, применённые к корзине",
"items": {
"properties": {
"description": {
"description": "Описание. Например, \"Скидка 3%\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Код купона",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Скидки, применённые к корзине",
"items": {
"properties": {
"amount": {
"description": "Сумма скидки",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Текстовое описание",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Идентификатор скидки в системе мерчанта",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Идентификатор корзины на стороне продавца.",
"maxLength": 2048,
"type": "string"
},
"items": {
"items": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
},
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Размеры и вес товара. Обязательно для товара типа `PHYSICAL`"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Тип товара. Важен для интеграции с доставками",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"properties": {
"amount": {
"description": "Стоимость корзины с учетом всех скидок.",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Итоговая корзина"
},
"externalOperationId": {
"description": "Идентификатор операции в системе продавца",
"maxLength": 2048,
"type": "string"
},
"orderAmount": {
"description": "Итоговая сумма заказа. Равна `cart.total.amount` + `shipping.amount`",
"example": "123.45",
"format": "double",
"type": "string"
},
"refundAmount": {
"description": "Сумма к возврату. Минимальная сумма возврата — 1 рубль.",
"example": "123.45",
"format": "double",
"type": "string"
},
"shipping": {
"properties": {
"amount": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"methodType": {
"enum": [
"DIRECT",
"PICKUP",
"COURIER",
"YANDEX_DELIVERY"
],
"type": "string"
}
},
"required": [
"amount",
"methodType"
],
"type": "object"
}
},
"required": [
"orderAmount",
"refundAmount"
],
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"operation": {
"properties": {
"amount": {
"description": "Сумма операции в фиатной валюте",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Дата и время создания операции (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Идентификатор операции на стороне продавца",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"description": "Уникальный идентификатор заказа на стороне продавца.\n\nИспользуется:\n- как ключ идемпотентности;\n- для дальнейшего взаимодействия по заказу и платежу;\n- в сверках.",
"maxLength": 2048,
"type": "string"
},
"params": {
"description": "Дополнительные параметры операции. Список полей отличается в зависимости от типа операции.\n\nПри возврате сохраняются `motive`, `branchId` и `managerId`, которые вы указали в запросе [/refund](../order/merchant_v2_refund-post.md):\n\n```json\n{\n \"params\": {\n \"motive\": \"Товар не устроил\", // причина возврата\n \"branch_id\": \"42\", // идентификатор точки продаж\n \"manager_id\": \"12345\" // идентификатор менеджера\n }\n}\n```\n\nПри отмене сохраняется `reason`, который вы указали в запросе [/cancel](../order/merchant_v1_cancel-post.md):\n\n```json\n{\n \"params\": {\n \"cancel_reason\": \"Покупатель отказался\" // причина отмены\n }\n}\n```",
"type": "object"
},
"pointsAmount": {
"description": "Сумма операции в баллах Плюса",
"example": "123.45",
"format": "double",
"type": "string"
},
"reason": {
"description": "Причина ошибки",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Дата и время обновления операции (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
}
},
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v1/orders/{order_id}/refund",
"tags": [
"order"
]
}
},
"/api/merchant/v2/orders/{order_id}/refund": {
"post": {
"description": "Запрос на возврат средств за заказ.\n\nМетод является асинхронным.\n\n## Схема процесса возврата {#refund-diagram}\n\n\n\n## Ограничения {#refund-constraints}\n\nВы можете сделать [полный или частичный возврат](#refund-types) платежа.\n\n{% note warning \"Нельзя оформить возврат, если:\" %}\n\n- сумма возврата меньше 1 рубля;\n- после возврата в заказе останется меньше 1 рубля.\n\n{% endnote %}\n\nВозвраты доступны для [платежей](../order/merchant_v1_order-get#basemerchantapiorder) в одном из статусов `paymentStatus`:\n\n- `CAPTURED` — заказ успешно оплачен, средства списаны со счета плательщика;\n- `PARTIALLY_REFUNDED` — совершен частичный возврат средств за заказ.\n\nПосле успешного выполнения возврата статус платежа `paymentStatus` изменится:\n\n- на `REFUNDED`, если был произведен полный возврат;\n- на `PARTIALLY_REFUNDED`, если после совершения возврата в заказе остались товары.\n\nСумма возвратов за текущий день будет удержана на следующий рабочий день из выплаты партнеру за заказ.\n\n**Пример:** в вашем магазине совершен заказ на 1000 рублей и сделан возврат на 200 рублей. На следующий рабочий день вы получите выплату 800 рублей (1000 − 200).\n\n{% note warning \"Нельзя одновременно проводить несколько возвратов по одному заказу.\" %}\n\nПеред отправкой повторного запроса проверьте, что текущая операция возврата завершена: `status` должен быть `SUCCESS` или `FAIL`.\n\nИначе вы получите ответ `409 Conflict` c ошибкой `ANOTHER_OPERATION_IN_PROGRESS`.\n\n{% endnote %}\n\nОтслеживать изменения статуса возврата можно через нотификации [/webhook](../../merchant-api/webhook.md), а также с помощью запросов:\n\n- [/operations/{external_operation_id}/](../operation/merchant_v1_operations-get.md)\n- [/order/{order_id}/](../order/merchant_v1_order-get.md)\n\n### Примеры проверки статуса возврата {#refund-status-examples}\n\nС помощью метода [/operations/{external_operation_id}/](../operation/merchant_v1_operations-get.md) по `externalOperationId` можно проверить состояние текущего возврата.\n\nВ примере ниже операция не завершена — `\"status\": \"PENDING\"`. Нельзя отправить повторный запрос на возврат.\n\n{% cut \"Пример ответа\" %}\n\n```json\n{\n \"code\": 200,\n \"status\": \"success\",\n \"data\": {\n \"operation\": {\n \"operationId\": \"52b3c4a8-528b-45eb-a57f-8f808f65d28f\",\n \"operationType\": \"REFUND\",\n \"orderId\": \"OrderS-2038\",\n \"amount\": \"250.00\",\n \"pointsAmount\": null,\n \"status\": \"PENDING\", // возврат в процессе\n \"reason\": null,\n \"params\": { \"motive\": null, \"branch_id\": null, \"manager_id\": null },\n \"externalOperationId\": \"OrderS-2038\",\n \"created\": \"2025-03-14T14:58:45.850206+03:00\",\n \"updated\": \"2025-03-14T14:58:45.850206+03:00\"\n }\n }\n}\n```\n\n{% endcut %}\n\nС помощью метода [/operations/{external_operation_id}/](../operation/merchant_v1_operations-get.md) можно проверить все детали заказа.\n\nВ примере ниже операция возврата завершена успешно — `\"status\": \"SUCCESS\"`, а платеж в статусе `\"paymentStatus\": \"PARTIALLY_REFUNDED\"`. Можно отправить повторный запрос на возврат.\n\n{% cut \"Пример ответа\" %}\n\n```json\n{\n \"code\": 200,\n \"status\": \"success\",\n \"data\": {\n \"operations\": [\n {\n \"operationId\": \"52b3c4a8-528b-45eb-a57f-8f808f65d28f\",\n \"operationType\": \"REFUND\",\n \"orderId\": \"OrderS-2038\",\n \"amount\": \"250.00\",\n \"status\": \"SUCCESS\", // возврат успешно завершен\n \"reason\": null,\n \"params\": { \"motive\": null, \"branch_id\": null, \"manager_id\": null },\n \"externalOperationId\": \"OrderS-2038\",\n \"created\": \"2025-03-14T14:58:45.850206+03:00\",\n \"updated\": \"2025-03-14T14:58:46.084886+03:00\",\n \"approvalCode\": null\n },\n {\n \"operationId\": \"9c763cfb-dcf6-4056-be8f-ca9e2e61d772\",\n \"operationType\": \"AUTHORIZE\",\n \"orderId\": \"OrderS-2038\",\n \"amount\": \"500.00\",\n \"status\": \"SUCCESS\",\n \"reason\": null,\n \"params\": {},\n \"externalOperationId\": null,\n \"created\": \"2025-03-14T14:58:07.161667+03:00\",\n \"updated\": \"2025-03-14T14:58:07.414886+03:00\",\n \"approvalCode\": null\n }\n ],\n \"order\": {\n \"currencyCode\": \"RUB\",\n \"cart\": {\n \"items\": [\n {\n \"productId\": \"p2\",\n \"quantity\": { \"count\": \"1\", \"available\": null, \"label\": null },\n \"type\": \"UNSPECIFIED\",\n \"title\": \"Яндекс.Станция Мини\",\n \"description\": null,\n \"total\": \"250\",\n \"subtotal\": null,\n \"discountedUnitPrice\": \"250\",\n \"unitPrice\": null,\n \"measurements\": null,\n \"receipt\": null,\n \"finalPrice\": \"250\",\n \"pointsAmount\": null,\n \"features\": null\n }\n ],\n \"total\": { \"amount\": \"250\", \"pointsAmount\": null, \"label\": null },\n \"cartId\": \"1eed9a9827e68ba8981d9961c1237624fabc19cda05044b574e06302e83c7549\",\n \"externalId\": null,\n \"coupons\": null,\n \"discounts\": null,\n \"measurements\": null\n },\n \"merchantId\": \"76cc0f5c-91c4-40f2-9794-64a64c3c6011\",\n \"orderAmount\": \"250.00\",\n \"orderId\": \"OrderS-2038\",\n \"paymentMethod\": { \"methodType\": \"CARD\", \"cardLast4\": \"0412\", \"cardNetwork\": \"MASTERCARD\" },\n \"shippingMethod\": null,\n \"metadata\": null,\n \"created\": \"2025-03-14T14:58:03.699930+03:00\",\n \"updated\": \"2025-03-14T14:58:46.084886+03:00\",\n \"paymentStatus\": \"PARTIALLY_REFUNDED\", // платеж частично возвращен\n \"reason\": null,\n \"paymentUrl\": \"https://`[`sandbox.pay.ya.ru`](http://sandbox.pay.ya.ru)`/l/I1RnP9\",\n \"isPrepayment\": false,\n \"splitCode\": null\n },\n \"delivery\": null\n }\n}\n```\n\n{% endcut %}\n\n## Виды возвратов {#refund-types}\n\nДоступен полный или частичный возврат платежа.\n\nДля выполнения **полного** возврата передайте только `refundAmount`, равный сумме заказа.\n\nДля выполнения **частичного** передайте `refundAmount`, равный сумме возврата, и добавьте корзину предоставляемых товаров и услуг. Сформировать корзину можно одним из способов:\n\n- Способ 1: Указать состояние корзины после возврата.\n\n Используйте поле `targetCart` — целевая корзина, которая должна остаться у покупателя после выполнения возврата. Если это поле не указано, то считается, что корзина возвращается полностью.\n\n Поле `targetShipping` применимо только к Yandex Pay Checkout.\n В остальных случаях следует оставить это поле пустым. Если это поле не указано, то считается, что стоимость доставки возвращается полностью.\n\n- Способ 2: Указать возвращаемые товары.\n\n Используйте поле `refundCart` — данные о возвращаемых позициях: количество единиц товара для возврата или сумма,\n на которую нужно уменьшить стоимость конкретного товара. Если поле не указано, возврат осуществляется на всю корзину.\n\n{% note info %}\n\nПри использовании `refundCart` указывайте идентификатор операции `externalOperationId`. Он служит токеном идемпотентности и позволяет избежать риска повторных возвратов.\n\n{% endnote %}\n\n## Примеры возвратов {#refund-examples}\n\nРассмотрим на примере заказа с `orderId = Order-123` и следующей корзиной:\n\n```json\n{\n \"items\": [\n {\n \"productId\": \"id-1\",\n \"price\": \"50\",\n \"title\": \"Шариковая ручка\",\n \"quantity\": {\n \"count\": \"10\"\n }\n },\n {\n \"productId\": \"id-2\",\n \"price\": \"200\",\n \"title\": \"Блокнот\",\n \"quantity\": {\n \"count\": \"2\"\n }\n }\n ]\n}\n```\n\n### Полный возврат {#refund-examples-full}\n\n{% list tabs %}\n\n- httpie\n\n ```(bash)\n http POST https://sandbox.pay.yandex.ru/api/merchant/v2/orders/Order-123/refund \\\n \"Authorization: Api-Key ${API_KEY}\" 'refundAmount:=\"900.00\"'\n ```\n\n{% endlist %}\n\n### Частичный возврат {#refund-examples-partial}\n\n#### Возврат единиц товара {#single-item}\n\nДопустим, необходимо вернуть две шариковые ручки. Это делается следующим запросом:\n\n{% list tabs %}\n\n- httpie\n\n ```(bash)\n http POST https://sandbox.pay.yandex.ru/api/merchant/v2/orders/Order-123/refund \\\n \"Authorization: Api-Key ${API_KEY}\" \\\n 'targetCart[items][0]:={\"productId\": \"id-1\", \"quantityCount\": \"8\"}' \\\n 'targetCart[items][1]:={\"productId\": \"id-2\", \"quantityCount\": \"2\"}' \\\n 'refundAmount:=\"100.00\"'\n ```\n\n{% endlist %}\n\nВ этом примере:\n\n- Количество шариковых ручек уменьшилось на 2, с 10 до 8 единиц.\n- Поле `price` в запросе пропущено, но его вполне допустимо указать.\n- `quantityCount` у позиции с блокнотом не изменилось, его можно было не указывать.\n\n#### Возврат части денег {#price-update}\n\nДопустим, необходимо вернуть 30 рублей за каждый из блокнотов. Это достигается путем уменьшения цены позиции.\n\n{% list tabs %}\n\n- httpie\n\n ```(bash)\n http POST https://sandbox.pay.yandex.ru/api/merchant/v2/orders/Order-123/refund \\\n \"Authorization: Api-Key ${API_KEY}\" \\\n 'targetCart[items]:=[{\"productId\": \"id-1\"}, {\"productId\": \"id-2\", \"price\": \"170\"}]' \\\n 'refundAmount:=\"60.00\"'\n ```\n\n{% endlist %}\n\nВ этом примере:\n\n- Цена блокнота уменьшилась на 30 рублей, с 200 до 170 рублей;\n- Таким образом, производится возврат 60 рублей, поскольку блокнотов было два.\n- `quantityCount` не указаны, но вполне допустимо указать их прежние значения.\n\n#### Возврат c указанием количества возвращаемого товара {#single-item-refund-cart}\n\nДопустим, необходимо вернуть две шариковые ручки. Это делается следующим запросом:\n\n{% list tabs %}\n\n- httpie\n\n ```(bash)\n http POST https://sandbox.pay.yandex.ru/api/merchant/v2/orders/Order-123/refund \\\n \"Authorization: Api-Key ${API_KEY}\" \\\n 'refundCart[items][0]:={\"productId\": \"id-1\", \"quantityCount\": \"2\"}' \\\n 'refundAmount:=\"100.00\"'\n ```\n\n{% endlist %}\n\nВ этом примере:\n\n- Количество шариковых ручек уменьшилось на 2, с 10 до 8 единиц.\n- Поле `price` в запросе пропущено, но его вполне допустимо было указать.\n\n#### Возврат с указанием, какую часть от стоимости товара необходимо вернуть {#price-update-refund-cart}\n\nДопустим, необходимо вернуть 30 рублей за каждый из блокнотов. Это достигается путем уменьшения цены позиции.\n\n{% list tabs %}\n\n- httpie\n\n ```(bash)\n http POST https://sandbox.pay.yandex.ru/api/merchant/v2/orders/Order-123/refund \\\n \"Authorization: Api-Key ${API_KEY}\" \\\n 'refundCart[items]:=[{\"productId\": \"id-1\"}, {\"productId\": \"id-2\", \"price\": \"30\"}]' \\\n 'refundAmount:=\"60.00\"'\n ```\n\n{% endlist %}\n\nВ этом примере:\n\n- Цена блокнота уменьшилась на 30, с 200 рублей до 170 рублей.\n- Таким образом, производится возврат 60 рублей, поскольку блокнотов было два.\n- `quantityCount` не указаны, но вполне допустимо указать их прежние значения.",
"operationId": "merchant_v2_refund-post",
"parameters": [
{
"description": "ID заказа на стороне продавца, который был передан в ответе на /orders.",
"in": "path",
"name": "order_id",
"required": true,
"schema": {
"maxLength": 2048,
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"branchId": {
"description": "Идентификатор точки продаж",
"maxLength": 2048,
"type": "string"
},
"externalOperationId": {
"description": "Идентификатор операции возврата в системе продавца. Должен быть уникальным.\n\nПередайте этот параметр, чтобы получить возможность отслеживать состояние операции возврата через метод [operations/{external_operation_id}](../operation/merchant_v1_operations-get).\n\nЕсли операция не завершена (обрабатывается или остановлена), то повторный вызов метода возврата с такими же аргументами и таким же значением `externalOperationId` будет идемпотентным: в ответе вернется та же операция. Иначе вернется ошибка.\n\nЕсли процесс возврата был успешно запущен, то повторный вызов метода возврата с тем же `externalOperationId` вернет ошибку с \"reasonCode\": \"DUPLICATE_EXTERNAL_OPERATION_ID\".",
"maxLength": 2048,
"type": "string"
},
"managerId": {
"description": "Идентификатор менеджера",
"maxLength": 2048,
"type": "string"
},
"motive": {
"description": "Причина возврата",
"maxLength": 2048,
"type": "string"
},
"refundAmount": {
"description": "Сумма к возврату. Минимальная сумма возврата — 1 рубль.",
"example": "123.45",
"format": "double",
"type": "string"
},
"refundCart": {
"allOf": [
{
"properties": {
"items": {
"items": {
"properties": {
"price": {
"description": "Цена одной единицы товара/услуги после выполнения операции.\nНеобходимо указать, если цена одной единицы уменьшается в результате операции.\nЭто может быть полезным, если необходимо вернуть часть денег за товар или подтверждении заказа.\nЕсли не указывать это поле в запросе, то считается, что цена осталась прежней.",
"example": "123.45",
"format": "double",
"type": "string"
},
"productId": {
"description": "Идентификатор позиции в корзине на момент создания заказа.\nЕсли передать идентификатор, которого не было в первоначальной корзине - произойдёт ошибка.",
"maxLength": 2048,
"type": "string"
},
"quantityCount": {
"description": "Количество единиц товара для операции возврата.\n\nЗначение зависит от используемой корзины:\n- если `targetCart`, то `quantityCount` — остаток товара после возврата (было 5 единиц товара, указали 3 → вернется 2);\n- если `refundCart`, то `quantityCount` — количество возвращаемых товаров (было 5 единиц товара, указали 3 → вернется 3).\nЕсли поле не указано, количество товара не меняется.",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
],
"description": "Описывает позиции корзины, которые нужно вернуть.\nНе может быть указано одновременно с полем `targetCart`.\nВместе с этим параметром желательно передавать идентификатор операции `externalOperationId`, так как он является токеном идемпотентности."
},
"targetCart": {
"allOf": [
{
"properties": {
"items": {
"items": {
"properties": {
"price": {
"description": "Цена одной единицы товара/услуги после выполнения операции.\nНеобходимо указать, если цена одной единицы уменьшается в результате операции.\nЭто может быть полезным, если необходимо вернуть часть денег за товар или подтверждении заказа.\nЕсли не указывать это поле в запросе, то считается, что цена осталась прежней.",
"example": "123.45",
"format": "double",
"type": "string"
},
"productId": {
"description": "Идентификатор позиции в корзине на момент создания заказа.\nЕсли передать идентификатор, которого не было в первоначальной корзине - произойдёт ошибка.",
"maxLength": 2048,
"type": "string"
},
"quantityCount": {
"description": "Количество единиц товара для операции возврата.\n\nЗначение зависит от используемой корзины:\n- если `targetCart`, то `quantityCount` — остаток товара после возврата (было 5 единиц товара, указали 3 → вернется 2);\n- если `refundCart`, то `quantityCount` — количество возвращаемых товаров (было 5 единиц товара, указали 3 → вернется 3).\nЕсли поле не указано, количество товара не меняется.",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
],
"description": "Описывает итоговое состояние корзины после выполнения возврата.\nЕсли это поле не указано, то считается, что корзина возвращается полностью.Не может быть указано одновременно с полем `refundCart`."
},
"targetShipping": {
"allOf": [
{
"properties": {
"amount": {
"description": "Стоимость доставки после выполнения операции",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"type": "object"
}
],
"description": "Применимо только к Yandex Pay Checkout. В остальных случаях следует оставить это поле пустым.\n\nОписывает итоговое состояние доставки после выполнения возврата.\nЕсли это поле не указано или равно `null`, то считается, что стоимость доставки возвращается полностью."
}
},
"required": [
"refundAmount"
],
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"operation": {
"properties": {
"amount": {
"description": "Сумма операции в фиатной валюте",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Дата и время создания операции (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Идентификатор операции на стороне продавца",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"description": "Уникальный идентификатор заказа на стороне продавца.\n\nИспользуется:\n- как ключ идемпотентности;\n- для дальнейшего взаимодействия по заказу и платежу;\n- в сверках.",
"maxLength": 2048,
"type": "string"
},
"params": {
"description": "Дополнительные параметры операции. Список полей отличается в зависимости от типа операции.\n\nПри возврате сохраняются `motive`, `branchId` и `managerId`, которые вы указали в запросе [/refund](../order/merchant_v2_refund-post.md):\n\n```json\n{\n \"params\": {\n \"motive\": \"Товар не устроил\", // причина возврата\n \"branch_id\": \"42\", // идентификатор точки продаж\n \"manager_id\": \"12345\" // идентификатор менеджера\n }\n}\n```\n\nПри отмене сохраняется `reason`, который вы указали в запросе [/cancel](../order/merchant_v1_cancel-post.md):\n\n```json\n{\n \"params\": {\n \"cancel_reason\": \"Покупатель отказался\" // причина отмены\n }\n}\n```",
"type": "object"
},
"pointsAmount": {
"description": "Сумма операции в баллах Плюса",
"example": "123.45",
"format": "double",
"type": "string"
},
"reason": {
"description": "Причина ошибки",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Дата и время обновления операции (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
}
},
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v2/orders/{order_id}/refund",
"tags": [
"order"
]
}
},
"/api/merchant/v1/orders/{order_id}/capture": {
"post": {
"description": "Запрос на списание средств за заказ.\n\nСписание заблокированных средств. Доступно только для платежей в статусе `AUTHORIZED`.\nПри успешном результате запроса статус платежа изменится на `CAPTURED`.\n\nВ случае передачи суммы подтверждения меньшей, чем оригинальная, оставшаяся часть платежа будет возвращена.\nВ данном случае нужно передать итоговую корзину предоставляемых товаров и услуг.\nИтоговая корзина должна формироваться из текущей корзины исключением некоторых позиций,\nпо которым производился возврат.",
"operationId": "merchant_v1_capture-post",
"parameters": [
{
"description": "ID заказа на стороне продавца, который был передан в ответе на /orders.",
"in": "path",
"name": "order_id",
"required": true,
"schema": {
"maxLength": 2048,
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "Внутренний идентификатор корзины на стороне Яндекс Пэй.",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Купоны, применённые к корзине",
"items": {
"properties": {
"description": {
"description": "Описание. Например, \"Скидка 3%\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Код купона",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Скидки, применённые к корзине",
"items": {
"properties": {
"amount": {
"description": "Сумма скидки",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Текстовое описание",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Идентификатор скидки в системе мерчанта",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Идентификатор корзины на стороне продавца.",
"maxLength": 2048,
"type": "string"
},
"items": {
"items": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
},
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Размеры и вес товара. Обязательно для товара типа `PHYSICAL`"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Тип товара. Важен для интеграции с доставками",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"properties": {
"amount": {
"description": "Стоимость корзины с учетом всех скидок.",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Итоговая корзина"
},
"externalOperationId": {
"description": "Идентификатор операции",
"maxLength": 2048,
"type": "string"
},
"orderAmount": {
"description": "Сумма к списанию. Если не указана, будет списана итоговая стоимость переданной корзины",
"example": "123.45",
"format": "double",
"type": "string"
},
"shipping": {
"allOf": [
{
"properties": {
"amount": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"methodType": {
"enum": [
"DIRECT",
"PICKUP",
"COURIER",
"YANDEX_DELIVERY"
],
"type": "string"
}
},
"required": [
"amount",
"methodType"
],
"type": "object"
}
],
"description": "Итоговый способ доставки"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"operation": {
"properties": {
"amount": {
"description": "Сумма операции в фиатной валюте",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Дата и время создания операции (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Идентификатор операции на стороне продавца",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"description": "Уникальный идентификатор заказа на стороне продавца.\n\nИспользуется:\n- как ключ идемпотентности;\n- для дальнейшего взаимодействия по заказу и платежу;\n- в сверках.",
"maxLength": 2048,
"type": "string"
},
"params": {
"description": "Дополнительные параметры операции. Список полей отличается в зависимости от типа операции.\n\nПри возврате сохраняются `motive`, `branchId` и `managerId`, которые вы указали в запросе [/refund](../order/merchant_v2_refund-post.md):\n\n```json\n{\n \"params\": {\n \"motive\": \"Товар не устроил\", // причина возврата\n \"branch_id\": \"42\", // идентификатор точки продаж\n \"manager_id\": \"12345\" // идентификатор менеджера\n }\n}\n```\n\nПри отмене сохраняется `reason`, который вы указали в запросе [/cancel](../order/merchant_v1_cancel-post.md):\n\n```json\n{\n \"params\": {\n \"cancel_reason\": \"Покупатель отказался\" // причина отмены\n }\n}\n```",
"type": "object"
},
"pointsAmount": {
"description": "Сумма операции в баллах Плюса",
"example": "123.45",
"format": "double",
"type": "string"
},
"reason": {
"description": "Причина ошибки",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Дата и время обновления операции (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
}
},
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v1/orders/{order_id}/capture",
"tags": [
"order"
]
}
},
"/api/merchant/v1/orders/{order_id}/rollback": {
"post": {
"description": "Прерывание оплаты продавцом путем аннулирования платежной ссылки. Запрещает дальнейшую оплату заказа.\n\nКогда использовать:\n- покупатель хочет оплатить другим способом;\n- нужна новая ссылка на оплату.\n\nЕсли заказ успел оплатиться, то метод произведет полный возврат средств. В реестрах такая операция отразится как возврат, но в нем не будет идентификатора операции `externalOperationId` — вы не сможете получить детали через метод [/operations/{external_operation_id}](../operation/merchant_v1_operations-get).\n\nПоэтому используйте [/rollback](./merchant_v1_rollback-post.md) только для прерывания оплаты, а [/refund](./merchant_v2_refund-post.md) — для возврата денег.\n\n## Статусы {#statuses}\n\nМетод доступен для платежей в любом статусе. Целевое использование — до завершения оплаты, в статусе `PENDING`.\n\nВ случае успеха статус платежа изменится на `FAILED`.\n\n## Сравнение /rollback, /refund и /cancel\n\nПодробнее см. в разделе [Возврат платежей](../../../refund-payments.md).\n\n#|
|| **Метод** | [/rollback](./merchant_v1_rollback-post.md) | [/refund](./merchant_v2_refund-post.md) | [/cancel](./merchant_v1_cancel-post.md) ||
||
**Описание**
|
Прерывание оплаты продавцом путем аннулирования платежной ссылки.
|
Полный или частичный возврат средств.
|
Отмена блокировки средств на счете плательщика.
Используется только в двухстадийных платежах.
||
||
**Доступен в статусах**
|
Доступен в любом статусе. Целевое использование — до завершения оплаты, в статусе `PENDING`.
|
`CAPTURED` — заказ успешно оплачен, средства списаны со счета плательщика.
`PARTIALLY_REFUNDED` — совершен частичный возврат средств.
|
`AUTHORIZED` — средства заблокированы на счете плательщика, но не списаны методом [/capture](./merchant_v1_capture-post.md).
||
||
**Переводит в статус**
|
`FAILED` — оплата не прошла.
|
`REFUNDED` — совершен полный возврат средств.
`PARTIALLY_REFUNDED` — совершен частичный возврат средств. В заказе остались товары.
|
`VOIDED` — оплата отменена продавцом до списания средств.
||
|#",
"operationId": "merchant_v1_rollback-post",
"parameters": [
{
"description": "ID заказа на стороне продавца, который был передан в ответе на /orders.",
"in": "path",
"name": "order_id",
"required": true,
"schema": {
"maxLength": 2048,
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v1/orders/{order_id}/rollback",
"tags": [
"order"
]
}
},
"/api/merchant/v1/orders/{order_id}/submit": {
"post": {
"description": "Запрос на подтверждение оплаты для Сплита с оплатой при получении.\n\nДоступно для платежей в статусе `CONFIRMED`. При успешном результате запроса статус изменится на `CAPTURED`.\n\nЕсли состав корзины на этапе подтверждения заказа отличается от состава корзины на этапе оформления,\nпередайте новые значения для полей `cart` и `orderAmount`.",
"operationId": "merchant_v1_submit-post",
"parameters": [
{
"description": "ID заказа на стороне продавца, который был передан в ответе на /orders.",
"in": "path",
"name": "order_id",
"required": true,
"schema": {
"maxLength": 2048,
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "Внутренний идентификатор корзины на стороне Яндекс Пэй.",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Купоны, применённые к корзине",
"items": {
"properties": {
"description": {
"description": "Описание. Например, \"Скидка 3%\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Код купона",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Скидки, применённые к корзине",
"items": {
"properties": {
"amount": {
"description": "Сумма скидки",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Текстовое описание",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Идентификатор скидки в системе мерчанта",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Идентификатор корзины на стороне продавца.",
"maxLength": 2048,
"type": "string"
},
"items": {
"items": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
},
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Размеры и вес товара. Обязательно для товара типа `PHYSICAL`"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Тип товара. Важен для интеграции с доставками",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Высота, в метрах",
"format": "float",
"type": "number"
},
"length": {
"description": "Длина, в метрах",
"format": "float",
"type": "number"
},
"weight": {
"description": "Вес, в килограммах",
"format": "float",
"type": "number"
},
"width": {
"description": "Ширина, в метрах",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"properties": {
"amount": {
"description": "Стоимость корзины с учетом всех скидок.",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Итоговая корзина"
},
"externalOperationId": {
"description": "Идентификатор операции в системе продавца",
"maxLength": 2048,
"type": "string"
},
"orderAmount": {
"description": "Итоговая сумма заказа. Равна `cart.total.amount`.\n\nЯвляется обязательным полем, если передается `cart`.",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"externalOperationId"
],
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"operation": {
"properties": {
"amount": {
"description": "Сумма операции в фиатной валюте",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Дата и время создания операции (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Идентификатор операции на стороне продавца",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"description": "Уникальный идентификатор заказа на стороне продавца.\n\nИспользуется:\n- как ключ идемпотентности;\n- для дальнейшего взаимодействия по заказу и платежу;\n- в сверках.",
"maxLength": 2048,
"type": "string"
},
"params": {
"description": "Дополнительные параметры операции. Список полей отличается в зависимости от типа операции.\n\nПри возврате сохраняются `motive`, `branchId` и `managerId`, которые вы указали в запросе [/refund](../order/merchant_v2_refund-post.md):\n\n```json\n{\n \"params\": {\n \"motive\": \"Товар не устроил\", // причина возврата\n \"branch_id\": \"42\", // идентификатор точки продаж\n \"manager_id\": \"12345\" // идентификатор менеджера\n }\n}\n```\n\nПри отмене сохраняется `reason`, который вы указали в запросе [/cancel](../order/merchant_v1_cancel-post.md):\n\n```json\n{\n \"params\": {\n \"cancel_reason\": \"Покупатель отказался\" // причина отмены\n }\n}\n```",
"type": "object"
},
"pointsAmount": {
"description": "Сумма операции в баллах Плюса",
"example": "123.45",
"format": "double",
"type": "string"
},
"reason": {
"description": "Причина ошибки",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Дата и время обновления операции (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
}
},
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v1/orders/{order_id}/submit",
"tags": [
"order"
]
}
},
"/api/merchant/v1/operations/{external_operation_id}": {
"get": {
"description": "Запрос на получение деталей операций авторизации, списания, возврата или отмены платежа.",
"operationId": "merchant_v1_operations-get",
"parameters": [
{
"description": "Идентификатор операции на стороне продавца",
"in": "path",
"name": "external_operation_id",
"required": true,
"schema": {
"maxLength": 2048,
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"operation": {
"properties": {
"amount": {
"description": "Сумма операции в фиатной валюте",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Дата и время создания операции (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Идентификатор операции на стороне продавца",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"description": "Уникальный идентификатор заказа на стороне продавца.\n\nИспользуется:\n- как ключ идемпотентности;\n- для дальнейшего взаимодействия по заказу и платежу;\n- в сверках.",
"maxLength": 2048,
"type": "string"
},
"params": {
"description": "Дополнительные параметры операции. Список полей отличается в зависимости от типа операции.\n\nПри возврате сохраняются `motive`, `branchId` и `managerId`, которые вы указали в запросе [/refund](../order/merchant_v2_refund-post.md):\n\n```json\n{\n \"params\": {\n \"motive\": \"Товар не устроил\", // причина возврата\n \"branch_id\": \"42\", // идентификатор точки продаж\n \"manager_id\": \"12345\" // идентификатор менеджера\n }\n}\n```\n\nПри отмене сохраняется `reason`, который вы указали в запросе [/cancel](../order/merchant_v1_cancel-post.md):\n\n```json\n{\n \"params\": {\n \"cancel_reason\": \"Покупатель отказался\" // причина отмены\n }\n}\n```",
"type": "object"
},
"pointsAmount": {
"description": "Сумма операции в баллах Плюса",
"example": "123.45",
"format": "double",
"type": "string"
},
"reason": {
"description": "Причина ошибки",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Дата и время обновления операции (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
}
},
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v1/operations/{external_operation_id}",
"tags": [
"operation"
]
}
},
"/api/merchant/v1/subscriptions": {
"post": {
"description": "Запрос на создание подписки.\n\nИспользуется для создания подписки и получения ссылки для ее оформления.",
"operationId": "merchant_v1_subscriptions-post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"cart": {
"allOf": [
{
"description": "{% note info %}\n\nСтоимость доставки передавайте в `items` как отдельный товар.\n\n{% endnote %}",
"properties": {
"externalId": {
"description": "Идентификатор корзины на стороне продавца.",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Корзина товаров, которую оплачивает покупатель.",
"items": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity",
"title",
"total"
],
"type": "object"
},
"type": "array"
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Стоимость корзины с учетом всех скидок.",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"description": "Итоговая информация о стоимости заказа."
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Корзина"
},
"currencyCode": {
"description": "Трехбуквенный код валюты заказа (ISO 4217)",
"enum": [
"RUB",
"UZS"
],
"maxLength": 2048,
"type": "string"
},
"futureWriteOffAmount": {
"description": "Сумма, которую будет списана в будущем",
"example": "123.45",
"format": "double",
"type": "string"
},
"intervalCount": {
"description": "Количество периодов подписки в единицах времени, указанных в `intervalUnit`.\n\nНапример, для подписки в 6 месяцев укажите: `intervalUnit: 'MONTH'`, `intervalCount: 6`.\n\nОбязательно, если не указан параметр `isBinding=True`.",
"example": "6",
"format": "int32",
"type": "integer"
},
"intervalUnit": {
"description": "Единица времени, в которой будет периодичность подписки.\n\nОбязательно, если не указан параметр `isBinding=True`.",
"enum": [
"SECOND",
"DAY",
"WEEK",
"MONTH",
"YEAR",
null
],
"type": "string"
},
"isBinding": {
"default": false,
"description": "Позволяет привязать карту пользователя без сформированной корзины товаров\n\nЕсли во время первого списания нужна только привязка карты, передайте в запросе параметр isBinding=true.\n\nКорзину и периодичность подписки в данном сценарии передавать не нужно.",
"type": "boolean"
},
"metadata": {
"description": "Произвольные данные по заказу для внутреннего использования",
"maxLength": 2048,
"type": "string"
},
"orderId": {
"description": "Уникальный идентификатор заказа на стороне продавца.\n\nИспользуется:\n- как ключ идемпотентности;\n- для дальнейшего взаимодействия по заказу и платежу;\n- в сверках.",
"maxLength": 2048,
"type": "string"
},
"orderSource": {
"default": null,
"description": "Поверхность на который инициализацировали создание заказа\n\nНеобходимо для последующей аналитики\n\n---\n\n**WEBSITE**: Кнопка размещена на сайте. Ссылка на оплату сформировалась после действий (нажатия кнопки) пользователя на сайте\n\n**APP**: Кнопка размещена в мобильном приложении. Ссылка на оплату сформировалась после действий (нажатия кнопки) пользователя в приложении\n\n**CRM**: Ссылка на оплату сформирована менеджером в CRM или другой админке\n\n**CASH_REGISTER**: Ссылка на оплату сформирована для отображения на оффлайн-кассе\n\n**CMS_PLUGIN**: Ссылка на оплату сформирована в плагине для CMS\n\n**TV**: Ссылка на оплату сформирована для отображения на ТВ-платформе",
"enum": [
"WEBSITE",
"APP",
"CRM",
"CASH_REGISTER",
"CMS_PLUGIN",
"TV"
],
"type": "string"
},
"purpose": {
"description": "Назначение платежа",
"maxLength": 1000,
"type": "string"
},
"redirectUrls": {
"allOf": [
{
"description": "{% note info %}\n\nВ мобильных интеграциях, использующих [App Link](../../../android-sdk/app-link-debugging.md) и [Universal Link](../../../ios-sdk/universal-link-debugging.md), в поле `redirectUrls` можно указать базовый URL сайта.\n\n{% endnote %}",
"properties": {
"onAbort": {
"description": "Ссылка для переадресации пользователя в случае отмены процесса оплаты. Отмену оплаты осуществляет пользователь на форме для оплаты.",
"maxLength": 2048,
"type": "string"
},
"onError": {
"description": "Обязательное поле только для онлайн-магазинов. Ссылка для переадресации пользователя в случае возникновения ошибки во время оплаты, или если срок ссылки на оплату истек.",
"maxLength": 2048,
"type": "string"
},
"onSuccess": {
"description": "Обязательное поле только для онлайн-магазинов. Ссылка для переадресации пользователя в случае успешной оплаты.",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"onError",
"onSuccess"
],
"type": "object"
}
],
"description": "Ссылки для переадресации пользователя с формы оплаты. Обязательно для онлайн-магазинов."
},
"title": {
"description": "Название подписки",
"maxLength": 30,
"type": "string"
},
"trialCount": {
"description": "Количество периодов триального периода, например \"7 дней\"",
"format": "int32",
"type": "integer"
},
"trialEndAt": {
"description": "Дата окончания пробного периода. Взаимоисключающее с полями `trial_unit` + `trial_count`",
"format": "date-time",
"type": "string"
},
"trialUnit": {
"description": "Единица времени в которой будет периодичность триального периода",
"enum": [
"SECOND",
"DAY",
"WEEK",
"MONTH",
"YEAR",
null
],
"type": "string"
},
"ttl": {
"default": 1800,
"description": "Время жизни заказа (в секундах)\n\n`180 <= ttl <= 604800`",
"format": "int32",
"type": "integer"
}
},
"required": [
"currencyCode",
"orderId"
],
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"paymentUrl": {
"description": "Ссылка на оплату заказа",
"maxLength": 2048,
"type": "string"
},
"subscriptionId": {
"description": "Идентификатор подписки",
"format": "uuid",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"paymentUrl",
"subscriptionId"
],
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"required": [
"data"
],
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v1/subscriptions",
"tags": [
"subscriptions"
]
}
},
"/api/merchant/v1/subscriptions/recur": {
"post": {
"description": "Запрос для очередного списания по подписке.\n\nЗапрос используется для безакцептного списания денежных средств с привязанного к подписке счета или карты.\nДля списания нужно передать номер заказа, корзину, сумму списания, и номер стартового заказа,\nкоторый был использован при создании подписки.",
"operationId": "merchant_v1_subscriptions_recur-post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"amount": {
"description": "Сумма списания",
"example": "123.45",
"format": "double",
"type": "string"
},
"cart": {
"allOf": [
{
"description": "{% note info %}\n\nСтоимость доставки передавайте в `items` как отдельный товар.\n\n{% endnote %}",
"properties": {
"externalId": {
"description": "Идентификатор корзины на стороне продавца.",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Корзина товаров, которую оплачивает покупатель.",
"items": {
"properties": {
"description": {
"description": "Описание товара",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"tariffModifier": {
"description": "Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине.",
"enum": [
"VERY_LOW",
"LOW",
"MEDIUM",
"HIGH",
"VERY_HIGH",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Промо параметры товара"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Id товара в системе продавца. В параметрах запроса каждый идентификатор товара `productId` должен быть уникальным",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Максимально доступное количество товара",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Количество товара в заказе",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Количество товара в заказе"
},
"receipt": {
"description": "Данные для формирования чека.\n\n{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"allOf": [
{
"description": "{% note warning \"Deprecated\" %}\n\nВ актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе [{#T}](../../../../fiscalization.md).\n\n{% endnote %}",
"deprecated": true,
"properties": {
"agent": {
"allOf": [
{
"deprecated": true,
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"deprecated": true,
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "Не должно содержать больше двух знаков после запятой.\nНапример: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"deprecated": true,
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Код товара (base64 кодированный массив от 1 до 32 байт)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"deprecated": true,
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Описание значений: [Ссылка](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"skuId": {
"description": "Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа.",
"maxLength": 2048,
"type": "string"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Итоговая цена позиции с учетом примененных скидок.\n\n{% note warning %}\n\nУбедитесь, что цена за единицу товара (`total / quantity.count`) имеет максимум 2 знака в дробной части. Иначе вернется ошибка `ORDER_CART_DATA_ERROR`.\n\n{% endnote %}\n\nЧтобы избежать ошибок, вынесите товары в отдельные позиции с разными `productId`.\n\n{% cut \"Пример\" %}\n\n**Правильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.50\"\n}\n```\n\nЦена за единицу `100.50 / 2 = 50.25` c <span style=\"color: #3ab935\">двумя знаками</span> в дробной части.\n\n**Неправильно:**\n\n```json\n{\n \"productId\": \"xxx-123\",\n \"quantity\": {\n \"count\": \"2\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"100.25\"\n}\n```\nЦена за единицу `100.25 / 2 = 50.125` c <span style=\"color: #ea0805\">тремя знаками</span> в дробной части.\n\nВ таком случае разбейте на две позиции:\n\n```json\n[\n {\n \"productId\": \"xxx-123-1\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад\",\n \"total\": \"50.25\"\n },\n {\n \"productId\": \"xxx-123-2\",\n \"quantity\": {\n \"count\": \"1\"\n },\n \"title\": \"Мармелад со скидкой\",\n \"total\": \"50\"\n }\n]\n```\n{% endcut %}",
"example": "123.45",
"format": "double",
"type": "string"
},
"unitPrice": {
"description": "Полная цена за единицу товара без учетка скидки",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity",
"title",
"total"
],
"type": "object"
},
"type": "array"
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Стоимость корзины с учетом всех скидок.",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Количество баллов Плюса\n\nПоле только для чтения. Переданные значения будут проигнорированы.",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"description": "Итоговая информация о стоимости заказа."
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Корзина"
},
"currencyCode": {
"description": "Трехбуквенный код валюты заказа (ISO 4217)",
"enum": [
"RUB",
"UZS"
],
"maxLength": 2048,
"type": "string"
},
"metadata": {
"description": "Произвольные данные по заказу для внутреннего использования",
"maxLength": 2048,
"type": "string"
},
"orderId": {
"description": "Уникальный идентификатор заказа на стороне продавца.\n\nИспользуется:\n- как ключ идемпотентности;\n- для дальнейшего взаимодействия по заказу и платежу;\n- в сверках.",
"maxLength": 2048,
"type": "string"
},
"parentOrderId": {
"description": "Идентификатор стартового заказа",
"maxLength": 2048,
"type": "string"
},
"purpose": {
"description": "Назначение платежа",
"maxLength": 1000,
"type": "string"
}
},
"required": [
"amount",
"cart",
"currencyCode",
"orderId",
"parentOrderId"
],
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"operationId"
],
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v1/subscriptions/recur",
"tags": [
"subscriptions"
]
}
},
"/api/merchant/v1/subscriptions/{customer_subscription_id}": {
"get": {
"description": "Запрос на получение информации по подписке.\n\nВозвращает идентификатор подписки, состояние подписки и привязанного способа оплаты.",
"operationId": "merchant_v1_customer_subscription-get",
"parameters": [
{
"description": "ID подписки",
"in": "path",
"name": "customer_subscription_id",
"required": true,
"schema": {
"maxLength": 2048,
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"check_card_active": {
"description": "Позволяет проверить привязку карты",
"type": "boolean"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"cancelledAt": {
"description": "Время отмены подписки",
"format": "date-time",
"type": "string"
},
"customerSubscriptionId": {
"description": "ID подписки",
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"isCardActive": {
"description": "Статус привязанной карты",
"type": "boolean"
},
"nextWriteOff": {
"description": "Дата следующего списания",
"format": "date-time",
"type": "string"
},
"status": {
"description": "Статус подписки",
"enum": [
"NEW",
"ACTIVE",
"CANCELLED",
"EXPIRED"
],
"type": "string"
},
"subscriptionPlanId": {
"description": "ID плана подписки",
"format": "uuid",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"status",
"subscriptionPlanId"
],
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v1/subscriptions/{customer_subscription_id}",
"tags": [
"subscriptions"
]
}
}
},
"security": [
{}
],
"servers": [
{
"description": "Production",
"url": "https://pay.yandex.ru"
},
{
"description": "Sandbox",
"url": "https://sandbox.pay.yandex.ru"
}
]
}