微信支付:模板消息实现过程备忘

1,首先,先说说用途吧,公司最近要求开发一个功能,就是给不同类型的用户发送告警信息,例如余额不足的给他发余额不足的信息之类的,所以,就用到了模板信息这个功能,下面是实现方法,我写的语言是C#.

2,先申请模板消息:

3,然后到模板库添加模板信息:

4,下面拿这个做例子,发送告警模板信息:

5,代码方面,你新建一个页面,我的基础是以官方的Demo拓展的,首先,进入首页的时候,获取Openid和token,要注意,如果token已失效,记得刷新,这里也贴上token刷新的代码:

然后是获取OppenID的,用Session存储起来用:

6,接下来就是提交Json了,至于Json的组合格式,这个应该不用多说,如果不懂,这个多百度一下就好,为了照顾新入行的,我也贴上来吧,

protected void Button1_Click(object sender, EventArgs e)

{

JavaScriptSerializer js = new JavaScriptSerializer();

ModelForAlarmNotice aNotice = GetData();

ModelFor_DATA a_DATA = new ModelFor_DATA()

{

content = new ModelForDATA()

{

value = "[XXX],您的电费余额已不多,为了不影响正常使用,请尽快充值,谢谢.",

color = "#589E63",

},

first = new ModelForDATA()

{

value = "尊敬的[XXX]用户,您的余额不足.",

color = "#589E63",

},

occurtime = new ModelForDATA()

{

value = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),

color = "#589E63",

},

remark = new ModelForDATA()

{

value = "备注[系统测试]",

color = "#589E63",

},

};

aNotice.data = a_DATA;

string strUrl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + GetAccess_token().access_token;

strJsonData = js.Serialize(aNotice);

FileLog.WriteLog("body:" + strJsonData);

FileLog.WriteLog("Url:" + strUrl);

string strMsg = HttpPost(strUrl, strJsonData);

Response.Write(strMsg);

Response.End();

}

/// <summary>

/// 构造数据

/// </summary>

private ModelForAlarmNotice GetData()

{

ModelForAlarmNotice aNewModel = new ModelForAlarmNotice()

{

template_id = "wIiP6gVtLCvSxxxxxxxxxxxxXKUNDTh4",

topcolor = "#FF0000",

touser = Session["openid"].ToString(),

url = "http://wx.zxdzcs.com/example/Detials.aspx"

};

return aNewModel;

}

类如下:

public class ModelForAlarmNotice

{

public string touser { get; set; }

public string template_id { get; set; }

public string url { get; set; }

public string topcolor { get; set; }

public object data { get; set; }

}

public class ModelFor_DATA

{

public object first { get; set; }

public object content { get; set; }

public object occurtime { get; set; }

public object remark { get; set; }

}

public class ModelForDATA

{

public string value { get; set; }

public string color { get; set; }

}

public class ModelForAccess_token

{

public string access_token { get; set; }

public int? expires_in { get; set; }

}

我这次的Json格式如下:

{"touser":"oZk_xsvzIqH2Xz_RPycJEYuTHARc","template_id":"wIiP6gVtLCvS7bcGSxpxTnFuGIeYBFHd1tgXKUNDTh4","url":"http://wx.zxdzcs.com/example/Detials.aspx","topcolor":"#FF0000","data":{"first":{"value":"尊敬的[XXX]用户,您的余额不足.","color":"#589E63"},"content":{"value":"[XXX],您的电费余额已不多,为了不影响正常使用,请尽快充值,谢谢.","color":"#589E63"},"occurtime":{"value":"2015-07-16 19:47:49","color":"#589E63"},"remark":{"value":"备注[系统测试]","color":"#589E63"}}}

7,接下来就是数据提交了,POST,如下:

/// <summary>

/// WebPost

/// </summary>

/// <param name="Url"></param>

/// <param name="postDataStr"></param>

/// <returns></returns>

private string HttpPost(string Url, string postDataStr)

{

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);

request.Method = "POST";

request.ContentType = "application/json";

byte[] data = System.Text.Encoding.GetEncoding("UTF-8").GetBytes(strJsonData);

//request.ContentLength = Encoding.UTF8.GetByteCount(postDataStr);

Stream myRequestStream = request.GetRequestStream();

//StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("gb2312"));

myRequestStream.Write(data, 0, data.Length);

myRequestStream.Close();

HttpWebResponse response = (HttpWebResponse)request.GetResponse();

Stream myResponseStream = response.GetResponseStream();

StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("gb2312"));

string retString = myStreamReader.ReadToEnd();

myStreamReader.Close();

myResponseStream.Close();

return retString;

}

OK,到此大功告成,下面是截图:

其他的模板信息大同小异,自己测试就好,谢谢各位.

如果需要转载,请注明原地址,在此也谢谢一路互相帮助过我的朋友们,谢谢.

来自为知笔记(Wiz)

时间: 2024-07-30 10:15:58

微信支付:模板消息实现过程备忘的相关文章

微信发送模板消息代码示例

最近一个微信的项目里需要发送微信模板消息给卖家或者供应商等,微信开发其实也就按照微信的官方接口要求组装起来即可,下面简单介绍一下我的微信模板发送代码. 1.获取access token,至于access token是什么,大家可以自行微信接口文档看一下,这边不多说 获取access token我这边主要是用定时器没大概2分钟获取一次,每天获取的次数是100000次,用法如下: 1 #region 2 3 using System; 4 using System.Timers; 5 6 #endr

微信发送模板消息

模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等.不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息. 关于使用规则,请注意:1.所有服务号都可以在功能->添加功能插件处看到申请模板消息功能的入口,但只有认证后的服务号才可以申请模板消息的使用权限并获得该权限:2.需要选择公众账号服务所处的2个行业,每月可更改1次所选行业:3.在所选择行业的模板库中选用已有的模板进行调用:4.每个账号可以同时使用25个模板.5.当前每个账号

C#开发微信门户及应用(27)-公众号模板消息管理

通过模板消息接口,公众号能向关注其账号的用户发送预设模板的消息.模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等.不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息.本文主要介绍基于C#开发实现公众号模板消息的管理功能. “模板消息功能的推出,将极大地增强服务号的服务通知能力”,在一些一直期待微信模板消息功能开放的公众号运营者看来,微信一对一沟通的社交属性,让信息推送的触达率更加精准,这也让企业在成本.服务效率.性能上有了

微信推送模板消息的PHP代码整理

最近做过一个需要推送消息的系统,就研究了一下微信的模板消息的推送.由于认证过的微信号,就用测试号做的,但是过程基本一致. 本文基于微信平台的官方文档写成,http://mp.weixin.qq.com/debug/cgi-bin/readtmpl?t=tmplmsg/faq_tmpl 首先,得在微信的后台管理中设置一下,模板消息的格式,获取到一个模板消息的id {{first.DATA}} 被撕的人:{{name.DATA}} 被撕人的组别:{{zu.DATA}} 被撕时间:{{time.DAT

java 微信公众服务平台 下发 模板消息

(一).部分截图 (二).部分代码 (一).部分截图: (二).部分代码: //此处 给用户微信发消息... Map<String,String> paraMap = new HashMap<String,String>(); String pk_paydata = (String)curDataMap.get("pk_paydata"); String personname = (String)curDataMap.get("personname&q

微信模板消息发送

整个开发流程,我在"简书" 上看到了一个完整的开发流程. https://www.jianshu.com/p/eb0e9c4dcdfe 微信官方接口为: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1433751277 自己开发中总结了一下,如下,方便后续备查: ①微信的模板消息,其实是微信公众号上推送给用户的一条消息记录. 在开发的时候,需要获取到用户的openId(用户关注公众号就会产生一个唯一的openId

C#开发微信门户及应用(32)--微信支付接入和API封装使用

在微信的应用上,微信支付是一个比较有用的部分,但也是比较复杂的技术要点,在微商大行其道的年代,自己的商店没有增加微信支付好像也说不过去,微信支付旨在为广大微信用户及商户提供更优质的支付服务,微信的支付和安全系统由腾讯财付通提供支持.本文主要介绍如何在微信公众号上实现微信支付的接入.微信支付API的封装,以及API的调用,实现我们一些常见的业务调用. 1.开通微信支付并配置 微信支付是需要微信公众号的认证基础,也就是只对认证的公众号开放,微信认证需要签署相关的资料,并且进行对账认证,一般会有电话联

C#开发微信支付之企业向用户付款

1.企业付款的介绍 所谓企业付款指的是,在功能开放后诸如保险行业的客户理赔.退保.商品退款.发放征集活动奖金.抽奖互动等操作都可以通过企业付款完成.而此前,微信支付只能提供客户向企业单向付款. 商户如果需要给用户付款,可以直接将钱打入用户的"微信零钱"中,微信支付将做零钱入账消息通知,零钱收支明细会展示相应记录.针对无零钱账户的历史客户端版本,资金将进入用户的红包账户,微信支付无消息通知用户,企业可选择自行触达用户. 通过认证的企业号可以开通微信支付功能.通过认证的企业号可以管理平台的

微信支付(转载二)

微信支付现在主要集成在:1.移动应用开发  2.网站应用开发  3.公众账号开发 本篇主要针对移动应用App集成微信支付,实际项目坑点分享! 一.既予之.与共之:平台资源 1.微信开放平台:https://open.weixin.qq.com/ 2.微信公众平台:https://mp.weixin.qq.com/ 3.微信支付指引和资源中心:微信支付接入指南和资源下载中心<强力推荐阅读> https://open.weixin.qq.com/cgi-bin/frame?t=resource/r