收藏
回答

v3上传图片 提示验签失败 truncated_sign_message里没有post的meta内容

开发语言:golang

环境:已经验证过下载证书的接口,签名的部分是没有问题的

验签失败返回信息:

{"code":"SIGN_ERROR","detail":{"detail":{"issue":"sign not match"},"field":"signature","location":"authorization","sign_information":{"method":"POST","sign_message_length":76,"truncated_sign_message":"POST\n/v3/merchant/media/upload\n1583330550\nFBBD6P84OE7UT4QRTTEBIWAR77S63DON\n\n","url":"/v3/merchant/media/upload"}},"message":"错误的签名,验签失败"}

签名字符串:

请求头信息:

header: map[
  Accept:[application/json] 
  Authorization:[WECHATPAY2-SHA256-RSA2048 mchid="1551027311",nonce_str="FBBD6P84OE7UT4QRTTEBIWAR77S63DON",signature="TShejIcGe92nrXCx1Z9MQRNaipCbY2EvSJX5aB5lMOk+k+ForhpNuQqXC7zAg0AtCHHardwB3LEHDwmASFtsVMkX2j9BYS2dyBFFsKV3Ijr4cjdYyXVVNW0WcigbQmL+l/vENRecAjaR9roCOgdlSbgH0UVZ3b0GvPHxM332Hf3xo2j6bam/WScWnFlq17EugHPk5Tt9VY174KkZa4DmQNkwR1DK2z/OQ8rVnTqFdwJ7p1poRDBIXRZ0mU7eVRwmc8sZqW82l/TPiDdAN7EkAdsvjPAMHlrmOa5c1VgUBmKtZmKudYBpK9mXdUypWFDrDgoOmIzbw6R95p2edcDeXQ==",timestamp="1583330077",serial_no="1FBF8E58E92E1BC0D35B2687B6B61C262196EDCD"] 
  Content-Type:[multipart/form-data;boundary="boundary"] 
  User-Agent:[Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1]
 ]


请求body前半部分:

请求body后半部分:

回答关注问题邀请回答
收藏

2 个回答

  • 微信支付技术助手8
    微信支付技术助手8
    2020-03-05

    参照这个写就行了。

    2020-03-05
    有用
    回复 5
    • 袁海粟
      袁海粟
      2020-03-05
      我是照着官方的文档写的,和你提供的代码生成的内容应该是没有区别的,看结果返回推断是微信从post过去的body中没有拿到meta内容,可能是由于body内容格式不对引起的,但是无法对格式问题进行定位,已经排查验证很多次了,请问有测试接口么?或者可以帮我查看下日志么?
      2020-03-05
      回复
    • 袁海粟
      袁海粟
      2020-03-05
      解决了,分享一下修复后的代码
      其中io.Copy传入文件内容


      可以的话,接口多添加一下golang的案例吧,给兄弟们留点头发!!!
      2020-03-05
      1
      回复
    • 张峰
      张峰
      2020-06-04回复袁海粟
      感谢
      2020-06-04
      回复
    • song
      song
      2020-08-22回复张峰
      解决了吗
      2020-08-22
      回复
    • 大有
      大有
      2020-10-04
      感谢!
      2020-10-04
      回复
  • peng
    peng
    2020-03-04
    看下签名串有木有包含meta,回答如果可以帮到你麻烦点个赞
    2020-03-04
    有用
    回复 4
    • 袁海粟
      袁海粟
      2020-03-05
      是有的,上面附上了签名串的截图
      2020-03-05
      回复
    • peng
      peng
      2020-03-05回复袁海粟
      在于meta值没有正确传过去,提示中显示\n\n  而非\n{filename:...\n
      2020-03-05
      回复
    • peng
      peng
      2020-03-05
      检查下post请求,我这边上传正常。
      2020-03-05
      回复
    • 袁海粟
      袁海粟
      2020-03-05
      签名的字符串验证过,是肯定没有问题的,应该是传过去的body格式有问题,导致微信取不到里面的meta,不过没有办法定位
      2020-03-05
      回复
登录 后发表内容
问题标签