Opencart 2.3 — Не отправляются подарочные сертификаты после оплаты

Столкнулся с забавной хероборой, связанной с неработающей автоматической отправкой подарочных сертификатов при достижении заказом конечного статуса.


В последних версиях opencart/ocstore 2.3 эту проблему уже решили на уровне движка.


 

В первую очередь, убедитесь что у вас включен модуль подарочных сертификатов в разделе «Учитывать в заказе» («Totals»), а также включено событие этого модуля:

Кроме того, убедитесь что у вас корректно указаны статусы в настройках системы (раздел Опции -> Статусы завершенного заказа)

Далее открываем catalog/controller/extension/total/voucher.php, и меняем это:

public function send($route, $output, $order_id, $order_status_id) {
    $this->load->model('checkout/order');

    $order_info = $this->model_checkout_order->getOrder($order_id);

на это:

public function send($route, $args, $output) {
        $this->load->model('checkout/order');

        $order_info = $this->model_checkout_order->getOrder($args[0]);

Комментарии

comments powered by Disqus
Яндекс.Метрика