收藏
回答

APP支付,二次签名唤起支付失败问题

后台统一下单成功,返回参数,根据接口文档,得到以下字符串生成二次签名


appid=wx2f665fbc11834187&noncestr=ZyU3rg0Xp8t2xpYO&package=Sign=WXPay&partnerid=1496271932&prepayid=wx24142848016265ce48d95c216185951300&timestamp=1558679328&key=tIX****53CrkXS7ZPbT5aS****XsqQ


参数小写,进行MD5加密,之后全部转大写,得到32位字符串,传给前端



前端环境是uni打包app,通过uni组件唤起app的支付,但是报错:"errMsg":"requestPayment:fail:[payment微信:-1]General errors"


~~~~~~

但是,问题来了!!!!


后端的二次签名,只截取前30位字符串,sign传给前端发起支付,却能成功调起支付,这是为什么?????

无论是MD5还是 256的加密方式,只要截取前30位字符串都能唤起,而根据官方文档,md5加密得到的32位字符串,一直报上面的错误


请问是加密方式问题还是uni组件的问题???




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

6 个回答

  • 无所谓了嘛
    无所谓了嘛
    2020-07-26

    尼玛竟然是真的。腾讯的码农这是要干啥?

    2020-07-26
    有用 1
    回复 1
  • Renext
    Renext
    2019-07-25

    解决了吗 也在用uni-app。老是提示支付签名验证失败

    2019-07-25
    有用 1
    回复
  • AAA
    AAA
    2021-03-02

    泪目,截取后成功了,前端uni-app,后端java

    2021-03-02
    有用
    回复
  • 郑岩 ¹⁸⁸³⁸⁴¹⁴⁷⁷⁷
    郑岩 ¹⁸⁸³⁸⁴¹⁴⁷⁷⁷
    2021-01-19

    没看到这篇文章前一直在折腾, 提示签名错误, 截取后竟然真的拉起了支付....

    这不科学呀...

    2021-01-19
    有用
    回复
  • zero.wang
    zero.wang
    2020-08-30

    sign只截取前30位字符串,具体就能成功支付了,这啥情况。折腾死我了

    2020-08-30
    有用
    回复 1
  • vlily
    vlily
    2020-03-19

    解决了么?后人也遇到了

    2020-03-19
    有用
    回复
登录 后发表内容