我正在开发一个 Prestashop 模块来实现这一点。
当下达特定产品的订单时,我需要联系外部 API以执行一些写入操作。更具体地说,某些产品将在第三方平台上自动订购。这不是代发货,我正在将订单发送给商品的生产商。
问题是,如果 API 调用出错,我必须停止下订单并通知客户出现问题,尽可能保持购物车完好无损。
其他一切正常:我可以检测产品,将信息发送到第三方 api 并读取响应。除了我使用带有此代码的模块:
$this->registerHook('actionValidateOrder');
据我了解,这个钩子是在下订单后调用的,所以如果 API 调用出错,我无法阻止它。
处理这种情况的正确方法是什么?
我尝试使用actionOrderStatusPostUpdate
,但我认为我无法事先了解订单状态(付款方式可能会有所不同)。
任何想法?似乎是要完成的一项基本任务,但我被困住了。
使用 Prestashop 1.7.8