capfer
capfer
  • 发布:2024-05-29 13:59
  • 更新:2024-05-29 14:19
  • 阅读:155

微信支付报错:issue:"sign not match"

分类:uniCloud

本地调试微信JSAPI支付,JSAPI支付下单,一切正常,拿到了微信相应的prepay_id。
但是把调试代码发布后,却总是报issue:"sign not match"的错误。为了仔细研究到底差异在哪里,我特地调整了返回参数,将传递给微信的参数以及签名要求的body分别打印了出来,没有发现有什么不同。请各位踩坑人帮忙看看问题在哪。


这是线上通过vConsole打印的返回异常数据


这是线上通过vConsole打印的传递给微信的参数


这是本地调试的正常返回数据。展开部分就是传递给微信的参数

2024-05-29 13:59 负责人:无 分享
已邀请:
Diligent_UI

Diligent_UI - 【插件开发】【专治疑难杂症】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=193663(微信搜索飘逸科技UI小程序直接体验)】【骗子请绕道】问题咨询请加QQ群:120594820,代表作灵感实用工具小程序

我看到错误信息里面都有message,拿着那个错误去百度试试

  • capfer (作者)

    微信给的错误只是这一行:“message:"签名错误,请检查后再试"”,或者你是指“code: "SIGN_ERROR"”?这两行想必都不是什么有意义的错误语句。我觉得详情里面的“issue: "sign not match"”这才是关键,但是都找不到有效的信息。

    2024-05-30 06:41

  • capfer (作者)

    我把线上参与签名的原始参数打印出来,放到本地请求。查看微信需要的请求头Authorization以及里面的signature,两者一模一样,但是本地的微信就能返回成功,线上的一如既往是失败。

    2024-05-30 06:44

要回复问题请先登录注册