所有 QFPay API 均以 JSON 格式回傳資料。
標準回應結構如下:
{
"respcd": "0000",
"respmsg": "success",
"data": {
"txamt": "100",
"out_trade_no": "20231101000001",
"txcurrcd": "HKD",
"txstatus": "SUCCESS",
"qf_trade_no": "9000020231101000001",
"pay_type": "800101",
"txdtm": "2023-11-01 10:00:00"
}
}
回應欄位說明
| 欄位 | 類型 | 說明 |
|---|
respcd | String(4) | API 層級回應代碼。0000 表示請求處理成功;其他代碼表示錯誤。 |
respmsg | String(64) | 對應 respcd 的文字說明。 |
data | Object | 業務資料物件。實際欄位依 API 類型而定。 |
data 物件欄位說明
| 欄位 | 類型 | 說明 |
|---|
txamt | String | 交易金額(以分為單位)。 |
out_trade_no | String | 商戶交易編號。 |
txcurrcd | String | 貨幣代碼(例如 HKD)。 |
txstatus | String | 交易狀態:SUCCESS、FAILED、PENDING。 |
qf_trade_no | String | QFPay 指派的唯一交易編號(系統交易 ID)。 |
pay_type | String | 支付方式代碼。 |
txdtm | String | 交易時間(格式:YYYY-MM-DD HH:mm:ss)。 |
狀態判斷說明
respcd = 0000 表示 API 請求成功處理。實際交易結果應依 data.txstatus 判斷。
範例:
respcd = 0000 且 txstatus = SUCCESS → 交易成功
respcd = 0000 且 txstatus = PENDING → 交易處理中
respcd ≠ 0000 → API 請求失敗
回應簽名驗證
在關鍵系統整合場景中,建議驗證回應 Header 中的簽名(若存在),以確保資料完整性。
回應可能包含以下 Header:
驗證流程
- 依欄位名稱升冪排序
data 物件中的所有欄位。
- 組合為字串格式: