Скидки

    Пример добавления скидки

    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;
        }
    }