此步骤就是调用后台接口获取配置,进行注册,同时可调用微信的分享接口进行注册,后续即可发起微信分享功能 。
- Node生成jssdk配置
- 获取全局access_token(非网页token)
- 获取jsapi_ticket
- 生成noncestr(随机数)
- 生成timestamp(时间戳)
- 签名(noncestr+jsapi_ticket+timestamp+url)
生成sdk配置信息流程就是这样,我这儿不再提供所有代码,只贴一下签名代码 。
let params = { noncestr:util.createNonceStr(), jsapi_ticket: data.ticket, timestamp:util.createTimeStamp(), url}let str = util.raw(params);let sign = createHash('sha1').update(str).digest('hex');res.json(util.handleSuc({ appId: config.appId, // 必填,公众号的唯一标识 timestamp: params.timestamp, // 必填,生成签名的时间戳 nonceStr: params.noncestr, // 必填,生成签名的随机串 signature: sign,// 必填,签名 jsApiList: [ 'updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareQZone', 'chooseWXPay' ] // 必填,需要使用的JS接口列表}))到此,第一阶段就结束了,前端已经可以做分享、授权等功能了 。
- 调用支付钱包接口
this.$axios.get(API.payWallet,{ params:{ money } }).then((response)=>{ let result = response.data; if(result && result.code == 0){ // 通过微信的JS-API,拉起微信支付 let res = result.data; wx.chooseWXPay({ timestamp: res.timestamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写 。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符 nonceStr: res.nonceStr, // 支付签名随机串,不长于 32 位 package: res.package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***) signType: res.signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5' paySign: res.paySign, // 支付签名 success: function (res) { // 成功 }, cancel:function(){ // 取消 }, fail:function(res){ // 失败 } }); } }) }调用钱包接口获取支付配置,拉起微信支付即可
- Node后台钱包接口
// 微信支付router.get('/pay/payWallet',function(req,res){ let openId = req.cookies.openId;//用户的openid let appId = config.appId;//应用的ID let attach = "微信支付课程体验";//附加数据 let body = "欢迎学习慕课首门支付专项课程";//支付主体内容 let total_fee = req.query.money;//支付总金额 // 支付成功后,会向此接口推送成功消息通知 let notify_url = "http://m.51purse.com/api/wechat/pay/callback" // 服务器IP let ip = "XX.XX.XX.XX"; // 封装的下单支付接口 wxpay.order(appId, attach, body, openId, total_fee, notify_url, ip).then((result) => { res.json(util.handleSuc(result)); }).catch((result) => { res.json(util.handleFail(result.toString())) });});
推荐阅读
-
宝蓝|“南孚组合”被拆散!宝蓝时隔242天再回赛场,DMO被IG三辅助轮换摇晕
-
5g网络|迪拜富豪初次体验中国5G网络,刚一上手就蒙圈了:这就是所谓的5G?
-
|泰达新援引进又赶了个晚集,凑数式引援难解球队当前困局
-
-
青年|大快人心!活了2年的Steam国产垃圾山寨游戏,终于被G胖ban了!
-
-
孔明说车|博越“嫁接版”皮卡到店!网友:自取其辱,吉利设计师真会偷懒
-
鲁班被称木匠鼻祖,为何《鲁班书》却成禁书?网友:堪称葵花宝典
-
证券时报网|创纪录!174亿“聪明资金”撤离,A股应声调整,行情到哪儿了?
-
-
新冠肺炎疫情|大连:停止餐饮服务经营单位聚集性就餐
-
-
|电影《林海雪原》,百鸡宴成八一厂工作餐,土匪黑话是什么意思
-
-
筑垒地域@负责人首次公开任务细节,火星,中国人来了!模拟测试进展顺利
-
#世上现存最年长熊猫迎38岁生日#世上现存最年长熊猫迎38岁生日 相当于人类110-140岁高龄
-
『』世界上最大的蜥蜴——科莫多巨蜥,体长可达3米(性格凶残)
-
观测|真·大彗星来了!未来一周,有可能用肉眼直接看到它
-
#数学#学生党利器!微软出品的这个小众APP,帮你搞定数学难题!
-
智通财经金泰丰国际控股(08479)一季度净亏损139.8万元,盈转亏