switch ($modx->Event->name) {
case 'OnCollectSubtotals': {
$min = ci()->currency->convertToActive(5000);
if ($modx->commerce->getCart()->getTotal() >= $min) {
$discount = $params['total'] * 0.2;
// добавляем строку с описанием скидки в раздел дополнительных сборов заказа
$params['rows']['discount'] = [
'title' => 'Скидка',
'price' => -$discount,
];
// вычитаем размер скидки из итоговой суммы заказа
$params['total'] -= $discount;
}
break;
}
}