TaxReckon.php
745 Bytes
<?php
namespace App\Traits;
/**
* 个税
* Class Tax
* @package App\Traits
*/
trait TaxReckon
{
/**
* 个人所得税
* @param $tax_amount
* @return float|int|mixed|string
*/
public function reckonPersonTax($tax_amount)
{
$min = env('TAX_MIN');
$max = env('TAX_MAX');
$min_rate = env('TAX_MIN_RATE');
$max_rate = env('TAX_MAX_RATE');
if ($tax_amount <= $min) {
return 0.00;
} elseif ($tax_amount > $max) {
return round($tax_amount * $max_rate, env('TAX_DECIMAL'));
} else {
return round(bcsub($tax_amount, $min, env('TAX_DECIMAL')) * $min_rate, env('TAX_DECIMAL'));
}
}
}