【发布时间】:2020-09-09 08:03:05
【问题描述】:
我需要订阅一个 webhook,它会在订单完成(已完全支付)时触发。哪个 webhook 可以做到这一点?
我看到有一个woocommerce_payment_complete 操作,但我想如果单个订单有多个付款,每次付款都会触发此操作?例如客户可以在信用卡 1 上进行部分付款,在信用卡 2 上进行部分付款。当然,这些都会导致woocommerce_payment_complete 事件触发?还是我在文档中遗漏了什么?
我希望有一个像 order.complete 这样的 webhook,它会在订单现在在仓库中时触发。收到付款,可以开始履行。但我在文档中没有看到这样的 webhook。
编辑:
所以我找到了 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
【问题讨论】:
-
感谢@LoicTheAztec,但是请告知我应该如何创建这个 webhook(我已经编辑了我的问题以显示我得到的错误)
-
啊,没关系,我想通了!主题必须是
topic.woocommerce_order_status_processing。如果您添加您的评论作为答案,我会这样标记它! -
我已经添加了我的评论作为答案。
标签: woocommerce webhooks hook-woocommerce orders