на сайте стоит математическое округление
кроме того дополнительно для округления используется событие
Но иногда когда клиент создает заказ, производит оплату и оплата приходит на сайт, происходит пересчет суммы заказа(вот это мне не понятно для чего) и по какой-то причине происходит округление в другую сторону. В итоге он оплатил 10р., а получаем в заказе сумму 9 или наоборот. и на эту сумму пробивается чек.
пример по истории изменения заказа
товары идут по суммам:
цена - конечная цена со всеми скидками
299 - 191
399 - 255
690 - 441(изначально при создании заказа была 442)
600 - 384
390 - 250
применены скидки 15% и 500р(купон)
получается
2378 - 1521,3(после оплаты округлен заказ до 1521)
Кто-нибудь может объяснить из-за чего это происходит?
кроме того дополнительно для округления используется событие
Код |
---|
OnBeforeSaleBasketItemSetFieldHandler(Event $event) { $name = $event->getParameter('NAME'); $value = $event->getParameter('VALUE'); if ($name === 'PRICE') { $value = round($value, 0, PHP_ROUND_HALF_UP); $event->addResult( new EventResult( EventResult::SUCCESS, ['VALUE' => $value] ) ); } } |
Но иногда когда клиент создает заказ, производит оплату и оплата приходит на сайт, происходит пересчет суммы заказа(вот это мне не понятно для чего) и по какой-то причине происходит округление в другую сторону. В итоге он оплатил 10р., а получаем в заказе сумму 9 или наоборот. и на эту сумму пробивается чек.
пример по истории изменения заказа
Код |
---|
Изменение элемента корзины PRICE: 441 OLD_PRICE: 442.0000; QUANTITY: 1.0000 OLD_QUANTITY: ; PRODUCT_ID: 181837 OLD_PRODUCT_ID: ; VAT_RATE: 0.0000 OLD_VAT_RATE: ; DISCOUNT_VALUE: OLD_DISCOUNT_VALUE: Изменение стоимости заказа Стоимость заказа изменилась с 1 522 на 1 521 Изменение заказа PRICE: 1521 OLD_PRICE: 1522.0000; SUM_PAID: 1521 OLD_SUM_PAID: 1522.00; PERSON_TYPE_ID: 1; CANCELED: N; STATUS_ID: N; MARKED: N; USER_ID: 100125; EXTERNAL_ORDER: N Обновление заказа Оплата заказа Оплата "Платежная карта" (#214201) произведена Сохранение оплаты |
товары идут по суммам:
цена - конечная цена со всеми скидками
299 - 191
399 - 255
690 - 441(изначально при создании заказа была 442)
600 - 384
390 - 250
применены скидки 15% и 500р(купон)
получается
2378 - 1521,3(после оплаты округлен заказ до 1521)
Кто-нибудь может объяснить из-за чего это происходит?