1. 写在前面
喜闻乐见的微信支付接口系列出第二部啦,大家是否还记得第一部,不记得的可以点击这里:2019-11-7发送的文章。和统一下单接口一样,退款接口同样很重要,毕竟谁也不敢保证卖出去货没有被退款的一天,所以下面我们来学习一下退款接口的使用。
2. 介绍
当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,微信支付将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上。
3. 注意事项
1、交易时间超过一年的订单无法提交退款
2、微信支付退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。申请退款总金额不能超过订单金额。
3、请求频率限制:150qps,即每秒钟正常的申请退款请求次数不超过150次
4、每个支付订单的部分退款次数不能超过50次
5、请求需要双向证书
4. 接口地址
5. 请求参数
6. 返回值
表格附录:
参数名 | 实际意义 | 是否必填 | 备注 |
appid | 公众号id | 必填 | |
mch_id | 商户号 | 必填 | |
nonce_str | 随机字符串 | 必填 | |
body | 商品描述 | 必填 | |
out_trade_no | 商户订单号 | 必填 | 或者填写微信自动生成的订单号也可以,二选一 |
total_fee | 订单金额 | 必填 | 单位分 |
refund_fee | 退款金额 | 必填 | 单位分,可做部分退款 |
notify_url | 退款通知 | 否 | 退款成功之后微信服务器向该地址推送xml包 |
trade_type | 交易类型 | 必填 | JSAPI/NATIVE/APP 可选 |
sign | 签名 | 必填 | 根据以上数值使用签名算法得出 |
参数名 | 实际意义 | 备注 |
return_code | 状态码 | success/fail,成功或者失败 |
return_msg | 返回信息 | 成功值为ok,失败值为错误信息 |
appid | 公众号id | |
mch_id | 商户号 | |
nonce_str | 随机字符串 | |
sign | 签名 | 微信返回的签名值 |
transaction_id | 微信订单号 | |
out_trade_no | 商户订单号 | |
out_refund_no | 商户退款单号 | |
refund_id | 微信退款单号 | |
refund_fee | 退款金额 | 单位分,可做部分退款 |