正确的算法应该是: m = 1000,n = 0.006; a = (m + m * n) * n; while (true){ b = (m + a)*n; if (a == b) { break; } if (b > a) { a = b; } } return b;
用户承担手续费,支付金额如何计算用户承担0.6%的手续费的话,应该怎么计算,商户提现结算的时候才是实际金额呢? 比如1000元,用户承担手续费,需支付 1006;但最终提现的时候 微信又按1006的 0.6% 收取了手续费即6.036 元,那实际最终到账999.96,少了0.04。 那到底应该怎么计算才能让商户最终提现到账 1000 呢?
07-22wx.login({ success (res) { if (res.code) { wx.request({ // 1、服务器api调用 微信 auth.code2Session 获取openid、session_key等信息、缓存在redis中,以备后用 // 2、服务端根据获取的 openid、判断用户是否存在数据库中等计算 url: 'api/onLogin', data: { code: res.code }, success: function (res) { // 1、服务端返回 登录信息,如果信息不完善则会调用 wx.getUserInfo 获取用户信息,否则直接返回 登录后的token // 2、这个地方出错的关键: 通过微信获取到用户信息以后,从redis 取得之前的openid、session_key等信息, // 加上用户信息 进行 signature = sha1( rawData + session_key ) 校验,这个地方有时候会出现校验失败的情况 console.log(res.data) } }) } else { console.log('登录失败!' + res.errMsg) } } })
微信登录signature校验失败- 当前 Bug 的表现(可附上截图) [图片] 授权登录获取用户信息返回的signature,有延迟,导致sha1校验的时候失败,后续请求的时候才会成功。 左边的2个红框是微信返回的。右边是我程序按照sha1算法计算出来。 请立即解决下~!
2019-09-24