PHP:微信公众号的红包发送功能
include("wxhongbao.class.php");$usrWXOpenId = "123456987654"; //接收红包的用户的微信OpenId,捕获和辨识方法略~$hb = new WXHongBao();$hb->newhb($usrWXOpenId ,1000); //新建一个10元的红包,第二参数单位是 分,注意取值范围 1-200元//以下若干项可选操作,不指定则使用class脚本顶部的预设值 $hb->setNickName("土豪有限公司"); $hb->setSendName("王富贵"); $hb->setWishing("恭喜发财"); $hb->setActName("发钱活动"); $hb->setRemark("有钱!任性!");//发送红包if(!$hb->send()){ //发送错误 echo $hb->err();}else{ echo "红包发送成功";}
private function gen_Sign(){ unset($param); //将所有的变量构造成一个数组先 $param["act_name"]=$this->act_name; ... //过程略 $param["wxappid"]=$this->wxappid; ksort($param); //按照键名排序,sign算法要求 $sign_raw = http_build_query($param); //数组转换串接 $sign_raw .= "&key=".$this->apikey; //黏附最后的api秘钥参数,sign算法要求 $this->sign = strtoupper(md5($sign_raw)); //md5之后转大写,sign算法要求 }
查半天!错误是因为 http_build_query 会对中文进行urlencode,而微信要求的是utf8的原文,难怪md5出来的值不一致!老老实实把数组转换串接的那一行改写,用foreach循环手动串接。就正确了
private function gen_Sign(){ unset($param); //将所有的变量构造成一个数组先 $param["act_name"]=$this->act_name; ... //过程略 $param["wxappid"]=$this->wxappid; ksort($param); //按照键名排序,sign算法要求 //$sign_raw = http_build_query($param); //数组转换串接 $sign_raw = ""; foreach($param as $k => $v){ $sign_raw .= $k."=".$v."&"; } $sign_raw .= "key=".$this->apikey; //黏附最后的api秘钥参数,sign算法要求 $this->sign = strtoupper(md5($sign_raw)); //md5之后转大写,sign算法要求 }
PHP:微信公众号的红包发送功能相关推荐
- 如何设置关注微信公众号送红包功能?
如何设置关注微信公众号送红包功能?,具体解决方案如下: 解决方案: 1,微信服务号可以通过开通微信支付功能(开通条件是认证过的"服务号")进行关注发红包; 2,微信订阅号由于不能开 ...
- 【微信公众号发红包转账】微信公众号上手机网页接收请求,通过公众号给用户发红包 开发流程...
有了微信支付 的开发做铺垫,相关的微信其他业务处理起来逻辑就能清晰很多. 准备好这两个架包 ------------------------------------------------------ ...
- 微信公众号消息模板发送
微信公众号消息模板发送 微信公众号消息模板群发功能 开通申请模板消息功能 获取模板消息发送所需参数 AccessToken pojo类 TemplateData pojo类 WxTagsEntity ...
- python微信公众号翻译功能_自学Python笔记:给微信公众号搭建“成绩查询”功能...
原标题:自学Python笔记:给微信公众号搭建"成绩查询"功能 期末考试 临近年末,全国各地都在上演一场大戏<期末考试>,考完试无论什么样的结果总想尽快看到自己一个学期 ...
- 【安信可A9G专题②】A9G在微信公众号上的定位功能笔记分享;
本系列博客学习由 安信可科技 - 官方博客 技术分享,如有疑问请留言或联系邮箱. 1.A9G环境在windows上搭建并编译,串口打印 Hello GPRS 2.A9G在微信公众号上的定位功能笔记分享 ...
- 微信开发学习总结(三)——开发微信公众号的最基本功能——普通消息的接收和回复
在上篇<微信开发学习总结(二)--微信开发入门>我们介绍了微信公众平台的基本原理,如何接入微信公众号,如何保持access_token的长期有效性以及进行了简单的文本消息测试,本篇再来具体 ...
- 微信公众号实现定时提醒功能
微信公众号实现定时提醒功能 源码地址:https://github.com/selierlin/help_girlfriends help_girlfriends 是一款基于微信公众号和推送通知的应用 ...
- 字节跳动成立抖音集团或在香港上市;微信公众号上线“快捷私信”功能;Facebook开源挑战GPT-3的语言模型|极客头条
「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...
- php创建菜单_php实现微信公众号创建自定义菜单功能的实例代码
目的 创建自定义菜单,实现菜单事件. 首先获取Access_Token 接口: 我用的是测试号,修改APPID和APPSECRET,然后浏览器访问上面这个Url即可生成Access_Token 然后配 ...
最新文章
- 在ASP.NET中使用WINDOWS模式登录SQL数据库
- 支付宝支付 第三集:搭建项目及测试(含代码)
- deepin安装zsh以及简单配置
- [转贴]Silverlight Socket 实现收发信息
- 新手入坑自动驾驶,从 JetBot 机器人小车开始,能学到什么?
- 机器学习- 吴恩达Andrew Ng - week3-3 Multiclass Classification
- eXeScope 注册机制破解
- Vivado2018的使用
- 创建一个 C++ 控制台应用程序项目
- 无法完成操作,因为文件包含病毒或潜在的垃圾软件
- Ink脚本语言学习笔记(三)
- 利用XMLHTTP实现ASP.NET无刷新提交 (老梁)
- oracle逗号隔开行转列_oralce逗号分割变多行-Oracle
- Cannot read property ‘$message‘ of undefined
- HTML页面SVG的使用
- YB时代,数据保护的“难”与“易”
- CondaIOError: Missing write permissions in: C:\ProgramData\Anaconda3
- i5 13400怎么样相当于什么水平级别
- msk 频偏_一种直扩MSK信号的二维联合捕获方法
- 连锁零售系统能解决多门店管理哪些痛点
热门文章
- HttpClient 访问Https报错hostname in certificate didn't match:
- 江苏科技大学计算机科学与工程,江苏科技大学
- LeetCode题解(0594):计算最长和谐子序列(Python)
- 三端气体放电管的原理
- idea点击接口的方法的跳到实现类的快捷键
- web.xml文件是什么?有什么用?--详解
- 美通社发布《2020年亚太地区旅游媒体推介资料包》,揭示疫情下的媒体关注点...
- javaScript进阶webAPI web前端api进阶DOM、BOM学习笔记day01
- AE基础教程(6)——第6章 显示通道,分辨率解析
- Win10-ODI12安装以及本地简单映射测试