У меня есть способ оплаты, который на момент размещения заказа сохраняется в таблице sales_order_payment суммы неверно.Я прикрепляю изображение.
Последние 4 знака после запятой в поле amount_paid не совпадают с base_amount_ordered
Чтобы сохранить заказ, я получаю следующее: $ order-> getGrandTotal ()= 31.0755, когда должно быть 31.0800
Я пытался изменить его следующим образом:
1)
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$quoteFactory = $objectManager->create('\Magento\Quote\Model\QuoteFactory');
$quote = $quoteFactory->create()->load($order->getQuoteId());
$order->setBaseGrandTotal(31.0800);
$order->setGrandTotal(31.0800);
2)
$order->setSubtotal(31.0800)
->setBaseSubtotal(31.0800)
->setGrandTotal(31.0800)
->setBaseGrandTotal(31.0800);
$quote->setSubtotal(31.0800)
->setBaseSubtotal(31.0800)
->setGrandTotal(31.0800)
->setBaseGrandTotal(31.0800);
$quote->save();
$quote->collectTotals()->save();
3)
$this->_checkoutSession->getQuote()->setSubtotal(31.0800);
$this->_checkoutSession->getQuote()->setBaseSubtotal(31.0800);
$this->_checkoutSession->getQuote()->setGrandTotal(31.0800);
$this->_checkoutSession->getQuote()->setBaseGrandTotal(31.0800);
$quote->save($quote->collectTotals());
$this->_checkoutSession->getQuote()->collectTotals()->save();
но никоим образом мне не удалось установить правильное значение, можете ли вы дать мне идею или помочь мне, как я могу это сделать?