我使用小程序模版消息的时候, 经常会碰到发送消息返回 41028, form_id无效或过期。
我这边form_id基本上是prepay_id。是支付完,收到回调后马上就发送模版消息。
而且我使用同一个prepay_id ,支付后马上执行是失败的,返回code 为41028。
而在看到失败之后,我再使用相同的参数手动执行一次, 都是ok的。
emmmmmmmm。
然后我来这里搜索了一波, 看到了好几个类似的帖子,但是都是好久以前的了。
比如 https://developers.weixin.qq.com/community/develop/doc/0002e0083389c038ec176350056c00
https://developers.weixin.qq.com/community/develop/doc/00086a807388885aafb8585355b400?highLine=41028
他们说是不能马上使用prepay_id去发模版消息, 需要延迟。
我就想问一下 他们说的这个问题是存在的吗? 到现在9012年还存在吗?
这种比较老的帖子里面提到的东西适不适用当前的版本没法确定, 这个很困扰。。。
有人说一下嘛? 没有的话我晚上回去做个测试再来问一遍。
你好,做下延迟处理应该就可以解决问题啦,可参考: "errcode":41028," 问题救解? 寂 的回答 - 微信开放社区 https://developers.weixin.qq.com/community/develop/doc/000e8471d84580b536c865bee51000?jumpto=comment&commentid=0002ac61d389087935c808e52510
这是当时为了证明我的form_id能用写的一个测试。
发消息的时候, 我会吧传入的参数写日志。
然后不出意外的第一次发送消息失败了(第一次是在支付后微信回调的时候触发的),返回的code 是41028。
然后我就把一模一样的参数拿来再手动执行一次,返回的code 是0 。
真的是刚生成的prepay_id 不能马上被拿来使用吗?