php版微信公众号接口实现发红包的方法


Posted in PHP onOctober 14, 2016

本文实例讲述了php版微信公众号接口实现发红包的方法。分享给大家供大家参考,具体如下:

最近接到一个任务,需要用微信来给用户自动发红包。要完成这个任务需要这么已经一些物料

微信商户号,已申请微信支付

微信商户号主体下面的微信公众号

先看一下效果图

php版微信公众号接口实现发红包的方法

php版微信公众号接口实现发红包的方法

php版微信公众号接口实现发红包的方法

只需要完成后面几步就可以了。

在微信公众号服务器上面调用红包代码

/*
**微信红包功能
*/
public function sendredpack(){
 $re_openid = $this->_pg('re_openid');
  $inputObj = new sendredpack_pub();
if(!$re_openid){
  return "微信红包功能,收红包用户不能为空";
}
  $inputObj->setParameter('re_openid',$re_openid); //收红包的用户的openid
  $inputObj->setParameter('send_name',"汽配一号铺"); //红包发送者名称
  $inputObj->setParameter('total_amount',"100"); //收红包的用户的金额,精确到分
  $inputObj->setParameter('total_num',"1"); //收红包的个数
  $inputObj->setParameter('wishing',"恭喜发财,谢谢支持,小小心意"); //收红包的用户的openid
  $inputObj->setParameter('client_ip',"121.40.157.243"); //调用接口的IP
  $inputObj->setParameter('act_name',"小邓感恩红包"); //红包主题
  $inputObj->setParameter('remark',"谢谢大家一路一来的支持"); //备注
  $response = $inputObj->getResult();
  return $response;
}

在微信支付辅助工具层加一个类,来完成红包功能

/**
* 微信发红包接口
**/
class sendredpack_pub extends Wxpay_client_pub
{
   function __construct() {
  //设置接口链接
   $this->url = "https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack";
  //设置curl超时时间
  $this->curl_timeout = WxPayConf_pub::CURL_TIMEOUT;
}
/**
* 生成接口参数xml
*/
function createXml()
{
  try
 {
  $this->parameters["mch_billno"] = WxPayConf_pub::MCHID.createUnique();//商户订单号
  $this->parameters["wxappid"] = WxPayConf_pub::APPID;//公众账号ID
  $this->parameters["mch_id"] = WxPayConf_pub::MCHID;//商户号
  $this->parameters["nonce_str"] = $this->createNoncestr();//随机字符串
  $this->parameters["sign"] = $this->getSign($this->parameters);//签名
  return $this->arrayToXml($this->parameters);
 }catch (SDKRuntimeException $e) {
   die($e->errorMessage());
 }
}
/**
* 作用:获取结果,使用证书通信
*/
function getResult()
{
  $this->postXmlSSL();
  $this->result = $this->xmlToArray($this->response);
  return $this->result;
}
}

然后部署返微信支付的服务上面,就可以了!!然后在做微信公众号(这个公众号)的服务上面加入“红包”。就能达到上面的效果了

根据文档进行开发

请您仔细阅读接口文档,参照文档进行开发,请注意,为了保证商户资金安全,接口强校验商户号与appid之间的绑定关系,以及appid与openid之间的对应关系(如果商户号与appid之间没有绑定关系,即appid没有申请微信支付或者申请微信支付商户号不匹配,或者openid归属appid错误,接口会返回报错)。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php Xdebug的安装与使用详解
Jun 20 PHP
利用PHP实现短域名互转
Jul 05 PHP
php配合jquery实现增删操作具体实例
Dec 12 PHP
重新认识php array_merge函数
Aug 31 PHP
php中文验证码实现方法
Jun 18 PHP
php链表用法实例分析
Jul 09 PHP
PHP 7.0.2 正式版发布
Jan 08 PHP
详解PHP实现异步调用的4种方法
Mar 14 PHP
Composer设置忽略版本匹配的方法
Apr 27 PHP
php 实现一个字符串加密解密的函数实例代码
Nov 01 PHP
浅谈PHPANALYSIS提取关键字
Mar 08 PHP
Laravel 5.5 异常处理 & 错误日志的解决
Oct 17 PHP
PHP版微信第三方实现一键登录及获取用户信息的方法
Oct 14 #PHP
php版银联支付接口开发简明教程
Oct 14 #PHP
PHP二进制与字符串之间的相互转换教程
Oct 14 #PHP
php基于curl主动推送最新内容给百度收录的方法
Oct 14 #PHP
thinkphp分页实现效果
Oct 13 #PHP
php实现图片以base64显示的方法
Oct 13 #PHP
php实现将base64格式图片保存在指定目录的方法
Oct 13 #PHP
You might like
Apache连接PHP后无法启动问题解决思路
2015/06/18 PHP
PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
2015/12/24 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
2020/06/05 PHP
让getElementsByName适应IE和firefox的方法
2007/09/24 Javascript
ASP Json Parser修正版
2009/12/06 Javascript
基于jQuery的message插件实现右下角弹出消息框
2011/01/11 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
2013/01/24 Javascript
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
JS+CSS实现弹出全屏灰黑色透明遮罩效果的方法
2014/12/20 Javascript
学习JavaScript编程语言的8张思维导图分享
2015/03/27 Javascript
pace.js页面加载进度条插件
2015/09/29 Javascript
javascript中return,return true,return false三者的用法及区别
2015/11/17 Javascript
深入浅析Bootstrap列表组组件
2016/05/03 Javascript
jquery组件WebUploader文件上传用法详解
2020/10/23 Javascript
JS中传递参数的几种不同方法比较
2017/01/20 Javascript
vue中实现methods一个方法调用另外一个方法
2018/02/08 Javascript
vue二级路由设置方法
2018/02/09 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
Python判断值是否在list或set中的性能对比分析
2016/04/16 Python
解决Python中字符串和数字拼接报错的方法
2016/10/23 Python
Python爬虫实现爬取百度百科词条功能实例
2019/04/05 Python
解决pyqt5中QToolButton无法使用的问题
2019/06/21 Python
postman模拟访问具有Session的post请求方法
2019/07/15 Python
python 抓包保存为pcap文件并解析的实例
2019/07/23 Python
使用Python脚本zabbix自定义key监控oracle连接状态
2019/08/28 Python
python数据分析:关键字提取方式
2020/02/24 Python
python 批量下载bilibili视频的gui程序
2020/11/20 Python
Raffaello Network西班牙:意大利拉斐尔时尚购物网
2019/03/12 全球购物
司机的工作范围及职责
2013/11/13 职场文书
社区工作者思想汇报
2014/01/13 职场文书
同学聚会通知书
2015/04/20 职场文书
运动会开幕式新闻稿
2015/07/17 职场文书
Oracle更换为MySQL遇到的问题及解决
2021/05/21 Oracle
python实现简单聊天功能
2021/07/07 Python
关于ObjectUtils.isEmpty() 和 null 的区别
2022/02/28 Java/Android
十大最强格斗系宝可梦,超梦X仅排第十,第二最重格斗礼仪
2022/03/18 日漫