微信的退款操作,通过封装与前面支付宝退款除了配置文件,基本一样。

退款代码如下:

use Payment\RefundContext;

use Payment\Common\PayException;

use Payment\Config;

// 生成退款单号 便于测试

function createPayid()

{

return date('Ymdhis', time()).substr(floor(microtime()*1000),0,1).rand(0,9);

}

$config = [

'app_id' => 'wxa244db59a34996fc', // 公众账号ID

'mch_id' => '1331302101',// 商户id

'md5_key' => 'adslkfjiKQJLAIQLJ393201482333333',// md5 秘钥

'notify_url' => 'http://test.helei.com/pay-notify.html',

'time_expire' => '14',

// 涉及资金流动时 退款 转款,需要提供该文件

'cert_path' => dirname(__FILE__) . DIRECTORY_SEPARATOR . 'wx' . DIRECTORY_SEPARATOR . 'apiclient_cert.pem',

'key_path' => dirname(__FILE__) . DIRECTORY_SEPARATOR . 'wx' . DIRECTORY_SEPARATOR . 'apiclient_key.pem',

];

// 退款数据

$reundData = [

'refund_no' => createPayid(),

'refund_data' => [

['transaction_id' => '4007572001201607098672633287', 'amount' => '5', 'refund_fee' => '5', 'reason' => '微信测试金额退款'],

],

];

$refund = new RefundContext();

try {

// 微信退款

$type = Config::WEIXIN;

$refund->initRefund(Config::WEIXIN, $wxconfig);

$ret = $refund->refund($reundData);

} catch (PayException $e) {

echo $e->errorMessage();exit;

}

var_dump($ret);

当前sdk支付宝可一次退款多笔数据。微信仅能每次退款1笔(如果想要实现一次退订多笔订单,可在客户端通过循环来处理。)

接下来解释下相关的配置信息

请求参数

参数

参数名

参数说明

是否必须

transaction_id

微信交易号

微信系统中的交易流水号,可用于查询订单状态

amount

总金额

微信交易对应的交易总金额

refund_fee

退款金额

本次申请的退款金额,退款金额不能大于总金额

reason

退款理由

退款的理由,可在用户端查看到

响应数据

参数

参数名

参数说明

是否必须

is_success

成功标识

请求是否成功,T:成功,F:失败

error

错误提示

只有is_success=F时才返回

response

响应数据

查询成功后返回的数据,一个数组,is_success=T时返回

response 数据描述

参数

参数名

参数说明

是否必须

transaction_id

微信订单号

微信订单号,下单成功后,微信返回

order_no

商户订单号

商户系统内部的订单号

refund_no

商户退款单号

商户退款单号

refund_id

微信退款单号

微信退款单号

refund_fee

申请退款金额

退款总金额,单位为元(已被我处理),可以做部分退款

amount

订单金额

订单总金额,单位为元,最多两位小数

PHP微信app接口退款,PHP接入微信退款接口相关推荐

  1. Java微信公众平台开发(一)--接入微信公众平台

    转载自崔用志博客:http://www.cuiyongzhi.com/ 前面几篇文章一直都在说微信公众平台的开发准备工作,那么从这篇开始我们就将正式的进入JAVA微信公众平台开发的整个流程,那么这篇我 ...

  2. Java微信公众平台开发(一)——接入微信公众平台

    前面几篇文章一直都在说微信公众平台的开发准备工作,那么从这篇开始我们就将正式的进入JAVA微信公众平台开发的整个流程,那么这篇我们开始聊聊如何将我们的服务端和微信公众平台对接! (一)接入流程解析 在 ...

  3. 微信APP支付(基于Java实现微信APP支付)

    步骤: 导入maven依赖 <!--微信支付--><dependency><groupId>com.github.wxpay</groupId>< ...

  4. php微信jsapi支付小结,ThinkPHP接入微信支付 - JSAPI支付

    一.支付准备 二.获取用户openid 首先,到微信公众平台后台 - 设置 - 网页授权域名(别忘了添加开发者) // 在头部引入WechatPubService.php文件,见附录一 use app ...

  5. java实现仿微信app聊天功能_Android仿微信语音聊天功能

    本文实例讲述了Android仿微信语音聊天功能代码.分享给大家供大家参考.具体如下: 项目效果如下: 具体代码如下: AudioManager.java package com.xuliugen.we ...

  6. 微信公众号一、接入微信并实现机器人自动回复功能

    一.说明 微信公众平台 https://mp.weixin.qq.com/cgi-bin/loginpage?t=wxm2-login&lang=zh_CN 测试平台 https://mp.w ...

  7. Android微信App 分享功能调整,Android 微信SDK分享功能(1)

    转于:http://blog.csdn.net/freesonhp/article/details/10296141 ----------------------------------------- ...

  8. 微信公众号 - H5 网页接入微信支付(JSAPI)

    前言 假设您已经申请成为微信商户(认证)且各项配置弄好了,并且开通 JSAPI 支付等,只差代码(前端)编写. 如果你之前不了解,强烈建议 先看一遍如下标注的文档: [官方文档]网页客户端(H5),需 ...

  9. php微信app支付2次签名,微信APP支付,第二次生成签名问题

    官方文档有下面这句话 文档地址 步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP.参与签名的字段名为appId,partnerId,prepayId,n ...

  10. Taro-RN使用 react-native-wechat-lib 集成微信支付-IOS(从微信注册应用到应用接入微信支付)全*

    组件库版本 "@tarojs/taro": "3.3.9", "@tarojs/taro-rn": "^3.3.9", ...

最新文章

  1. 数据库 sqlite top写法
  2. ESP8266常用脚本命令之一
  3. openresty开发系列35--openresty执行流程之5内容content阶段
  4. 设计模式-由浅到深的单例模式
  5. java读取文件内容,文件头有\ufeff
  6. 鼠标控制视角wasd移动_绝地求生:为什么控制方向键是WASD?网友:就不能是其他键位吗?...
  7. 生成注释_java基础- Java编程规范与注释
  8. 马斯克自曝曾寻求苹果600亿美元收购特斯拉 但库克拒绝会面
  9. LeetCode 147. Insertion Sort List
  10. PS 前端技能一 白色背景图片变为透明的图片
  11. 最新EXCEL使用技巧大全
  12. Bootstrap导航栏示例
  13. 干净简便的HTML5文档查看器——GroupDocs.Viewer
  14. WordCounter.icu - 一个简单的在线实时字数统计工具
  15. 中国各地商人性格大曝光
  16. 我只是穴居人-克拉克/惠勒定律的汉塞尔曼推论
  17. DOM基础笔记——DOMTokenList
  18. 众利币开发与模式设计
  19. iOS监控-野指针定位
  20. ddt数据的处理——@data(),@unpack

热门文章

  1. 凌恩客户文献|《ISME》解析土壤侵蚀对微生物群落结构以及网络功能复杂性影响
  2. drop python_用Python做自己的AirDrop 1 - 环境搭建
  3. application octet stream java_java – JSP下载 – application / octet-stream
  4. python自动化plc_PYTHON – 让“Monty 语言”进入自动化行业:第 4 部分
  5. swiper的基本使用
  6. caj转word是怎么进行转换的
  7. html5弹幕制作(探索ing)
  8. 关于程序员的那些段子,你能看懂几个?
  9. 2. 查询表product——统计所有库存商品的总价值
  10. word文档css格式化,CSS的Word中的列表详解