Access Surcharge Information via Code

Our Surcharge extensions save their total information as an extension attribute. The below code shows how you would access the individual totals:

private function addFoomanTotals(\Magento\Sales\Api\Data\OrderInterface $order)
{
    $extAttr = $order->getExtensionAttributes();
    if (!$extAttr) {
        return;
    }

    $foomanGroup = $extAttr->getFoomanTotalGroup();
    if (empty($foomanGroup)) {
        return;
    }

    $totals = $foomanGroup->getItems();
    if (empty($totals)) {
        return;
    }
    foreach ($totals as $total) {
        /** @var \Fooman\Totals\Api\Data\OrderTotalInterface $total */
        $description = $total->getLabel();
        $baseAmount = $total->getBaseAmount();
        $baseTaxAmount = $total->getBaseTaxAmount();
        $amount = $total->getAmount();
        $taxAmount = $total->getTaxAmount();
        $identifier = $total->getTypeId();
        $qty = 1;
        /** @TODO do something with the total */
    }
}

Still need help? Contact Us Contact Us