Microweber\Providers\Shop\TaxManager::calculate PHP Метод

calculate() публичный Метод

public calculate ( $sum )
    public function calculate($sum)
    {
        $difference = 0;
        if ($sum > 0) {
            $taxes = $this->get('limit=1000');
            if (!empty($taxes)) {
                foreach ($taxes as $tax) {
                    if (isset($tax['id']) and isset($tax['tax_modifier']) and isset($tax['amount']) and $tax['amount'] != 0) {
                        $amt = floatval($tax['amount']);
                        if ($tax['tax_modifier'] == 'fixed') {
                            $difference = $difference + $amt;
                        } elseif ($tax['tax_modifier'] == 'percent') {
                            $difference_precent = $sum * ($amt / 100);
                            // $difference_precent = round($difference_precent);
                            $difference = $difference + floatval($difference_precent);
                        }
                    }
                }
            }
            return $difference;
        }
    }