Документация

Подробные инструкции по функциям, ответы на часто задаваемые вопросы, ознакомительный тур и полезные ссылки

Параметр with_price_correction

Использование параметра with_price_correction решает проблему передачи корректной цены позиции в заказе в платежный сервис.

  1. Описание
  2. Решение

Описание

Проблему и ее решение удобнее рассмотреть на примере.

1. Расчет на стороне системы inSales

1.1 Допустим, в заказе добавлены такие товары:

  • Позиция №1: 3 232.09 руб * 14 шт = 45 249.26 руб.
  • Позиция №2: 4 061.53 руб * 21 шт = 85 292.13 руб.

1.2 В заказе применена скидка 10%: 130 541.39 руб * 0,1 = 13 054.14 руб.

1.3 Итоговая сумма к оплате: 130 541.39 руб - 13 054.14 руб =117 487.25 руб

2. Отправка информации в банк

2.1 Для формирования чеков информация о составе заказа передается в платежную систему.

При этом стоимость одной позиции считается сразу со скидкой.

  • Позиция №1: 3 232.09 руб * 0,9 * 14 шт = 40 724.32 руб
  • Позиция №2: 4 062.53 руб 0,9 * 21 шт = 76 762.98 руб

2.2 Итоговая сумма к оплате: 40 724.32 руб + 76 762.98 руб = 117 487.3 руб

3. Ошибка

В итоге в системе сумма заказа составляет 117 487.25 руб, а в платежную систему передается сумма 117 487.3 руб. В связи с чем на стороне сервиса формирования чеков возникает ошибка.

Решение

В данном случае рекомендуем использовать параметр with_price_correction=1.

Запрос API:

GET https://{myshop}.myinsales.ru/admin/orders/{order_id}.json?with_price_correction=1

1. При with_price_correction=1 считается разница: delta = order.total_price - sum(line.full_sale_price * quantity) - delivery.

2. Если delta не равна 0, сервис вносит поправки в order_lines, чтобы сумма позиций точно совпала с итогом.
3. Для этого он:
  •  либо корректирует цену одной из строк (часто добавляя «виртуальную» строку с id вида {original_id}-1);
  • либо добавляет несколько вспомогательных строк (в том числе с нулевой ценой), если нужно компенсировать отрицательную дельту.
4. В итоге фискальное ПО получает данные без расхождений и без необходимости делать свою нормализацию.

Оставить оценку

Оценка успешно отправлена.
Она будет проверена администратором перед публикацией.
Нажимая кнопку «Отправить оценку», я принимаю пользовательское соглашение и политику конфиденциальности
Перед публикацией все оценки проходят модерацию

Оценки: 0

Еще нет своего магазина?
Создайте интернет-магазин на платформе inSales
Всё для продаж уже внутри!
Недавно просмотренные статьи
Остались вопросы?
Отправьте обращение в техподдержку!
Продолжая пользоваться сайтом,
вы соглашаетесь с использованием cookie