收藏
回答

微信支付图片上传签名验证失败

微信支付证书签名验证是用该签名串"GET\n/v3/certificates\n{}\n{}\n\n".format(timestamp, random_str)进行验证是成功的, 然后再使用微信支付图片上传的签名验证(签名串:
"POST\n/v3/merchant/media/upload\n{}\n{}\n{'filename': 'test.png', 
'sha256': '8a631fba88f9010992c87d8098e12c5d36e9c3722daeaf33fb7dce02a2fbc083'}\n".format(timestamp, random_str))是获取了这个错误信息:
{"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\n1593765607\nDQgFVW2OJPACa4LEHFzIGIgWLSrfGUeo\n\n","url":"/v3/merchant/media/upload"}},
"message":"错误的签名,验签失败"}
图片上传API,请使用meta对应的JSON报文。 这个是什么意思

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

1 个回答

  • 北望沣渭
    北望沣渭
    2020-07-03

    你的示例代码里,签名JSON用了单引号及空格分隔符,那么你在multipart/form-data的meta里,也要用相同的JSON串,猜测服务端会拿这个串再次校验签名值,所以抛异常了

    2020-07-03
    有用 1
    回复 1
    • alchemist
      alchemist
      2020-07-05
      谢谢你, 我发现是我的请求body写的有问题导致的
      2020-07-05
      回复
登录 后发表内容
问题标签