Opencart:无法以编程方式更新订单

时间:2013-05-08 06:47:09

标签: php opencart

我正在Opencart上开发支付网关扩展。扩展程序全部完成并按计划正常运行。

有一件事似乎无法正常更新订单。

我正在尝试更新订单,如下所示:

$this->load->model('checkout/order');       
$this->model_checkout_order->update($orderid, 2, 'Processing', true);

$orderid变量包含有效的订单ID,该记录也可以在数据库中找到,但它不会更新订单。我在这里错过了什么吗?

Opencart ver。 1.5.x的

谢谢

2 个答案:

答案 0 :(得分:1)

您的订单状态应大于零,因为型号有此检查

 $order_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "order` o LEFT JOIN " . DB_PREFIX . "language l ON (o.language_id = l.language_id) WHERE o.order_id = '" . (int)$order_id . "' AND o.order_status_id > '0'");

答案 1 :(得分:1)

好的我已经解决了这个问题。在此处添加信息。

我首先缺少“确认”API。必须先确认,否则不会更新。

// 2 is for status 'Processing'
$this->model_checkout_order->confirm($this->session->data['order_id'], 2);

之后我在更新订单状态方面没有遇到任何问题。