收藏
回答

[小程序]怎样使用prepay_id作为form_id发送模板消息?

问题模块
API和组件


文档中说form_id填写prepay_id也可以发送模板消息。

于是我服务器存储了支付过程中的prepay_id,准备在发送订单发货消息的时候用。

但是我服务器用prepay_id作为form_id的时候却遇到了错误"errcode":41028,"errmsg":"invalid form id hint: [uuWyOA0810ge20]"


"form_id": "wx20170304215222954be2703f0862", //这里写成prepay_id=wx20170304215222954be2703f0862一样没用

数据格式不对,还是说支付完了prepay_id就没用了?


问题很久以前就解决了,解决方法:

找到原因了,是将prepay_id存储到数据库时字符长度设置的不对,prepay_id长度大于数据库字段给出的存储长度,被截断了,所以不完整的prepay_id也就无效了

最后一次编辑于  2017-10-17
回答关注问题邀请回答
收藏

9 个回答

  • 晓月
    晓月
    2017-11-02

    我曹,微信开发者工具 v1.01.171019不行,但是用真机就可以。说明微信那边可能会校验prepay_id的来源。各位同仁一定要用真机测。。。

    2017-11-02
    赞同 1
    回复
  • 李玉红
    李玉红
    2017-09-18

    一定要使用真机测试,无论是取form_id还是prepay_id  我尝试过了至少在v1.01.17913的开发者工具版本下即使支付成功了这个prepay_id还是不能用,但是我在手机小程序上支付完马上就收到消息了!

    2017-09-18
    赞同 1
    回复
  • clouddd
    clouddd
    2018-09-02

    真机就可以~~~ 官方文档也不提醒一下。。。。

    2018-09-02
    赞同
    回复
  • StarLight
    StarLight
    2017-10-10

    描述中长度是正常的吗,把问题说清楚啊

    2017-10-10
    赞同
    回复
  • .·王健
    .·王健
    2017-09-30

    坑!模板消息只能发送给发起支付或提交表单的人!!我们现在做订单消息通知,订单都无法通知到商家!

    2017-09-30
    赞同
    回复
  • CC
    CC
    2017-09-19

    还有,我发现向同一个ID发送模板消息太频繁也会导致消息收不到,可能是防止利用模板消息做广告吧

    2017-09-19
    赞同
    回复
  • 这是谁~没有谁
    这是谁~没有谁
    2017-03-31

    求解,我的也是这样,我的prepay_id完整的,但还是一直报invalid form id hint

    2017-03-31
    赞同
    回复
  • CC
    CC
    2017-03-08

    找到原因了,是将prepay_id存储到数据库时字符长度设置的不对,prepay_id长度大于数据库字段给出的存储长度,被截断了,所以不完整的prepay_id也就无效了

    2017-03-08
    赞同
    回复
  • 7七月
    7七月
    2017-03-08

    哎,我也是一样,问了官方也不回答。同样的接口,只是弄了一个表单提交来的formid,其他参数不改,就可以发送模板消息。有时候真的觉得很无奈。文档都看烂了。

    2017-03-08
    赞同
    回复