我目前在 Woocommerce 上设置了一个 Webhook,以通过第三方 API 传递有关订单的大量信息。我正在使用“订单已更新”主题,效果很好。唯一的问题是发送退款时,由于订单更新,API 被调用。
理想情况下,我只希望 API 调用在付款成功时发生。我使用“woocommerce_ payment_complete”设置了一个操作。这有效并且仅在付款完成时触发,但现在有效负载为空!我只得到这个返回而不是订单 JSON:
webhook_id=5
这不好,我需要所有包含订单信息的 JSON。您知道是否有办法实现这一目标?不知道为什么 Woocommerce 没有将此作为内置选项。
当 WooCommerce 将订单移至任何状态时,都会调用相应的挂钩。
woocommerce_order_status_$STATUS_TRANSITION[to]
当 WooCommerce 将订单移至“处理”时,将执行挂钩到“woocommerce_order_status_processing”的代码。
(我假设一旦成功处理付款,您的订单就会转入处理状态。)
add_action('woocommerce_order_status_processing', 'this_is_your_function');
function this_is_your_function ($order_id) {
// do stuff here
}
此挂钩仅应在订单从另一个状态进入“处理”状态时执行
https://woocommerce.github.io/code-reference/hooks/hooks.html