通过 REST 下订单时的 woocommerce 挂钩 API

woocommerce hook when order is placed through REST API

在 WooCommerce 商店下订单时,我需要 运行 一些自定义 PHP 代码。目前,我正在使用 woocommerce_order_status_changed 钩子,它非常适合网络前端。

add_action('woocommerce_order_status_changed', 'order_confirmation',10, 3);
function order_confirmation($order_id,$oldstatus,$newstatus){  
    //my custom code...
}

但是当通过API下订单时,这个钩子不会被调用。

当通过 WooCommerce 的 Rest Api V2 下订单时,我们是否可以使用任何挂钩来执行某些 php 代码?

我认为您正在将 set_paid 属性 发送到 true。它将状态设置为正在处理并减少库存项目。如果您需要在订单支付完成时执行操作,您可以使用woocommerce_payment_complete操作挂钩。

function on_woocommerce_payment_complete($order_id){
}
add_action( 'woocommerce_payment_complete', 'on_woocommerce_payment_complete' 
);`

然而,只有当订单状态来自以下数组时,上述挂钩才会触发

on-hold', 'pending', 'failed', 'cancelled

在标记支付完成之前。

对于其他订单雕像,将触发以下挂钩。

do_action( 'woocommerce_payment_complete_order_status_' . $this->get_status(), $this->get_id() );

有关详细信息,您可以查看

public function payment_complete( $transaction_id = '' ) {

定义在
woocommerce\includes\class-wc-order.php