Рассмотрим обычную ситуацию: человек заказывает товар с доставкой и оплачивает его онлайн через Сбербанк:
В заказе сумма посчитана верно, скидка на товар тоже верно, потом добавлена стоимость доставки и от общей суммы рассчитан НДС. И всё было бы хорошо, но нет! Потому что после оплаты формируется вот такой чек:
Чек совершенно кривой, при том, что общая сумма верная. Давайте проверим.
Первая строка заказа: 2 600 х 4 = 10 400.
Скидка в 10% от 10400 составляет 1040 рублей, а не 874,91, как в чеке.
Во второй та же беда.
А в третей еще хуже — на доставку скидки нет, но в чеке она есть!
Смотрим запрос, который уходит в Атол и ответ, который приходит оттуда:
Запрос
{"timestamp":"05.07.2019 02:32:02","external_id":"order_16044_1562326322","service":
{"callback_url":"https:\/\/sww.com.ru\/index.php?dispatch=online_cash_register.callback_atol"},"receipt":{"company":{"email":"lexizli@ya.ru","inn":"4715008848","payment_address":"sww.com.ru","sno":"osn"},"total":19814,"items":[{"name":"\u041a\u043e\u043c\u0431\u0438\u043d\u0435\u0437\u043e\u043d 830-EASN-R-00","price":2600,"quantity":4,"sum":9525.09,"vat":{"type":"vat20","sum":390},"payment_method":"full_payment","payment_object":"payment"},{"name":"\u041a\u043e\u043c\u0431\u0438\u043d\u0435\u0437\u043e\u043d 830-EASN-R-00","price":2600,"quantity":3,"sum":7143.81,"vat":{"type":"vat20","sum":390},"payment_method":"full_payment","payment_object":"payment"},{"name":"\u0414\u043e\u0441\u0442\u0430\u0432\u043a\u0430","price":3434,"quantity":1,"sum":3145.1,"vat":{"type":"vat20","sum":572.33},"payment_method":"full_payment","payment_object":"payment"}],"payments":[{"type":1,"sum":19814}],"client":{"email":"Mramornaya.e@mail.ru"}}}
Ответ
{"uuid":"866cef33-9dc4-47a8-910d-bf099de06b55","status":"wait","error":null,"timestamp":"05.07.2019 14:32:03"}
и тут мы видим явный косяк:
price":3434,"quantity":1,"sum":3145.1,"vat":{"type":"vat20","sum":572.33},
Если это не баг, я уж тогда и не знаю, как это назвать.