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 выбранного варианта доставки в системе продавца",
"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"
},
"MerchantSuccessResponse": {
"properties": {
"status": {
"default": "success",
"type": "string"
}
},
"type": "object"
},
"MerchantWebhookV1Request": {
"properties": {
"event": {
"enum": [
"TRANSACTION_STATUS_UPDATE",
"ORDER_STATUS_UPDATED",
"OPERATION_STATUS_UPDATED",
"SUBSCRIPTION_STATUS_UPDATED"
],
"type": "string"
},
"eventTime": {
"description": "время события в формате `RFC 3339`; `YYYY-MM-DDThh:mm:ssTZD`",
"format": "date-time",
"type": "string"
},
"merchantId": {
"format": "uuid",
"type": "string"
},
"operation": {
"allOf": [
{
"properties": {
"externalOperationId": {
"type": "string"
},
"operationId": {
"format": "uuid",
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"type": "string"
},
"status": {
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
}
},
"required": [
"operationId",
"operationType",
"orderId",
"status"
],
"type": "object"
}
]
},
"order": {
"allOf": [
{
"properties": {
"cartUpdated": {
"description": "Была ли обновлена корзина. Возвращается при оплате баллами.Если флаг имеет значение `true`, получите актуальную корзину.",
"type": "boolean"
},
"deliveryStatus": {
"description": "Статусы доставки",
"enum": [
"NEW",
"ESTIMATING",
"EXPIRED",
"READY_FOR_APPROVAL",
"COLLECTING",
"PREPARING",
"DELIVERING",
"DELIVERED",
"RETURNING",
"RETURNED",
"FAILED",
"CANCELLED",
null
],
"type": "string"
},
"orderId": {
"description": "ID заказа, полученный в ответе /orders",
"type": "string"
},
"paymentStatus": {
"description": "Статус заказа",
"enum": [
"PENDING",
"AUTHORIZED",
"CAPTURED",
"VOIDED",
"REFUNDED",
"CONFIRMED",
"PARTIALLY_REFUNDED",
"FAILED",
null
],
"type": "string",
"x-enumDescriptions": {
"AUTHORIZED": "Платеж за заказ авторизован. Средства заблокированы на счету плательщика",
"CAPTURED": "Заказ успешно оплачен. Средства списаны со счета плательщика",
"CONFIRMED": "Заказ успешно оформлен",
"FAILED": "Заказ не был успешно оплачен",
"PARTIALLY_REFUNDED": "Совершён частичный возврат средств за заказ",
"PENDING": "Ожидается оплата",
"REFUNDED": "Совершён возврат средств за заказ",
"VOIDED": "Оплата отменена (voided). Списание средств не производилось"
}
}
},
"required": [
"orderId"
],
"type": "object"
}
],
"description": "если event == ORDER_STATUS_UPDATED"
},
"subscription": {
"allOf": [
{
"properties": {
"customerSubscriptionId": {
"description": "ID подписки. Возвращается из SDK при успешном создании подписки. Также можно сохранить подписку при получении первой нотификации по ней. Дальнейшие обновления по этой подписке будут приходить с таким же значением этого поля.",
"format": "uuid",
"type": "string"
},
"nextWriteOff": {
"description": "Дата следующей попытки списания денег по подписке",
"format": "date-time",
"type": "string"
},
"status": {
"description": "Статус подписки",
"enum": [
"NEW",
"ACTIVE",
"CANCELLED",
"EXPIRED"
],
"type": "string"
},
"subscriptionPlanId": {
"description": "ID плана подписки, созданного в личном кабинете или через API.",
"format": "uuid",
"type": "string"
}
},
"required": [
"customerSubscriptionId",
"status",
"subscriptionPlanId"
],
"type": "object"
}
],
"description": "Состояние подписки. Передается, если event == SUBSCRIPTION_STATUS_UPDATED."
}
},
"required": [
"event",
"eventTime",
"merchantId"
],
"type": "object"
},
"OperationWebhookData": {
"properties": {
"externalOperationId": {
"type": "string"
},
"operationId": {
"format": "uuid",
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"type": "string"
},
"status": {
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
}
},
"required": [
"operationId",
"operationType",
"orderId",
"status"
],
"type": "object"
},
"OrderWebhookData": {
"properties": {
"cartUpdated": {
"description": "Была ли обновлена корзина. Возвращается при оплате баллами.Если флаг имеет значение `true`, получите актуальную корзину.",
"type": "boolean"
},
"deliveryStatus": {
"description": "Статусы доставки",
"enum": [
"NEW",
"ESTIMATING",
"EXPIRED",
"READY_FOR_APPROVAL",
"COLLECTING",
"PREPARING",
"DELIVERING",
"DELIVERED",
"RETURNING",
"RETURNED",
"FAILED",
"CANCELLED",
null
],
"type": "string"
},
"orderId": {
"description": "ID заказа, полученный в ответе /orders",
"type": "string"
},
"paymentStatus": {
"description": "Статус заказа",
"enum": [
"PENDING",
"AUTHORIZED",
"CAPTURED",
"VOIDED",
"REFUNDED",
"CONFIRMED",
"PARTIALLY_REFUNDED",
"FAILED",
null
],
"type": "string",
"x-enumDescriptions": {
"AUTHORIZED": "Платеж за заказ авторизован. Средства заблокированы на счету плательщика",
"CAPTURED": "Заказ успешно оплачен. Средства списаны со счета плательщика",
"CONFIRMED": "Заказ успешно оформлен",
"FAILED": "Заказ не был успешно оплачен",
"PARTIALLY_REFUNDED": "Совершён частичный возврат средств за заказ",
"PENDING": "Ожидается оплата",
"REFUNDED": "Совершён возврат средств за заказ",
"VOIDED": "Оплата отменена (voided). Списание средств не производилось"
}
}
},
"required": [
"orderId"
],
"type": "object"
},
"PaymentMethod": {
"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"
},
"PaymentsOperator": {
"properties": {
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"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",
"location",
"pickupPointId",
"title"
],
"type": "object"
},
"PickupOptionDetails": {
"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"
},
"PickupSchedule": {
"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"
},
"RenderedCart": {
"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"
},
"RenderedCartItem": {
"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"
},
"RequiredFields": {
"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"
},
"Schedule": {
"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"
},
"ShippingMethod": {
"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"
},
"ShippingOptions": {
"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"
},
"ShippingWarehouse": {
"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"
},
"SubscriptionWebhookData": {
"properties": {
"customerSubscriptionId": {
"description": "ID подписки. Возвращается из SDK при успешном создании подписки. Также можно сохранить подписку при получении первой нотификации по ней. Дальнейшие обновления по этой подписке будут приходить с таким же значением этого поля.",
"format": "uuid",
"type": "string"
},
"nextWriteOff": {
"description": "Дата следующей попытки списания денег по подписке",
"format": "date-time",
"type": "string"
},
"status": {
"description": "Статус подписки",
"enum": [
"NEW",
"ACTIVE",
"CANCELLED",
"EXPIRED"
],
"type": "string"
},
"subscriptionPlanId": {
"description": "ID плана подписки, созданного в личном кабинете или через API.",
"format": "uuid",
"type": "string"
}
},
"required": [
"customerSubscriptionId",
"status",
"subscriptionPlanId"
],
"type": "object"
},
"Supplier": {
"properties": {
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"TimeInterval": {
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
},
"TimeInterval1": {
"properties": {
"end": {
"description": "Время конца интервала",
"type": "string"
},
"start": {
"description": "Время начала интервала",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
},
"TransferOperator": {
"properties": {
"address": {
"type": "string"
},
"inn": {
"type": "string"
},
"name": {
"type": "string"
},
"phones": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"WeeklySchedule": {
"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"
},
"YandexDeliveryOption": {
"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"
},
"YandexDeliveryShippingParams": {
"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"
}
}
},
"info": {
"description": "\nДля работы Merchant API необходим публичный адрес вашего бэкенда. Адрес необходимо указать\nв поле **Callback URL** в консоли Яндекс Пэй [на странице разработчика](https://console.pay.yandex.ru/settings).\n\nВаш бэкенд должен проверять подлинность запроса, прежде чем приступать к его обработке.\n\n### Аутентификация запроса Яндекс Пэй {#auth}\n\nВ теле запроса Яндекс Пэй присылает JWT-токен, подписанный по алгоритму ES256.\nТокен состоит из трех частей: заголовка (header), полезной нагрузки (payload) и подписи,\nконкатенированных через точку: `<base64-encoded headers JSON>.<base64-encoded payload JSON>.<signature>`.\nРаскодированный из base64 заголовок представляет собой JSON документ со следующей структурой:\n\n```json\n{\n \"alg\": \"ES256\", // алгоритм подписи\n \"kid\": \"key-id\", // ID ключа, используется при определении публичного ключа\n \"iat\": \"1639408318\", // UNIX время, когда токен был выпущен\n \"exp\": \"1639429918\", // UNIX время, когда токен истекает, токен признается не валидным после наступления этого времени\n \"typ\": \"JWT\" // тип токена\n}\n```\n\nПолезная нагрузка также представляет собой JSON, конкретная структура полей которого определяется\nвызываемым методом. Подпись необходима для проверки валидности JWT токена.\n\n__ВАЖНО:__ Перед десериализацией токена необходимо проверить его валидность.\n\n#### Алгоритм проверки валидности токена {#validate}\n\nДля проверки валидности JWT-токена удобнее воспользоваться одной из стандартных библиотек\nиз списка: <https://jwt.io/libraries>. По возможности воздержитесь от ручной реализации данных проверок.\n\nВ общем случае алгоритм проверки JWT-токена с помощью библиотеки включает в себя:\n\n1. Проверку валидности подписи JWT-токена с помощью публичных JWK-ключей, размещенных по адресам:\n<https://sandbox.pay.yandex.ru/api/jwks> для тестового окружения и <https://pay.yandex.ru/api/jwks>\nдля продуктивного окружения. Публичный ключ, используемый для валидации подписи конкретного JWT-токена,\nвыбирается на основе требований `alg` и `kid` в заголовке самого токена.\n1. Проверку стандартных требований в заголовках JWT-токена: `alg`, `typ`, `iat`, `exp` и т.д.\n\nТолько в случае, если обе проверки прошли успешно, получатель может десериализовать JSON payload JWT токена.\nПосле этого получатель должен дополнительно проверить, что `merchantId` в payload токена совпадает с ID продавца\nв Яндекс Пэй. В противном случае токен не может быть использован.\n\nЕсли любая из проверок завершилась неудачей, токен считается невалидным, а запрос — неаутентифицированным.\nТакой запрос должен быть отклонен. В этом случае ожидается ответ `403 Forbidden` с `reasonCode`, равным `FORBIDDEN`.\nПример ответа:\n\n```json\n{\n \"status\": \"fail\",\n \"reasonCode\": \"FORBIDDEN\",\n \"reason\": \"Invalid merchantId\"\n}\n```\n\n#### Кеширование публичных JWK-ключей {#jwk-cache}\n\nДопускается кеширование JWK-ключей, используемых для валидации JWT-токенов, на бэкенде магазина.\nВремя жизни такого кеша необходимо устанавливать таким образом, чтобы это не приводило к ошибкам валидации\nтокенов в случае ротации JWK-ключей на стороне Яндекс Пэй. На практике\n[некоторые библиотеки](https://github.com/auth0/node-jwks-rsa#caching) по умолчанию устанавливают\nвремя жизни такого кеша в 10 минут. В случае кеширования JWK-ключей, необходимо реализовать следующие\nсценарии проверок.\n\nСценарий А: Успешная валидация токена кешированными JWK-ключами.\n\n1. Приходит запрос с токеном, чей `kid` найден среди кешированных JWK-ключей, и время жизни кеша не истекло.\n1. Валидация подписи токена завершается успешно.\n1. Токен считается валидным.\n\nСценарий B: Неуспешная валидация токена кешированными JWK-ключами.\n\n1. Приходит запрос с токеном, чей `kid` найден среди кешированных JWK-ключей, и время жизни кеша не истекло.\n1. Валидация подписи токена завершается неудачей.\n1. Токен считается невалидным, запрос отклоняется.\n\nСценарий C: Валидация токена со сбросом кеша JWK-ключей.\n\n1. Приходит запрос с токеном, чей `kid` не найден среди кешированных JWK-ключей или время жизни кеша истекло.\n1. Продавец должен сбросить кеш JWK-ключей и запросить весь список активных JWK-ключей заново с соответствующего окружению адреса.\n1. Валидация продолжается по сценарию А или B.\n\nКак и в случае с валидацией токена, рекомендуется использовать стандартные библиотеки и воздержаться от\nручной реализации данных сценариев.\n\n#### Пример кода валидации JWT токена {#jwk-verify-example}\n\nНиже приведен пример успешной валидации JWT токена, выпущенного в sandbox окружении.\nДля валидации токенов в продакшен окружении должны использоваться публичные ключи, доступные по адресу <https://pay.yandex.ru/api/jwks>.\n\n{% list tabs %}\n\n- Python\n\n ```python\n import json\n from urllib.request import urlopen\n\n from jose import jwt\n\n YANDEX_JWK_ENDPOINT = \"https://sandbox.pay.yandex.ru/api/jwks\"\n\n JWT_TOKEN = (\n \"eyJhbGciOiJFUzI1NiIsImlhdCI6MTY1MDE5Njc1OCwia2lkIjoidGVzdC1rZXkiLCJ0eXAiOiJKV1QifQ.eyJjYXJ0Ijp7Iml0ZW1zIjpbeyJwcm9kdWN\"\n \"0SWQiOiJwMSIsInF1YW50aXR5Ijp7ImNvdW50IjoiMSJ9fV19LCJjdXJyZW5jeUNvZGUiOiJSVUIiLCJtZXJjaGFudElkIjoiMjc2Y2YxZjEtZjhlZC00N\"\n \"GZlLTg5ZTMtNWU0MTEzNDZkYThkIn0.YmQjHlh3ddLWgBexQ3QrwtbgAA3u1TVnBl1qnfMIvToBwinH3uH92KGB15m4NAQXdz5nhkjPZZu7RUStJt40PQ\"\n )\n\n with urlopen(YANDEX_JWK_ENDPOINT) as response:\n public_jwks = json.load(response)\n\n payload = jwt.decode(JWT_TOKEN, public_jwks, algorithms=[\"ES256\"])\n print(json.dumps(payload, indent=2))\n ```\n\n- PHP\n\n ```php\n use Firebase\\JWT\\JWT;\n use Firebase\\JWT\\JWK;\n\n $sandboxJwk = 'https://sandbox.pay.yandex.ru/api/jwks';\n\n $JWT_TOKEN =\n \"eyJhbGciOiJFUzI1NiIsImlhdCI6MTY1MDE5Njc1OCwia2lkIjoidGVzdC1rZXkiLCJ0eXAiOiJKV1QifQ.eyJjYXJ0Ijp7Iml0ZW1zIjpbeyJwcm9kdWN\"\n . \"0SWQiOiJwMSIsInF1YW50aXR5Ijp7ImNvdW50IjoiMSJ9fV19LCJjdXJyZW5jeUNvZGUiOiJSVUIiLCJtZXJjaGFudElkIjoiMjc2Y2YxZjEtZjhlZC00N\"\n . \"GZlLTg5ZTMtNWU0MTEzNDZkYThkIn0.YmQjHlh3ddLWgBexQ3QrwtbgAA3u1TVnBl1qnfMIvToBwinH3uH92KGB15m4NAQXdz5nhkjPZZu7RUStJt40PQ\";\n\n $client = new GuzzleHttp\\Client();\n $keysJson = $client->get($sandboxJwk)->getBody();\n $keysData = json_decode($keysJson, JSON_OBJECT_AS_ARRAY);\n\n $keys = JWK::parseKeySet($keysData);\n $payload = JWT::decode($JWT_TOKEN, $keys);\n\n print_r($payload);\n ```\n\n Для работы примера необходимо установить зависимости:\n\n ```bash\n composer require firebase/php-jwt\n composer require guzzlehttp/guzzle\n ```\n\n{% endlist %}",
"title": "Merchant API",
"version": "1.0.0"
},
"openapi": "3.0.3",
"paths": {
"/v1/order/render": {
"post": {
"description": "Запрос информации для отображения корзины.\n\nВ параметрах запроса передаются идентификаторы товаров и их количество или номер заказа.\nВ ответе возвращаются параметры и контент для формы Яндекс Пэй.\n\nНа входе идентификаторы товаров и их количество. <br/>\nИмеется возможность передать произвольные данные в поле `metadata` с фронтенда продавца на\nбэкенд магазина. Метод вызывается при изменении состава корзины, выборе адреса, способа доставки,\nвводе промокодов. Продавцу необходимо проверять состав заказа и заполнять детальную информацию\nдля товаров, способов доставки и промокодов, пересчитывать стоимости товаров и всего заказа.\n\nВ ответе ожидаются детальная информация по заказу и товарам:\n- Доступные типы способов оплаты и доставки в `availablePaymentMethods`, `shipping.availableMethods`\n- Дополнительные данные пользователя необходимые для оформления заказа, в `requiredFields`\n- Стоимость каждого товара и название. Опционально, максимально доступное количество товара\n- Информация о скидках, примененных к корзине, в `discounts`",
"operationId": "order-render",
"requestBody": {
"content": {
"application/json": {
"schema": {
"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"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"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"
}
}
},
"description": "success"
},
"400": {
"content": {
"application/json": {
"schema": {
"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"
}
}
},
"description": "bad request"
}
},
"summary": "/v1/order/render"
}
},
"/v1/order/create": {
"post": {
"description": "Запрос на валидацию или создание заказа на стороне продавца.\n\nВ параметрах запроса передается заполненная корзина с ценами товаров, выбранным способом доставки\nи полной ценой заказа (`orderAmount`). Продавец проверяет корректность цен и состава корзины.\n\nЕсли корзина корректна, то продавец резервирует товар на 30 минут и отвечает успешным кодом ответа\nв бэкенд Яндекс Пэй. Бэкенд Яндекс Пэй в течении 30 минут должен прислать нотификации о статусе оплаты.\nТак же продавец может poll-ить статус заказа через ручку получения деталей заказа\nв [Yandex Pay API](https://pay.yandex.ru/ru/docs/custom/backend/yandex-pay-api/).\n\nЕсли корзина корректна, то продавец резервирует товар на 30 минут и отправляет успешный код ответа\nс номером заказа. Если продавец не получил [нотификацию](./webhook) о изменении статуса оплаты заказа в течении 30 минут,\nто необходимо синхронно получить [детали заказа](../yandex-pay-api/order/merchant_v1_orders-post) перед снятием\nрезерва на товар.\n\n{% note warning %}\n\nТолько после получении статуса оплаты `FAILED` продавец может снимать резерв с товаров и отмечать\nзаказ отмененным.\n\n{% endnote %}\n\nВ случае получения 4xx ответа валидация заказа считается неуспешной, оплата заказа не будет\nпроводиться, повторных попыток проверки заказа осуществляться не будет. В случае получения\n5xx ответа запрос будет повторен.",
"operationId": "order-create",
"requestBody": {
"content": {
"application/json": {
"schema": {
"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"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"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"
}
}
},
"description": "success"
},
"400": {
"content": {
"application/json": {
"schema": {
"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"
}
}
},
"description": "bad request"
}
},
"summary": "/v1/order/create"
}
},
"/v1/webhook": {
"post": {
"description": "Нотификации об изменении статуса.\n\nЗапрос отправляется при изменении статуса заказа.\n\nПоддерживаемые события:\n- `ORDER_STATUS_UPDATED` - изменение статуса платежа или доставки\n- `OPERATION_STATUS_UPDATED` - изменение статуса операции по подтверждению, отмене или возврату платежа",
"operationId": "webhook",
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"event": {
"enum": [
"TRANSACTION_STATUS_UPDATE",
"ORDER_STATUS_UPDATED",
"OPERATION_STATUS_UPDATED",
"SUBSCRIPTION_STATUS_UPDATED"
],
"type": "string"
},
"eventTime": {
"description": "время события в формате `RFC 3339`; `YYYY-MM-DDThh:mm:ssTZD`",
"format": "date-time",
"type": "string"
},
"merchantId": {
"format": "uuid",
"type": "string"
},
"operation": {
"allOf": [
{
"properties": {
"externalOperationId": {
"type": "string"
},
"operationId": {
"format": "uuid",
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"type": "string"
},
"status": {
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
}
},
"required": [
"operationId",
"operationType",
"orderId",
"status"
],
"type": "object"
}
]
},
"order": {
"allOf": [
{
"properties": {
"cartUpdated": {
"description": "Была ли обновлена корзина. Возвращается при оплате баллами.Если флаг имеет значение `true`, получите актуальную корзину.",
"type": "boolean"
},
"deliveryStatus": {
"description": "Статусы доставки",
"enum": [
"NEW",
"ESTIMATING",
"EXPIRED",
"READY_FOR_APPROVAL",
"COLLECTING",
"PREPARING",
"DELIVERING",
"DELIVERED",
"RETURNING",
"RETURNED",
"FAILED",
"CANCELLED",
null
],
"type": "string"
},
"orderId": {
"description": "ID заказа, полученный в ответе /orders",
"type": "string"
},
"paymentStatus": {
"description": "Статус заказа",
"enum": [
"PENDING",
"AUTHORIZED",
"CAPTURED",
"VOIDED",
"REFUNDED",
"CONFIRMED",
"PARTIALLY_REFUNDED",
"FAILED",
null
],
"type": "string",
"x-enumDescriptions": {
"AUTHORIZED": "Платеж за заказ авторизован. Средства заблокированы на счету плательщика",
"CAPTURED": "Заказ успешно оплачен. Средства списаны со счета плательщика",
"CONFIRMED": "Заказ успешно оформлен",
"FAILED": "Заказ не был успешно оплачен",
"PARTIALLY_REFUNDED": "Совершён частичный возврат средств за заказ",
"PENDING": "Ожидается оплата",
"REFUNDED": "Совершён возврат средств за заказ",
"VOIDED": "Оплата отменена (voided). Списание средств не производилось"
}
}
},
"required": [
"orderId"
],
"type": "object"
}
],
"description": "если event == ORDER_STATUS_UPDATED"
},
"subscription": {
"allOf": [
{
"properties": {
"customerSubscriptionId": {
"description": "ID подписки. Возвращается из SDK при успешном создании подписки. Также можно сохранить подписку при получении первой нотификации по ней. Дальнейшие обновления по этой подписке будут приходить с таким же значением этого поля.",
"format": "uuid",
"type": "string"
},
"nextWriteOff": {
"description": "Дата следующей попытки списания денег по подписке",
"format": "date-time",
"type": "string"
},
"status": {
"description": "Статус подписки",
"enum": [
"NEW",
"ACTIVE",
"CANCELLED",
"EXPIRED"
],
"type": "string"
},
"subscriptionPlanId": {
"description": "ID плана подписки, созданного в личном кабинете или через API.",
"format": "uuid",
"type": "string"
}
},
"required": [
"customerSubscriptionId",
"status",
"subscriptionPlanId"
],
"type": "object"
}
],
"description": "Состояние подписки. Передается, если event == SUBSCRIPTION_STATUS_UPDATED."
}
},
"required": [
"event",
"eventTime",
"merchantId"
],
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"status": {
"default": "success",
"type": "string"
}
},
"type": "object"
}
}
},
"description": "success"
},
"400": {
"content": {
"application/json": {
"schema": {
"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"
}
}
},
"description": "bad request"
}
},
"summary": "/v1/webhook"
}
},
"/v1/pickup-options": {
"post": {
"description": "Запрос на получение точек самовывоза.\n\nЗапрос на получение доступных точек самовывоза по корзине товаров.",
"operationId": "pickup-options",
"requestBody": {
"content": {
"application/json": {
"schema": {
"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"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"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"
}
}
},
"description": "success"
},
"400": {
"content": {
"application/json": {
"schema": {
"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"
}
}
},
"description": "bad request"
}
},
"summary": "/v1/pickup-options"
}
},
"/v1/pickup-option-details": {
"post": {
"description": "Запрос на получение детальной информации о точке самовывоза.\n\nПо точке самовывоза (`pickupPointId`) и корзине товаров бэкенд магазина возвращает\nдетальную информацию о точке самовывоза.",
"operationId": "pickup-option-details",
"requestBody": {
"content": {
"application/json": {
"schema": {
"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"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"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"
}
}
},
"description": "success"
},
"400": {
"content": {
"application/json": {
"schema": {
"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"
}
}
},
"description": "bad request"
}
},
"summary": "/v1/pickup-option-details"
}
},
"/v1/onboard": {
"post": {
"description": "Запрос на подтверждение регистрации в консоли Яндекс Пэй.",
"operationId": "onboard",
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"apiKey": {
"type": "string"
},
"force": {
"default": false,
"type": "boolean"
},
"merchantAuthToken": {
"description": "Авторизационный токен, сгенерированный мерчантом",
"type": "string"
},
"merchantId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"apiKey",
"merchantAuthToken"
],
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"status": {
"default": "success",
"type": "string"
}
},
"type": "object"
}
}
},
"description": "success"
},
"400": {
"content": {
"application/json": {
"schema": {
"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"
}
}
},
"description": "bad request"
}
},
"summary": "/v1/onboard"
}
}
},
"servers": [
{
"description": "Production",
"url": "https://example.merchant.ru"
},
{
"description": "Sandbox",
"url": "https://sandbox.example.merchant.ru"
}
]
}