我正在Opencart上开发支付网关扩展。扩展程序全部完成并按计划正常运行。
有一件事似乎无法正常更新订单。
我正在尝试更新订单,如下所示:
$this->load->model('checkout/order');
$this->model_checkout_order->update($orderid, 2, 'Processing', true);
$orderid
变量包含有效的订单ID,该记录也可以在数据库中找到,但它不会更新订单。我在这里错过了什么吗?
Opencart ver。 1.5.x的
谢谢
答案 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);
之后我在更新订单状态方面没有遇到任何问题。