I'm working on my custom payment method for opencart. What I need is to listen to order history changes which is changed from admin by manager. It was all ok, but I couldn't make the opencart event trigger work, no matter what I do.
Here is what it looks like right now:
public function install() {
$this->load->model('extension/event');
$this->model_extension_event->addEvent('delayed_payment_oh_add', 'catalog/model/checkout/order/addOrderHistory/after', 'admin/controller/extension/payment/delayed_payment/send_instructions');
$this->model_extension_event->addEvent('delayed_payment_oh_api', 'catalog/controller/api/order/history/after', 'admin/controller/extension/payment/delayed_payment/send_instructions');
}
public function uninstall() {
$this->load->model('extension/event');
$this->model_extension_event->deleteEvent('delayed_payment_oh_add');
$this->model_extension_event->deleteEvent('delayed_payment_oh_api');
}
And listener itself:
public function send_instructions($route, $output, $order_id, $order_status_id) {
$this->load->model('checkout/order');
$this->log->write(var_dump($output));
echo var_dump($output);
$order_info = $this->model_checkout_order->getOrder($order_id);
if ($order_status_id == $this->config->get('delayed_payment_confirmed_order_status'))
$this->model_checkout_order->addOrderHistory(
$order_id,
$this->config->get('delayed_payment_waiting_order_status'),
$this->config->get('delayed_payment_order_comment'),
true
);
}
It is not printing anything to both log or output. How can make it work? (Opencart 2.3)