[TOC]

官方文档: https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_2

>注:需要“证书”才能进行订单退款

## (一)【证书路径设置】

设置商户证书路径:

证书路径,注意应该填写绝对路径(仅退款、撤销订单时需要,可登录商户平台下载,API证书下载地址:`https://pay.weixin.qq.com/index.php/account/api_cert`,下载之前需要安装商户操作证书)

下载证书地址,如图:

![mark](http://qiniu.newthink.cc/blog/20170919-232049462.png)

![mark](http://qiniu.newthink.cc/blog/20170919-232419969.png)

我里我们在根目录下新建一个 `cert` 文件夹,把下载的文件放置到该路径下:

![mark](http://qiniu.newthink.cc/blog/20170919-233157934.png)

## (二)配置情况如下

![mark](http://qiniu.newthink.cc/blog/20170919-234042543.png)

## (三)代码使用

```

// 微信支付-退款(报错了,需要证书

public function refund()

{

wxpayRefund('4200000011201709193042132589','2017091910048541',100,10);

}

```

## (四)退款函数

```

/**

* 订单退款

* 需要配置中有

* 微信订单号和商户订单号选少填一个,微信订单号优先

* @param $transaction_id 微信订单号

* @param $out_trade_no 商户订单号

* @param $total_fee 订单总金额(分)

* @param $refund_fee 退款金额(分)

*/

function wxpayRefund($transaction_id,$out_trade_no,$total_fee,$refund_fee)

{

//导入 WxPay.Api.php 类

import('WxpayAPI.lib.WxPay',EXTEND_PATH,'.Api.php');

//导入 WxPay.Data.php 类

import('WxpayAPI.lib.WxPay',EXTEND_PATH,'.Data.php');

$input = new WxPayRefund();

$input->SetTransaction_id($transaction_id);

$input->SetOut_trade_no($out_trade_no);

$input->SetTotal_fee($total_fee);

$input->SetRefund_fee($refund_fee);

$input->SetOut_refund_no(WxPayConfig::MCHID.date("YmdHis"));

$input->SetOp_user_id(WxPayConfig::MCHID);

dump(WxPayApi::refund($input));

}

```

## (五)返回数据

```

array(18) {

["appid"] => string(18) "wx92dedc49b3405e25"

["cash_fee"] => string(3) "100"

["cash_refund_fee"] => string(2) "10"

["coupon_refund_count"] => string(1) "0"

["coupon_refund_fee"] => string(1) "0"

["mch_id"] => string(10) "1404807102"

["nonce_str"] => string(16) "VrsDVJc3l6NRHf5s"

["out_refund_no"] => string(24) "140480710220170919233847"

["out_trade_no"] => string(16) "2017091910048541"

["refund_channel"] => array(0) {

}

["refund_fee"] => string(2) "10"

["refund_id"] => string(29) "50000504262017091901789042036"

["result_code"] => string(7) "SUCCESS"

["return_code"] => string(7) "SUCCESS"

["return_msg"] => string(2) "OK"

["sign"] => string(32) "D185FD4E87F712A34B7B3A6C8754CE38"

["total_fee"] => string(3) "100"

["transaction_id"] => string(28) "4200000011201709193042132589"

}

```

## (六)手机微信退款通知

退款交易通知

![mark](http://qiniu.newthink.cc/blog/20170919-234313931.png =300x500)

退款交易详情

![mark](http://qiniu.newthink.cc/blog/20170919-234321913.png =300x500)

## (七)PC退款通知

退款交易通知

![mark](http://qiniu.newthink.cc/blog/20170919-234609179.png )

退款交易详情

![mark](http://qiniu.newthink.cc/blog/20170919-235456198.png )

## (八)手机微信已退款通知

已退款交易通知

![mark](http://qiniu.newthink.cc/blog/20170920-102919883.png =300x500)

已退款交易详情

![mark](http://qiniu.newthink.cc/blog/20170920-102926097.png =300x500)

## (九)官网参考

![mark](http://qiniu.newthink.cc/blog/20170920-103230981.png)

申请退款微信php,三:申请退款相关推荐

  1. 退款-微信支付宝进行在线退款时,同一笔退款生成两笔退款订单测试

    问题原因: 线上因退款并发问题,微信统一订单出现两笔相同退款单,导致退款两次 jemter测试环境配置 并发线程:500 线程启动时间:0 同时启动:1 执行时间:60s 执行接口:退款接口 执行结果 ...

  2. 浅析微信支付:申请退款、退款回调接口、查询退款

    本文是[浅析微信支付]系列文章的第八篇,主要讲解商户如何处理微信申请退款.退款回调.查询退款接口,其中有一些坑的地方,会着重强调. 浅析微信支付系列已经更新七篇了哟-,没有看过的朋友们可以看一下哦. ...

  3. Java微信APP支付-申请退款

    前面已经讲过微信APP支付的统一下单.支付结果通知的接口开发,现在我们讲述一下申请退款的流程开发. 官方的API地址:https://pay.weixin.qq.com/wiki/doc/api/ap ...

  4. java微信支付v3系列——7.微信支付之申请退款

    目录 java微信支付v3系列--1.微信支付准备工作 java微信支付v3系列--2.微信支付基本配置 java微信支付v3系列--3.订单创建准备操作 java微信支付v3系列--4.创建订单的封 ...

  5. 个人申请支付宝微信支付接口教程(无需营业执照)

    提示:以下教程只适用于自己申请的微信支付,如果您已成功申请微信支付的通过微信认证的服务号,您可以按照以下教程操作,如果您是未认证的服务号,或者还未成功申请微信支付服务号,您只能使用系统代收的方式. 以 ...

  6. 服务端微信小程序支付/退款详解

    一.小程序支付 参考小程序支付开发文档:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_4&index=3 账 ...

  7. 微信小程序支付退款功能

    微信小程序支付退款功能 2022年02月做了一个微信小程序前端+ASP.NET后台的微信退款功能.功能的基本原理是使用JSAPI方式,对接之前的微信支付功能差不多.也是要签名,校验等.只不过它的退款传 ...

  8. PHP微信根据订单号查询支付结果,9. PHP接入微信支付订单、退款订单、转款订单的查询...

    微信并未提供一个统一的查询接口.对应每种查询均需要不同的api.为了便于大家在项目中使用,忽略细节.对以上三种进行了封装.通过工厂的方式降低调用成本. $wxconfig = [ 'app_id' = ...

  9. 微信支付 自动退款 php,银联在线、微信、支付宝自动退款接口文档总结和API地址...

    关于微信和支付宝自动退款接口的接入总结 一:支付宝的自动退款接口接入 支付宝官方api:https://doc.open.alipay.com/doc2/apiDetail.htm?spm=a219a ...

最新文章

  1. Scrapy-xpath用法以及实例
  2. Boost Asio总结(9)数据缓冲区class mutable_buffer和const_buffer
  3. 汇编语言 + Visual Studio 2019——Visual Studio 2019 中汇编语言环境解决方案
  4. 小哼买书JAVA编写,04_小哼买书
  5. (40)FPGA面试技能提升篇(OAM与SDH协议)
  6. .Net时间运算 - DateTime类,TimeSpan类
  7. 再读《Java编程思想 》
  8. 计算机仿真 是核心吗,《计算机仿真》北大核心
  9. paper - A Physics-based Noise Formation Model for Extreme Low-light Raw Denoising
  10. 民营医院网络咨询解答技巧
  11. 工商管理专业的毕业论文怎么选题?
  12. 陶哲轩实分析 附录 A 习题解答
  13. mysql数据长度过长,1406 - Data too long for column ‘express_company‘ at row 1
  14. 为什么这么多人怼我?或许是这个原因
  15. C4D全版本软件安装包(含最新2023)
  16. antd 嵌套表格 没有子项隐藏图标
  17. 在HarmonyOS中实现基于JS卡片的音乐播放器
  18. 罗斯蒙特333D信号转换器
  19. ClickHouse中文官方文档
  20. 有关session生命周期

热门文章

  1. 【写作技巧】毕业论文写作资料--刊物搜索
  2. coco 数据集_Tensorflow对COCO目标检测数据预处理
  3. Python4班平均成绩统计_回首过去,展望未来 | 欢迎大家来到E班第一次主题班会!...
  4. html中异步上传文件实现示例,HTML_html中异步上传文件实现示例,复制代码代码如下: form actio - phpStudy...
  5. php留言板显示不出,php留言板源代码_php留言代码留言后显示乱码
  6. QLabel显示图像
  7. 机器视觉:基于压缩方式的视频采集卡的两大类别
  8. Hadoop3.2.0使用详解
  9. HTML CSS JS 特殊字符(转义)表
  10. 安全成Win10进军企业级市场的最大卖点?