7 退款查詢接口
7.1 退款接口
7.1.1 業務功能
商戶針對某一個已經成功支付的訂單發起退款,操作結果在同一會話中同步返回.
一、退款方式
目前只支持原路返回退款。 說明:退款到銀行卡則是非即時的,每個銀行的處理速度不同,一般發起退款后 1-3 個工作日內到賬。 同一筆單的部分退款需要設置相同的訂單號和不同的 out_refund_no 。一筆退款失敗後重新提交,要採用 原來 的 out_refund_no。總退款金額不能超過用戶實際支付金額(現金券金額不能退款)。
二、退款限制
商戶在退款操作時應該注意退款限制,避免發起不會成功的退款請求,下麵是主要的退款限制:
- 在平臺中,只要退款累計金額不超過交易單支付總額,一筆交易單可以多次退款,退款申請單號(退 款接口中有此參數)唯一確定一次退款,而不是交易單號確定一次退款。退款申請單號由商戶生成,所以商戶 一定要保證退款申請單的唯一性。商家在退款過程中要特別注意,只有在能確定退款失敗的情況下,才能重新 發起另一筆退款。
- 目前大多數銀行都會支持全額退款和部分退款,但是也有少數銀行不支持全額退款或部分退款,或者 不支持退款。在這種情況下,商戶可以與賣家協調,退倒支付寶賬戶中。
目前只提供無鑰退款接口,需要有鑰退款接口的商戶,請聯繫商務說明。
7.1.2 交互模式
後臺系統調用交互模式
7.1.3 請求參數列表
請求url:https://gateway.wepayez.com/pay/gateway
字段名 | 變數名 | 必填 | 類型 | 說明 |
---|---|---|---|---|
接口類型 | 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 簽名規則” |
7.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 | 現金券退款金額 <= 退款金額, 退款金額-現金券退款金額為現金 |
7.2 退款查詢接口
提交退款申請後, 通過調用該接口查詢退款狀態。 退款有一定延時, 請在 3 個工作日後 重新查詢退款狀態。
7.2.1 請求參數列表
請求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_refund_no | 否 | String(32) | 商戶退款單號,32 個字元內、可包含字母,確 保在商戶系統唯一。 平臺退款單號 |
簽名 | sign | 是 | String(32) | MD5 簽名結果,詳見“第 4 章 MD5 簽名規則” |
7.2.2 返回結果
數據按 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 | 現金券退款金額 <= 退款金額, 退款金額-現金券退款金額為現金 |
退款時間 | refund_time_$n | 否 | String(14) | yyyyMMddHHmmss |
退款狀態 | refund_status_$n | 是 | String(16) | 退款狀態: SUCCESS—退款成功 FAIL—退款失敗 PROCESSING—退款處理中 NOTSURE—未確定, 需要商戶原退款單號 重新發起 CHANGE—轉入代發,退款到銀行發現用戶 的卡作廢或者凍結了,導致原路退款銀行卡失 敗,資金回流到商戶的現金帳號,需要商戶人 工幹 預,通過線下或者平臺轉賬的方式進行退款。 |