mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/exchange-2.0.git
synced 2026-08-19 12:33:56 +00:00
29 lines
725 B
PHP
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;
|
|
}
|
|
}
|
|
}
|