Reading list Switch to dark mode

    How to Display Custom Price fee in Sales Order View Page

    Updated 23 February 2024

    You can learn how to add a custom amount in order total from here:

    http://webkul.com/blog/add-custom-pricefee-order-total-magento2/

    Now, if you want to display the custom price fee on the sales order view page, then you can follow the following process:

    firstly, you need to create a sales_order_view.xml file in the folder:

    app/code/Webkul/Test/view/frontend/layout

    Searching for an experienced
    Magento 2 Company ?
    Find out More
    <?xml version="1.0"?>
    <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    
        <body>        
            <referenceContainer name="order_totals">
                <block class="Webkul\Test\Block\Sales\Order\Test" name="customfee"/>
            </referenceContainer>
        </body>
    </page>

    Now, you need to define a block file in which you need to define the init_totals() function, which adds a custom fee amount to your order view.

    <?php
    namespace Webkul\Test\Block\Sales\Order;
    
    use Magento\Sales\Model\Order;
    
    class Test extends \Magento\Framework\View\Element\Template
    {
        /**
         * @var Order
         */
        protected $_order;
        /**
         * @var \Magento\Framework\DataObject
         */
        protected $_source;
        /**
         * @param \Magento\Framework\View\Element\Template\Context $context
         * @param array $data
         */
        public function __construct(
            \Magento\Framework\View\Element\Template\Context $context,
            array $data = []
        ) {
            parent::__construct($context, $data);
        }
        public function getSource()
        {
            return $this->_source;
        }
    
        public function displayFullSummary()
        {
            return true;
        }
        public function initTotals()
        {
            $parent = $this->getParentBlock();
            $this->_order = $parent->getOrder();
            $this->_source = $parent->getSource();
            $title = 'Custom Fee';
            $store = $this->getStore();
            if($this->_order->getCustomfee()!=0){
                $customAmount = new \Magento\Framework\DataObject(
                        [
                            'code' => 'customfee',
                            'strong' => false,
                            'value' => $this->_order->getCustomfee(),
                            'label' => __($title),
                        ]
                    );
                $parent->addTotal($customAmount, 'customfee');
            }
            return $this;
        }
        /**
         * Get order store object
         *
         * @return \Magento\Store\Model\Store
         */
        public function getStore()
        {
            return $this->_order->getStore();
        }
        /**
         * @return Order
         */
        public function getOrder()
        {
            return $this->_order;
        }
        /**
         * @return array
         */
        public function getLabelProperties()
        {
            return $this->getParentBlock()->getLabelProperties();
        }
        /**
         * @return array
         */
        public function getValueProperties()
        {
            return $this->getParentBlock()->getValueProperties();
        }
    }

    Here, the init_totals() function adds the custom fee to your order by using the addTotal() method.

    $customAmount is an object of dataObject that stores the label, code, and value for a custom fee.

    ‘customfee’ is the custom amount field name.

    After this, your custom fee amount is visible on the customer’s order view page.

    I hope this blog will help you with How to Display Custom Price fees on the Sales Order View Page. You may also check our wide range of best Magento 2 Extensions.

    Please reach out to our team via a support ticket if you have any queries.

    Try this and if you have any queries then just comment below 🙂

    . . .

    Leave a Comment

    Your email address will not be published. Required fields are marked*


    4 comments

  • tallenmusclegeeks
    • Bulbul agarwal
      • tallenmusclegeeks
  • Display custom price fee on checkout cart and summary total in magento2
  • Back to Top

    Message Sent!

    If you have more details or questions, you can reply to the received confirmation email.

    Back to Home