商户进件
特约商户进件
基础支付
JSAPI支付
APP支付
H5支付
Native支付
小程序支付
合单支付
付款码支付
经营能力
支付即服务
点金计划
行业方案
平台收付通(商户进件)
平台收付通(普通支付)
平台收付通(合单支付)
平台收付通(分账)
平台收付通(补差)
平台收付通(退款)
平台收付通(余额查询)
平台收付通(商户提现)
平台收付通(注销申请)
平台收付通(注销后提现)
平台收付通(跨境付款)
平台收付通(下载账单)
智慧商圈
微信支付分停车服务
电子发票
营销工具
代金券
商家券
委托营销
支付有礼
小程序发券插件
H5发券
图片上传(营销专用)
现金红包
资金应用
分账
连锁品牌分账
风险合规
商户开户意愿确认
消费者投诉2.0
商户违规通知回调
其他能力
图片上传
视频上传
微信支付平台证书

查询退款API

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

提交退款申请后,通过调用该接口查询退款状态。该查询服务提供两种查询方式(两种查询方式返回结果一致):
      方式1:通过微信支付退款单号查询退款;
      方式2:通过商户退款单号查询退款。

注意:

● 退款有一定延时,用零钱支付的退款20分钟内到账,银行卡支付的退款3个工作日后重新查询退款状态。


1、通过微信支付退款单号查询退款

接口说明

适用对象:电商平台

请求URL:https://api.mch.weixin.qq.com/v3/ecommerce/refunds/id/{refund_id}

请求方式:GET


path指该参数为路径参数

query指该参数需在请求URL传参

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

请求参数

参数名 变量 类型[长度限制] 必填 描述
微信退款单号 refund_id string[1,32] path 退款单的主键,唯一定义此资源的标识。
示例值: 50000000382019052709732678859
二级商户号 sub_mchid string[1,32] query 微信支付分配给二级商户的商户号。
示例值:1900000109

请求示例


https://api.mch.weixin.qq.com/v3/ecommerce/refunds/id/50000000382019052709732678859?sub_mchid=1900000109
    
{
JAVA示例代码
}
    

2、通过商户退款单号查询退款

接口说明

适用对象:电商平台

请求URL:https://api.mch.weixin.qq.com/v3/ecommerce/refunds/out-refund-no/{out_refund_no}

请求方式:GET


path指该参数为路径参数

query指该参数需在请求URL传参

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

请求参数

参数名 变量 类型[长度限制] 必填 描述
商户退款单号 out_refund_no string[1,64] path 商户系统内部的退款单号,商户系统内部唯一,同一退款单号多次请求只退一笔。
示例值: 1217752501201407033233368018
二级商户号 sub_mchid string[1,32] query 微信支付分配给二级商户的商户号。
示例值:1900000109

请求示例


https://api.mch.weixin.qq.com/v3/ecommerce/refunds/out-refund-no/1217752501201407033233368018?sub_mchid=1900000109
    
{
JAVA示例代码
}
    

返回参数

参数名 变量 类型[长度限制] 必填 描述
微信退款单号 refund_id string[1,32] 微信支付退款订单号。
示例值:1217752501201407033233368018
商户退款单号 out_refund_no string[1,64] 商户系统内部的退款单号,商户系统内部唯一,同一退款单号多次请求只退一笔。
示例值:1217752501201407033233368018
微信订单号 transaction_id string[1,32] 微信支付交易订单号。
示例值: 1217752501201407033233368018
商户订单号 out_trade_no string[1,32] 返回的原交易订单号。
示例值: 1217752501201407033233368018
退款渠道 channel string[1,16] ORIGINAL:原路退款
BALANCE:退回到余额
OTHER_BALANCE:原账户异常退到其他余额账户
OTHER_BANKCARD:原银行卡异常退到其他银行卡
示例值: ORIGINAL
退款入账账户 user_received_account string[1,64] 取当前退款单的退款入账方。
退回银行卡:{银行名称}{卡类型}{卡尾号}
退回支付用户零钱:支付用户零钱
退还商户:商户基本账户、商户结算银行账户
退回支付用户零钱通:支付用户零钱通
示例值: 招商银行信用卡0403
退款成功时间 success_time string[1,64] 退款成功时间,退款状态status为SUCCESS(退款成功)时,返回该字段。遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日13点29分35秒。
示例值: 2018-06-08T10:34:56+08:00
退款创建时间 create_time string[1,64] 1、退款受理时间,遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日13点29分35秒。
2、当退款状态为退款成功时返回此字段。
示例值:2018-06-08T10:34:56+08:00
退款状态 status string[1,16] 退款状态,枚举值:
SUCCESS:退款成功
CLOSED:退款关闭
PROCESSING:退款处理中
ABNORMAL:退款异常,退款到银行发现用户的卡作废或者冻结了,导致原路退款银行卡失败,可前往【服务商平台—>交易中心】,手动处理此笔退款
示例值:SUCCESS
+退款金额信息 amount object 订单退款金额信息
参数名 变量 类型[长度限制] 必填 描述
退款金额 refund int 退款金额,币种的最小单位,只能为整数,不能超过原订单支付金额。
示例值:888
用户退款金额 payer_refund int 退款给用户的金额,不包含所有优惠券金额。
示例值:888
优惠退款金额 discount_refund int 优惠券的退款金额,原支付单的优惠按比例退款。
示例值:888
退款币种 currency string[1,18] 符合ISO 4217标准的三位字母代码,目前只支持人民币:CNY 。
示例值: CNY
+营销详情 promotion_detail array 优惠退款信息,discount_refund>0时,返回该字段
参数名 变量 类型[长度限制] 必填 描述
券ID promotion_id string[1,32] 券或者立减优惠id 。
示例值:109519
优惠范围 scope string[1,32] 枚举值:
GLOBAL:全场代金券
SINGLE:单品优惠
示例值:SINGLE
优惠类型 type string[1,32] 枚举值:
COUPON:充值型代金券,商户需要预先充值营销经费
DISCOUNT:免充值型优惠券,商户不需要预先充值营销经费
示例值:DISCOUNT
优惠券面额 amount int 用户享受优惠的金额(优惠券面额=微信出资金额+商家出资金额+其他出资方金额 )。
示例值:5
优惠退款金额 refund_amount int 代金券退款金额<=退款金额,退款金额-代金券或立减优惠退款金额为现金,说明详见《代金券或立减优惠》。
示例值:100
退款出资商户 refund_account string[1, 32] 电商平台垫资退款专用参数。需先确认已开通此功能后,才能使用。若需要开通,请联系微信支付客服。
枚举值:
REFUND_SOURCE_PARTNER_ADVANCE : 电商平台垫付,需要向微信支付申请开通
REFUND_SOURCE_SUB_MERCHANT : 二级商户,默认值
注意:若传入REFUND_SOURCE_PARTNER_ADVANCE,仅代表可以使用垫付退款,实际出款账户需以退款申请受理结果或查单结果为准。
示例值:REFUND_SOURCE_SUB_MERCHANT
资金账户 funds_account string[1, 32] 若订单处于待分账状态,可以传入此参数,指定退款资金来源账户。当该字段不存在时,默认使用订单交易资金所在账户出款,即待分账时使用不可用余额的资金进行退款,已分账或无分账时使用可用余额的资金进行退款。 AVAILABLE:可用余额
示例值:AVAILABLE

返回示例


{
 "refund_id": "1217752501201407033233368018",
 "out_refund_no": "1217752501201407033233368018",
 "transaction_id": "1217752501201407033233368018",
 "out_trade_no": "1217752501201407033233368018",
 "channel": "ORIGINAL",
 "user_received_account": "招商银行信用卡0403",
 "success_time": "2018-06-08T10:34:56+08:00",
 "create_time": "2018-06-08T10:34:56+08:00",
 "status": "SUCCESS",
 "amount": {
   "refund": 888,
   "payer_refund": 888,
   "discount_refund": 888,
   "currency": "CNY"
 },
 "promotion_detail": [
   {
     "promotion_id": "109519",
     "scope": "SINGLE",
     "type": "DISCOUNT",
     "amount": 5,
     "refund_amount": 100
   }
 ],
 "refund_account": "REFUND_SOURCE_SUB_MERCHANT",
 "funds_account": "UNSETTLED"
}
                                

    http://2323weixin.qq.com
                                

错误码公共错误码

状态码 错误码 描述 解决方案
500 SYSTEM_ERROR 接口返回错误 请不要更换商户退款单号,请使用相同参数再次调用API。
404 RESOURCE_NOT_EXISTS 订单不存在 请检查订单号是否正确且是否已支付,未支付的订单不能发起退款
400 PARAM_ERROR 参数错误 请求参数错误,请重新检查再调用退款申请
429 FREQUENCY_LIMITED 频率限制 该笔退款未受理,请降低频率后重试
403 NO_AUTH 没有退款权限 此状态代表退款申请失败,请检查是否有退这笔订单的权限
401 SIGN_ERROR 签名错误 请检查签名参数和方法是否都符合签名算法要求
400 INVALID_REQUEST 请求参数符合参数格式,但不符合业务规则 此状态代表退款申请失败,商户可根据具体的错误提示做相应的处理。
400 MCH_NOT_EXISTS 商户号不存在 请检查商户号是否正确
403 REQUEST_BLOCKED 请求受阻 此状态代表退款申请失败,商户可根据具体的错误提示做相应的处理。


版本说明

关闭
V1.1
2020.10.09
1. 退款状态枚举值修改:退款失败改为“CLOSE”
V1.0
2019.09.18
1. 查询退款接口上线

技术咨询

文档反馈