后台统一下单成功,返回参数,根据接口文档,得到以下字符串生成二次签名
“appid=wx2f665fbc11834187&noncestr=ZyU3rg0Xp8t2xpYO&package=Sign=WXPay&partnerid=1496271932&prepayid=wx24142848016265ce48d95c216185951300×tamp=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组件的问题???
尼玛竟然是真的。腾讯的码农这是要干啥?
解决了吗 也在用uni-app。老是提示支付签名验证失败
泪目,截取后成功了,前端uni-app,后端java
没看到这篇文章前一直在折腾, 提示签名错误, 截取后竟然真的拉起了支付....
这不科学呀...
sign只截取前30位字符串,具体就能成功支付了,这啥情况。折腾死我了
解决了么?后人也遇到了