微信小程序支付的模板消息

 

相同、添加模板

登录https://mp.weixin.qq.com得到模板,如果没有适合的模版,可以报名添加新模板,审核通过后可使用,详见模板审核说明

页面的 <form/> 组件,属性report-submittrue常常,可以声明也需发模板消息,此时点击按钮提交表单可以得到formId,用于发送模板消息。或者当用户就支付行为,可以获取prepay_id用来发送模板消息。

表单

<form bindsubmit="formSubmit" report-submit='true' >
  ...
  <view class="btn-area">
    <button formType="submit">Submit</button> 
  </view>
</form>

脚本

Page({
  formSubmit: function(e) {
    console.log('form发生了submit事件,formId为:', e.detail.value)
  } 
})

report-submit 是否回 formId 用于发送模板消息

 

其次、发送模板消息

接口地址:(ACCESS_TOKEN 需换成上文获取到的 access_token)

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

HTTP请求方式:

POST

POST参数说明:

参数 必填 说明
touser 接收者(用户)的 openid
template_id 所需下发的模板消息的id
page 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。
form_id 表单提交场景下,为 submit 事件带上的 formId;支付场景下,为本次支付的 prepay_id
data 模板内容,不填则下发空模板
color 模板内容字体的颜色,不填默认黑色
emphasis_keyword 模板需要放大的关键词,不填则默认无放大
示例:
{
  "touser": "OPENID",  
  "template_id": "TEMPLATE_ID", 
  "page": "index",          
  "form_id": "FORMID",         
  "data": {
      "keyword1": {
          "value": "339208499", 
          "color": "#173177"
      }, 
      "keyword2": {
          "value": "2015年01月05日 12:30", 
          "color": "#173177"
      }, 
      "keyword3": {
          "value": "粤海喜来登酒店", 
          "color": "#173177"
      } , 
      "keyword4": {
          "value": "广州市天河区天河路208号", 
          "color": "#173177"
      } 
  },
  "emphasis_keyword": "keyword1.DATA" 
}

专程说明:touser的OpenId
只能为当下用户之OpenId ,即 模板消息只能发给当前付表单的用户

回到回码说明:

当调用模板消息接口后,会回JSON数据包。

健康时的返JSON数据包示例ACCESS:

{
  "errcode": 0,
  "errmsg": "ok",
}

荒谬时会见回去错误码信息,说明如下:

返回码 说明
40037 template_id不正确
41028 form_id不正确,或者过期
41029 form_id已被使用
41030 page不正确
45009 接口调用超过限额(目前默认每个帐号日调用限额为100万)

 

 

 

 

官网地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/notice.html

 

迎接阅读本系列文章:微信小程序开发教程目录

 

相关文章