Для начала нужно смотреть в шаблон метода оплаты. Там должно быть что-то типа (на примере оплаты при получении) этого
$('#button-confirm').on('click', function() {
$.ajax({
type: 'get',
url: 'index.php?route=extension/payment/cod/confirm',
cache: false,
beforeSend: function() {
$('#button-confirm').button('loading');
},
complete: function() {
$('#button-confirm').button('reset');
},
success: function() {
location = '<?php echo $continue; ?>';
}
});
});
Нас интересует строка
index.php?route=extension/payment/cod/confirm
Идем по указанному адресу. В нашем случае это catalog/controller/extension/payment/cod.php.И проверяем что там происходит. Учтите, у вас модуль называется иначе.
$this->model_checkout_order->addOrderHistory($this->session->data['order_id'], $this->config->get('cod_order_status_id'));
Часто сталкивался с тем, что функция addOrderHistory или вообще не вызывалась или вызывалась, но в запросе передавались неправильные параметры. Это и приводило к тому, что заказ падал в потерянные или ошибочные.
Еще проблема может крыться конфликте с формой оформления заказа. Наблюдал случаи, когда модуль оплаты неправильно работал именно с модулем оформления заказа.
Сложно еще что-то сказать не видя вообще ничего. Находясь на сервере данный вопрос решается обычно несколькими минутами.