Описание API#
Раздел описывает методы API «Подели» для работы с заказами. Методы сгруппированы по жизненному циклу заказа. Общие сведения (адрес сервиса, авторизация, заголовки) вынесены в раздел Общие сведения, статус-коды и коды ошибок — в раздел Статус-коды и обработка ошибок.
Работа с субпартнёрами описана на отдельной странице Методы для партнёров-агрегаторов.
Подсказка
Если вы знакомитесь с «Подели» впервые, начните с бизнес-сценариев в разделе Протокол взаимодействия — там описано, когда и в какой последовательности вызываются методы.
Методы работы с заказами#
Пути эндпоинтов указаны относительно базового адреса
https://api-sand.podeli.ru/partners/v1 — см. Общие сведения.
Метод |
Эндпоинт |
Назначение |
|---|---|---|
POST |
Создать заказ онлайн и получить URL для перенаправления Клиента |
|
POST |
Создать заказ на кассе по QR-коду Клиента |
|
POST |
Подтвердить заказ при двухстадийной оплате |
|
POST |
Отменить заказ до оплаты |
|
POST |
Оформить полный или частичный возврат |
|
GET |
Получить детальную информацию по заказу |
|
GET |
Сверить заказы и возвраты за период |
|
POST |
Рассчитать график платежей по сумме |
Общие сведения#
Базовый адрес
Пути методов указываются относительно базового адреса. В примерах документации используется адрес тестового контура:
https://api-sand.podeli.ru/partners/v1
Примечание
Адрес боевого контура в документации не приводится — уточните его у менеджера по интеграции.
Протокол и формат данных
Все запросы выполняются в формате JSON поверх HTTPS. Соединение защищено по схеме Mutual TLS — см. Настройка защищённого соединения.
Заголовки запроса
Заголовок |
Значение |
|---|---|
|
Тип контента (application/json) |
|
Авторизация Basic Auth: логин и пароль Магазина-Партнёра в формате
|
|
Уникальный идентификатор запроса в формате UUID v4. Используется для диагностики ошибок. Для каждого нового HTTP-запроса передавайте новое значение |
CREATE — создание заказа онлайн#
POST https://api-sand.podeli.ru/partners/v1/orders/create
Как работает
Клиент создаёт заказ на сайте Магазина-Партнёра и переходит к выбору способа оплаты.
При выборе Клиентом способа оплаты «Подели» вызывается метод CREATE.
Метод возвращает URL для перенаправления Клиента на сайт «Подели» — для авторизации, скоринга и (при положительном сценарии) оплаты первого платежа по заказу.
Подсказка
Стандартное время жизни заказа — 6 часов. Значение можно изменить, лимит задаётся в часах.
Параметры запроса
Поле |
Тип |
Обяз. |
Описание |
|---|---|---|---|
|
object |
✓ |
Заказ |
├─ |
string(44) |
✓ |
Уникальный идентификатор заказа |
├─ |
number(18,2) |
✓ |
Итоговая стоимость заказа к оплате с учётом всех применённых скидок, в рублях с точностью до двух знаков. |
├─ |
number(18,2) |
✓ |
Сумма аванса, внесённого Клиентом через другие способы оплаты, в рублях с точностью до двух знаков. Не изменяет стоимость товаров и не участвует в расчёте итоговой стоимости заказа |
├─ |
array of objects |
✓ |
Позиции в заказе |
│ ├─ |
string(36) |
✓ |
Идентификатор позиции в Магазине-Партнёре. Уникален в рамках заказа |
│ ├─ |
string(50) |
— |
Артикул товара |
│ ├─ |
string(250) |
✓ |
Наименование (описание) товара |
│ ├─ |
number(18,2) |
✓ |
Стоимость единицы товара к оплате с учётом всех применённых скидок, в рублях с точностью до двух знаков. Если часть стоимости оплачена авансом или бонусами, укажите здесь сумму к оплате через «Подели», а аванс — в |
│ ├─ |
number(18,3) |
✓ |
Количество товара в заказе. При нецелочисленном количестве передавать значение согласно правилу* |
│ └─ |
number(18,2) |
— |
Сумма аванса, внесённого Клиентом через другие способы оплаты, распределённая на конкретные товары в заказе (за единицу товара). Не влияет на стоимость товаров |
├─ |
boolean |
— |
Схема оплаты первого платежа: |
├─ |
string(20) |
— |
Тип доставки: |
├─ |
string(50) |
— |
ID курьера |
├─ |
string(50) |
— |
ФИО получателя |
├─ |
string(11) |
— |
Номер телефона получателя |
├─ |
string(50) |
— |
Номер телефона получателя в зашифрованном виде (заполняется, если передача данных в открытом виде невозможна) |
├─ |
string(250) |
— |
Адрес доставки, магазина или пункта выдачи, код КЛАДР |
├─ |
string(250) |
— |
Комментарий |
└─ |
string(50) |
— |
Номер телефона Клиента в зашифрованном виде (заполняется, если передача данных в открытом виде невозможна) |
|
object |
✓ |
Клиент |
├─ |
string(60) |
✓ |
Имя Клиента |
├─ |
string(60) |
✓ |
Фамилия Клиента |
├─ |
string(60) |
— |
Отчество Клиента |
├─ |
string date |
— |
Дата рождения Клиента в формате YYYY-MM-DD |
├─ |
string(11) |
✓ |
Телефон Клиента в формате РФ с маской |
└─ |
string(250) |
✓ |
Email Клиента |
|
object |
— |
Данные субпартнёра (селлера), в пользу которого оформляется заказ. Заполняется при работе через партнёра-агрегатора, если магазин подключён к сервису не напрямую. При прямом подключении поле не используется. Подробнее — Методы для партнёров-агрегаторов |
├─ |
string(250) |
✓ |
Логин субпартнёра |
├─ |
string(250) |
— |
Наименование субпартнёра |
├─ |
string(12) |
— |
ИНН субпартнёра |
└─ |
string(20) |
— |
ОГРН субпартнёра |
|
string(500) |
— |
URL для получения HTTP-нотификаций о статусе заказа. Следует указывать протокол (https/http) |
|
string(500) |
✓ |
URL для редиректа Клиента при неуспешной оплате первого платежа. Следует указывать протокол (https/http) |
|
string(500) |
✓ |
URL для редиректа Клиента при успешной оплате первого платежа. Следует указывать протокол (https/http) |
|
string(500) |
— |
URL для редиректа Клиента при отказе по скорингу. Следует указывать протокол (https/http) |
|
string(36) |
— |
Идентификатор терминала. Может использоваться в отдельных сценариях интеграции. |
|
string(36) |
— |
Канал оформления заказа в Магазине-Партнёре. Допустимые значения: |
|
string(500) |
— |
Дополнительное поле для передачи информации. Используется в отдельных сценариях работы с партнёром |
|
string(500) |
— |
Дополнительное поле для передачи информации. Используется в отдельных сценариях работы с партнёром |
Тело ответа
Заголовки ответа и статус-коды — общие.
Поле |
Тип |
Описание |
|---|---|---|
|
string |
Статус заказа |
|
number double |
Общая сумма, подлежащая оплате Клиентом |
|
string |
Ссылка-редирект на страницу сервиса «Подели» |
|
object |
Описание ошибки (поля |
Пример запроса
{
"order": {
"id": "test_order",
"amount": 5000.0,
"prepaidAmount": 1000.0,
"items": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"article": "ART12345678",
"name": "Товар 1",
"amount": 2500.0,
"quantity": 1,
"prepaidAmount": 500.0
},
{
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"article": "ART87654321",
"name": "Товар 2",
"amount": 2500.0,
"quantity": 1,
"prepaidAmount": 500.0
}
],
"deliveryMethod": "Mall",
"courierId": "courier_123",
"recipient": "Иванов Иван Иванович",
"phoneRecipient": "79990000001",
"phoneRecipientMd5": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
"addressDelivery": "ул. Тестовая, д. 1, кв. 1",
"phoneMd5": "d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a",
"isTwoStagePayment": true
},
"clientInfo": {
"firstName": "Иван",
"lastName": "Иванов",
"middleName": "Иванович",
"birthdate": "1990-01-01",
"phone": "79990000002",
"email": "test@example.com"
},
"notificationUrl": "https://partner.example.com/notification",
"failUrl": "https://example.com/fail",
"successUrl": "https://example.com/success"
}
{
"status": "CREATED",
"amount": 5000.0,
"redirectUrl": "https://pokupka-sand.podeli.ru/login?guid=4add3220-1da6-4yf0-92n5-854ps4f700d8&amountAll=5000.0&amountFirst=1250.00&flowId=1"
}
Ошибки метода
Выберите код, чтобы увидеть пример тела ответа:
Пример ответа:
{
"error": {
"code": "validation_error",
"text": "Ошибка валидации тела запроса"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Ошибка валидации тела запроса (не заполнено обязательное поле, неверная структура) |
|
Некорректное или пустое значение |
|
Суммы заказа не сходятся: |
Пример ответа:
{
"error": {
"code": "not_authorized_partner_login",
"text": "Неверный логин/пароль"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Неверный логин/пароль |
|
Истёк срок действия договора с Магазином-Партнёром |
|
Партнёр не подключён к сервису «Подели» |
|
Субпартнёр не подключён к сервису «Подели» |
Пример ответа:
{
"error": {
"code": "duplicated_request",
"text": "Запрос с таким X-Correlation-ID уже был отправлен ранее"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Запрос с таким |
|
Заказ с таким |
|
Позиция |
Пример ответа:
{
"error": {
"code": "req_number_exceeded",
"text": "Превышен лимит запросов к серверу"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Превышен лимит запросов к серверу |
Пример ответа:
{
"error": {
"code": "unknown_error",
"text": "Неизвестная ошибка сервера"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Неизвестная ошибка сервера |
Пример ответа:
{
"error": {
"code": "service_unavailable",
"text": "Сервис временно недоступен"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Сервис временно недоступен |
Полный перечень кодов — в справочнике ошибок.
CREATE_OFFLINE — создание заказа офлайн#
POST https://api-sand.podeli.ru/partners/v1/orders/create_offline
Как работает
Клиент в офлайн-магазине Партнёра показывает кассиру QR-код в мобильном приложении «Подели».
Кассир сканирует QR-код. ПО кассы извлекает из него
external_idКлиента в «Подели» и вызывает метод CREATE_OFFLINE.В «Подели» создаётся заказ, запускается скоринг по Клиенту.
Подсказка
Рекомендации по настройке таймаутов:
ожидание ответа на метод — 60 секунд
статус заказа опрашивать методом INFO с периодичностью 10 секунд до перехода заказа в терминальный (финальный) статус
Параметры запроса
Поле |
Тип |
Обяз. |
Описание |
|---|---|---|---|
|
object |
✓ |
Заказ |
├─ |
string(44) |
✓ |
Идентификатор заказа в Магазине-Партнёре |
├─ |
number(18,2) |
✓ |
Итоговая стоимость заказа к оплате с учётом всех применённых скидок, в рублях с точностью до двух знаков. |
├─ |
number(18,2) |
✓ |
Сумма аванса, внесённого Клиентом через другие способы оплаты, в рублях с точностью до двух знаков. Не изменяет стоимость товаров и не участвует в расчёте итоговой стоимости заказа |
├─ |
array of objects |
✓ |
Позиции в заказе |
│ ├─ |
string(36) |
✓ |
Идентификатор позиции в Магазине-Партнёре |
│ ├─ |
string(50) |
— |
Артикул товара |
│ ├─ |
string(250) |
✓ |
Наименование (описание) товара |
│ ├─ |
number(18,2) |
✓ |
Стоимость единицы товара к оплате с учётом всех применённых скидок, в рублях с точностью до двух знаков. |
│ ├─ |
number(18,3) |
✓ |
Количество товара в заказе. При нецелочисленном количестве передавать значение согласно правилу* |
│ └─ |
number(18,2) |
— |
Сумма аванса, внесённого Клиентом через другие способы оплаты, распределённая на конкретные товары в заказе (за единицу товара). Не изменяет стоимость товаров и не участвует в расчёте итоговой стоимости заказа |
├─ |
number |
— |
Широта |
├─ |
number |
— |
Долгота |
├─ |
string(250) |
✓ |
Торговый центр |
├─ |
string(250) |
✓ |
Адрес магазина |
├─ |
string(250) |
— |
Номер кассы |
├─ |
string(250) |
— |
Номер кассира |
└─ |
string(500) |
— |
Комментарий |
|
object |
✓ |
Клиент |
└─ |
string |
— |
id из QR Клиента, закодированный в base64. |
|
string(36) |
— |
Идентификатор терминала |
|
string(500) |
— |
Комментарий Магазина-Партнёра |
|
string(500) |
— |
Комментарий Магазина-Партнёра |
Тело ответа
При успешном выполнении тело ответа приходит пустым — передаётся только статус-код 200.
При ошибке в теле возвращается объект error
(заголовки ответа и статус-коды — общие).
Примеры
{
"order": {
"id": "test_order_offline",
"amount": 5000.0,
"prepaidAmount": 1000.0,
"items": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"article": "ART12345678",
"name": "Товар 1",
"amount": 2500.0,
"quantity": 1,
"prepaidAmount": 500.0
},
{
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"article": "ART87654321",
"name": "Товар 2",
"amount": 2500.0,
"quantity": 1,
"prepaidAmount": 500.0
}
],
"latitude": 55.755826,
"longitude": 37.617300,
"mall": "ТРЦ Тестовый",
"address": "ул. Тестовая, д. 1",
"cashRegisterNumber": "1111111111",
"cashierNumber": "2222222222",
"comment": "тестовый комментарий"
},
"terminalId": "1234",
"comment1": "qwerty",
"comment2": "qwerty",
"clientInfo": {
"id": "Mzc3MzM="
}
}
Ошибки метода
Выберите код, чтобы увидеть пример тела ответа:
Пример ответа:
{
"error": {
"code": "invalid_request",
"text": "Некорректное или пустое значение X-Correlation-ID либо параметров запроса"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Некорректное или пустое значение |
Пример ответа:
{
"error": {
"code": "not_authorized_partner_login",
"text": "Неверный логин/пароль"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Неверный логин/пароль |
Пример ответа:
{
"error": {
"code": "duplicated_request",
"text": "Запрос с таким X-Correlation-ID уже был отправлен ранее"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Запрос с таким |
Пример ответа:
{
"error": {
"code": "req_number_exceeded",
"text": "Превышен лимит запросов к серверу"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Превышен лимит запросов к серверу |
Пример ответа:
{
"error": {
"code": "unknown_error",
"text": "Неизвестная ошибка сервера"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Неизвестная ошибка сервера |
Полный перечень кодов — в справочнике ошибок.
COMMIT — подтверждение заказа#
POST https://api-sand.podeli.ru/partners/v1/orders/{orderId}/commit
Как работает
Получив статус заказа
WAIT_FOR_COMMIT(в HTTP-нотификации или через метод INFO), Магазин-Партнёр подтверждает сделку методом COMMIT.«Подели» отправляет захолдированный первый платёж на авторизацию в систему эквайринга банка.
Результат авторизации «Подели» возвращает Магазину-Партнёру в HTTP-нотификации.
Параметры запроса
Поле |
Тип |
Обяз. |
Описание |
|---|---|---|---|
|
object |
✓ |
Заказ |
├─ |
number(18,2) |
✓ |
Сумма для оплаты через «Подели», в рублях с точностью до двух знаков. Не должна превышать сумму, указанную при создании заказа методом CREATE |
├─ |
number(18,2) |
✓ |
Сумма аванса, внесённого Клиентом через другие способы оплаты, в рублях с точностью до двух знаков |
└─ |
array of objects |
— |
Подтвержденные позиции заказа. Секция заполняется только в случае изменения корзины, переданной в CREATE |
├─ |
string(36) |
✓ |
Идентификатор позиции в Магазине-Партнёре |
├─ |
string(50) |
— |
Артикул товара |
├─ |
number(18,3) |
✓ |
Количество товара, отгрузку которого подтверждает Магазин-Партнёр. Не должно превышать количество позиций товара, указанное при создании заказа методом CREATE. При нецелочисленном количестве передавать значение согласно правилу* |
└─ |
number(18,2) |
— |
Цена товара, отгрузку которого подтверждает Магазин-Партнёр. Если не передана, цена остаётся равной значению, указанному при создании заказа методом CREATE |
|
string(500) |
— |
Комментарий Магазина-Партнёра |
|
string(500) |
— |
Комментарий Магазина-Партнёра |
Тело ответа
Заголовки ответа и статус-коды — общие.
Поле |
Тип |
Обяз. |
Описание |
|---|---|---|---|
|
enum order_status_text |
✓ |
Статус заказа |
|
number double |
— |
Сумма для оплаты через «Подели» |
|
array of objects |
— |
Данные по графику платежей |
├─ |
string |
✓ |
Номер платежа |
├─ |
string date |
✓ |
Дата платежа |
├─ |
number |
✓ |
Сумма платежа |
├─ |
string |
✓ |
Статус платежа |
└─ |
string |
✓ |
Тип платежа |
|
object |
— |
Описание ошибки (поля |
Примеры
{
"order": {
"amount": 5000.00,
"prepaidAmount": 500.00
}
}
{
"status": "COMMITTED",
"amount": 5000.00,
"paymentSchedule": [
{
"paymentNumber": "1",
"paymentDate": "2026-07-13T09:45",
"paymentAmount": 1250.00,
"statusName": "HOLD",
"typeName": "MAIN"
},
{
"paymentNumber": "2",
"paymentDate": "2026-07-27T09:45",
"paymentAmount": 1250.00,
"statusName": "SCHEDULED",
"typeName": "MAIN"
},
{
"paymentNumber": "3",
"paymentDate": "2026-08-10T09:45",
"paymentAmount": 1250.00,
"statusName": "SCHEDULED",
"typeName": "MAIN"
},
{
"paymentNumber": "4",
"paymentDate": "2026-08-24T09:45",
"paymentAmount": 1250.00,
"statusName": "SCHEDULED",
"typeName": "MAIN"
}
]
}
Ошибки метода
Выберите код, чтобы увидеть пример тела ответа:
Пример ответа:
{
"error": {
"code": "invalid_request",
"text": "Некорректное или пустое значение X-Correlation-ID либо параметров запроса"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Некорректное или пустое значение |
|
Суммы заказа не сходятся |
Пример ответа:
{
"error": {
"code": "not_authorized_partner_login",
"text": "Неверный логин/пароль"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Неверный логин/пароль |
|
Истёк срок действия договора с Магазином-Партнёром |
Пример ответа:
{
"error": {
"code": "not_found_order",
"text": "Заказ не найден"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Заказ не найден |
|
Позиция заказа не найдена |
Пример ответа:
{
"error": {
"code": "incorrect_order_status",
"text": "В текущем статусе заказа действие невозможно"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
В текущем статусе заказа действие невозможно |
|
Количество товара превышает указанное при создании заказа |
|
Суммы отличаются от исходных, а частичное подтверждение недоступно — скорректируйте суммы или создайте новый заказ |
Пример ответа:
{
"error": {
"code": "req_number_exceeded",
"text": "Превышен лимит запросов к серверу"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Превышен лимит запросов к серверу |
Пример ответа:
{
"error": {
"code": "unknown_error",
"text": "Неизвестная ошибка сервера"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Неизвестная ошибка сервера |
Полный перечень кодов — в справочнике ошибок.
CANCEL — отмена заказа#
POST https://api-sand.podeli.ru/partners/v1/orders/{orderId}/cancel
Как работает
При отмене заказа (по инициативе Клиента или самого Магазина-Партнёра) вызывается метод CANCEL.
Отменить можно заказы в статусах
CREATED,SCORING,APPROVED*,WAIT_FOR_COMMIT.«Подели» отменяет заказ, снимает холд первого платежа (если он был выполнен) и отменяет предстоящие платежи по графику.
Результат отмены возвращается в синхронном ответе метода; HTTP-нотификация при этом не отправляется.
Примечание
Если заказ находится в статусе APPROVED и Клиент уже приступил к оплате первого платежа, отмена заказа может быть временно недоступна. В этом случае метод вернёт статус-код 423. Дождитесь смены статуса заказа или повторите запрос позже.
Параметры запроса
Поле |
Тип |
Обяз. |
Описание |
|---|---|---|---|
|
string |
✓ |
Инициатор отмены заказа: |
Тело ответа
Заголовки ответа и статус-коды — общие; дополнительно возможны коды 404 — заказ не найден и 423 — платёж находится в обработке, отмена временно недоступна.
Поле |
Тип |
Обяз. |
Описание |
|---|---|---|---|
|
enum order_status_text |
✓ |
Статус заказа |
|
number double |
— |
Сумма для оплаты через «Подели» |
|
array of objects |
— |
Данные по графику платежей |
├─ |
string |
✓ |
Номер платежа |
├─ |
string date |
✓ |
Дата платежа |
├─ |
number |
✓ |
Сумма платежа, в рублях с точностью до 2 знаков |
├─ |
string |
✓ |
Статус платежа |
└─ |
string |
✓ |
Тип платежа |
|
object |
— |
Описание ошибки (поля |
Примеры
{
"cancellationInitiator": "shop"
}
{
"status": "CANCELLED",
"amount": 5000.00,
"paymentSchedule": []
}
Ошибки метода
Выберите код, чтобы увидеть пример тела ответа:
Пример ответа:
{
"error": {
"code": "invalid_request",
"text": "Некорректное или пустое значение X-Correlation-ID либо параметров запроса"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Некорректное или пустое значение |
Пример ответа:
{
"error": {
"code": "not_authorized_partner_login",
"text": "Неверный логин/пароль"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Неверный логин/пароль |
|
Истёк срок действия договора с Магазином-Партнёром |
Пример ответа:
{
"error": {
"code": "not_found_order",
"text": "Заказ не найден"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Заказ не найден |
Пример ответа:
{
"error": {
"code": "incorrect_order_status",
"text": "В текущем статусе заказа действие невозможно"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
В текущем статусе заказа действие невозможно |
Пример ответа:
{
"error": {
"code": "incorrect_payment_status",
"text": "Платёж находится в обработке — отмена временно недоступна"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Платёж находится в обработке — отмена временно недоступна |
Пример ответа:
{
"error": {
"code": "req_number_exceeded",
"text": "Превышен лимит запросов к серверу"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Превышен лимит запросов к серверу |
Пример ответа:
{
"error": {
"code": "unknown_error",
"text": "Неизвестная ошибка сервера"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Неизвестная ошибка сервера |
Полный перечень кодов — в справочнике ошибок.
REFUND — возврат товара#
POST https://api-sand.podeli.ru/partners/v1/orders/{orderId}/refund
Как работает
Чтобы вернуть товары из заказа, Магазин-Партнёр вызывает метод REFUND.
Возврат доступен только для заказов в статусах
COMPLETEDиREFUNDED.Срок возврата ограничен договором с Партнёром и отсчитывается от оплаты первого платежа; по его истечении метод возвращает ошибку
refund_period_timeout.После возврата заказ переходит в статус
REFUNDED. Частично возвращённый заказ возвращается в статусCOMPLETED, как только Клиент полностью погасит оставшиеся платежи по графику.
Параметры запроса
Поле |
Тип |
Обяз. |
Описание |
|---|---|---|---|
|
object |
✓ |
Заказ |
└─ |
object |
✓ |
Возврат |
├─ |
string(36) |
✓ |
Идентификатор возврата в Магазине-Партнёре |
├─ |
string |
✓ |
Инициатор возврата. Допустимые значения: |
├─ |
array of objects |
✓ |
Возвращаемые позиции из заказа |
│ ├─ |
string(36) |
✓ |
Идентификатор позиции из заказа для возврата |
│ ├─ |
number(18,3) |
✓ |
Количество возвращаемого товара. При нецелочисленном количестве передавать значение согласно правилу* |
│ ├─ |
number(18,2) |
— |
Сумма к возврату по товару, оплаченная через «Подели». Поле заполняется только партнёрами, для которых согласована возможность указания суммы возврата. В остальных случаях сумма возврата рассчитывается сервисом «Подели» на основе переданной корзины. |
│ └─ |
string(250) |
— |
Описание возврата в свободной форме |
├─ |
string(500) |
— |
Комментарий Магазина-Партнёра |
├─ |
string(500) |
— |
Комментарий Магазина-Партнёра |
└─ |
array of objects |
— |
Дополнительные параметры возврата. |
├─ |
string |
— |
Код дополнительного параметра |
└─ |
string |
— |
Значение дополнительного параметра |
Тело ответа
Заголовки ответа и статус-коды — общие.
Поле |
Тип |
Обяз. |
Описание |
|---|---|---|---|
|
object |
✓ |
Заказ |
├─ |
string |
✓ |
Идентификатор заказа в Магазине-Партнёре |
├─ |
string |
✓ |
Статус заказа |
└─ |
array of objects |
— |
Позиции в заказе |
├─ |
string |
✓ |
Идентификатор позиции в Магазине-Партнёре |
├─ |
string |
— |
Артикул товара |
├─ |
string |
— |
Наименование (описание) товара |
├─ |
double |
✓ |
Стоимость позиции для оплаты через «Подели», в рублях с точностью до двух знаков |
└─ |
number |
✓ |
Количество товара в заказе |
|
object |
✓ |
Возврат |
├─ |
string |
✓ |
Идентификатор возврата |
├─ |
string |
✓ |
Статус обработки запроса на возврат. Не отражает итоговый результат выполнения возврата. |
├─ |
string date |
— |
Дата заявления на возврат |
├─ |
number |
✓ |
Общая сумма возврата |
├─ |
number |
✓ |
Сумма возврата, уплаченная через «Подели» |
├─ |
number |
✓ |
Общая сумма возвращённой предоплаты способом, отличным от сервиса «Подели», в рублях с точностью до 2 знаков |
└─ |
array of objects |
✓ |
Возвращённые позиции из заказа |
├─ |
string |
✓ |
Идентификатор позиции в Магазине-Партнёре |
├─ |
number |
✓ |
Количество возвращённого товара |
├─ |
number |
✓ |
Сумма возвращённой оплаты |
└─ |
number |
✓ |
Сумма возвращённой предоплаты |
|
object |
— |
Описание ошибки (поля |
Примеры
{
"order": {
"refund": {
"id": 100001,
"initiator": "client",
"items": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"refundedQuantity": 1
}
],
"addParams": [
{
"key": "mall",
"value": "ТРЦ Сити Молл"
},
{
"key": "cashRegisterNumber",
"value": "1234567890"
},
{
"key": "cashierNumber",
"value": "0987654321"
},
{
"key": "terminalId",
"value": "1234"
}
],
"comment1": "Комментарий"
}
}
}
{
"order": {
"id": "test_order",
"status": "REFUNDED",
"items": [
{
"id": "30b925fb-42ae-469d-960e-7cb093d8867e",
"article": "3ABC14858383D",
"name": "Товар 1",
"amount": 2500.00,
"quantity": 1
},
{
"id": "30b925fb-42ae-469d-960e-7cb093d8868e",
"article": "3ABC14858383D",
"name": "Товар 2",
"amount": 2500.00,
"quantity": 1
}
]
},
"refund": {
"id": "1234466",
"status": "PENDING",
"refundRequestDate": "2026-07-13T09:50:08.108628",
"totalRefundedAmount": 3000.00,
"refundedPrepaidAmount": 500.00,
"refundedAmountCredit": 2500.00,
"refundedItems": [
{
"id": "30b925fb-42ae-469d-960e-7cb093d8867e",
"refundedQuantity": 1,
"refundedAmount": 2500.00,
"refundedPrepaidAmount": 500.00
}
]
}
}
Ошибки метода
Выберите код, чтобы увидеть пример тела ответа:
Пример ответа:
{
"error": {
"code": "invalid_request",
"text": "Некорректное или пустое значение X-Correlation-ID либо параметров запроса"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Некорректное или пустое значение |
|
Срок возврата истёк |
Пример ответа:
{
"error": {
"code": "not_authorized_partner_login",
"text": "Неверный логин/пароль"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Неверный логин/пароль |
|
Истёк срок действия договора с Магазином-Партнёром |
|
Истёк срок приёма возвратов по договору |
Пример ответа:
{
"error": {
"code": "not_found_order",
"text": "Заказ не найден"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Заказ не найден |
|
Позиция заказа не найдена |
Пример ответа:
{
"error": {
"code": "incorrect_order_status",
"text": "В текущем статусе заказа действие невозможно"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
В текущем статусе заказа действие невозможно |
Пример ответа:
{
"error": {
"code": "req_number_exceeded",
"text": "Превышен лимит запросов к серверу"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Превышен лимит запросов к серверу |
Пример ответа:
{
"error": {
"code": "unknown_error",
"text": "Неизвестная ошибка сервера"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Неизвестная ошибка сервера |
Полный перечень кодов — в справочнике ошибок.
INFO — получение информации по заказу#
GET https://api-sand.podeli.ru/partners/v1/orders/{orderId}/info
Метод доступен для вызова в любой момент после создания заказа методом CREATE.
Тело ответа
Заголовки ответа и статус-коды — общие; дополнительно возможен код 404 — заказ не найден.
Поле |
Тип |
Обяз. |
Описание |
|---|---|---|---|
|
object |
✓ |
Заказ |
├─ |
string |
✓ |
Идентификатор заказа в Магазине-Партнёре |
├─ |
number |
— |
Сумма для оплаты через «Подели», в рублях с точностью до двух знаков |
├─ |
number |
— |
Сумма аванса, внесённого Клиентом через другие способы оплаты, в рублях с точностью до двух знаков |
├─ |
number |
— |
Общая сумма заказа, в рублях с точностью до двух знаков |
├─ |
string |
✓ |
Статус заказа |
├─ |
date-time |
✓ |
Дата заказа |
└─ |
array of objects |
— |
Позиции в заказе |
├─ |
string |
✓ |
Идентификатор позиции в Магазине-Партнёре |
├─ |
string |
— |
Артикул товара |
├─ |
string |
— |
Наименование (описание) товара |
├─ |
double |
✓ |
Стоимость позиции для оплаты через «Подели», в рублях с точностью до двух знаков |
├─ |
number |
✓ |
Количество товара в заказе |
└─ |
number |
— |
Сумма аванса, внесённого Клиентом через другие способы оплаты, распределённая на конкретные позиции в заказе, в рублях с точностью до двух знаков |
|
object |
— |
Клиент. Персональные данные скрыты — поля возвращаются маскированными |
├─ |
string |
— |
Имя Клиента (данные скрыты) |
├─ |
string |
— |
Фамилия Клиента (данные скрыты) |
├─ |
string |
— |
Отчество Клиента (данные скрыты) |
├─ |
string |
— |
Дата рождения Клиента в формате YYYY-MM-DD (данные скрыты) |
├─ |
string |
✓ |
Телефон Клиента в формате РФ с маской |
└─ |
string |
— |
Email Клиента |
|
array of objects |
✓ |
Данные по графику платежей. График рассчитывается при одобрении заказа: до перехода заказа в статус APPROVED секция передаётся пустой |
├─ |
string |
✓ |
Номер платежа |
├─ |
string |
✓ |
Дата платежа |
├─ |
number |
✓ |
Сумма платежа, в рублях с точностью до 2 знаков |
└─ |
string |
✓ |
Статус платежа |
|
array of objects |
✓ |
Данные по возвратам |
├─ |
string |
✓ |
Идентификатор возврата |
├─ |
string |
✓ |
Статус возврата. Не отражает фактический статус операции |
├─ |
string |
✓ |
Дата возврата |
├─ |
number |
✓ |
Сумма возврата товаров, в рублях с точностью до 2 знаков |
├─ |
number |
✓ |
Общая сумма возвращённой предоплаты способом, отличным от сервиса «Подели», в рублях с точностью до 2 знаков |
├─ |
number |
✓ |
Сумма возврата, оплаченная через «Подели» |
└─ |
array of objects |
— |
Возвращённые позиции из заказа |
├─ |
string |
✓ |
Идентификатор позиции в Магазине-Партнёре |
├─ |
number |
✓ |
Количество возвращённого товара |
├─ |
number |
✓ |
Сумма возвращённой оплаты |
└─ |
number |
✓ |
Сумма возвращённой предоплаты |
|
object |
— |
Описание ошибки (поля |
Примеры
{
"order": {
"id": "test_order",
"amount": 5000.00,
"status": "REFUNDED",
"prepaidAmount": 1000.00,
"amountOrder": 6000.00,
"date": "2026-07-13T09:44:26.100050Z",
"items": [
{
"id": "30b925fb-42ae-469d-960e-7cb093d8867e",
"article": "3ABC14858383D",
"name": "Товар 1",
"amount": 2500.00,
"quantity": 1,
"prepaidAmount": 500.00
},
{
"id": "30b925fb-42ae-469d-960e-7cb093d8868e",
"article": "3ABC14858383D",
"name": "Товар 2",
"amount": 2500.00,
"quantity": 1,
"prepaidAmount": 500.00
}
]
},
"clientInfo": {
"firstName": "*",
"lastName": "*",
"middleName": "*",
"birthdate": "0001-01-01",
"phone": "*",
"email": "test@example.com"
},
"paymentSchedule": [
{
"paymentNumber": "1",
"paymentDate": "2026-07-13T09:45",
"paymentAmount": 1250.00,
"statusName": "PAID"
},
{
"paymentNumber": "2",
"paymentDate": "2026-07-27T09:45",
"paymentAmount": 417.00,
"statusName": "SCHEDULED"
},
{
"paymentNumber": "3",
"paymentDate": "2026-08-10T09:45",
"paymentAmount": 417.00,
"statusName": "SCHEDULED"
},
{
"paymentNumber": "4",
"paymentDate": "2026-08-24T09:45",
"paymentAmount": 416.00,
"statusName": "SCHEDULED"
}
],
"refund": [
{
"id": "1234466",
"status": "PROCESSED",
"refundDate": "2026-07-13T09:50:08.108628",
"totalRefundedAmount": 3000.00,
"refundedPrepaidAmount": 500.00,
"refundedAmountCredit": 2500.00,
"refundedItems": [
{
"id": "30b925fb-42ae-469d-960e-7cb093d8867e",
"refundedQuantity": 1,
"itemRefundedAmount": 2500.00,
"itemRefundedPrepaidAmount": 500.00
}
]
}
]
}
Ошибки метода
Выберите код, чтобы увидеть пример тела ответа:
Пример ответа:
{
"error": {
"code": "not_authorized_partner_login",
"text": "Неверный логин/пароль"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Неверный логин/пароль |
Пример ответа:
{
"error": {
"code": "not_found_order",
"text": "Заказ не найден"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Заказ не найден |
Полный перечень кодов — в справочнике ошибок.
ORDER_RECONCILIATION — сверка заказов#
GET https://api-sand.podeli.ru/partners/v1/orders/order_reconciliation
Как работает
Магазин-Партнёр запрашивает сверку за период с помощью параметров
dateFromиdateTo.«Подели» отбирает оплаты и возвраты по офлайн-заказам за указанный период.
Метод возвращает общие суммы или детализацию по каждой операции — в зависимости от параметра
detailing.
Что попадает в сверку
Оплаты — офлайн-заказы в статусе
COMPLETEDс датой заказа внутри периодаdateFrom—dateToвключительно.Возвраты — возвраты по офлайн-заказам, если дата запроса возврата входит в указанный период. Заказ при этом мог быть оплачен раньше.
Параметры
mallиcashRegisterNumberограничивают выборку торговым центром и кассой.
Примечание
Период сверки не может превышать 24 часа. Если период больше, метод возвращает ошибку 416.
Примечание
Смещение таймзоны передаётся по правилам URL-кодирования: символ + нужно
заменить на %2B.
Например:
2026-01-01T00:00:00+03:00 → 2026-01-01T00:00:00%2B03:00
Параметры запроса
Параметры передаются в строке запроса. Тело запроса пустое.
Заголовки запроса и ответа — общие.
Параметр |
Тип |
Обяз. |
Описание |
|---|---|---|---|
|
string date-time |
✓ |
Дата и время начала периода в формате |
|
string date-time |
✓ |
Дата и время окончания периода в формате |
|
string |
— |
Торговый центр |
|
string |
— |
Номер кассы |
|
boolean |
✓ |
Формат сверки: |
Тело ответа
Заголовки ответа и статус-коды — общие.
Если detailing=false, метод возвращает общие суммы по оплатам и возвратам.
Поле |
Тип |
Обяз. |
Описание |
|---|---|---|---|
|
object |
— |
Информация по сверке |
├─ |
object |
— |
Оплаты |
│ ├─ |
number |
✓ |
Общая сумма оплат, в рублях с точностью до двух знаков |
│ └─ |
integer |
✓ |
Количество оплат |
├─ |
object |
— |
Возвраты |
│ ├─ |
number |
✓ |
Общая сумма возвратов, в рублях с точностью до двух знаков |
│ └─ |
integer |
✓ |
Количество возвратов |
└─ |
object |
— |
Итог с учётом возвратов |
├─ |
number |
✓ |
Сумма оплат за вычетом возвратов |
└─ |
integer |
✓ |
Количество операций: оплат и возвратов |
|
object |
— |
Описание ошибки (поля |
Если detailing=true, метод возвращает список оплат и возвратов.
Поле |
Тип |
Обяз. |
Описание |
|---|---|---|---|
|
object |
— |
Информация по сверке |
├─ |
array of objects |
— |
Оплаты |
│ ├─ |
string |
✓ |
Идентификатор заказа |
│ ├─ |
number |
✓ |
Сумма оплаты, в рублях с точностью до двух знаков |
│ └─ |
string date-time |
✓ |
Дата и время оплаты |
└─ |
array of objects |
— |
Возвраты |
├─ |
string |
✓ |
Идентификатор заказа |
├─ |
string |
✓ |
Идентификатор возврата |
├─ |
number |
✓ |
Сумма возврата, в рублях с точностью до двух знаков |
└─ |
string date-time |
✓ |
Дата и время возврата |
|
object |
— |
Описание ошибки (поля |
Примечание
transactionDate возвращается без смещения таймзоны, с точностью до микросекунд.
Пример: 2026-07-20T02:11:09.779828.
Примеры
curl -G 'https://api-sand.podeli.ru/partners/v1/orders/order_reconciliation' \
-H 'Authorization: Basic cGFydG5lcl9sb2dpbjpwYXJ0bmVyX3Bhc3N3b3Jk' \
-H 'X-Correlation-ID: 4add3220-1da6-4bf0-92b5-854ba4f700d8' \
--data-urlencode 'dateFrom=2026-01-01T00:00:00+03:00' \
--data-urlencode 'dateTo=2026-01-01T23:59:59+03:00' \
--data-urlencode 'detailing=false'
{
"order": {
"payments": {
"sum": 5000.00,
"count": 1
},
"refunds": {
"sum": 1000.00,
"count": 1
},
"total": {
"sum": 4000.00,
"count": 2
}
}
}
curl -G 'https://api-sand.podeli.ru/partners/v1/orders/order_reconciliation' \
-H 'Authorization: Basic cGFydG5lcl9sb2dpbjpwYXJ0bmVyX3Bhc3N3b3Jk' \
-H 'X-Correlation-ID: 9f1c7c02-3f0d-4a71-b8e2-1c2f5a6d7e80' \
--data-urlencode 'dateFrom=2026-01-01T00:00:00+03:00' \
--data-urlencode 'dateTo=2026-01-01T23:59:59+03:00' \
--data-urlencode 'mall=TC_Aviapark' \
--data-urlencode 'cashRegisterNumber=KKT-001' \
--data-urlencode 'detailing=true'
{
"order": {
"payments": [
{
"orderId": "test_order",
"amount": 5000.00,
"transactionDate": "2026-01-01T10:00:00.000000"
}
],
"refunds": [
{
"orderId": "test_order",
"refundId": "test_refund",
"amount": 1000.00,
"transactionDate": "2026-01-01T11:00:00.000000"
}
]
}
}
Ошибки метода
Выберите код, чтобы увидеть пример тела ответа:
Пример ответа:
{
"error": {
"code": "error_convert_params",
"text": "Ошибка валидации параметров запроса"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Параметр не прошёл валидацию или не может быть приведён к нужному типу |
|
Отсутствует |
Пример ответа:
{
"error": {
"code": "not_authorized_partner_login",
"text": "Неверный логин/пароль"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Неверный логин/пароль |
|
Истёк срок действия договора |
Пример ответа:
{
"error": {
"code": "reconciliation_period_exceeded",
"text": "Превышен период сверки заказов"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Период сверки больше 24 часов |
Пример ответа:
{
"error": {
"code": "invalid_date_format",
"text": "Неверный формат даты или некорректный период"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Неверный формат даты или |
Пример ответа:
{
"error": {
"code": "req_number_exceeded",
"text": "Превышен лимит запросов"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Превышен лимит запросов |
Пример ответа:
{
"error": {
"code": "unknown_error",
"text": "При выполнении запроса возникла неизвестная ошибка"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
При выполнении запроса возникла неизвестная ошибка |
CALCULATE — получение графика платежей#
POST https://api-sand.podeli.ru/partners/v1/orders/calculate
Как работает
Партнёр направляет в «Подели» сумму для расчёта графика платежей.
«Подели» возвращает рассчитанный график платежей.
Параметры запроса
Поле |
Тип |
Обяз. |
Описание |
|---|---|---|---|
|
number(18,2) |
✓ |
Сумма для расчёта графика |
Тело ответа
Заголовки ответа — общие; статус-коды: 200 — график успешно рассчитан; 400, 401, 429, 500 — общие.
Поле |
Тип |
Обяз. |
Описание |
|---|---|---|---|
|
array of objects |
— |
Данные по графику платежей |
├─ |
string |
✓ |
Номер платежа |
├─ |
string date |
✓ |
Дата платежа |
└─ |
number |
✓ |
Сумма платежа, в рублях с точностью до 2 знаков |
|
object |
— |
Описание ошибки (поля |
Примеры
{
"sum": 400
}
{
"paymentSchedule": [
{
"paymentNumber": "1",
"paymentDate": "2025-11-03",
"paymentAmount": 100.00
},
{
"paymentNumber": "2",
"paymentDate": "2025-11-17",
"paymentAmount": 100.00
},
{
"paymentNumber": "3",
"paymentDate": "2025-12-01",
"paymentAmount": 100.00
},
{
"paymentNumber": "4",
"paymentDate": "2025-12-15",
"paymentAmount": 100.00
}
]
}
Ошибки метода
Выберите код, чтобы увидеть пример тела ответа:
Пример ответа:
{
"error": {
"code": "invalid_request",
"text": "Некорректное или пустое значение X-Correlation-ID либо параметров запроса"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Некорректное или пустое значение |
Пример ответа:
{
"error": {
"code": "not_authorized_partner_login",
"text": "Неверный логин/пароль"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Неверный логин/пароль |
Пример ответа:
{
"error": {
"code": "req_number_exceeded",
"text": "Превышен лимит запросов к серверу"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Превышен лимит запросов к серверу |
Пример ответа:
{
"error": {
"code": "unknown_error",
"text": "Неизвестная ошибка сервера"
}
}
Возможные коды ошибок:
Код |
Описание |
|---|---|
|
Неизвестная ошибка сервера |
Полный перечень кодов — в справочнике ошибок.
Статус-коды и ошибки#
В этом разделе описан общий формат ошибки API и справочник статус-кодов. Ошибки конкретного метода приведены в блоке «Ошибки метода» под его описанием.
Справочник ошибок#
Код |
Код ошибки |
Описание |
|---|---|---|
|
|
Ошибка валидации тела запроса: отсутствует обязательное поле, нарушен формат или тип данных. |
|
|
Некорректный |
|
|
Итоговая сумма заказа не совпадает с суммой позиций. |
|
|
Неверный логин или пароль партнёра. |
|
|
Истёк срок действия договора с Магазином-Партнёром. |
|
|
Партнёр не подключён к сервису «Подели». |
|
|
Субпартнёр не подключён к сервису «Подели». |
|
|
Заказ не найден. |
|
|
Позиция заказа не найдена. |
|
|
Запрос с таким |
|
|
Заказ с таким |
|
|
В запросе переданы позиции с одинаковым |
|
|
Действие недоступно в текущем статусе заказа. |
|
|
Платёж находится в обработке. Отмена временно недоступна. |
|
|
Превышен лимит запросов. Повторите запрос через время, указанное в
заголовке |
|
|
Неизвестная ошибка сервера. |
|
|
Сервис временно недоступен. |
Примеры ошибок#
{
"error": {
"code": "validation_error",
"text": "Structure 'order' must be filled"
}
}
{
"error": {
"code": "not_authorized_partner_login",
"text": "Неверный логин/пароль"
}
}
{
"error": {
"code": "not_found_order",
"text": "Заказ не найден"
}
}
{
"error": {
"code": "incorrect_order_status",
"text": "В текущем статусе заказа действие невозможно"
}
}
{
"error": {
"code": "incorrect_payment_status",
"text": "Платёж находится в обработке"
}
}
{
"error": {
"code": "req_number_exceeded",
"text": "Превышен лимит запросов к серверу"
}
}
{
"error": {
"code": "unknown_error",
"text": "При выполнении запроса возникла неизвестная ошибка"
}
}
Примечание
Метод ORDER_RECONCILIATION использует собственные коды ошибок.
См. описание метода.
Правило передачи дробного количества товара#
Подсказка
Правила заполнения полей запроса при передаче дробных значений количества товара, например:
1,56 кг яблок стоимостью 234,67 ₽/кг;
0,254 кг салата стоимостью 801,20 ₽/кг.
Поля amount, quantity и prepaidAmount секции order/items заполняются так:
items[1]
в поле
items/amount— сумма оплаты единицы измерения товара через «Подели»: 234,67;в поле
items/quantity— дробное количество: 1,56;в поле
items/prepaidAmount— ничего не передавать (поле необязательное).
items[2]
в поле
items/amount— 801,20;в поле
items/quantity— 0,254;в поле
items/prepaidAmount— ничего не передавать (поле необязательное).
Поля amount и prepaidAmount секции order заполняются так:
в поле
order/amount— сумма округлённых (математически) значений стоимости каждой позиции из заказа: округл(366,0852; 2) + округл(203,5048; 2) = 366,09 + 203,50 = 569,59;в поле
order/prepaidAmount— сумма скидки по заказу либо сумма, оплаченная бонусными баллами (общая по заказу).
Библиотеки для API#
Для ускорения разработки доступны готовые обёртки API — подключите их в свой проект:
См. также
Для сценария оплаты через QR-терминал предусмотрен отдельный метод — см. Оплата через QR-терминал. Метод доступен по индивидуальному согласованию.