微信模板消息php
微信的模板消息需要认证的公众号后台申请
申请通过后就可以用平台定义的消息模板了
define('IN_ECS', true);
require(dirname(__FILE__) . '/includes/init.php');
require_once(ROOT_PATH . 'includes/cls_json.php');
include_once(dirname(__FILE__) . '/includes/WinxinSdk.class.php');
header('content-type:text/html;charset=utf-8');
ini_set('date.timezone','Asia/Shanghai');
$wxSdk = new WinxinSdk($appID,$appsecret);
$GLOBALS['token'] = $wxSdk->getToken();//只是用这个类获取了token
GroupErrorNotify();//测试
//团购失败通知
function GroupErrorNotify()
{
$msgTmp = "1byr4wgBGrrc5s2Dp--G0E7w5lfdrI_2Q0X5PQjQSWQ";//消息模板id
/*
{{first.DATA}}
拼团商品:{{keyword1.DATA}}
商品金额:{{keyword2.DATA}}
退款金额:{{keyword3.DATA}}
{{remark.DATA}}
*/
$token = $GLOBALS['token'];//获取token
$url = 'https://api.weixin.qq.com/cgi-bin/message/template/send?access_token='.$token;//设置url
$order_url = "http://www.xxx.com";//订单中心,点击消息跳转的url
$groupGoodsTitle = "XXXtest产品失败通知";
$groupGoodsPrice = "¥10.00";
$groupGoodsRefund = "¥5.00";//退款金额
//设置发送的消息
$message = array(
'touser'=>'发送用户的openid',//一定是openid,unionid不行
'template_id'=>$msgTmp,
'url'=>$order_url,
'data'=>array(
'first'=>array('value'=>'您好,本次团购没成功,期待下次您的参与','color'=>'#173177'),
'keyword1'=>array('value'=>$groupGoodsTitle,'color'=>'#173177'),
'keyword2'=>array('value'=>$groupGoodsPrice,'color'=>'#173177'),
'keyword3'=>array('value'=>$groupGoodsRefund,'color'=>'#173177'),
'remark'=>array('value'=>'3个工作日,我们会将进行退款处理,如有任何疑问请联系客服','color'=>'#173177'),
)
);
$data = json_encode($message);
curlPost($url,$data);
return 0;//这个函数如果不return,消息会发送多次
}
function curlPost($url,$data = null)
{//post请求接口
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if (!empty($data)){
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
微信模板消息php的更多相关文章
- 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送
微信支付之微信模板消息推送 今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...
- C# MVC 微信支付之微信模板消息推送
微信支付之微信模板消息推送 今天我要跟大家分享的是"模板消息"的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信 ...
- 前后端分离djangorestframework—— 接入微信模板消息推送
微信 什么是微信也不多说,跟前面的支付宝一样的 微信支付 微信支付也有个沙箱环境,沙箱环境官方文档 由文档中那句很显眼的话所得,即使是测试环境也需要真实的商户号,所以这个就没法想支付宝那样用沙箱账号来 ...
- java开发微信模板消息推送
发布时间:2018-12-12 技术:springboot+maven 概述 该demo主要涉及微信模板消息推送功能, 详细 代码下载:http://www.demodashi.com/dem ...
- 5分钟连续出现某现象+微信模板消息提醒 PHP
需求场景:用电插座电流连续出现5次电流过高(大于 3A)后停止用电服务,前四次发送电流过高提醒,最后一次发送结束用电服务提醒 思路: Redis key 设为:插座编号+user户编号 value ...
- PHP实现微信模板消息发送给指定用户
使用公众号的模板消息功能,必须是认证过的服务号,需要发送微信号的openid,同一微信号在不同公众号下的openid是不同的,在公众号下是唯一的,获取不到微信号 进入公众平台 功能->模板消息 ...
- PHP微信模板消息发送
<?php class Wxtemplate extends Base { function __construct() { $this->appid = config('WXAPP_AP ...
- 应用jfinal发送微信模板消息的一个bug
严格来讲,这不是一个bug,只是我们应用的方式不对.微信发送模板消息的方法是: HttpUtils.post(sendApiUrl + AccessTokenApi.getAccessTokenStr ...
- ThinkPHP3.2.3发送微信模板消息
一.开通模板消息功能 所有服务号都可以在功能->添加功能插件处看到申请模板消息功能的入口,但只有认证后的服务号才可以申请模板消息的使用权限并获得该权限:需要选择公众账号服务所处的2个行业,每月可 ...
随机推荐
- [转]spring的ParameterMethodNameResolver
例1: ParameterMethodNameResolver,这个可以根据请求的参数来确定一个需要调用的方法.例如,http://www.sf.net/index.view?testParam=te ...
- <摘录>ldconfig和ldd用法
ldconfig和ldd用法 关键字: ldconfig ldd /etc/ld.so.conf LD_LIBRARY_PATH一.ldconfig ldconfig --helpUsage: ldc ...
- 使用Busybox制作CRAMFS文件系统成功
转:http://www.360doc.com/content/11/1013/22/7775902_155877501.shtml 这几天在使用Busybox制作FS2410开发板的CRAMFS文件 ...
- TWinHttp之二
TWinHttp之二 function EncodeParams(strings: TStrings): SockString;var i: Integer; S: string;begin for ...
- 【js UUID】JS生成UUID 使用
* 生成UUID * @returns */ function UUID() { var s = []; var hexDigits = "0123456789abcdef"; f ...
- vue项目构建实战基础知识:SPA理解/RESTful接口介绍/static目录配置/axios封装/打包时map文件去除
一.SPA 不是指水疗.是 single page web application 的缩写.中文翻译为 单页应用程序 或 单页Web应用,更多解释请自行搜索. 所有的前端人员都应该明白我们的页面的 u ...
- ms sql 在任何位置 添加列
摘自: http://bbs.csdn.net/topics/40236129 在任何位置插入列:create proc addcolumn@tablename varchar(30), --表名@ ...
- URLRewrite地址重定向的实现
URLRewrite就是我们通常说的地址重写,用户得到的全部都是经过处理后的URL地址.其优点有: (1)提高安全性,可以有效的避免一些参数名.ID等完全暴露在用户面前,如果用户随便乱输的话,不符合规 ...
- Spark Streaming源码解读之流数据不断接收和全生命周期彻底研究和思考
本节的主要内容: 一.数据接受架构和设计模式 二.接受数据的源码解读 Spark Streaming不断持续的接收数据,具有Receiver的Spark 应用程序的考虑. Receiver和Drive ...
- vi 新建编辑文件时报错 E212 can’t open file for writing
在vi修改防火墙配置时,不能够保存,报E212 can’t open file for writing错误. 网上大概给出了两种答案. 一是权限不够,可以用root权限事实,或者sudo 操作. 二是 ...