Как правильно добавить надбавку к общей сумме заказа Magento 2? - PullRequest
1 голос
/ 12 июня 2019

Мы используем пользовательский модуль для расчета суммы, которую мы должны включить в общую сумму заказа, т. Е. С клиента будет взиматься плата за продукт ПЛЮС этой пользовательской суммы, но он устанавливается только как «Итого к оплате» и «Полоса».получает первоначальную стоимость товара и его доставку без нашего расчета.Код выглядит следующим образом:

class CustomAmount extends \Magento\Quote\Model\Quote\Address\Total\AbstractTotal
{
    public function collect(
        \Magento\Quote\Model\Quote $quote,
        \Magento\Quote\Api\Data\ShippingAssignmentInterface $shippingAssignment,
        \Magento\Quote\Model\Quote\Address\Total $total
    ) {
        parent::collect($quote, $shippingAssignment, $total);
        $amount = 187; // fixed amount as example, but this will change
        $total->setTotalAmount('installation', $amount);
        $total->setBaseTotalAmount('installation', $amount);
        $total->setCustomAmount($amount);
        $total->setBaseCustomAmount($amount);
        $total->addTotalAmount($this->getCode(), $amount);
        $total->addBaseTotalAmount($this->getCode(), $amount);
        return $this;
    }
}

, и мы видим это на панели администратора

admin panel order summary Мы пробовали использовать другие функции из \Magento\Quote\Model\Quote\Address\Total, такие как замена $total->addTotalAmount($this->getCode(), $amount); на $total->addGrandTotal($total->getGrandTotal() + $amount);

Мы хотим, чтобы пользовательская сумма была добавлена ​​к общей сумме, которая фактически выплачивается через Stripe, в настоящее время мы видим это только как Due Amount.

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