小程序模板消息错误41028最近在写小程序支付回调的时候,想触发小程序模板消息,但是过程并不顺利。如果所有参数都正确,会返回错误4102841028错误解释官方:form_id不正确,或者过期form_id是wxml文件中的form表单提交后生成的ID,我这里使用的是支付回调,所以这个解释比较时代需要。如果在支付环境,将form_id替换成你的prepay_id当然,如果你已经做过微信支付,那你应该知道这个东西模板消息模板消息数据组装官方文档:https://developers.weixin.qq....$data=['touser'=>"$input[openid]",//自己的openid,也就是触发者的openid,也就是谁出钱的openid。'template_id'=>"VXmrDVo3wM5vD9FdiI9wBty8dBW3X5Id-GrlaS48FDg",//模板id'form_id'=>"xxxxx",//这里我填prepay_id'data'=>array('keyword1'=>array('value'=>''),'keyword2'=>array('value'=>''),'keyword3'=>array('value'=>date('Y/m/dH:i',time())),'keyword4'=>array('value'=>'')),'emphasis_keyword'=>'keyword2.DATA'];$data=json_encode($data,JSON_UNESCAPED_UNICODE);//这里的数据即使封装了也可以直接贴出来当然,代码其次,很简单,基本没什么问题。特别注意的是,如果是支付回调,form_id必须是prepay_id,格式基本就是wx090917302323478124d14b090925007374,不需要像支付中那样加上prepay_id=XXXXXX。但是遇到了错误41028的问题,拖了我一天。那么如何解决问题解决问题的必要要素是确认当前小程序已经发布,而不是在开发版中制作模板消息。prepay_id肯定只是一串字符,不是prepay_id=xxxxxx的格式。openid必须是triggerer的openid,不能说随便发给谁。这不像是微信模板消息的预测试。请尽量使用关键字保持手写,避免程序错误和数据调用错误。最终的选择。如果以上还不行,直接去小程序社区,把你的form_id和openid扔了。相信我,解决起来需要半天时间。
