由于现在公众号需要,增加了一个用户购买成功后推送消息。
代码:
/** * 发送自定义的模板消息 * @param $touser * @param $template_id * @param $url * @param $data * @param string $topcolor * @return bool */ public function template($touser = '', $template_id = '', $url = '', $data = '', $topcolor = '#7B68EE') { $template = array( 'touser' => $open_id,//用户openid 'template_id' => 'AC6gmr61YOpCFVQ27rLsUSGsgnZhBlw3JpxKjQZjsSw',//模板id 'url' => $url,//跳转的链接 'topcolor' => $topcolor,//颜色 'data' => array(//发送的数据 'first' => array('value' => '您好,您购买商品成功了'), 'keyword1' => array('value' => '商品1'), 'keyword2' => array('value' => date('Y年m月d日 H:i', time())), 'keyword3' => array('value' => '10元'), 'keyword4' => array('value' => time()), 'remark' => array('value' => '查看详情'), ) ); $json_template = json_encode($template); if (!isset($_SESSION['wechat_access_token']) || !isset($_SESSION['expires_in']) || $_SESSION['expires_in'] <= time()) { $result = $this->getWechatAccessToken(); $_SESSION['expires_in'] = $result['expires_in'] + time(); $_SESSION['wechat_access_token'] = $result['access_token']; } $url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" . $wechat_access_token; $dataRes = $this->http_request($url, $json_template); $return_array = json_decode($dataRes, TRUE); if ($return_array['errcode'] == 0) { return true; } else { return false; } }
//获取 access_token
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
//curl
function http_request($url, $data = array()) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); // 我们在POST数据哦! curl_setopt($ch, CURLOPT_POST, 1); // 把post的变量加上 curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $output = curl_exec($ch); curl_close($ch); return $output; }