respcd=0000),請改用 退款 API。
支援場景
目前僅以下支付場景支援
/trade/v1/reversal。通常用於商戶已建立訂單,但消費者尚未完成付款(例如正掃後未付款)等未完成狀態。支援的支付場景及 PayType
支付寶正掃(MPM)800101:支付寶跨境線下掃碼支付801501:支付寶線上掃碼支付(香港商戶)
800201:微信掃碼支付
800108:支付寶跨境反掃支付
如需對其他錢包或模式進行交易取消,請參考本文下方的「Reversal vs Close」或聯絡 QFPay 技術支援取得整合建議。
API 端點
- Endpoint:
/trade/v1/reversal - 方法:
POST
沖正成功通常回應
respcd=0000。若原始交易已成功完成(付款回應為 respcd=0000),則無法沖正,請改用退款。請求參數
| 參數名稱 | 類型 | 必填 | 說明 |
|---|---|---|---|
mchid | String(16) | 否 | QFPay 商戶號(僅部分代理商/特定配置需要) |
syssn | String(40) | 是* | QFPay 交易號(付款或退款皆可能存在;此處指「要被沖正的那筆交易」) |
out_trade_no | String(128) | 是* | 商戶端交易單號(要被沖正的那筆交易) |
txamt | Int(11) | 是 | 交易金額(單位:分)。建議金額 > 200 以避免風控 |
txdtm | String(20) | 是 | 原交易時間,格式:YYYY-MM-DD HH:mm:ss |
udid | String(40) | 否 | 裝置唯一 ID(用於追蹤交易設備) |
syssn 與 out_trade_no 至少提供其中一個。回應參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
syssn | String | 此次沖正動作的 QFPay 交易號 |
orig_syssn | String | 原始(被沖正)交易的 QFPay 交易號 |
txamt | Int | 沖正金額(單位:分) |
txcurrcd | String(3) | 幣別代碼(例如 HKD) |
txdtm | String | 原始交易時間 |
sysdtm | String | QFPay 系統處理時間 |
chnlsn | String | 錢包端交易號(若未產生則可能為空) |
respcd | String(4) | 回應代碼(0000=成功;1143/1145=處理中;其他=失敗) |
resperr | String | 結果訊息 |
respmsg | String | 補充說明(如有) |
程式碼範例
回應範例
JSON
補充說明
- 沖正不代表一定「不會扣款」。請務必搭配 交易查詢 API 驗證最終結果。
- 沖正僅適用於未完成交易。對已成功的交易請使用退款。
- 若回應為
respcd=1143或1145,代表處理中,請延遲後重試查詢直到取得最終狀態。
Reversal(沖正)vs Close(關閉訂單)
部分錢包在「取消未完成交易」時會使用/trade/v1/close(關閉訂單)取代 /trade/v1/reversal。
典型支援範圍(示例)
微信支付反掃(CPM)800008:微信反掃(聚合)800208:微信反掃801008:微信香港反掃(適用於向微信香港申請的商戶)
/trade/v1/close方法:
GET
實際支援範圍可能因商戶配置與渠道而異。如需確認你方可用的取消方式,請聯絡技術支援。
Close 請求參數(摘要)
| 參數名稱 | 必填 | 類型 | 說明 |
|---|---|---|---|
mchid | 否 | String(16) | 商戶號(視配置) |
syssn | 是* | String(40) | QFPay 交易號 |
out_trade_no | 是* | String(128) | 商戶訂單號 |
txamt | 是 | Int(11) | 金額(分) |
txdtm | 是 | String(20) | YYYY-MM-DD HH:mm:ss |
udid | 否 | String(40) | 裝置識別碼 |
syssn 與 out_trade_no 至少提供其中一個。Close 回應參數(摘要)
| 參數名稱 | 類型 | 說明 |
|---|---|---|
orig_syssn | String(40) | 原始交易號 |
syssn | String(40) | 關單交易號 |
out_trade_no | String(128) | 商戶訂單號 |
txamt | Int(11) | 金額(分) |
txcurrcd | String(3) | 幣別 |
txdtm | String(20) | 原交易時間 |
sysdtm | String(20) | 系統處理時間 |
chnlsn | String | 通道交易號 |
respcd | String(4) | 0000=成功;1143/1145=處理中;其他=失敗 |
resperr | String(128) | 結果描述 |
respmsg | String(128) | 補充資訊 |
