我正在开发openart上的支付网关扩展。扩展已全部完成,并按计划工作。
有一件事似乎不太管用,那就是更新订单。
我正在尝试更新订单如下:
$this->load->model('checkout/order');
$this->model_checkout_order->update($orderid, 2, 'Processing', true);
$orderid
变量包含一个有效的订单id,该记录也可以在数据库中找到,但它没有更新订单。我错过什么了吗?
Opencart版本。1.5.x
谢谢
您的订单状态应该大于零,因为模型有此检查
$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'");
好了,我有办法解决这个问题了。在这里添加信息。
我一开始就错过了"确认"API。必须先确认,否则无法更新。
// 2 is for status 'Processing'
$this->model_checkout_order->confirm($this->session->data['order_id'], 2);
之后更新订单状态就没有问题了