我需要订阅一个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
答案 0 :(得分:0)
您找不到它,因为有一些WooCommerce 复合钩子,在您的情况下使用的正确钩子是:woocommerce_order_status_$STATUS_TRANSITION[to\]
,其中$STATUS_TRANSITION
是您想要的< em>(过渡)订单状态。
因此对于“处理中” 订单状态,挂钩将为: woocommerce_order_status_processing
或对于“已完成”订单状态,您的挂钩将为woocommerce_order_status_completed
。