微信支付简单逻辑:
实现微信支付,首先需要熟悉官方文档。
官方文档:https://mp.weixin.qq.com/cgi-bin/loginpage?t=wxm2-login&lang=zh_CN
发起微信支付的函数
wx.requestPayment({ timeStamp: '', nonceStr: '', package: '', signType: 'MD5', paySign: '', success (res) { }, fail (res) { } })
发起网络请求的函数:
wx.request({ url: 'test.php', //仅为示例,并非真实的接口地址 data: { x: '', y: '' },
method:‘POST’, header: { 'content-type': 'application/json' // 默认值 }, success (res) { console.log(res.data) } })
获取用户的oppenID
wx.login({ success (res) { if (res.code) { //发起网络请求 wx.request({ url: 'https://test.com/onLogin', data: { code: res.code } }) } else { console.log('登录失败!' + res.errMsg) } } })
在微信支付中,需要从服务器获取到用户签名和随机字符串,调用wx.login方法可以获取用户登录凭证,通过auth.code2Session在服务器端获取用户的openID。然后申请微信支付的功能,获取商户id,秘钥,证书等,通过发送订单信息的网络请求获取prepare_id。返回给前台完成订单。
在微信中获取微信支付能力,就必须有微信服务号进行企业或者组织的认证,新申请微信支付商户号或绑定一个已有的微信支付商户,根据你的业务需求和具体情况选择。