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方法调用模式与函数调用模式简例
Sep 20 PHP
解析mysql 表中的碎片产生原因以及清理
Jun 22 PHP
php二维数组排序方法(array_multisort usort)
Dec 25 PHP
PHP之APC缓存详细介绍 apc模块安装
Jan 13 PHP
跟我学Laravel之请求(Request)的生命周期
Oct 15 PHP
PHP的Json中文处理解决方案
Sep 29 PHP
PHP基于反射机制实现插件的可插拔设计详解
Nov 10 PHP
php获取ajax的headers方法与内容实例
Dec 27 PHP
php格式文件打开的四种方法
Feb 24 PHP
PHPUnit测试私有属性和方法功能示例
Jun 12 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
Dec 02 PHP
使用PHP开发留言板功能
Nov 19 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
如何使用PHP往windows中添加用户
2006/12/06 PHP
利用laravel+ajax实现文件上传功能方法示例
2017/08/13 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
2018/08/21 PHP
在网站上应该用的30个jQuery插件整理
2011/11/03 Javascript
javascript 另一种图片滚动切换效果思路
2012/04/20 Javascript
Js+Flash实现访问剪切板操作
2012/11/20 Javascript
使用js的replace()方法查找字符示例代码
2013/10/28 Javascript
AngularJS内置指令
2015/02/04 Javascript
Jquery中巧用Ajax的beforeSend方法
2016/01/20 Javascript
JS集成fckeditor及判断内容是否为空的方法
2016/05/27 Javascript
js中获取jsp表单中radio类型的值简单实例
2016/08/15 Javascript
浅析Javascript ES6新增值比较函数Object.is
2016/08/24 Javascript
原生JS:Date对象全面解析
2016/09/06 Javascript
jQuery实现最简单实用的分秒倒计时
2017/02/05 Javascript
完美解决spring websocket自动断开连接再创建引发的问题
2017/03/02 Javascript
关于js中的鼠标事件总结
2017/07/11 Javascript
Vue-Router模式和钩子的用法
2018/02/28 Javascript
JS 实现分页打印功能
2018/05/16 Javascript
给localStorage设置一个过期时间的方法分享
2018/11/06 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
2018/12/29 Javascript
了解javascript中let和var及const关键字的区别
2019/05/24 Javascript
详解vue+axios给开发环境和生产环境配置不同的接口地址
2019/08/16 Javascript
微信小程序实现锚点功能
2019/11/20 Javascript
js数组相减简单示例【删除a数组所有与b数组相同元素】
2020/03/04 Javascript
JavaScript 声明私有变量的两种方式
2021/02/05 Javascript
python基础教程之对象和类的实际运用
2014/08/29 Python
Python实现更改图片尺寸大小的方法(基于Pillow包)
2016/09/19 Python
python3之微信文章爬虫实例讲解
2017/07/12 Python
Python3实现的简单验证码识别功能示例
2018/05/02 Python
python3发送邮件需要经过代理服务器的示例代码
2019/07/25 Python
python中有关时间日期格式转换问题
2019/12/25 Python
学生党员思想汇报范文
2014/01/09 职场文书
对孩子的寄语
2014/04/09 职场文书
会计岗位工作总结
2015/08/12 职场文书
nginx简单配置多个server的方法
2021/03/31 Servers