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());
}
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。
EC-CUBEゴールドパートナー