微信公众号内退款功能的实现

应用场景

当交易生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,微信支付将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上。

退款方式

  • 全部退款

注意:

  1. 交易时间超过1年的订单无法提交退款;
  2. 一笔退款失败后的重新提交, 需采用原来的退款单号.
  • 部分退款

注意:

  1. 交易时间超过1年的订单无法提交退款;
  2. 微信支付退款支持多次退款, 多次退款需要提交原支付订单的商户订单号和设置 [不同的] 退款单号;
  3. 一笔退款失败后的重新提交, 需采用原来的退款单号.

接口相关

接口地址

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)|签名失败| 返回信息为空, 则为错误原因|

你可能感兴趣的:(微信公众号内退款功能的实现)