- 付款成功:
"notify_type": "payment" - 退款成功:
"notify_type": "refund"
未來版本的通知參數可能新增欄位。建議你的接收端採用「可忽略未知欄位」的處理方式,並定期查看最新文件更新。
概述
當支付或退款成功後,QFPay 會以 HTTP POST 方式向商戶已設定的 callback URL 發送一筆 JSON 通知,用於即時更新交易結果。出於安全考量,callback URL 僅支援 80 / 443 端口,且
Content-Type 固定為 application/json。非同步通知規則
- 僅在交易成功(付款或退款)後才會發送通知。
- 請透過電郵提交通知端點 URL 至
technical.support@qfpay.com,由技術支援協助設定。 - 商戶收到通知後必須進行簽名驗證。驗證成功後回覆:
- HTTP Status Code:
200 OK - Response Body:
SUCCESS
- HTTP Status Code:
- 若未收到預期回應,系統會依以下時間間隔重試:
- 2 分鐘 → 10 分鐘 → 10 分鐘 → 60 分鐘 → 2 小時 → 6 小時 → 15 小時
- 同一組
app_code+client_key僅能綁定 一個 通知 URL。代理商應為子商戶共用同一接收端點。 - HTTP 方法:
POST
Content-Type:application/json
簽名驗證
非同步通知的簽名驗證方式與一般 API 請求不同:必須使用「原始 request body(未重排 / 未格式化的 JSON 字串)」來驗證。驗證步驟
- 從 HTTP header 取得
X-QF-SIGN。 - 取得原始 request body(JSON 字串),直接在尾端串接
client_key。 - 對字串做 MD5 雜湊,並轉成 大寫。
- 若雜湊結果等於
X-QF-SIGN,視為驗證成功,回覆200 OK與SUCCESS。
簽名範例
實作時請以你實際收到的完整 raw body 進行計算;上例僅示意流程。
通知內容範例
JSON
回傳欄位說明
syssn 的語境容易混淆:在非同步通知中,syssn 代表「本次通知所對應的交易號」。若 notify_type=refund,它通常是退款交易號,而不是原始付款交易號。Cancel 定義
通知來源 IP
請確保你的伺服器允許以下來源 IP 發送的 POST 請求:13.228.112.11518.138.115.4718.166.202.92

