本人从事互联网项目java开发五年,会java,,python,nodejs,前端,爬虫等技术,对发*项目,营销活动,微信业务(公共号,支付,小程序,第三开放平台)很精通。本人也正在努力去实现一套微信第三开放平台(JWechat),到时会开源出来。
QQ技术交流群:131831533 本文章来源于个人站点:浩瀚飞龙
发送小程序模板消息需要条件:
1)*支付
当用户在小程序内完成过支付行为,可允许开发者向用户在7天内推送有限条数的模板消息(1次支付可下发3条,多次支付下发条数独立,互相不影响)
2)*提交表单
当用户在小程序内发生过提交表单行为且该表单声明为要发模板消息的,开发者需要向用户提供服务时,可允许开发者向用户在7天内推送有限条数的模板消息(1次提交表单可下发1条,多次提交下发条数独立,相互不影响)
你看上面这几点就是微信的克制,支付成功只能发送三次模板消息提醒,如果只是提交表单,则只能发送一次模板消息提醒。
按上面要求,所以有解决办法如下:
第一步:确实自己是否是通过这两种方式去获取formId的
(1)通过页面的 <form/> 组件,属性report-submit为true时,可以声明为需发模板消息,此时点击按钮提交表单可以获取formId,用于发送模板消息。
(2)当用户完成支付行为后,可以获取prepay_id用于发送模板消息。
第二步:上面步骤都没错的话,是不传参写法错误
标准写法:form_id:”wxxxxxxx”
而不是这几种:
(1)form_id:"wxxxxxxx"(2)form_id=”prepay_id:wxxxxxxx”(3) prepay_id:”wxxxxxxx”(4) prepay_id:”prepay_id:wxxxxxxx”
第三步:确定自己不是在开发调试工具的,因为不支持发模板消息
验证如下:
1)表单提交方式formId是拿不到的如图下:
2)支付方式步骤如下:
使用微信支付最终提交模板消息错误会报:errcode=41028, errmsg=invalid form id hint: [xIS1FA0785ge29](null)
综上所述,在开发调试工具上调试微信小程序是没法进行模板消息的。
第四步:通过远程调试进行发送模板消息,验证是全部通过测试
连接远程调试,点击该处:
验证如下:
1)表单提交方式formId可以拿到的,如图
通过调用api发送模板消息,成功消息如下
2)支付方式验证也是可以的。
所以出现错误不可怕,可怕的是没有找对位置。