public function discount(string
$key, string
$type, float|PriceCollection
$value, string
$label): DiscountFacade
{ $definition =
$this->
buildDiscountDefinition($type,
$value,
$key);
$item =
new LineItem($key, LineItem::DISCOUNT_LINE_ITEM, null, 1
);
$item->
setGood(false
);
$item->
setRemovable(true
);
$item->
setPriceDefinition($definition);
$item->
setLabel($label);
$item->
setRemovable(true
);
$this->
getItems()->
add($item);
return new DiscountFacade($item);
}