Discounts 
Overview 
If you want to add additional functionality to Discounts, you can register your own custom discount types.
Registering a discount type. 
php
use Lunar\Facades\Discounts;
Discounts::addType(MyCustomDiscountType::class);php
<?php
namespace App\DiscountTypes;
use Lunar\Models\Cart;
use Lunar\DiscountTypes\AbstractDiscountType;
class MyCustomDiscountType extends AbstractDiscountType
{
    /**
     * Return the name of the discount.
     *
     * @return string
     */
    public function getName(): string
    {
        return 'Custom Discount Type';
    }
    /**
     * Called just before cart totals are calculated.
     *
     * @return Cart
     */
    public function apply(Cart $cart): Cart
    {
        // ...
        return $cart;
    }
}