6 退款查詢接口
6.1 退款接口
6.1.1 業務功能
商戶針對某一個已經成功支付的訂單發起退款,操作結果在同一會話中同步返回。
一、退款方式
目前只支持原路返回退款 說明:退款至银行卡,由于每個銀行的處理时间不同,一般退款请求發起後 1-3 個工作日內到賬。
同一筆單的部分退款需要設置相同的訂單號和不同的 out_refund_no 。一筆退款失敗後重新提交,要採 用原來 的 out_refund_no。總退款金額不能超過用戶實際支付金額(現金券金額不能退款)
二、退款限制
商戶在退款操作時應該注意退款限制,避免發起不會成功的退款請求,下麵是主要的退款限制:
在平臺中,只要退款累計金額不超過交易單支付總額,一筆交易單可以多次退款,退款申請單號(退款接 口中有此參數)唯一確定一次退款,而不是交易單號確定一次退款。退款申請單號由商戶生成,所以商戶一定 要保證退款申請單的唯一性。商家在退款過程中要特別注意,只有在能確定退款失敗的情況下,才能重新發起 另一筆退款。
6.1.2 交互模式
後臺系統調用交互模
6.1.3 請求參數列表
請求url:https://gateway.wepayez.com/pay/gateway
POSTXML 內容體進行請求
字段名 | 變數名 | 必填 | 類型 | 說明 |
---|---|---|---|---|
接口類型 | service | 是 | String(32) | 接口類型:unified.trade.refund |
版本號 | version | 否 | String(8) | 版本號,version 默認值是 2.0。 |
字元集 | charset | 否 | String(8) | 取值: UTF-8 |
簽名方式 | sign_type | 否 | String(8) | 簽名類型,取值:MD5 |
商戶號 | mch_id | 是 | String(32) | 商戶唯一标识码,由平臺分配 |
商戶訂單號 | out_trade_no | 否 | String(32) | 商 戶 系 統 內 部 的 訂 單 號, out_trade_no 和 transaction_id 至少一個必填,同時存在時 transaction_id 優先 |
平臺訂單號 | transaction_id | 否 | String(32) | 平臺單號, out_trade_no 和 transaction_id 至少 一個必填,同時存在時 transaction_id 優先 |
商戶退款單號 | out_refund_no | 是 | String(32) | 商戶退款單號,32 個字元內、可包含字母,確 保在商戶系統唯一。同個退款單號多次請求, 平臺當一個單處理,只會退一次款。如果出 現退款不成功,請採用原退款單號重新發起, 避免出現重複退款。 |
總金額 | total_fee | 是 | Int | 訂單總金額,單位為分 |
退款金額 | refund_fee | 是 | Int | 退款總金額,單位為分,可以做部分退款 |
操作員 | op_user_id | 是 | String(32) | 操作員帳號,默認為商戶號 |
退款管道 | refund_channel | 否 | String(16) | 取值:ORIGINAL |
隨機字串 | nonce_str | 是 | String(32) | 隨機字串,不長於 32 位 |
簽名 | sign | 是 | String(32) | MD5 簽名結果,詳見“第 4 章 MD5 簽名規則” |
6.1.4 返回結果
數據按 XML 的格式即時返回
字段名 | 變數名 | 必填 | 類型 | 說明 |
---|---|---|---|---|
版本號 | version | 是 | String(8) | 版本號,version 默認值是 2.0。 |
字元集 | charset | 是 | String(8) | 取值:UTF-8 |
簽名方式 | sign_type | 否 | String(8) | 簽名類型,取值:MD5 |
返回狀態碼 | status | 是 | String(16) | 0表示成功非0表示失敗。此字段是通信標識,非交易標識,交易是否成功需要查看result_code來判斷 |
返回資訊 | message | 否 | String(128) | 返回資訊,如非空,為錯誤原因簽名失敗參數格式校驗錯誤 |
以下字段在 status 為 0 的時候有返回
字段名 | 變數名 | 必填 | 類型 | 說明 |
---|---|---|---|---|
業務結果 | result_code | 是 | String(16) | 0 表示成功非 0 表示失敗 |
商戶號 | mch_id | 是 | String(32) | 商戶唯一标识码,由平臺分配 |
設備號 | device_info | 否 | String(32) | 終端設備號 |
隨機字串 | nonce_str | 是 | String(32) | 隨機字串,不長於 32 位 |
錯誤代碼 | err_code | 否 | String(32) | 具體錯誤碼請看文檔最後錯誤碼列表 |
錯誤代碼描述 | err_msg | 否 | String(128) | 結果資訊描述 |
簽名 | sign | 是 | String(32) | MD5 簽名結果,詳見“第 4 章 MD5 簽名規則” |
以下字段在 status 和 result_code 都為 0 的時候有返回
字段名 | 變數名 | 必填 | 類型 | 說明 |
---|---|---|---|---|
平臺訂單號 | transaction_id | 是 | String(32) | 平臺交易號 |
商戶訂單號 | out_trade_no | 是 | String(32) | 商戶系統內部的訂單號 |
商戶退款單號 | out_refund_no | 是 | String(32) | 商戶退款單號 |
平臺退款單號 | refund_id | 是 | String(32) | 平臺退款單號 |
退款管道 | refund_channel | 是 | String(16) | 取值:ORIGINAL |
退款金額 | refund_fee | 是 | Int | 退款總金額,單位為分,可以做部分退款 |
現金券退款金額 | coupon_refund_fee | 否 | Int | 現金券退款金額 <= 退款金額,退款金額-現金券退款金額為現金 |
6.2 退款查詢接口
提交退款申請後, 通過調用該接口查詢退款狀態。
請求參數列表
請求url:https://gateway.wepayez.com/pay/gateway
POSTXML 內容體進行請求
字段名 | 變數名 | 必填 | 類型 | 說明 |
---|---|---|---|---|
接口類型 | service | 是 | String(32) | 接口類型:unified.trade.refundquery |
版本號 | version | 否 | String(8) | 版本號,version 默認值是 2.0。 |
字元集 | charset | 否 | String(8) | 取值:UTF-8。 |
簽名方式 | sign_type | 否 | String(8) | 簽名類型,取值:MD5 |
商戶號 | mch_id | 是 | String(32) | 商戶唯一标识码,由平臺分配 |
商戶訂單號 | out_trade_no | 否 | String(32) | 商戶系統內部的訂單號 , out_trade_no 和 transaction_id 至少一個必填,同時存在時 transaction_id 優先 |
平臺訂單號 | transaction_id | 否 | String(32) | 平臺單號, out_trade_no 和 transaction_id至少一個必填,同時存在時 transaction_id 優先 |
商戶退款單號 | out_refund_no | 否 | String(32) | 商戶退款單號,32 個字元內、可包含字母,確 保在商戶系統唯一。 |
平臺退款單號 | refund_id | 否 | String(32) | 平臺退款單號關於 refund_id、out_refund_no、 out_trade_no 、 transaction_id 四個參數必填一 個,如果同時存在優先順序為:refund_id > out_refund_no>transaction_id>out_trade_no |
隨機字串 | nonce_str | 是 | String(32) | 隨機字串,不長於 32 位 |
簽名 | sign | 是 | String(32) | MD5 簽名結果,詳見“第 4 章 MD5 簽名規則” |
6.2.1 返回結果
數據按 XML 的格式即時返回
字段名 | 變數名 | 必填 | 類型 | 說明 |
---|---|---|---|---|
版本號 | version | 是 | String(8) | 版本號,version 默認值是 2.0。 |
字元集 | charset | 是 | String(8) | 取值:UTF-8。 |
簽名方式 | sign_type | 否 | String(8) | 簽名類型,取值:MD5 |
返回狀態碼 | status | 是 | String(16) | 0表示成功非0表示失敗。此字段是通信標識,非交易標識 ,交易是否成功需要查看 result_code 來判斷 |
返回資訊 | message | 否 | String(128) | 返回資訊,如非空,為錯誤原因簽名失敗參數格式校驗錯誤 |
以下字段在 status 為 0 的時候有返回
字段名 | 變數名 | 必填 | 類型 | 說明 |
---|---|---|---|---|
業務結果 | result_code | 是 | String(16) | 0 表示成功非 0 表示失敗 |
商戶號 | mch_id | 是 | String(32) | 商戶唯一标识码,由平臺分配 |
設備號 | device_info | 否 | String(32) | 終端設備號 |
隨機字串 | nonce_str | 是 | String(32) | 隨機字串,不長於 32 位 |
錯誤代碼 | err_code | 否 | String(32) | 具體錯誤碼請看文檔最後錯誤碼列表 |
錯誤代碼描述 | err_msg | 否 | String(128) | 結果資訊描述 |
簽名 | sign | 是 | String(32) | MD5 簽名結果,詳見“第 4 章 MD5 簽名規則” |
以下字段在 status 和 result_code 都為 0 的時候有返回
字段名 | 變數名 | 必填 | 類型 | 說明 |
---|---|---|---|---|
平臺訂單號 | transaction_id | 是 | String(32) | 平臺交易號 |
商戶訂單號 | out_trade_no | 是 | String(32) | 商戶系統內部的訂單號 |
退款筆數 | refund_count | 是 | Int | 退款記錄數 |
商戶退款單號 | out_refund_no_$n | 是 | String(32) | 商戶退款單號 |
平臺退款單號 | refund_id_$n | 是 | String(32) | 平臺退款單號 |
退款管道 | refund_channel_$n | 是 | String(16) | 取值:ORIGINAL |
退款金額 | refund_fee_$n | 是 | Int | 退款總金額,單位為分,可以做部分退款 |
現金券退款金額 | coupon_refund_fee_ $n | 否 | Int | 現金券退款金額 <= 退款金額,退款金額-現金券退款金額為現金 |
現金支付金額 | cash_fee | 是 | Int | 現金支付金額訂單現金支付金額,100 |
現金支付貨幣類型 | cash_fee_type | 否 | String(16) | 貨幣類型,符合 ISO 4217 標準的三位字母代碼 |
匯率 | rate | 是 | String(16) | 用戶支付幣種與商戶結算幣種的兌換比例關係 |
退款時間 | refund_time_$n | 否 | String(14) | yyyyMMddHHmmss |
退款狀態 | refund_status_$n | 是 | String(16) | 退款狀態:SUCCESS—退款成功 FAIL—退款失敗 PROCESSING—退款處理中 NOTSURE—未確定,需要商戶原退款單號 重新發起 CHANGE—轉入代發,退款到銀行發現用戶银行账户作廢或者被凍結,導致原路退款銀行卡失敗,資金回流到商戶的現金帳號,需要商戶人工幹預,通過線下或者平臺轉賬的 方式進行退款。 |