收藏
回答

请教微信小程序支付签名错误的一个问题

微信小程序支付中,后端调用统一下单接口返回prepay_id给小程序端,返回的参数中包含【package=prepay_id=XXX】,这样写之后,在加密后得到的签名不能通过微信网页提供的签名校验工具,将等号去掉改为:package=prepay_idXXX可以通过签名校验,请问是否是本地签名工具的问题,应该如何解决?

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

2 个回答

  • 微信支付技术助手1
    微信支付技术助手1
    2019-10-29

    本地验证签名工具没有问题,签名问题仔细检查签名参数的问题。

    2019-10-29
    赞同
    回复 1
    • Loong_Lv
      Loong_Lv
      2019-10-29
      使用deeplink的方式签名,值中包含"="对签名结果没有影响吗
      2019-10-29
      回复
  • 昊
    2019-10-29

    返回给小程序的不应该是json格式的吗?{"package":"prepay_id=XXX"},没你说的这种问题啊?

    你的签名通不过,仔细检查下参数排序啥

    2019-10-29
    赞同
    回复 1
    • Loong_Lv
      Loong_Lv
      2019-10-29
      我返回给小程序的格式是json的没有问题,我现在的问题签名时package的值有"=",得到的sign就不能通过微信的签名校验的工具,去掉这个"=",得到的sign就能通过签名工具的校验,这个是哪里的问题,和排序什么的也没有关系,参数默认会按字段名的字典顺序排列
      2019-10-29
      回复
登录 后发表内容
问题标签