【问题标题】:In Woocommerce API, which hook for a specific order status for a webhook?在 Woocommerce API 中,哪个钩子用于 webhook 的特定订单状态?
【发布时间】: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


【解决方案1】:

您没有找到它,因为有一些 WooCommerce 复合挂钩,在您的情况下使用的正确的是:woocommerce_order_status_$STATUS_TRANSITION[to\] 其中$STATUS_TRANSITION 是您想要的(转换) 订单状态。

因此,对于 “处理” 订单状态,挂钩将为:woocommerce_order_status_processing
对于“已完成”订单状态,您的挂钩将为 @ 987654325@.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-29
    • 1970-01-01
    • 2017-07-16
    • 2019-11-13
    • 2016-09-07
    • 2017-05-24
    • 1970-01-01
    • 2021-06-02
    相关资源
    最近更新 更多