11 KiB
11 KiB
接口应在服务端调用,不可在前端(小程序、网页、APP等)直接调用。具体可参考接口接入指南。
接口英文名:OrderRefundQuery
该接口用于查询退款交易订单的退款结果。
1、调用方式
HTTPS调用
POST <font style="color:rgb(52,64,84);">/api/app/refundOrder/orderRefundQuery</font>
2、请求参数
请求体 <font style="color:rgb(34, 34, 34);">Request Payload</font>
| 参数名 | 类型 | 必填 | 字段长度 | 说明 |
|---|---|---|---|---|
| service | string | 是 | - | 接口名称。 此处固定值为:unified_query_refund |
| sign_type | string | 否 | 10 | 接口签名类型,枚举如下: MD5:MD5签名算法 SM3:国密SM3签名算法 不传默认使用MD5算法 |
| merchant_id | string | 是 | 10 | 财务交易中心商户号 |
| schc_order_id | string | 否 | 16 | 财务交易中心订单号。 schc_order_id和third_order_id两者必填其一,都填优先使用schc_order_id。 如商户/服务商需要退3个月以上的交易,必须使用schc_order_id发起退款 |
| third_order_id | string | 否 | 64 | 商户订单号。 schc_order_id和third_order_id两者必填其一,都填优先使用schc_order_id。 |
| merchant_refund_id | string | 否 | 64 | 商户退款订单号。 merchant_refund_id和schc_refund_id两者必填其一,都填优先使schc_refund_id |
| schc_refund_id | string | 否 | 16 | 交易中心退款订单号。 merchant_refund_id和schc_refund_id两者必填其一,都填优先使schc_refund_id |
| nonce_str | string | 是 | 32 | 随机字符串 |
| sign | string | 是 | 32 | 签名 |
| req_serial_no | string | 是 | 32 | 本次交易的请求流水号 |
3、返回参数
返回体 <font style="color:rgb(34, 34, 34);">Response Payload</font>
XML格式返回
| 参数名 | 类型 | 说明 |
|---|---|---|
| resp_code | string | 通信状态码。 200 - 成功。 非200 - 失败。 注:此字段是通信标识,业务状态要看result_code |
| resp_msg | string | 通信错误说明 resp_code非200时返回 |
| cost_time | string | 请求耗时。 请求接口耗费的时间,单位毫秒 |
| req_serial_no | string | 本次交易的请求流水号,原样返回 |
| 以下参数在resp_code=200时返回 | ||
| result_code | string | 业务状态码。 0 - 退款查询受理成功 非0 - 退款查询受理失败 注:这里只代表本次退款查询请求的业务受理结果,为0不代表退款成功,具体请结合该笔订单的状态status来确定退款结果 |
| error_code | string | 退款失败错误码。 退款失败时返回 错误码 |
| error_msg | string | 退款失败原因。 退款失败时返回具体失败原因说明 |
| nonce_str | string | 随机字符串 |
| sign | string | 签名 |
| sign_type | string | 签名类型,枚举如下: MD5:MD5签名算法 SM3:国密SM3签名算法 返回接口请求时设定的签名类型进行签名。 |
| merchant_id | string | 财务交易中心商户号 |
| third_order_id | string | 商户订单号。 商户原支付交易订单号 |
| sub_merchant_id | string | 通道商户号。 该笔订单交易时所使用的上游商户号,即微信商户号、或者支付宝商户号、或者银联商户号等 |
| mch_balance_refund | string | 商户退款类型。枚举如下: 0:未使用账户余额退款, 1:使用账户余额退款 |
| 以下参数在result_code=0时返回 | ||
| schc_order_id | string | 交易中心交易订单号。 该笔退款交易对应的原支付交易订单号。 |
| status | string | 订单支付状态,枚举如下: 10:退款中 11:退款成功 12:退款失败 |
| refund_amount | string | 退款金额,单位:分 |
| buyer_refund_amount | string | 买家实际退款金额,单位:分 |
| merchant_refund_id | string | 商户退款订单号。 |
| schc_refund_id | string | 交易中心退款订单号。 退款受理成功后,会返回该笔退款对应的交易中心退款交易订单号。 |
| amount | string | 订单总金额。单位:分。 退款情况下,amount和total_amount数值一样。 |
| total_amount | 订单总金额。单位:分。 退款情况下,amount和total_amount数值一样。 |
|
| order_balance | string | 订单剩余可退金额。单位:分。 本次退款后,订单剩余可继续发起退款的金额 |
| attach | string | 退款附加数据。 原样返回退款请求时上送的attach内容。如果请求时没有上送attach参数,则不返回。 注意:只能是汉字、英文字母、数字 |
| 以下参数在status=11时返回 | ||
| refund_time | string | 退款成功时间 银联/网联返回的退款成功时间 |
| channel_order_id | string | 通道退款订单号。 银联/网联返回的退款订单号。 |
| settlement_refund_amount | string | 实际退款金额。 |
| discount_refund_amount | string | 折扣优惠退款金额 |
| refund_detail | string | 退款优惠详情。 优惠退款功能信息,本字段为json 数组,详见下方 当前仅微信交易且有退款优惠时会返回具体内容。 |
| refund_detail_item_list | string | 本次退款使用的资金渠道详情,本字段为json 数组。详见下方 |
子域参数refund_detail
| 参数名 | 类型 | 说明 |
|---|---|---|
| promotion_id | string | 券 ID 。券或者立减优惠 id |
| scope | string | 优惠范围。枚举如下: GLOBAL:全场代金券 SINGLE:单品优惠 |
| type | string | 优惠类型,枚举如下: COUPON:代金券,需要走结算资金的充值型代金券(境外商户券币种 , 与支付币种一 致) DISCOUNT:优惠券,不走结算资金 的免充 值型优惠券,(境外商户券币种与标价币种 一致 |
| amount | Int | 优惠券面额。 用户享受优惠的金额 |
| refund_amount | Int | 优惠券退款额。 按比例退款的优惠券金额 |
子域参数refund_detail_item_list
| 参数名 | 类型 | 说明 |
|---|---|---|
| fund_channel | string | 交易使用的资金渠道 |
| amount | Int | 该支付工具类型所使用的金额 |
| real_amount | Int | 渠道实际付款金额 |
| fund_type | string | 渠道所使用的资金类型,目前只在资金渠道(fund_channel)是银行卡渠道(BANKCARD)的情况下才返回该信息 借记卡::DEBIT_CARD 信用卡:CREDIT_CARD 借贷合一卡:MIXED_CARD |
4、注意事项
如果退款交易受理未成功,请不要调退款交易查询接口查询退款结果。
5、代码示例
请求参数:
{
"service": "unified_query_refund",
"sign_type": "MD5",
"merchant_id": "12345678",
"schc_order_id": "0000195193826041",
"third_order_id": "17706897023453A1F3E7C48C6",
"merchant_refund_id": "17707042941793A1EC2429D75",
"schc_refund_id": "0000755593826041",
"nonce_str": "JohCmBiL",
"sign": "ZTkyNzJkYmY2MTAxNWNmZDM0YjRlZmY3YzA3YzRmODA=",
"req_serial_no": "17706897023453A1F3E7C48C6"
}
返回参数:
<schc>
<resp_code><![CDATA[200]]></resp_code>
<sign><![CDATA[A3D20311EE5F16B9668F39F70AFF6260]]></sign>
<result_code><![CDATA[0]]></result_code>
<refund_time><![CDATA[2022-09-30 15:14:15]]></refund_time>
<channel_order_id><![CDATA[2022092422001451681421928902]]></channel_order_id>
<nonce_str><![CDATA[rmqtvcsiwfxmirlxivzwmojexzvfbpgi]]></nonce_str>
<third_order_id><![CDATA[20220924114903108]]></third_order_id>
<schc_refund_id><![CDATA[0000601181922273]]></schc_refund_id>
<mch_balance_refund><![CDATA[1]]></mch_balance_refund>
<sub_merchant_id><![CDATA[2088410502098221]]></sub_merchant_id>
<settlement_refund_amount><![CDATA[1]]></settlement_refund_amount>
<order_balance><![CDATA[0]]></order_balance>
<discount_refund_amount><![CDATA[0]]></discount_refund_amount>
<status><![CDATA[11]]></status>
<cost_time><![CDATA[3]]></cost_time>
<sign_type><![CDATA[MD5]]></sign_type>
<amount><![CDATA[1]]></amount>
<merchant_id><![CDATA[0000000018]]></merchant_id>
<schc_order_id><![CDATA[0000700081922267]]></schc_order_id>
<refund_detail><![CDATA[]]></refund_detail>
<total_amount><![CDATA[1]]></total_amount>
<refund_amount><![CDATA[1]]></refund_amount>
<merchant_refund_id><![CDATA[T20220930151413M167JoEe]]></merchant_refund_id>
<req_serial_no><![CDATA[17706897023453A1F3E7C48C6]]></req_serial_no>
</schc>