FleetCart/Modules/Shipping/Method.php
2023-06-11 13:14:03 +01:00

37 lines
792 B
PHP

<?php
namespace Modules\Shipping;
use Modules\Support\Money;
use Modules\Cart\Facades\Cart;
class Method
{
public $name;
public $label;
public $cost;
public function __construct($name, $label, $cost)
{
$this->name = $name;
$this->label = $label;
$this->cost = Money::inDefaultCurrency($cost);
}
public function available()
{
if ($this->name !== 'free_shipping') {
return true;
}
return $this->freeShippingMethodIsAvailable();
}
private function freeShippingMethodIsAvailable()
{
$minimumAmount = Money::inDefaultCurrency(setting('free_shipping_min_amount'));
return Cart::subTotal()->greaterThanOrEqual($minimumAmount);
}
}