主要涵蓋以下三類事件:
payment_token:支付令牌建立subscription:訂閱狀態變更subscription_payment:定期扣款結果
如何設定 Webhook URL
若需設定或修改 Webhook 接收端點,請將以下資訊提供給 QFPay 技術支援:
- Webhook URL
- 商戶 ID
- 門店 ID
1️⃣ 支付令牌建立通知(Token Creation Notification)
當透過 Payment Element 成功建立支付令牌後,系統會發送此通知。通知類型
notify_type = payment_token
通知欄位說明
| 欄位名稱 | 說明 |
|---|---|
userid | QFPay 門店 ID |
notify_type | 固定為 payment_token |
event | 令牌事件類型:NEW、MATCH、CONFLICT |
tokenid | 建立完成的支付令牌 ID |
token_expiry_date | 令牌到期時間 |
cardcd | 遮罩後的卡號 |
card_scheme | 卡組織(例如 VISA、MASTERCARD) |
respcd | 回應碼(0000 表示成功) |
respmsg | 回應訊息 |
sysdtm | 系統時間 |
customer_id | 若有關聯則回傳 |
token_reason | 令牌化原因 |
token_reference | 系統內部令牌參考值 |
範例
Token Webhook Example
2️⃣ 訂閱狀態變更通知
當訂閱狀態發生變更時(例如完成、取消),系統會發送此通知。通知類型
notify_type = subscription
通知欄位說明
| 欄位名稱 | 說明 |
|---|---|
notify_type | 固定為 subscription |
subscription_id | 訂閱唯一識別碼 |
state | 訂閱狀態(ACTIVE / COMPLETED / INCOMPLETE / 等) |
sysdtm | 狀態變更時間 |
範例
Subscription Status Webhook Example
3️⃣ 訂閱扣款結果通知(Subscription Payment Result)
每次定期扣款嘗試(無論成功或失敗)後,系統都會發送通知。通知類型
notify_type = subscription_payment
通知欄位說明
| 欄位名稱 | 說明 |
|---|---|
subscription_id | 訂閱 ID |
subscription_order_id | 扣款訂單 ID(格式:sub_ord_{subscription_id}_{0001}) |
respcd | 回應碼(0000 表示成功) |
respmsg | 回應訊息 |
syssn | 系統交易流水號 |
txdtm | 交易時間 |
txamt | 交易金額 |
txcurrcd | 交易幣別 |
customer_id | Customer ID |
product_id | Product ID(多筆以逗號分隔) |
cardcd | 遮罩後卡號 |
card_scheme | 卡組織(成功時提供) |
current_iteration | 已完成扣款次數 |
範例
Subscription Payment Webhook Example
Webhook 重試機制與最佳實踐
- 若接收端未回傳 HTTP 200 OK,系統將自動重試
- 重試採用 指數退避(Exponential Backoff)
- 實際最大重試次數依內部設定可能有所調整
