EC-CUBE3では消費税計算はTaxRuleServiceというサービスクラスが請け負っています。
このクラスのgetTaxで消費税のみ取得、getPriceIncTaxで消費税込みの金額を取得できます。

このメソッドは引数に商品、規格、都道府県、国などを取り、商品個別の消費税や地域で税率が違う場合にも
対応できるメソッドです。

また、消費税の変動があった場合も管理画面から設定すれば自動で税率を取得し反映してくれます。

/**
     * 設定情報に基づいて税金の金額を返す
     *
     * @param  int                                    $price        計算対象の金額
     * @param  int|null|\Eccube\Entity\Product        $product      商品
     * @param  int|null|\Eccube\Entity\ProductClass   $productClass 商品規格
     * @param  int|null|\Eccube\Entity\Master\Pref    $pref         都道府県
     * @param  int|null|\Eccube\Entity\Master\Country $country      国
     * @return double                                 税金付与した金額
     */
    public function getTax($price, $product = null, $productClass = null, $pref = null, $country = null)
    {
        /* @var $TaxRule \Eccube\Entity\TaxRule */
        $TaxRule = $this->taxRuleRepository->getByRule($product, $productClass, $pref, $country);

        return $this->calcTax($price, $TaxRule->getTaxRate(), $TaxRule->getCalcRule()->getId(), $TaxRule->getTaxAdjust());
    }

ECCUBE制作トップへ

EC-CUBEカスタマイズに関するお問い合わせはこちら

    脆弱性修正