Login expired. Please log in again.

Feedback

0/300

Feedback

Submitted successfully

ok

Feedback

Network exception, please try again later

ok

查询所有退款

最新更新时间:2020.04.01 版本说明


提交退款申请后,通过调用该接口查询退款状态。退款有一定延时,用零钱支付的退款20分钟内到账,银行卡支付的退款3个工作日后重新查询退款状态。

注意:

● 该接口适合原交易发生多笔部分退款的情况,查询原交易下所有的退款详情。


接口说明

适用对象:直连模式机构模式

请求URL:https://api.mch.weixin.qq.com/hk/v3/refunds

请求方式: GET

接口规则: https://wechatpay-api.gitbook.io/wechatpay-api-v3/wei-xin-zhi-fu-api-v3-jie-kou-gui-fan


path 指该参数为路径参数

query 指该参数为URL参数

body 指该参数需在请求JSON传参

请求参数

参数名 变量 类型 必填 描述
微信支付订单号 transaction_id string(32) 二选一 query 微信支付订单号
示例值:1217752501201407033233368018
商户订单号 out_trade_no string(32) query 商户订单号
示例值:1217752501201407033233368018
商户号 mchid string(32) query 微信支付分配的商户号
注意:仅适用于直连模式
示例值:1900000109
子商户号 sub_mchid string(32) query 微信支付分配的子商户号
注意:仅适用于机构模式
示例值:1900000109
机构商户号 sp_mchid string(32) query 微信支付分配的机构商户号
注意:仅适用于机构模式
示例值:1900000100
记录起始位置 offset int query 分页功能,起始位置
示例值:0
每页笔数 count int query 分页功能,每页返回记录数,最大值限制为20
示例值:10

请求示例:


使用微信支付订单号查单示例:
https://api.mch.weixin.qq.com/hk/v3/refunds?transaction_id=1217752501201407033233368018&count=10&offset=0&sp_mchid=1900000100&sub_mchid=1900000109

使用商户订单号查单示例:
https://api.mch.weixin.qq.com/hk/v3/refunds?out_trade_no=1217752501201407033233368018&count=10&offset=0&sp_mchid=1900000100&sub_mchid=1900000109

    
{
JAVA示例代码
}
    

返回参数

正常返回

参数名 变量 类型 必填 描述
微信支付交易订单号 id string(32) 微信支付交易订单号
示例值:1217752501201407033233368018
商户号 mchid string(32) 微信支付分配的商户号
注意:仅适用于直连模式
示例值:1900000109
子商户号 sub_mchid string(32) 微信支付分配的子商户号
注意:仅适用于机构模式
示例值:1900000109
机构商户号 sp_mchid string(32) 微信支付分配的机构商户号
注意:仅适用于机构模式
示例值:1900000100
商户原交易订单号 out_trade_no string(64) 返回的原交易订单号。
示例值: 1217752501201407033233368018
+ 订单金额 amount object 原支付订单金额信息,详细说明见下文
参数名 变量 类型 必填 描述
订单金额 total int 订单总金额,币种的最小单位,只能为整数,详见支付金额
示例值:888
货币类型 currency string(16) 符合 ISO 4217 标准的三位字母代码
示例值:CNY
用户支付金额 payer_total int 用户实际支付金额,币种的最小单位,只能为整数,详见支付金额
示例值:888
支付币种 payer_currency string(16) 符合ISO 4217标准的三位字母代码
示例值:CNY
+ 退款单列表 data array 返回的退款列表,详细说明见下文
参数名 变量 类型 必填 描述
微信退款单号 id string(32) 微信支付退款单号
示例值:1217752501201407033233368018
商户退款单号 out_refund_no string(64) 返回的退款订单号。
示例值:1217752501201407033233368018
退款渠道 channel string(16) ORIGINAL:原路退款
BALANCE:退回到余额
OTHER_BALANCE:原账户异常退到其他余额账户
OTHER_BANKCARD:原银行卡异常退到其他银行卡
示例值:ORIGINAL
退款入账账户 recv_account string(64) 取当前退款单的退款入账方
1)退回银行卡:
{银行名称}{卡类型}{卡尾号}
2)退回支付用户零钱:
支付用户零钱
3)退回支付用户零钱通:
支付用户零钱通
示例值:招商银行信用卡0403
退款资金来源 fund_source string(30) REFUND_SOURCE_UNSETTLED_FUNDS:未结算资金退款(默认使用未结算资金退款)
REFUND_SOURCE_REchARGE_FUNDS:可用余额退款
示例值:REFUND_SOURCE_UNSETTLED_FUNDS
退款成功时间 success_time string(64) 退款成功时间,当退款状态为退款成功时有返回。
示例值:2018-06-08T10:34:56+08:00
退款创建时间 create_time  string(64) 退款受理时间
示例值:2018-06-08T10:34:56+08:00
退款状态 status string(16) 退款状态:
SUCCESS:退款成功
REFUNDCLOSE:退款关闭
PROCESSING:退款处理中
ABNORMAL:退款异常,退款到银行发现用户的卡作废或者冻结了,导致原路退款银行卡失败,可前往【服务商平台—>交易中心】,手动处理此笔退款
示例值:SUCCESS
+ 退款金额 amount object 退款单金额信息,详细说明见下文
参数名 变量 类型 必填 描述
退款金额 refund int 退款金额,币种的最小单位,只能为整数,不能超过原订单支付金额,如果有使用券,后台会按比例退。
示例值:888
货币类型 currency string(16) 符合ISO 4217标准的三位字母代码
示例值:CNY
用户退款金额 payer_refund int 退款给用户的金额,不包含所有优惠券金额
示例值:888
支付币种 payer_currency string(16) 符合ISO 4217标准的三位字母代码
示例值:CNY
+ 汇率 exchange_rate object  汇率信息
参数名 变量 类型 必填 描述
汇率类型 type string(16) 标价币种和支付币种一致时,type="SETTLEMENT_RATE",即【实时】标价币种和结算币种的汇率;
标价币种和支付币种不一致,type="USERPAYMENT_RATE",即【原支付】标价币种和支付币种的汇率
示例值:SETTLEMENT_RATE
汇率值 rate int rate值是兑换比例乘以10的8次方,
如果兑换比例是1,则rate=100000000;
如果兑换比例为6.5,则rate=650000000
示例值:8000000
+ 优惠退款详情 refund_detail object 优惠退款功能信息,详细说明见下文
参数名 变量 类型 必填 描述
券ID promotion_id string(32) 券或者立减优惠id
示例值:109519
优惠范围 scope string(32)

GLOBAL:全场代金券
SINGLE:单品优惠
示例值:SINGLE

优惠类型 type string(32) COUPON:代金券,需要走结算资金的充值型代金券,(境外商户券币种与支付币种一致)
DISCOUNT:优惠券,不走结算资金的免充值型优惠券,(境外商户券币种与标价币种一致
示例值:DISCOUNT
优惠券面额 amount int 用户享受优惠的金额
示例值:5
优惠券退款额 refund_amount int 按比例退款的优惠券金额
示例值:5
货币类型 currency string(16) 符合ISO 4217标准的三位字母代码
示例值:CNY
订单总退款次数 total_num int 订单总退款次数
示例值:0
本次返回退款单数 current_total_num int 本次返回退款单数
示例值: 10

异常返回

参数名 变量 类型 必填 描述
返回状态码 code string(32) 错误码,枚举值见错误码列表
示例值:INVALID_REQUEST
返回信息 message string(256) 返回信息,如非空,为错误原因
示例值:参数格式校验错误
+ 详细的错误描述 detail object 当code为PARAM_ERROR时返回,详细说明见下
参数名 变量 类型 必填 描述
指示错误参数的位置 field string(256) 当错误参数位于请求body的JSON时,填写指向参数的JSON Pointer;
当错误参数位于请求的url或者querystring时,填写参数的变量名
示例值:#/properties/payer
错误参数的值 value string(256) 错误参数的值
示例值:1346177081915535577
具体错误原因 issue string(256) 具体错误原因
示例值:与ALLOF schema不符
错误参数的位置 location string(256) body:错误参数位于请求body的JSON中
url:错误参数位于请求url中
query:错误参数位于请求的querystring中
示例值:body

返回示例:

{
    "id": "1008450740201411110005820873",
    "sp_mchid": "10000100",
    "sub_mchid": "20000100",
    "out_trade_no": "20150806125346",
    "amount" : {
        "total": 528800,
        "currency":"HKD",
        "payer_total": 518799,
        "payer_currency": "HKD",
    }, 
    "total_num": 1,
    "current_total_num": 1,
    "data": [
        {
            "id": "2008450740201411110000174436",
            "out_refund_no": "R20150806125346",
            "channel": "ORIGINAL",
            "amount": {
                "refund": 50,
                "currency": "CNY",
                "payer_refund": 49,
                "payer_currency": "HKD",
                "exchange_rate" : {
                    "type": "SETTLEMENT_RATE",
                    "rate": 8000000
                } 
            },
            "status": "SUCCESS",
            "recv_account": "招商银行信用卡0403",
            "fund_source": "REFUND_SOURCE_REchARGE_FUNDS",
            "success_time": "2018-06-08T10:34:56+08:00",
            "create_time": "2018-06-08T10:34:56+08:00",
            "detail": [
                {
                    "promotion_id":"109519",
                    "scope":"GLOBAL",
                    "type":"COUPON",
                    "amount": 1,
                    "refund_amount": 1,
                    "currency": "HKD"
                }                
            ]
        }
    ]
}

{
"code":"INVALID_REQUEST",
"message":"参数格式校验错误",
"detail":{
    "field":"#/properties/payer",
    "value":"1346177081915535577",
    "issue":"与ALLOF schema不符",
    "location":"body"
   }
}

错误码

错误码 描述 解决方案
SYSTEMERROR 接口返回错误 请尝试再次掉调用API。
REFUNDNOTEXIST 退款订单查询失败 请检查订单号是否有误以及订单状态是否正确,如:未支付、已支付未退款,如果订单下没有退款单,则会返回此错误码,其他信息是不返回的
INVALID_TRANSACTIONID 无效transaction_id 请求参数错误,检查原交易号是否存在或发起支付交易接口返回失败
PARAM_ERROR 参数错误 请求参数错误,请检查参数再调用退款申请
APPID_NOT_EXIST APPID不存在 请检查APPID是否正确
MchID_NOT_EXIST MchID不存在 请检查MchID是否正确
REQUIRE_POST_METHOD 请使用post方法 请检查请求参数是否通过post方法提交
SIGNERROR 签名错误 请检查签名参数和方法是否都符合签名算法要求


版本说明

关闭
V1.1
2020年4月1日
1.退款状态枚举值修改为“REFUNDCLOSE”
V1.0
2020年1月08日
1. 查询所有退款接口上线

About  WeChat  Pay

Powered By Tencent & Tenpay Copyright©

2005-2022 Tenpay All Rights Reserved.

Contact Us
Wechat Pay Global

WeChat Pay Global