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

应用场景

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

退款方式

  • 全部退款

注意:

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,403评论 25 708
  • 所有的接口支持沙盒环境的测试 1、前言 前面几篇文件详细介绍了 支付宝提现、扫码支付、条码支付、Wap支付、App...
    Javen205阅读 37,118评论 0 27
  • 一杯老茶半砚诗, 几管秃笔欲行迟。 满屋秋光无话语, 任谁不是你跟你。 丁酉七月初一于水牛石 大可化之
    大可化之阅读 220评论 3 3
  • 黑夜中的猫,隐匿着, 眼睛亮起来,暴露了, 那是星么, 不是, 喵 撕裂着,在黑...
    蚂蚁汤圆阅读 390评论 0 0
  • 2017年8月5日,我的大确幸是加入了剽悍内容组。很高兴自己抓住了这次机会,实现了8月2日在小灶群许的第一个愿望。...
    华思语阅读 243评论 31 23