2

我正在开发 Opencart 上的支付网关扩展。扩展已全部完成并按计划正常工作。

一件事似乎不起作用,那就是更新订单。

我正在尝试按如下方式更新订单:

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

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

Opencart 版本。1.5.x

谢谢

4

2 回答 2

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'");
于 2013-05-08T06:54:25.113 回答
1

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

我一开始就错过了“确认”API。必须先确认,否则不会更新。

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

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

于 2013-05-09T06:33:11.687 回答