错误反馈:{"errcode":41028,"errmsg":"invalid form id hint: [9Jp2Ca04188641]"}
提交的数据是这样的,可以确定的是
openid正确,是用户在小程序里面对应的
formid是通过统一下单接口获取的prepay_id,并且这个是没有截断的,反复对比了,并且这个订单已经支付成功,我是在支付成功后几分钟内提交的,
所以form_id正确,也没过期
模板ID也对了几遍
下面是提交的数据,找很久实在找不出去来问题了,我想问的是这个是不是prepay_id在获取是要额外增加什么参数吗
补充说明下:其中prepay_id生成的的时候用的交易类型是:JSAPI 不知道是否与这个有关系
{
"touser": "oVLDH5S65S2vv_s-tGIuDmjqRasg",
"formId": "wx081401595012400e9f1142a43781463542",
"template_id": "6OR4PXLJ5WvYM1jB8M5b1kgIXnebGiMVy9CORBy-CS0",
"page": "pages/index/index?u=1",
"emphasis_keyword": "keyword1.DATA",
"data": {
"keyword1": {
"value": "190508140158904455"
},
"keyword2": {
"value": "2019-05-08 14:02:06"
},
"keyword3": {
"value": "A127065.芭芭鸭babaya休闲透气网布运动鞋【仿超纤/灰色】.35"
},
"keyword4": {
"value": "62.00"
},
"keyword5": {
"value": "湖北武汉洪山区关山大道"
},
"keyword6": {
"value": "亲,您的宝贝会尽快发货,请耐心等待哦!"
}
}
}
问题已经解决,是参数名有误,把form_id写成了formid,被错误信息干扰了,一直以为是那个form_id的值得问题
我记得我们开发时:必须是当前小程序的当前用户生成的formid才能用,不能交叉使用,比如A小程序生成formid,发模板消息时的appid是B小程序的,但是formid却是A小程序的,会报错。不知道对你有没有帮助
谢谢你的回复,我这里是用的支付的prepay_id,不是formid,所有就不存在你说的这种情况,我这个是在真机上试的,不知道为什么不行,找很久也没找到原因
经过开发定位,是formId 有问题。请确认支付生成的formid和touser对应的是同一个用户。
这个限制有点奇葩啊,这样的话,我作为用户下单,然后推送给商家就实现不了么,或者有什么解决方案么
如果生成from_id的跟推送的touser不是一个用户,怎么推送消息?