微信的模板消息需要认证的公众号后台申请

申请通过后就可以用平台定义的消息模板了



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;

}