跳转到主要内容

如何使用 Webhook 检查支付状态

摘要

Wati 提供 API 用于检查支付状态,并提供 Webhook 以跟踪订单消息发送给客户的时间。本指南介绍了如何检索支付状态、理解支付和消息状态值,以及如何在您的 Wati 帐户中启用 Webhook。

注意:支付功能目前处于私人测试阶段(Private Beta)。请联系 Wati 支持团队为您帐户启用此功能。

说明

1. 通过 API 检查支付状态

您可以使用 Wati API 通过参考 ID (reference ID) 来检索支付状态。

API 端点

GET https://live-mt-server.wati.io/{tenantId}/api/v1/payment_status/{referenceId}

API 参数

参数

位置

说明

tenantId

路径

您的 Wati 租户 ID。

referenceId

路径

与支付关联的参考 ID。

创建 API 令牌

要访问 API,请在您的 Wati 帐户中创建一个 API 令牌。

  • 转到 Connector(连接器) > API。

  • 点击 Create API Token(创建 API 令牌)。

  • 创建您的令牌以验证 API 请求。

理解支付状态值

API 返回的状态指示支付的结果。

状态

说明

captured

支付已成功完成。

failed

支付尝试未成功。

重要:对于拥有多个 WhatsApp 号码的帐户,“支付已捕获”(Payment Captured)状态仅适用于默认号码。不支持其他已连接的号码。

2. 使用 Webhook 跟踪订单消息

当订单消息成功发送给客户时,Wati 会发送 Webhook 通知。您可以使用此通知来跟踪消息状态。

消息已发送 Webhook

成功发送订单消息的 Webhook 事件为:

  • 事件: templateMessageSent_v2

  • 状态: SENT

SENT 状态表示 Wati 已接收并发送了该消息。这并不确认消息已送达收件人的设备。

要跟踪消息送达情况或失败情况,请使用以下 Webhook 事件:

  • sentMessageDELIVERED_v2 — 确认消息已送达收件人的设备。

  • templateMessageFailed — 报告消息发送失败。

Webhook 有效负载示例

当 Wati 触发 templateMessageSent_v2 事件时,Webhook 有效负载可能如下所示:

{
"eventType": "templateMessageSent_v2",
"statusString": "SENT",
"localMessageId": "d38f0c3a-e833-4725-a894-53a2b1dc1af6",
"whatsappMessageId": "wamid.HBgNODEYEjQ3RDMzQzM2QjM3QjU1ODQ4RQA=",
"conversationId": "68b68470e93cc",
"ticketId": "693fd6ab545f82",
"type": "template",
"channelId": null,
"channelPhoneNumber": "85264318722",
"timestamp": "1667211460"
}

该有效负载包含事件类型、消息状态、消息标识符、对话和工单标识符、WhatsApp 渠道信息以及事件时间戳。

3. 在 Wati 中启用 Webhook

要接收订单消息的 Webhook 通知,请在您的 Wati 帐户中配置 Webhook。

  • 转到 Connector(连接器) > Webhooks。

  • 点击 Add Webhook(添加 Webhook)。

  • 输入您的 Webhook URL。

  • 将 Webhook 状态设置为 Enabled(已启用)。

  • 选择您想要接收的相关 Webhook 事件。

配置完成后,Wati 即可针对所选事件向您的 Webhook URL 发送通知。

要点总结

  • 使用支付状态 API 检查支付是否成功完成或失败。

  • 支付功能目前处于私人测试阶段,必须由 Wati 支持团队启用。

  • “支付已捕获”状态仅支持多号码帐户中的默认 WhatsApp 号码。

  • 使用 templateMessageSent_v2 跟踪 Wati 成功发送订单消息的时间。

  • 使用 sentMessageDELIVERED_v2 确认消息已送达,使用 templateMessageFailed 跟踪发送失败情况。

  • 在 Connector(连接器) > Webhooks 下启用相关的 Webhook 事件以接收通知。

这是否解答了您的问题?