Merchant API
version: 1.0.0
Для работы Merchant API необходим публичный адрес вашего бэкенда. Адрес необходимо указать в поле Callback URL в консоли Яндекс Пэй на странице разработчика.
Ваш бэкенд должен проверять подлинность запроса, прежде чем приступать к его обработке.
Аутентификация запроса Яндекс Пэй
В теле запроса Яндекс Пэй присылает JWT-токен, подписанный по алгоритму ES256.
Токен состоит из трех частей: заголовка (header), полезной нагрузки (payload) и подписи,
конкатенированных через точку: <base64-encoded headers JSON>.<base64-encoded payload JSON>.<signature>
.
Раскодированный из base64 заголовок представляет собой JSON документ со следующей структурой:
{
"alg": "ES256", // алгоритм подписи
"kid": "key-id", // ID ключа, используется при определении публичного ключа
"iat": "1639408318", // UNIX время, когда токен был выпущен
"exp": "1639429918", // UNIX время, когда токен истекает, токен признается не валидным после наступления этого времени
"typ": "JWT" // тип токена
}
Полезная нагрузка также представляет собой JSON, конкретная структура полей которого определяется вызываемым методом. Подпись необходима для проверки валидности JWT токена.
ВАЖНО: Перед десериализацией токена необходимо проверить его валидность.
Алгоритм проверки валидности токена
Для проверки валидности JWT-токена удобнее воспользоваться одной из стандартных библиотек из списка: https://jwt.io/libraries. По возможности воздержитесь от ручной реализации данных проверок.
В общем случае алгоритм проверки JWT-токена с помощью библиотеки включает в себя:
- Проверку валидности подписи JWT-токена с помощью публичных JWK-ключей, размещенных по адресам:
https://sandbox.pay.yandex.ru/api/jwks для тестового окружения и https://pay.yandex.ru/api/jwks
для продуктивного окружения. Публичный ключ, используемый для валидации подписи конкретного JWT-токена,
выбирается на основе требований
alg
иkid
в заголовке самого токена. - Проверку стандартных требований в заголовках JWT-токена:
alg
,typ
,iat
,exp
и т.д.
Только в случае, если обе проверки прошли успешно, получатель может десериализовать JSON payload JWT токена.
После этого получатель должен дополнительно проверить, что merchantId
в payload токена совпадает с ID продавца
в Яндекс Пэй. В противном случае токен не может быть использован.
Если любая из проверок завершилась неудачей, токен считается невалидным, а запрос — неаутентифицированным.
Такой запрос должен быть отклонен. В этом случае ожидается ответ 403 Forbidden
с reasonCode
, равным FORBIDDEN
.
Пример ответа:
{
"status": "fail",
"reasonCode": "FORBIDDEN",
"reason": "Invalid merchantId"
}
Кеширование публичных JWK-ключей
Допускается кеширование JWK-ключей, используемых для валидации JWT-токенов, на бэкенде магазина. Время жизни такого кеша необходимо устанавливать таким образом, чтобы это не приводило к ошибкам валидации токенов в случае ротации JWK-ключей на стороне Яндекс Пэй. На практике некоторые библиотеки по умолчанию устанавливают время жизни такого кеша в 10 минут. В случае кеширования JWK-ключей, необходимо реализовать следующие сценарии проверок.
Сценарий А: Успешная валидация токена кешированными JWK-ключами.
- Приходит запрос с токеном, чей
kid
найден среди кешированных JWK-ключей, и время жизни кеша не истекло. - Валидация подписи токена завершается успешно.
- Токен считается валидным.
Сценарий B: Неуспешная валидация токена кешированными JWK-ключами.
- Приходит запрос с токеном, чей
kid
найден среди кешированных JWK-ключей, и время жизни кеша не истекло. - Валидация подписи токена завершается неудачей.
- Токен считается невалидным, запрос отклоняется.
Сценарий C: Валидация токена со сбросом кеша JWK-ключей.
- Приходит запрос с токеном, чей
kid
не найден среди кешированных JWK-ключей или время жизни кеша истекло. - Продавец должен сбросить кеш JWK-ключей и запросить весь список активных JWK-ключей заново с соответствующего окружению адреса.
- Валидация продолжается по сценарию А или B.
Как и в случае с валидацией токена, рекомендуется использовать стандартные библиотеки и воздержаться от ручной реализации данных сценариев.
Пример кода валидации JWT токена
Ниже приведен пример успешной валидации JWT токена, выпущенного в sandbox окружении. Для валидации токенов в продакшен окружении должны использоваться публичные ключи, доступные по адресу https://pay.yandex.ru/api/jwks.
import json
from urllib.request import urlopen
from jose import jwt
YANDEX_JWK_ENDPOINT = "https://sandbox.pay.yandex.ru/api/jwks"
JWT_TOKEN = (
"eyJhbGciOiJFUzI1NiIsImlhdCI6MTY1MDE5Njc1OCwia2lkIjoidGVzdC1rZXkiLCJ0eXAiOiJKV1QifQ.eyJjYXJ0Ijp7Iml0ZW1zIjpbeyJwcm9kdWN"
"0SWQiOiJwMSIsInF1YW50aXR5Ijp7ImNvdW50IjoiMSJ9fV19LCJjdXJyZW5jeUNvZGUiOiJSVUIiLCJtZXJjaGFudElkIjoiMjc2Y2YxZjEtZjhlZC00N"
"GZlLTg5ZTMtNWU0MTEzNDZkYThkIn0.YmQjHlh3ddLWgBexQ3QrwtbgAA3u1TVnBl1qnfMIvToBwinH3uH92KGB15m4NAQXdz5nhkjPZZu7RUStJt40PQ"
)
with urlopen(YANDEX_JWK_ENDPOINT) as response:
public_jwks = json.load(response)
payload = jwt.decode(JWT_TOKEN, public_jwks, algorithms=["ES256"])
print(json.dumps(payload, indent=2))
use Firebase\JWT\JWT;
use Firebase\JWT\JWK;
$sandboxJwk = 'https://sandbox.pay.yandex.ru/api/jwks';
$JWT_TOKEN =
"eyJhbGciOiJFUzI1NiIsImlhdCI6MTY1MDE5Njc1OCwia2lkIjoidGVzdC1rZXkiLCJ0eXAiOiJKV1QifQ.eyJjYXJ0Ijp7Iml0ZW1zIjpbeyJwcm9kdWN"
. "0SWQiOiJwMSIsInF1YW50aXR5Ijp7ImNvdW50IjoiMSJ9fV19LCJjdXJyZW5jeUNvZGUiOiJSVUIiLCJtZXJjaGFudElkIjoiMjc2Y2YxZjEtZjhlZC00N"
. "GZlLTg5ZTMtNWU0MTEzNDZkYThkIn0.YmQjHlh3ddLWgBexQ3QrwtbgAA3u1TVnBl1qnfMIvToBwinH3uH92KGB15m4NAQXdz5nhkjPZZu7RUStJt40PQ";
$client = new GuzzleHttp\Client();
$keysJson = $client->get($sandboxJwk)->getBody();
$keysData = json_decode($keysJson, JSON_OBJECT_AS_ARRAY);
$keys = JWK::parseKeySet($keysData);
$payload = JWT::decode($JWT_TOKEN, $keys);
print_r($payload);
Для работы примера необходимо установить зависимости:
composer require firebase/php-jwt
composer require guzzlehttp/guzzle
Endpoints
- /v1/order/render
- /v1/order/create
- /v1/webhook
- /v1/pickup-options
- /v1/pickup-option-details
- /v1/onboard
Specification
Open API
{
"components": {
"schemas": {
"Address": {
"properties": {
"addressLine": {
"description": "Полный адрес",
"type": "string"
},
"building": {
"type": "string"
},
"comment": {
"type": "string"
},
"country": {
"type": "string"
},
"district": {
"type": "string"
},
"entrance": {
"type": "string"
},
"floor": {
"type": "string"
},
"intercom": {
"type": "string"
},
"locale": {
"type": "string"
},
"locality": {
"type": "string"
},
"location": {
"allOf": [
{
"properties": {
"latitude": {
"format": "float",
"type": "number"
},
"longitude": {
"format": "float",
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
}
]
},
"region": {
"type": "string"
},
"room": {
"type": "string"
},
"street": {
"type": "string"
},
"zip": {
"type": "string"
}
},
"required": [
"building",
"country"
],
"type": "object"
},
"Agent": {
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
},
"BillingContactFields": {
"properties": {
"email": {
"type": "boolean"
}
},
"type": "object"
},
"BoundingBox": {
"properties": {
"ne": {
"allOf": [
{
"properties": {
"latitude": {
"format": "float",
"type": "number"
},
"longitude": {
"format": "float",
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
}
],
"description": "Правый верхний угол (северо-восток)"
},
"sw": {
"allOf": [
{
"properties": {
"latitude": {
"format": "float",
"type": "number"
},
"longitude": {
"format": "float",
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
}
],
"description": "Левый нижний угол (юго-запад)"
}
},
"required": [
"ne",
"sw"
],
"type": "object"
},
"Cart": {
"properties": {
"cartId": {
"description": "Внутренний идентификатор корзины Яндекс Пэй.\n\nБэкенд магазина должен использовать этот параметр как идентификатор корзины покупателя и как ключ идемпотентности для запроса `/order/create`. Если бэкенд магазина получает повторный запрос `/order/create`, то необходимо вернуть уже созданный номер заказа. На одну корзину (`cartId`) бэкенд магазина может создать не больше одного заказа (`orderId`).",
"type": "string"
},
"coupons": {
"description": "Купоны, применённые к корзине",
"items": {
"properties": {
"description": {
"description": "Описание. Например, \"Скидка 3%\"",
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Код купона",
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Скидки, применённые к корзине",
"items": {
"properties": {
"amount": {
"description": "Сумма скидки",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Текстовое описание",
"type": "string"
},
"discountId": {
"description": "Идентификатор скидки в системе мерчанта",
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Переданный продавцом идентификатор корзины",
"type": "string"
},
"items": {
"description": "Позиция корзины",
"items": {
"properties": {
"description": {
"description": "Описание товара",
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
}
},
"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` должен быть уникальным",
"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": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"type": "string"
},
"total": {
"description": "Суммарная цена за позицию с учётом скидок на позицию",
"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": "Описание товара",
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
}
},
"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` должен быть уникальным",
"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": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"type": "string"
},
"total": {
"description": "Суммарная цена за позицию с учётом скидок на позицию",
"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"
}
},
"type": "object"
},
"CartItemWithoutFinalPrice": {
"properties": {
"description": {
"description": "Описание товара",
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
}
},
"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` должен быть уникальным",
"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": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"type": "string"
},
"total": {
"description": "Суммарная цена за позицию с учётом скидок на позицию",
"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"
},
"CartWithoutFinalPrice": {
"properties": {
"cartId": {
"description": "Внутренний идентификатор корзины Яндекс Пэй.\n\nБэкенд магазина должен использовать этот параметр как идентификатор корзины покупателя и как ключ идемпотентности для запроса `/order/create`. Если бэкенд магазина получает повторный запрос `/order/create`, то необходимо вернуть уже созданный номер заказа. На одну корзину (`cartId`) бэкенд магазина может создать не больше одного заказа (`orderId`).",
"type": "string"
},
"coupons": {
"description": "Купоны, применённые к корзине",
"items": {
"properties": {
"description": {
"description": "Описание. Например, \"Скидка 3%\"",
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Код купона",
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Скидки, применённые к корзине",
"items": {
"properties": {
"amount": {
"description": "Сумма скидки",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Текстовое описание",
"type": "string"
},
"discountId": {
"description": "Идентификатор скидки в системе мерчанта",
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Переданный продавцом идентификатор корзины",
"type": "string"
},
"items": {
"items": {
"properties": {
"description": {
"description": "Описание товара",
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
}
},
"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` должен быть уникальным",
"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": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"type": "string"
},
"total": {
"description": "Суммарная цена за позицию с учётом скидок на позицию",
"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": "Итоговая стоимость корзины, которая пойдет в оплату"
}
},
"type": "object"
},
"Contact": {
"properties": {
"email": {
"type": "string"
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"phone": {
"type": "string"
},
"phoneAdditionalCode": {
"type": "string"
},
"secondName": {
"type": "string"
}
},
"type": "object"
},
"ContactFields": {
"properties": {
"email": {
"type": "boolean"
},
"name": {
"type": "boolean"
},
"phone": {
"type": "boolean"
}
},
"type": "object"
},
"Coupon": {
"properties": {
"description": {
"description": "Описание. Например, \"Скидка 3%\"",
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Код купона",
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"CourierOption": {
"properties": {
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для метода доставки. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"courierOptionId": {
"description": "id выбранного варианта доставки в системе продавца",
"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": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"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": "Название способа доставки. Показывается пользователю в списке вариантов",
"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"
},
"CourierOption1": {
"properties": {
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для метода доставки. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"courierOptionId": {
"description": "id выбранного варианта доставки в системе продавца",
"type": "string"
},
"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": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"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": "Название способа доставки. Показывается пользователю в списке вариантов",
"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"
},
"Discount": {
"properties": {
"amount": {
"description": "Сумма скидки",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Текстовое описание",
"type": "string"
},
"discountId": {
"description": "Идентификатор скидки в системе мерчанта",
"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": {
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
},
"Location": {
"properties": {
"latitude": {
"format": "float",
"type": "number"
},
"longitude": {
"format": "float",
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
},
"MarkQuantity": {
"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"
},
"MerchantCreateOrderResponse": {
"properties": {
"metadata": {
"type": "string"
},
"orderId": {
"description": "ID созданного заказа на стороне продавца",
"type": "string"
},
"redirectUrls": {
"allOf": [
{
"properties": {
"onAbort": {
"description": "Ссылка для переадресации пользователя в случае отмены процесса оплаты. Отмену оплаты осуществляет пользователь на форме для оплаты.",
"type": "string"
},
"onError": {
"description": "Обязательное поле только для онлайн-магазинов. Ссылка для переадресации пользователя в случае возникновения ошибки во время оплаты, или если срок ссылки на оплату истек.",
"type": "string"
},
"onSuccess": {
"description": "Обязательное поле только для онлайн-магазинов. Ссылка для переадресации пользователя в случае успешной оплаты.",
"type": "string"
}
},
"required": [
"onError",
"onSuccess"
],
"type": "object"
}
]
},
"ttl": {
"default": null,
"description": "Время жизни заказа (в секундах)",
"format": "int32",
"type": "integer"
}
},
"required": [
"orderId"
],
"type": "object"
},
"MerchantCreateOrderV1Request": {
"properties": {
"billingContact": {
"allOf": [
{
"properties": {
"email": {
"type": "string"
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"phone": {
"type": "string"
},
"phoneAdditionalCode": {
"type": "string"
},
"secondName": {
"type": "string"
}
},
"type": "object"
}
]
},
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "Внутренний идентификатор корзины Яндекс Пэй.\n\nБэкенд магазина должен использовать этот параметр как идентификатор корзины покупателя и как ключ идемпотентности для запроса `/order/create`. Если бэкенд магазина получает повторный запрос `/order/create`, то необходимо вернуть уже созданный номер заказа. На одну корзину (`cartId`) бэкенд магазина может создать не больше одного заказа (`orderId`).",
"type": "string"
},
"coupons": {
"description": "Купоны, применённые к корзине",
"items": {
"properties": {
"description": {
"description": "Описание. Например, \"Скидка 3%\"",
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Код купона",
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Скидки, применённые к корзине",
"items": {
"properties": {
"amount": {
"description": "Сумма скидки",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Текстовое описание",
"type": "string"
},
"discountId": {
"description": "Идентификатор скидки в системе мерчанта",
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Переданный продавцом идентификатор корзины",
"type": "string"
},
"items": {
"description": "Позиция корзины",
"items": {
"properties": {
"description": {
"description": "Описание товара",
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
}
},
"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` должен быть уникальным",
"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": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"type": "string"
},
"total": {
"description": "Суммарная цена за позицию с учётом скидок на позицию",
"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": "Корзина"
},
"currencyCode": {
"description": "Трехбуквенный код валюты заказа (ISO 4217)",
"enum": [
"RUB"
],
"type": "string"
},
"merchantId": {
"format": "uuid",
"type": "string"
},
"metadata": {
"description": "Произвольные данные, переданные при инициализации кнопки",
"type": "string"
},
"orderAmount": {
"description": "Полная стоимость заказа к оплате с учётом возвратов, доставки, скидок и промокодов",
"example": "123.45",
"format": "double",
"type": "string"
},
"orderId": {
"description": "Id существующего заказа на стороне продавца, переданный при инициализации кнопки",
"type": "string"
},
"paymentMethod": {
"allOf": [
{
"properties": {
"cardLast4": {
"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"
],
"type": "string"
}
},
"required": [
"methodType"
],
"type": "object"
}
],
"description": "Выбранный способ оплаты"
},
"shippingAddress": {
"allOf": [
{
"properties": {
"addressLine": {
"description": "Полный адрес",
"type": "string"
},
"building": {
"type": "string"
},
"comment": {
"type": "string"
},
"country": {
"type": "string"
},
"district": {
"type": "string"
},
"entrance": {
"type": "string"
},
"floor": {
"type": "string"
},
"intercom": {
"type": "string"
},
"locale": {
"type": "string"
},
"locality": {
"type": "string"
},
"location": {
"allOf": [
{
"properties": {
"latitude": {
"format": "float",
"type": "number"
},
"longitude": {
"format": "float",
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
}
]
},
"region": {
"type": "string"
},
"room": {
"type": "string"
},
"street": {
"type": "string"
},
"zip": {
"type": "string"
}
},
"required": [
"building",
"country"
],
"type": "object"
}
],
"description": "Адрес доставки доступен, если выбран метод COURIER"
},
"shippingContact": {
"allOf": [
{
"properties": {
"email": {
"type": "string"
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"phone": {
"type": "string"
},
"phoneAdditionalCode": {
"type": "string"
},
"secondName": {
"type": "string"
}
},
"type": "object"
}
]
},
"shippingMethod": {
"allOf": [
{
"properties": {
"courierOption": {
"allOf": [
{
"properties": {
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для метода доставки. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"courierOptionId": {
"description": "id выбранного варианта доставки в системе продавца",
"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": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"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": "Название способа доставки. Показывается пользователю в списке вариантов",
"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": "Адрес в виде строки",
"type": "string"
},
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для выбранного способа самовывоза. Доступные методы оплаты заказа при выбранном способе самовывоза. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки в точку",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Дополнительное описание",
"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": {
"type": "string"
},
"type": "array"
},
"pickupPointId": {
"description": "Уникальный id точки самовывоза в системе продавца",
"type": "string"
},
"provider": {
"description": "Тип точки вывоза.",
"enum": [
"YANDEX_MARKET",
"BOXBERRY",
"CDEK",
"IN_STORE",
"RUSSIAN_POST",
"PICKPOINT",
"DPD"
],
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"schedule": {
"description": "График работы точки",
"items": {
"properties": {
"fromTime": {
"description": "HH:mm, \"08:00\"",
"type": "string"
},
"label": {
"description": "Например, \"пн-пт\"",
"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": "Название точки самовывоза",
"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"
],
"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": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"title": {
"description": "Название способа доставки. Показывается пользователю в списке вариантов",
"type": "string"
},
"toDatetime": {
"format": "date-time",
"type": "string"
},
"yandexDeliveryOptionId": {
"description": "Id предложения Яндекс Доставки",
"type": "string"
}
},
"required": [
"amount",
"category",
"title",
"yandexDeliveryOptionId"
],
"type": "object"
}
],
"description": "если methodType == YANDEX_DELIVERY"
}
},
"required": [
"methodType"
],
"type": "object"
}
],
"description": "Выбранный способ доставки"
}
},
"required": [
"cart",
"currencyCode"
],
"type": "object"
},
"MerchantCreateOrderV1Response": {
"properties": {
"data": {
"properties": {
"metadata": {
"type": "string"
},
"orderId": {
"description": "ID созданного заказа на стороне продавца",
"type": "string"
},
"redirectUrls": {
"allOf": [
{
"properties": {
"onAbort": {
"description": "Ссылка для переадресации пользователя в случае отмены процесса оплаты. Отмену оплаты осуществляет пользователь на форме для оплаты.",
"type": "string"
},
"onError": {
"description": "Обязательное поле только для онлайн-магазинов. Ссылка для переадресации пользователя в случае возникновения ошибки во время оплаты, или если срок ссылки на оплату истек.",
"type": "string"
},
"onSuccess": {
"description": "Обязательное поле только для онлайн-магазинов. Ссылка для переадресации пользователя в случае успешной оплаты.",
"type": "string"
}
},
"required": [
"onError",
"onSuccess"
],
"type": "object"
}
]
},
"ttl": {
"default": null,
"description": "Время жизни заказа (в секундах)",
"format": "int32",
"type": "integer"
}
},
"required": [
"orderId"
],
"type": "object"
},
"status": {
"type": "string"
}
},
"required": [
"data",
"status"
],
"type": "object"
},
"MerchantErrorResponse": {
"properties": {
"reason": {
"type": "string"
},
"reasonCode": {
"enum": [
"FORBIDDEN",
"ITEM_NOT_FOUND",
"ORDER_NOT_FOUND",
"ORDER_AMOUNT_MISMATCH",
"ORDER_DETAILS_MISMATCH",
"OUT_OF_INVENTORY",
"PICKUP_POINT_NOT_FOUND",
"SHIPPING_DETAILS_MISMATCH",
"OTHER",
"UNAUTHORIZED",
"TOKEN_EXPIRED",
"CONFLICT"
],
"type": "string"
},
"status": {
"default": "fail",
"type": "string"
}
},
"required": [
"reasonCode"
],
"type": "object"
},
"MerchantOnboardRequest": {
"properties": {
"apiKey": {
"type": "string"
},
"force": {
"default": false,
"type": "boolean"
},
"merchantAuthToken": {
"description": "Авторизационный токен, сгенерированный мерчантом",
"type": "string"
},
"merchantId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"apiKey",
"merchantAuthToken"
],
"type": "object"
},
"MerchantPickupOptionDetailsRequest": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "Внутренний идентификатор корзины Яндекс Пэй.\n\nБэкенд магазина должен использовать этот параметр как идентификатор корзины покупателя и как ключ идемпотентности для запроса `/order/create`. Если бэкенд магазина получает повторный запрос `/order/create`, то необходимо вернуть уже созданный номер заказа. На одну корзину (`cartId`) бэкенд магазина может создать не больше одного заказа (`orderId`).",
"type": "string"
},
"coupons": {
"description": "Купоны, применённые к корзине",
"items": {
"properties": {
"description": {
"description": "Описание. Например, \"Скидка 3%\"",
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Код купона",
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Скидки, применённые к корзине",
"items": {
"properties": {
"amount": {
"description": "Сумма скидки",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Текстовое описание",
"type": "string"
},
"discountId": {
"description": "Идентификатор скидки в системе мерчанта",
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Переданный продавцом идентификатор корзины",
"type": "string"
},
"items": {
"items": {
"properties": {
"description": {
"description": "Описание товара",
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
}
},
"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` должен быть уникальным",
"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": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"type": "string"
},
"total": {
"description": "Суммарная цена за позицию с учётом скидок на позицию",
"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": "Итоговая стоимость корзины, которая пойдет в оплату"
}
},
"type": "object"
}
],
"description": "Корзина c ценами, размером и весом товаров"
},
"currencyCode": {
"type": "string"
},
"merchantId": {
"format": "uuid",
"type": "string"
},
"metadata": {
"type": "string"
},
"pickupPointId": {
"type": "string"
}
},
"required": [
"cart",
"currencyCode",
"merchantId",
"pickupPointId"
],
"type": "object"
},
"MerchantPickupOptionDetailsResponse": {
"properties": {
"data": {
"properties": {
"pickupOption": {
"properties": {
"address": {
"description": "Адрес в виде строки",
"type": "string"
},
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для выбранного способа самовывоза. Доступные методы оплаты заказа при выбранном способе самовывоза. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки в точку",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Дополнительное описание",
"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": {
"type": "string"
},
"type": "array"
},
"pickupPointId": {
"description": "Уникальный id точки самовывоза в системе продавца",
"type": "string"
},
"provider": {
"description": "Тип точки вывоза.",
"enum": [
"YANDEX_MARKET",
"BOXBERRY",
"CDEK",
"IN_STORE",
"RUSSIAN_POST",
"PICKPOINT",
"DPD"
],
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"schedule": {
"description": "График работы точки",
"items": {
"properties": {
"fromTime": {
"description": "HH:mm, \"08:00\"",
"type": "string"
},
"label": {
"description": "Например, \"пн-пт\"",
"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": "Название точки самовывоза",
"type": "string"
},
"toDate": {
"description": "YYYY-MM-DD. Самая поздняя дата доставки",
"format": "date",
"type": "string"
}
},
"required": [
"address",
"amount",
"location",
"pickupPointId",
"title"
],
"type": "object"
}
},
"required": [
"pickupOption"
],
"type": "object"
},
"status": {
"type": "string"
}
},
"required": [
"data",
"status"
],
"type": "object"
},
"MerchantPickupOptionDetailsResponseData": {
"properties": {
"pickupOption": {
"properties": {
"address": {
"description": "Адрес в виде строки",
"type": "string"
},
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для выбранного способа самовывоза. Доступные методы оплаты заказа при выбранном способе самовывоза. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки в точку",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Дополнительное описание",
"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": {
"type": "string"
},
"type": "array"
},
"pickupPointId": {
"description": "Уникальный id точки самовывоза в системе продавца",
"type": "string"
},
"provider": {
"description": "Тип точки вывоза.",
"enum": [
"YANDEX_MARKET",
"BOXBERRY",
"CDEK",
"IN_STORE",
"RUSSIAN_POST",
"PICKPOINT",
"DPD"
],
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"schedule": {
"description": "График работы точки",
"items": {
"properties": {
"fromTime": {
"description": "HH:mm, \"08:00\"",
"type": "string"
},
"label": {
"description": "Например, \"пн-пт\"",
"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": "Название точки самовывоза",
"type": "string"
},
"toDate": {
"description": "YYYY-MM-DD. Самая поздняя дата доставки",
"format": "date",
"type": "string"
}
},
"required": [
"address",
"amount",
"location",
"pickupPointId",
"title"
],
"type": "object"
}
},
"required": [
"pickupOption"
],
"type": "object"
},
"MerchantPickupOptionsRequest": {
"properties": {
"boundingBox": {
"allOf": [
{
"properties": {
"ne": {
"allOf": [
{
"properties": {
"latitude": {
"format": "float",
"type": "number"
},
"longitude": {
"format": "float",
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
}
],
"description": "Правый верхний угол (северо-восток)"
},
"sw": {
"allOf": [
{
"properties": {
"latitude": {
"format": "float",
"type": "number"
},
"longitude": {
"format": "float",
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
}
],
"description": "Левый нижний угол (юго-запад)"
}
},
"required": [
"ne",
"sw"
],
"type": "object"
}
],
"description": "Границы области на карте"
},
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "Внутренний идентификатор корзины Яндекс Пэй.\n\nБэкенд магазина должен использовать этот параметр как идентификатор корзины покупателя и как ключ идемпотентности для запроса `/order/create`. Если бэкенд магазина получает повторный запрос `/order/create`, то необходимо вернуть уже созданный номер заказа. На одну корзину (`cartId`) бэкенд магазина может создать не больше одного заказа (`orderId`).",
"type": "string"
},
"coupons": {
"description": "Купоны, применённые к корзине",
"items": {
"properties": {
"description": {
"description": "Описание. Например, \"Скидка 3%\"",
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Код купона",
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Скидки, применённые к корзине",
"items": {
"properties": {
"amount": {
"description": "Сумма скидки",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Текстовое описание",
"type": "string"
},
"discountId": {
"description": "Идентификатор скидки в системе мерчанта",
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Переданный продавцом идентификатор корзины",
"type": "string"
},
"items": {
"items": {
"properties": {
"description": {
"description": "Описание товара",
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
}
},
"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` должен быть уникальным",
"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": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"type": "string"
},
"total": {
"description": "Суммарная цена за позицию с учётом скидок на позицию",
"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": "Итоговая стоимость корзины, которая пойдет в оплату"
}
},
"type": "object"
}
],
"description": "Корзина c ценами, размером и весом товаров"
},
"currencyCode": {
"type": "string"
},
"merchantId": {
"format": "uuid",
"type": "string"
},
"metadata": {
"type": "string"
}
},
"required": [
"boundingBox",
"cart",
"currencyCode",
"merchantId"
],
"type": "object"
},
"MerchantPickupOptionsResponse": {
"properties": {
"data": {
"properties": {
"pickupOptions": {
"items": {
"properties": {
"address": {
"description": "Адрес в виде строки",
"type": "string"
},
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для выбранного способа самовывоза. Доступные методы оплаты заказа при выбранном способе самовывоза. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки в точку",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Дополнительное описание",
"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": {
"type": "string"
},
"type": "array"
},
"pickupPointId": {
"description": "Уникальный id точки самовывоза в системе продавца",
"type": "string"
},
"provider": {
"description": "Тип точки вывоза.",
"enum": [
"YANDEX_MARKET",
"BOXBERRY",
"CDEK",
"IN_STORE",
"RUSSIAN_POST",
"PICKPOINT",
"DPD"
],
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"schedule": {
"description": "График работы точки",
"items": {
"properties": {
"fromTime": {
"description": "HH:mm, \"08:00\"",
"type": "string"
},
"label": {
"description": "Например, \"пн-пт\"",
"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": "Название точки самовывоза",
"type": "string"
},
"toDate": {
"description": "YYYY-MM-DD. Самая поздняя дата доставки",
"format": "date",
"type": "string"
}
},
"required": [
"address",
"location",
"pickupPointId",
"title"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"pickupOptions"
],
"type": "object"
},
"status": {
"type": "string"
}
},
"required": [
"data",
"status"
],
"type": "object"
},
"MerchantPickupOptionsResponseData": {
"properties": {
"pickupOptions": {
"items": {
"properties": {
"address": {
"description": "Адрес в виде строки",
"type": "string"
},
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для выбранного способа самовывоза. Доступные методы оплаты заказа при выбранном способе самовывоза. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки в точку",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Дополнительное описание",
"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": {
"type": "string"
},
"type": "array"
},
"pickupPointId": {
"description": "Уникальный id точки самовывоза в системе продавца",
"type": "string"
},
"provider": {
"description": "Тип точки вывоза.",
"enum": [
"YANDEX_MARKET",
"BOXBERRY",
"CDEK",
"IN_STORE",
"RUSSIAN_POST",
"PICKPOINT",
"DPD"
],
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"schedule": {
"description": "График работы точки",
"items": {
"properties": {
"fromTime": {
"description": "HH:mm, \"08:00\"",
"type": "string"
},
"label": {
"description": "Например, \"пн-пт\"",
"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": "Название точки самовывоза",
"type": "string"
},
"toDate": {
"description": "YYYY-MM-DD. Самая поздняя дата доставки",
"format": "date",
"type": "string"
}
},
"required": [
"address",
"location",
"pickupPointId",
"title"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"pickupOptions"
],
"type": "object"
},
"MerchantRedirectUrls": {
"properties": {
"onAbort": {
"description": "Ссылка для переадресации пользователя в случае отмены процесса оплаты. Отмену оплаты осуществляет пользователь на форме для оплаты.",
"type": "string"
},
"onError": {
"description": "Обязательное поле только для онлайн-магазинов. Ссылка для переадресации пользователя в случае возникновения ошибки во время оплаты, или если срок ссылки на оплату истек.",
"type": "string"
},
"onSuccess": {
"description": "Обязательное поле только для онлайн-магазинов. Ссылка для переадресации пользователя в случае успешной оплаты.",
"type": "string"
}
},
"required": [
"onError",
"onSuccess"
],
"type": "object"
},
"MerchantRenderOrderRequest": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "Внутренний идентификатор корзины Яндекс Пэй.\n\nБэкенд магазина должен использовать этот параметр как идентификатор корзины покупателя и как ключ идемпотентности для запроса `/order/create`. Если бэкенд магазина получает повторный запрос `/order/create`, то необходимо вернуть уже созданный номер заказа. На одну корзину (`cartId`) бэкенд магазина может создать не больше одного заказа (`orderId`).",
"type": "string"
},
"coupons": {
"description": "Купоны, применённые к корзине",
"items": {
"properties": {
"description": {
"description": "Описание. Например, \"Скидка 3%\"",
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Код купона",
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Скидки, применённые к корзине",
"items": {
"properties": {
"amount": {
"description": "Сумма скидки",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Текстовое описание",
"type": "string"
},
"discountId": {
"description": "Идентификатор скидки в системе мерчанта",
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Переданный продавцом идентификатор корзины",
"type": "string"
},
"items": {
"items": {
"properties": {
"description": {
"description": "Описание товара",
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
}
},
"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` должен быть уникальным",
"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": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"type": "string"
},
"total": {
"description": "Суммарная цена за позицию с учётом скидок на позицию",
"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": "Итоговая стоимость корзины, которая пойдет в оплату"
}
},
"type": "object"
}
],
"description": "Корзина c ценами, размером и весом товаров"
},
"currencyCode": {
"description": "Трехбуквенный код валюты заказа (ISO 4217)",
"enum": [
"RUB"
],
"type": "string"
},
"merchantId": {
"format": "uuid",
"type": "string"
},
"metadata": {
"description": "Произвольные данные, переданные при инициализации кнопки",
"type": "string"
},
"orderId": {
"description": "Id существующего заказа на стороне продавца, переданный при инициализации кнопки",
"type": "string"
},
"paymentMethod": {
"allOf": [
{
"properties": {
"cardLast4": {
"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"
],
"type": "string"
}
},
"required": [
"methodType"
],
"type": "object"
}
],
"description": "Выбранный способ оплаты"
},
"shippingAddress": {
"allOf": [
{
"properties": {
"addressLine": {
"description": "Полный адрес",
"type": "string"
},
"building": {
"type": "string"
},
"comment": {
"type": "string"
},
"country": {
"type": "string"
},
"district": {
"type": "string"
},
"entrance": {
"type": "string"
},
"floor": {
"type": "string"
},
"intercom": {
"type": "string"
},
"locale": {
"type": "string"
},
"locality": {
"type": "string"
},
"location": {
"allOf": [
{
"properties": {
"latitude": {
"format": "float",
"type": "number"
},
"longitude": {
"format": "float",
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
}
]
},
"region": {
"type": "string"
},
"room": {
"type": "string"
},
"street": {
"type": "string"
},
"zip": {
"type": "string"
}
},
"required": [
"building",
"country"
],
"type": "object"
}
],
"description": "Адрес доставки доступен, если выбран метод COURIER"
},
"shippingMethod": {
"allOf": [
{
"properties": {
"courierOption": {
"allOf": [
{
"properties": {
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для метода доставки. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"courierOptionId": {
"description": "id выбранного варианта доставки в системе продавца",
"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": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"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": "Название способа доставки. Показывается пользователю в списке вариантов",
"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": "Адрес в виде строки",
"type": "string"
},
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для выбранного способа самовывоза. Доступные методы оплаты заказа при выбранном способе самовывоза. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки в точку",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Дополнительное описание",
"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": {
"type": "string"
},
"type": "array"
},
"pickupPointId": {
"description": "Уникальный id точки самовывоза в системе продавца",
"type": "string"
},
"provider": {
"description": "Тип точки вывоза.",
"enum": [
"YANDEX_MARKET",
"BOXBERRY",
"CDEK",
"IN_STORE",
"RUSSIAN_POST",
"PICKPOINT",
"DPD"
],
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"schedule": {
"description": "График работы точки",
"items": {
"properties": {
"fromTime": {
"description": "HH:mm, \"08:00\"",
"type": "string"
},
"label": {
"description": "Например, \"пн-пт\"",
"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": "Название точки самовывоза",
"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"
],
"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": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"title": {
"description": "Название способа доставки. Показывается пользователю в списке вариантов",
"type": "string"
},
"toDatetime": {
"format": "date-time",
"type": "string"
},
"yandexDeliveryOptionId": {
"description": "Id предложения Яндекс Доставки",
"type": "string"
}
},
"required": [
"amount",
"category",
"title",
"yandexDeliveryOptionId"
],
"type": "object"
}
],
"description": "если methodType == YANDEX_DELIVERY"
}
},
"required": [
"methodType"
],
"type": "object"
}
],
"description": "Выбранный способ доставки"
}
},
"required": [
"cart",
"currencyCode"
],
"type": "object"
},
"MerchantRenderOrderResponse": {
"properties": {
"data": {
"properties": {
"availablePaymentMethods": {
"description": "Доступные методы оплаты на платежной форме Яндекс Пэй.\n\nНужно указать все возможные методы, которые может выбрать пользователь - при оплате онлайн и доставке. Если вы интегрируете оплату только одним методом, например, Сплит — указывается один метод `[\"SPLIT\"]`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"cart": {
"allOf": [
{
"properties": {
"coupons": {
"description": "Купоны, применённые к корзине",
"items": {
"properties": {
"description": {
"description": "Описание. Например, \"Скидка 3%\"",
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Код купона",
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Скидки, применённые к корзине",
"items": {
"properties": {
"amount": {
"description": "Сумма скидки",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Текстовое описание",
"type": "string"
},
"discountId": {
"description": "Идентификатор скидки в системе мерчанта",
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Переданный продавцом идентификатор корзины",
"type": "string"
},
"items": {
"description": "Корзина товаров, которую оплачивает покупатель.",
"items": {
"properties": {
"description": {
"description": "Описание товара",
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
}
},
"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` должен быть уникальным",
"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": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"type": "string"
},
"total": {
"description": "Суммарная цена за позицию с учётом скидок на позицию",
"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",
"total"
],
"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"
}
],
"description": "Итоговая информация о стоимости заказа."
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Корзина"
},
"currencyCode": {
"description": "Трехбуквенный код валюты заказа (ISO 4217)",
"enum": [
"RUB"
],
"type": "string"
},
"enableCommentField": {
"type": "boolean"
},
"enableCoupons": {
"type": "boolean"
},
"metadata": {
"description": "Произвольные данные, переданные при инициализации кнопки",
"type": "string"
},
"orderAmount": {
"description": "Полная стоимость заказа к оплате с учётом возвратов, доставки, скидок и промокодов",
"example": "123.45",
"format": "double",
"type": "string"
},
"requiredFields": {
"allOf": [
{
"properties": {
"billingContact": {
"allOf": [
{
"properties": {
"email": {
"type": "boolean"
}
},
"type": "object"
}
]
},
"shippingContact": {
"allOf": [
{
"properties": {
"email": {
"type": "boolean"
},
"name": {
"type": "boolean"
},
"phone": {
"type": "boolean"
}
},
"type": "object"
}
]
}
},
"type": "object"
}
],
"description": "Данные пользователя, необходимые для оформления заказа"
},
"shipping": {
"allOf": [
{
"properties": {
"availableCourierOptions": {
"description": "Доступные варианты доставки (при наличии адреса в запросе)",
"items": {
"properties": {
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для метода доставки. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"courierOptionId": {
"description": "id выбранного варианта доставки в системе продавца",
"type": "string"
},
"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": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"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": "Название способа доставки. Показывается пользователю в списке вариантов",
"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"
},
"type": "array"
},
"availableMethods": {
"items": {
"enum": [
"DIRECT",
"PICKUP",
"COURIER",
"YANDEX_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"courierOptionsError": {
"description": "Ошибка при определении доставки. При указании этого параметра, в интерфейсе пользователя будет отображаться описание ошибки.",
"enum": [
"WRONG_ADDRESS",
"DELIVERY_NOT_AVAILABLE_FOR_ADDRESS",
null
],
"type": "string"
},
"yandexDelivery": {
"allOf": [
{
"properties": {
"warehouse": {
"allOf": [
{
"properties": {
"address": {
"properties": {
"addressLine": {
"description": "Полный адрес",
"type": "string"
},
"building": {
"type": "string"
},
"comment": {
"type": "string"
},
"country": {
"type": "string"
},
"district": {
"type": "string"
},
"entrance": {
"type": "string"
},
"floor": {
"type": "string"
},
"intercom": {
"type": "string"
},
"locale": {
"type": "string"
},
"locality": {
"type": "string"
},
"location": {
"allOf": [
{
"properties": {
"latitude": {
"format": "float",
"type": "number"
},
"longitude": {
"format": "float",
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
}
]
},
"region": {
"type": "string"
},
"room": {
"type": "string"
},
"street": {
"type": "string"
},
"zip": {
"type": "string"
}
},
"required": [
"building",
"country"
],
"type": "object"
},
"contact": {
"properties": {
"email": {
"type": "string"
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"phone": {
"type": "string"
},
"phoneAdditionalCode": {
"type": "string"
},
"secondName": {
"type": "string"
}
},
"type": "object"
},
"emergencyContact": {
"properties": {
"email": {
"type": "string"
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"phone": {
"type": "string"
},
"phoneAdditionalCode": {
"type": "string"
},
"secondName": {
"type": "string"
}
},
"type": "object"
},
"schedule": {
"allOf": [
{
"properties": {
"custom": {
"additionalProperties": {
"allOf": [
{
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
}
],
"nullable": true
},
"description": "Переопределённое расписание для конкретных дат. Ключи - даты в формате \"YYYY-MM-DD\", значения - объекты {\"start\": string, \"end\": string} или null для указания выходных",
"nullable": true,
"type": "object"
},
"tzoffset": {
"description": "Смещение часового пояса относительно UTC в минутах. Например, 180 для Москвы (UTC+3)",
"format": "int32",
"maximum": 840,
"minimum": -720,
"type": "integer"
},
"weekly": {
"allOf": [
{
"properties": {
"fri": {
"allOf": [
{
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
}
],
"description": "Пятница"
},
"mon": {
"allOf": [
{
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
}
],
"description": "Понедельник"
},
"sat": {
"allOf": [
{
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
}
],
"description": "Суббота"
},
"sun": {
"allOf": [
{
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
}
],
"description": "Воскресенье"
},
"thu": {
"allOf": [
{
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
}
],
"description": "Четверг"
},
"tue": {
"allOf": [
{
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
}
],
"description": "Вторник"
},
"wed": {
"allOf": [
{
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
}
],
"description": "Среда"
}
},
"type": "object"
}
],
"description": "Еженедельное расписание работы"
}
},
"required": [
"tzoffset",
"weekly"
],
"type": "object"
}
],
"description": "Расписание работы"
}
},
"required": [
"address",
"contact",
"emergencyContact"
],
"type": "object"
}
]
}
},
"type": "object"
}
]
}
},
"required": [
"availableMethods"
],
"type": "object"
}
]
}
},
"required": [
"cart",
"currencyCode"
],
"type": "object"
},
"status": {
"type": "string"
}
},
"required": [
"data",
"status"
],
"type": "object"
},
"MerchantRenderOrderResponseData": {
"properties": {
"availablePaymentMethods": {
"description": "Доступные методы оплаты на платежной форме Яндекс Пэй.\n\nНужно указать все возможные методы, которые может выбрать пользователь - при оплате онлайн и доставке. Если вы интегрируете оплату только одним методом, например, Сплит — указывается один метод `[\"SPLIT\"]`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"cart": {
"allOf": [
{
"properties": {
"coupons": {
"description": "Купоны, применённые к корзине",
"items": {
"properties": {
"description": {
"description": "Описание. Например, \"Скидка 3%\"",
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Код купона",
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Скидки, применённые к корзине",
"items": {
"properties": {
"amount": {
"description": "Сумма скидки",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Текстовое описание",
"type": "string"
},
"discountId": {
"description": "Идентификатор скидки в системе мерчанта",
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Переданный продавцом идентификатор корзины",
"type": "string"
},
"items": {
"description": "Корзина товаров, которую оплачивает покупатель.",
"items": {
"properties": {
"description": {
"description": "Описание товара",
"type": "string"
},
"discountedUnitPrice": {
"description": "Цена за единицу товара с учётом скидок на позицию",
"example": "123.45",
"format": "double",
"type": "string"
},
"features": {
"allOf": [
{
"properties": {
"pointsDisabled": {
"default": false,
"description": "Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар",
"type": "boolean"
}
},
"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` должен быть уникальным",
"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": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Признак агента по предмету расчёта. См. [значения](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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": [
{
"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": [
{
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"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
],
"type": "integer"
},
"title": {
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Данные для формирования чека"
},
"subtotal": {
"description": "Суммарная цена за позицию без учета скидок",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Наименование товара",
"type": "string"
},
"total": {
"description": "Суммарная цена за позицию с учётом скидок на позицию",
"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",
"total"
],
"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"
}
],
"description": "Итоговая информация о стоимости заказа."
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Корзина"
},
"currencyCode": {
"description": "Трехбуквенный код валюты заказа (ISO 4217)",
"enum": [
"RUB"
],
"type": "string"
},
"enableCommentField": {
"type": "boolean"
},
"enableCoupons": {
"type": "boolean"
},
"metadata": {
"description": "Произвольные данные, переданные при инициализации кнопки",
"type": "string"
},
"orderAmount": {
"description": "Полная стоимость заказа к оплате с учётом возвратов, доставки, скидок и промокодов",
"example": "123.45",
"format": "double",
"type": "string"
},
"requiredFields": {
"allOf": [
{
"properties": {
"billingContact": {
"allOf": [
{
"properties": {
"email": {
"type": "boolean"
}
},
"type": "object"
}
]
},
"shippingContact": {
"allOf": [
{
"properties": {
"email": {
"type": "boolean"
},
"name": {
"type": "boolean"
},
"phone": {
"type": "boolean"
}
},
"type": "object"
}
]
}
},
"type": "object"
}
],
"description": "Данные пользователя, необходимые для оформления заказа"
},
"shipping": {
"allOf": [
{
"properties": {
"availableCourierOptions": {
"description": "Доступные варианты доставки (при наличии адреса в запросе)",
"items": {
"properties": {
"allowedPaymentMethods": {
"description": "Индивидуальные методы оплаты для метода доставки. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в `availablePaymentMethods`. Если параметр не указан, то используются все методы оплаты, перечисленные в `availablePaymentMethods`.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Стоимость доставки",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"courierOptionId": {
"description": "id выб