我需要订阅一个Webhook,该Webhook将在订单完成(已完全付款)后触发。哪个webhook会这样做?
我已经看到有一个woocommerce_payment_complete
动作,但是我想如果在一个订单上有多个付款,这会触发每次付款吗?例如客户可以使用信用卡1进行部分付款,也可以使用信用卡2进行部分付款。当然,每一项都会导致woocommerce_payment_complete
事件触发吗?还是我在文档中缺少某些内容?
我希望有一个order.complete
这样的网络挂钩,当订单现在在仓库中时会触发。付款已收到,可以开始履行。但是我在文档中没有看到这样的网络挂钩。
编辑:
因此,我找到了this链接,该链接解释了Woocommerce订单的生命周期,告诉我Processing
是我感兴趣的状态/事件。
但是,我没有在official Webhook reference中看到此事件
当订单进入此processing
状态时,将触发什么webhook?
编辑2: (在@LoicTheAztec的回答之后)当我尝试使用具有以下负载的WooCommerce API(https://mysite/wp-json/wc/v3/webhooks
)创建Webhook时:
{
"name": "Order Processed",
"topic": "woocommerce_order_status_processing",
"delivery_url": "https://mycallbackapp.herokuapp.com/yo8i78yo"
}
我得到以下400 Bad Request
响应:
{
"code": "woocommerce_rest_shop_webhook_invalid_topic",
"message": "Webhook topic is required and must be valid.",
"data": {
"status": 400
}
}
编辑3:
最后主题必须为topic.woocommerce_order_status_processing
您找不到它,因为有一些WooCommerce composite hooks,在您的情况下使用的正确的是:woocommerce_order_status_$STATUS_TRANSITION[to\]
其中woocommerce_order_status_$STATUS_TRANSITION[to\]
是您想要的((transition)]]订单状态。
因此对于“ processing”
的订单状态,挂钩将是:$STATUS_TRANSITION
或对于“已完成”订单状态,您的挂钩将为woocommerce_order_status_processing
。