Magento 2 - суммы не округляются в таблице sales_order_payment - PullRequest
0 голосов
/ 04 октября 2018

У меня есть способ оплаты, который на момент размещения заказа сохраняется в таблице 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();

но никоим образом мне не удалось установить правильное значение, можете ли вы дать мне идею или помочь мне, как я могу это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...