Files
exchange-2.0/app/Classes/Modules/Transactions/Services/CalculatesTransactionTransferFee.php
2022-06-12 18:23:21 +08:00

29 lines
725 B
PHP

<?php
namespace App\Classes\Modules\Transactions\Services;
use App\Models\SegmentConstant;
class CalculatesTransactionTransferFee
{
/**
* @param float $amount
* @param SegmentConstant|null $service_charge
* @return float
*/
public function execute(float $amount, ?SegmentConstant $service_charge)
{
if (!$service_charge) {
return 0;
}
if (isset($service_charge->detail->transferFee)) {
return $service_charge->detail->transferFee->type === 'percentage' ? $amount * ((float) $service_charge->detail->transferFee->value / 100) : (float) $service_charge->detail->transferFee->value;
} else {
return 0;
}
}
}