博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信小程序开发模板消息的时候 出现 errcode: 41028, errmsg: "invalid form id hint:
阅读量:6619 次
发布时间:2019-06-25

本文共 1262 字,大约阅读时间需要 4 分钟。

小程序开发模板消息的时候  出现 errcode: 41028, errmsg: "invalid form id hint:

我是使用的微信支付发送模板消息,提示的formid无效的

大家知道获取到的prepay id 还非常的诡异  他不是直接一个参数 而是还带了字符串 比如 prepay_id=wx2017xx 这样格式的

那传递到微信模板消息这里的formid上要怎么传值呢?   

最后检验是需要去除掉prepay id 这个字符串的  然后传递过去就可以了

然后,还会有提示无效的,就是没有支付成功

这就是微信最克制的一点,必需支付成功了,才能给这个用户推送消息,而且还只能推送三次。超过三次就推送不了。

所以如果你确定你的prepayid 没有获取错误,还是提示form id无效,那就是你没支付,你可以支付一分钱,然后在支付成功后再发起模板消息推送,就没问题了。

 

步骤二:页面的 <form/> 组件,属性report-submit为true时,可以声明为需发模板消息,此时点击按钮提交表单可以获取formId,用于发送模板消息。或者当用户完成支付行为,可以获取prepay_id用于发送模板消息。

下发条件说明

*支付
当用户在小程序内完成过支付行为,可允许开发者向用户在7天内推送有限条数的模板消息(1次支付可下发3条,多次支付下发条数独立,互相不影响)

*提交表单
当用户在小程序内发生过提交表单行为且该表单声明为要发模板消息的,开发者需要向用户提供服务时,可允许开发者向用户在7天内推送有限条数的模板消息(1次提交表单可下发1条,多次提交下发条数独立,相互不影响)

你看上面这几点就是微信的克制,支付成功只能发送三次模板消息提醒,如果只是提交表单,则只能发送一次模板消息提醒。

 

后来在网上搜了下 发现其他同学也遇到类似这样的问题:

在开发小程序支付成功后,
发送模板消息过程中,
提交好多次数据,
微信都提示 form id invalid,
说我们的 form id 无效
于是不停的更换 form_id 的填写方式,
包括下面的都使用过,
form_id=”wx2017xxxxxx”
form_id=”prepay_id=wx2017xxxxxx”
prepay_id=”wx2017xxxxxx”
prepay_id=”prepay_id=wx2017xxxxxx”
最后还是发现使用
form_id=”wx2017xxxxxx”
模板消息能发送成功。

 

以上就是我在开发的时候遇到的一些坑

 

其他如果还有不明白的地方   可以加我微信 qiufeng2999 

我们自己目前主要在开发小程序这块,以后技术上遇到问题,大家相互指教。

 

 

后续补充的: 有网友遇到的问题,也是提示无效的,让我在这里补充下的

嗯 也就是在调试里  生成的二维码 支付 是不行的                

必需是真实环境  在小程序里 发起支付     然后发送消息才行 

转载于:https://www.cnblogs.com/xinweiyun/p/7614200.html

你可能感兴趣的文章
EBS销售订单挑库发放处理程序
查看>>
动态大小的图片上的超链接
查看>>
总结一下常用的排序,冒泡排序,选择排序,快速排序
查看>>
Sql Server系列:系统函数
查看>>
php5.5 yum源
查看>>
samsungGalaxyS4USB驱动
查看>>
SDN第三次作业
查看>>
java第二次实验作业
查看>>
PHP数据集构建JSON及新数组
查看>>
写一本书和找一本书
查看>>
hdu1010 Tempter of the Bone(DFS+剪枝)
查看>>
js这些代码你都不会,你还有什么好说的!!!
查看>>
Socket 通信原理(Android客户端和服务器以TCP&&UDP方式互通)
查看>>
Nexus设备升级5.0方法
查看>>
洛谷P1311 选择客栈
查看>>
Oracle参数设置之set与reset的实际案例
查看>>
Python 字典 copy()方法
查看>>
判断是否是爬虫在访问网站
查看>>
java程序员必须要学会的linux命令总结
查看>>
Java代码规范和质量检查插件-Checkstyle(官方资源)
查看>>