I've read all the other threads about missing orders, but what makes this different is that I'm using "Free Checkout" and "Cash on Delivery" as my payment methods, which don't need to make an external call to a payment processor. I've checked everything that I could think of and can't seem to figure it out. I've been using OpenCart 1.5x for a while with no issues.
Asked
Active
Viewed 520 times
2 Answers
0
Do you have your 'confirm' function in catalog/controller/payment/cod.php?
class ControllerPaymentCod extends Controller {
protected function index() {
$this->data['button_confirm'] = $this->language->get('button_confirm');
$this->data['continue'] = $this->url->link('checkout/success');
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/payment/cod.tpl')) {
$this->template = $this->config->get('config_template') . '/template/payment/cod.tpl';
} else {
$this->template = 'default/template/payment/cod.tpl';
}
$this->render();
}
public function confirm() {
$this->load->model('checkout/order');
$this->model_checkout_order->confirm($this->session->data['order_id'], $this->config->get('cod_order_status_id'), '', true);
}
}

efenacigiray
- 340
- 6
- 16
0
Here is my cod.php
<?php
class ControllerPaymentCod extends Controller {
protected function index() {
$this->data['button_confirm'] = $this->language->get('button_confirm');
$this->data['continue'] = $this->url->link('checkout/success');
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/payment/cod.tpl')) {
$this->template = $this->config->get('config_template') . '/template/payment/cod.tpl';
} else {
$this->template = 'default/template/payment/cod.tpl';
}
$this->render();
}
public function confirm() {
$this->load->model('checkout/order');
$this->model_checkout_order->confirm($this->session->data['order_id'], $this->config->get('cod_order_status_id'));
}
}
?>

Shreya Gupta
- 11
- 3
-
Can you please check the $this->config->get('cod_order_status_id'). It should be bigger than 0. Try setting it again from admin panel. – efenacigiray Apr 13 '15 at 07:00
-
Go to admin panel and check the cod in payment , confirm the default status of any order if user used cod, it should be pending or whatever you want. – Amitesh Yadav Apr 13 '15 at 07:25