支付功能
前期准备
appid:微信小程序-账号-开发-开发设置
小程序密钥(生成/重置):微信小程序-账号-开发-开发设置
开通支付
微信小程序-功能-微信支付-接入微信支付
企业材料提交-审核
关联商户号
商户号(mch_id):微信支付-帐户中心-个人信息-登录账号()
安装证书:微信支付-帐户中心-api安全-电脑上安装证书,识别不了就重装或者或浏览器
商户号密钥:微信支付-帐户中心-api安全-设置密钥
微信商户平台账号(appid授权)
产品中心-appid授权管理
微信商户平台账号(配置支付接口)
产品中心-开发配置-支付配置:
JSAPI(公众号支付配置)
native(app支付配置)
h5支付(h5支付配置)
小程序支付流程
下单,请求下单支付,传到后端,后端调用登录api登录微信后台,微信后台返回openid
后端生成商户订单,调用支付统一下单,微信后台返回预支付信息(prepay_id)
后台对预支付信息进行再次签名,返回(5个参数和sign)到前端
前端接收参数,调用wx.pay,跳出支付页面
用户确认支付,微信后台自己会处理支付信息,修改订单支付的状态
后台只需等待微信后台支付结果的信息,更新订单状态
代码
login:function(){
wx.login({
success:function(info){
wx.request({
method:'post',
url:'后端请求地址/logon'+info.code,
//后端把code拼接到请求微信后台的链接进行登录,然后获取微信后台返回的openid
success:function(res){
console.log(res)
// 保存微信后台返回的openid
app.globalData.userInfo.openId = res.data.openid
}
})
}
})
}h5支付流程
前端请求下单,后台接受保存订单,后台调用接口下单发给微信支付后台
微信后台返回跳转的mwep_url给后台,后台发给前端,
前端302跳转微信app,他会验证url的prepay_id,
微信里面操作支付,他会通知微信后台,微信后台返回结果给后端
后台写一个接口处理结果,给前端返回结果
代码
xxxsjan Docs