跳至主要內容

如何使用 Webhook 檢查付款狀態

摘要

Wati 提供了用於檢查支付狀態的 API,以及用於追蹤何時向客戶發送訂單訊息的 Webhooks。本指南說明如何檢索支付狀態、了解支付與訊息狀態值,以及如何在您的 Wati 帳戶中啟用 Webhooks。

注意:支付功能目前處於私人測試階段 (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

路徑 (Path)

您的 Wati 租戶 ID。

referenceId

路徑 (Path)

與支付相關聯的參考 ID。

建立 API 權杖 (Token)

若要存取 API,請在您的 Wati 帳戶中建立一個 API 權杖。

  • 前往 Connector > API。

  • 點擊 Create API Token。

  • 建立您的權杖以驗證 API 請求。

了解支付狀態值

API 會回傳一個狀態,指示支付的結果。

狀態

說明

captured

支付已成功完成。

failed

支付嘗試失敗。

重要:對於擁有一個以上 WhatsApp 號碼的帳戶,「支付已擷取」(Payment Captured) 狀態僅適用於預設號碼。其他已連接的號碼不支援此功能。

2. 使用 Webhooks 追蹤訂單訊息

當訂單訊息成功發送給客戶時,Wati 會發送 Webhook 通知。您可以使用此通知來追蹤訊息狀態。

訊息已發送 Webhook

成功發送訂單訊息的 Webhook 事件為:

  • 事件: templateMessageSent_v2

  • 狀態: SENT

SENT 狀態表示 Wati 已接受並發送了該訊息。它並不代表訊息已送達收件人的裝置。

若要追蹤訊息送達或發送失敗的情況,請使用以下 Webhook 事件:

  • sentMessageDELIVERED_v2 — 確認訊息已送達收件人的裝置。

  • templateMessageFailed — 回報訊息發送失敗。

Webhook 範例負載 (Payload)

當 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 中啟用 Webhooks

若要接收訂單訊息的 Webhook 通知,請在您的 Wati 帳戶中設定 Webhook。

  • 前往 Connector > Webhooks。

  • 點擊 Add Webhook。

  • 輸入您的 Webhook URL。

  • 將 Webhook 狀態設定為 Enabled (已啟用)。

  • 選擇您想要接收的相關 Webhook 事件。

設定完成後,Wati 即可針對所選事件向您的 Webhook URL 發送通知。

要點總結

  • 使用支付狀態 API 檢查支付是否成功完成或失敗。

  • 支付功能目前處於私人測試階段,必須由 Wati 支援團隊啟用。

  • 「支付已擷取」狀態僅支援多號碼帳戶中的預設 WhatsApp 號碼。

  • 使用 templateMessageSent_v2 追蹤 Wati 何時成功發送訂單訊息。

  • 使用 sentMessageDELIVERED_v2 確認訊息送達,並使用 templateMessageFailed 追蹤發送失敗的情況。

  • 在 Connector > Webhooks 下啟用相關的 Webhook 事件以接收通知。

是否回答了您的問題?