接口链接:https://api.mch.weixin.qq.com/pay/refundquery
提交退款申请后,通过调用该接口查询退款状态。退款有一定延时,用零钱支付的退款20 分钟内到账,银行卡支付的退款3个工作日后重新查询退款状态。
请求参数:
字段名 | 变量名 | 必填 | 类型 | 说明 |
---|---|---|---|---|
公众账号 | ID appid | 是 | String(32) | 微信分配的公众账号 ID |
商户号 | mch_id | 是 | String(32) | 微信支付分配的商户号 |
设备号 | device_info | 否 | String(32) | 微信支付分配的终端设备号 |
随机字符串 | nonce_str | 是 | String(32) | 随机字符串,不长于 32 位 |
签名 | sign | 是 | String(32) | 签名,详细签名方法见 3.2 节 |
微信订单号 | transaction_id | 否 | String(28) | 微信订单号 |
商户订单号 | out_trade_no | 否 | String(32) | 商户系统内部的订单号 |
商户退款单号 | out_refund_no | 否 | String(32) | 商户退款单号 |
微信退款单号 | refund_id | 否 | String(28) | 微信退款单号refund_id、out_refund_no、out_trade_no、transaction_id 四个参数必填一个,如果同事存在优先级为:refund_id>out_refund_no>transaction_id>out_trade_no |
返回状态码 | return_code | 是 | String(16) | SUCCESS/FAIL |
返回信息 | return_msg | 否 | String(128) | 返回信息,如非空,为错误原因签名失败参数格式校验错误 |
以下字段在 return_code 为 SUCCESS 的时候有返回
字段名 | 变量名 | 必填 | 类型 | 说明 |
---|---|---|---|---|
业务结果 | result_code | 是 | String(16) | SUCCESS/FAIL SUCCESS 退款申请接收成功,结果通过退款查询接口查询 FAIL |
错误代码 | err_code | 否 | String(32) | 错误码详见第 6 节 |
错误代码描述 | err_code_des | 否 | String(128) | 结果信息描述 |
公众账号 ID | appid | 是 | String(32) | 微信分配的公众账号 ID |
商户号 | mch_id | 是 | String(32) | 微信支付分配的商户号 |
设备号 | device_info | 否 | String(32) | 微信支付分配的终端设备号,与下单一致 |
随机字符串 | nonce_str | 是 | String(32) | 随机字符串,不长于 32 位 |
签名 | sign | 是 | String(32) | 签名 |
微信订单号 | transaction_id | 是 | String(28) | 微信订单号 |
商户订单号 | out_trade_no | 是 | String(32) | 商户系统内部的订单号 |
退款笔数 | refund_count | 是 | Int | 退款记录数 |
商户退款单号 | outrefund_no$n | 是 | String(32) | 商户退款单号 |
微信退款单号 | refundid$n | 是 | String(28) | 微信退款单号 |
退款渠道 | refundchannel$n | 否 | String(16) | ORIGINAL—原路退款BALANCE—退回到余额 |
退款金额 | refundfee$n | 是 | Int | 退款总金额,单位为分,可以做部分退款 |
现金券退款金额 | couponrefund_fee$n | 否 | Int | 现金券退款金额<=退款金额,退款金额-现金券退款金额为现金 |
退款状态 | refundstatus$n | 是 | String(16) | 退款状态:SUCCES—退款成功 FAIL—退款失败 PROCESSING—退款处理中 NOTSURE—未确定,需要商户原退款单号重新发起 CHANGE—转入代发,退款到银行发现用户的卡作废或者冻结了,导致原路退款银行卡失败,资金回流到商户的现金帐号,需要商户人工干预,通过线下或者财付通转账的方式进行退款。 |
$n 表示记录的序号,取值为 0~($ refund_count -1),例如 refund_count 指示返回的退款记 录有 2 条。第一条序号为“0”,第二条序号为“1”。