微信模板消息之订单支付成功通知(第1篇)

2017年08月27日 11:11 | 9494次浏览 作者原创 版权保护

摘要:微信公众号回复给用户的消息不仅包含图文消息,文本消息,图片消息,地理位置消息,音频消息等,由于公众号针对的是企业用户,所以企业有大量需求需要一个美观的消息模板回复给用户,例如支付成功通知消息,购买成功通知消息,支付失败通知消息,会员消费通知消息等,微信不负所托,给微信公众号开发者提供了一套自定义的模本消息类型。本章介绍如何调用模板消息接口对用户支付成功后进行通知。

模板消息调用时主要需要模板ID和模板中各参数的赋值内容。请注意:

1.模板中参数内容必须以".DATA"结尾,否则视为保留字;

2.模板保留符号"{{ }}"

流程,调用模板消息方法流程如下

第一步:获取模板ID

通过在模板消息功能的模板库中使用需要的模板,可以获得模板ID。

微信公众号管理平台->首页左上角模板消息(如果没有点击插件添加)->从模板库中添加

添加后我们在我的模板列表中可以看到添加的模板和模板id号

第二步:请求接口

请注意,URL置空,则在发送后,点击模板消息会进入一个空白页面(ios),或无法点击(android)。

POST请求https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN

第三步:编写代码

在我的模板列表中,点击支付成功通知模板详情链接,查看详情。红色圈的部分即为接口参数json格式

java代码案例:

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
/****
 * V型知识库
 * www.vxzsk.com
 * 
 */
public class Test7 {
	 public static String sendPost2(String requrl,String param){
		 URL url;
		  String sTotalString="";  
		try {
			url = new URL(requrl);
			 URLConnection connection = url.openConnection(); 
			 
			 connection.setRequestProperty("accept", "*/*");
			 connection.setRequestProperty("connection", "Keep-Alive");
			 connection.setRequestProperty("Content-Type", "text/xml");
			// connection.setRequestProperty("Content-Length", body.getBytes().length+"");
			 connection.setRequestProperty("User-Agent",
                     "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)");
			 
			 
		        connection.setDoOutput(true);  
		        OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream(), "utf-8");  
		        out.write(param); // 向页面传递数据。post的关键所在!  
		        out.flush();  
		        out.close();  
		        // 一旦发送成功,用以下方法就可以得到服务器的回应:  
		        String sCurrentLine;  
		      
		        sCurrentLine = "";  
		        sTotalString = "";  
		        InputStream l_urlStream;  
		        l_urlStream = connection.getInputStream();  
		        // 传说中的三层包装阿!  
		        BufferedReader l_reader = new BufferedReader(new InputStreamReader(  
		                l_urlStream));  
		        while ((sCurrentLine = l_reader.readLine()) != null) {  
		            sTotalString += sCurrentLine + "\r\n";  
		  
		        }  
		        
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}  
	       
	        System.out.println(sTotalString);  
	        return sTotalString;
	 }

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String access_token="";//有效access_token
		String openid = "";//用户的openid
		String template_id="";//模板id
		String url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+access_token;
		//支付成功通知
				String params=  "{"
				           +"\"touser\":\""+openid+"\""+","
				           +"\"template_id\":\""+template_id+"\""+","
				           +"\"url\":\"http://www.xxx.com/xxx/weixin/xy.do?params=oAwbZjqse0NB7l5QrO8MGD5WhSVo\""+","
				           +"\"topcolor\":\"#7B68EE\""+","
				           +"\"data\":{"
				                   +"\"first\":{"
				                       +"\"value\":\"恭喜你支付成功!\""+","
				                       +"\"color\":\"#fff000\""+","
				                       +"\"font-size\":\"32px\""
				                   +"},"
				                  + "\"orderMoneySum\":{"
				                       +"\"value\":\"69.00元\""+","
				                       +"\"color\":\"#173177\""
				                   +"},"
				                   +"\"orderProductName\": {"
				                       +"\"value\":\"订单号:233333333\""+","
				                       +"\"color\":\"#173177\""
				                   +"},"
				                   
				                  
				                   +"\"remark\":{"
				                       +"\"value\":\"欢迎再次来V型知识库支付!\""+","
				                       +"\"color\":\"#173177\"}}}";
				
				String data = Test7.sendPost2(url, params);
				System.out.println("发送模板消息返回:"+data);
		}
}

1),main方法中,参数access_token的获取请参考获取access_token 。在这里不在累述

2),用户openid即为我们经常用到的微信返回给公众号的用户唯一标识(相当于用户的微信号)。

3),参数template_id即为模板的id号,我们在微信公众管理平台添加模板的时候获得。

4),模板消息支持部分html标签代码,例如我们案例中的字体颜色,字体大小等都可设置

运行main方法,会返回{"errcode":0,"errmsg":"ok","msgid":xxx},代表着已发送成功通知消息给用户。如下图收到的订单支付成功通知消息


小说《我是全球混乱的源头》
此文章本站原创,地址 https://www.vxzsk.com/149.html   转载请注明出处!谢谢!

感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程