收藏
回答

springboot 接入微信支付sdk0.0.3,前端第二次调用之后支付验证签名失败


第一张图:微信统一下单参数,这个是前端调用下单接口时传过来的一些值跟appid等参数,一起拼接准备调用微信支付sdk发起下单的数据,截下来,调用之后收到微信的回调;

看log打印的微信统一下单返回值,看样子是下单成功的;

截下来看最后那条log,wxUnifiedMap,这个是返回给前端的一个Map<String,String> ,前端收到后的结果就是第二张图片那样子了;

求大神!!!!!!!!!

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

3 个回答

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

    1、使用签名检查工具(https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1)校验签名算法是否有误

    2、确认秘钥是否有误(服务商模式使用服务商商户号秘钥,秘钥是在商户平台配置,如果同一商户号调用其它接口成功可排除是秘钥问题)

    3、确认接口实际的请求参数与生成签名原串的参数一致,不能增加或缺少参数(可通过打印签名原串进行排查)

    4、确认参数的大小写,参数名与接口文档一致

    5、签名原串的参数值使用原始值,不需要encode

    6、接口需要使用UTF-8编码

    2020-05-06
    有用
    回复
  • Javen
    Javen
    2020-05-01

    可能的原因:app 签名错误(注意包名与应用签名必须与注册时保持一致)、唤起支付时参数签名错误、项目设置appId 不正确、注册的 appId 与设置的不匹配

    2020-05-01
    有用
    回复 1
    • Jay
      Jay
      2020-05-01
      Android和ios都是一样,应该不是app的问题,总不能两端都犯这个错误,而且是无论Android还是ios,只要支付了一次,之后哪个端都不行了
      2020-05-01
      回复
  • Jay
    Jay
    2020-05-01

    截下来,打错了,是接下来

    2020-05-01
    有用
    回复
登录 后发表内容
问题标签