微信公众号内退款功能的实现
2016-03-18 本文已影响7742人
RenBob
应用场景
当交易生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,微信支付将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上。
退款方式
- 全部退款
注意:
- 交易时间超过1年的订单无法提交退款;
- 一笔退款失败后的重新提交, 需采用原来的退款单号.
- 部分退款
注意:
- 交易时间超过1年的订单无法提交退款;
- 微信支付退款支持多次退款, 多次退款需要提交原支付订单的商户订单号和设置 [不同的] 退款单号;
- 一笔退款失败后的重新提交, 需采用原来的退款单号.
接口相关
接口地址
https://api.mch.weixin.qq.com/secapi/pay/refund
是否需要证书(文档)
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_3
请求参数
字段名 | 变量名 | 必填 | 类型 |
---|---|---|---|
公众账号ID | appid | 是 | String(32) |
商户号 | mch_id | 是 | String(32) |
设备号 | device_info | 否 | String(32) |
随机字符串 | nonce_str | 是 | String(32) |
签名 | sign | 是 | String(32) |
商户订单号 | out_refund_no | 是 | String(32) |
商户退款单号 | out_refund_no | 是 | String(32) |
总金额 | total_fee | 是 | Int |
退款金额 | refund_fee | 是 | Int |
货币种类 | refund_fee_type | 否 | String(8) |
操作员 | op_user_id | 是 | String(32) |
返回结果
| 字段名 | 变量名 | 必填 | 类型 |示例值| 描述 |
| ------------- |:------------- :|:------:|:----------:|:------:|:-------:|
|返回状态码 | return_code|是 |String(16)|SUCCESS|SUCCESS/FAIL|
|返回信息|return_msg|否| String(128)|签名失败| 返回信息为空, 则为错误原因|