1、注册微信小程序开发平台
2、开通付费管理
3、通过uni.login获取当前登录人凭证
uni.login({
success: function(res) {
if (res.code) {
// 发送 res.code 到后台换取 openId, sessionKey, unionId
}
}
})
4、调用后端获取对应的数据
uni.request({
url: '', //请求路径
method: 'post', //请求方法
data: {}, //给后端的参数
success(res) {
console.log(res);
//res这里主要有几个参数后面会调取uni的支付接口需要使用,下面会介绍
})
},
})
5、调用微信支付
uni.requestPayment({
provider: 'wxpay', //支付方式
timeStamp: res.data.data.timeStamp, //时间戳
nonceStr: res.data.data.nonceStr, //随机字符串
package: res.data.data.package, //返回的prepay id
signType: res.data.data.signType, //签名算法,需要与后台下单时一致
paySign: res.data.data.paySign, //签名
success(resd) {
//触发该success时已经是输入密码支付成功后触发,可做一些页面跳转和成功提示
console.log(resd);
},
fail(err) {
//支付失败时出发,比如取消支付、余额不足等
console.log(err);
}
})
6、完整代码
zhifu() {
let this_ = this
uni.login({
success: function(res) {
if (res.code) {
// 发送 res.code 到后台换取 openId, sessionKey, unionId
uni.request({
url: '', //请求路径
method: 'post', //请求方法
data: {}, //给后端的参数
success(res) {
console.log(res);
//res这里主要有几个参数后面会调取uni的支付接口需要使用,下面会介绍每个数据
//这个请求结束后就是前端最重要的步骤了,需要拉起支付密码框来完成支付
uni.requestPayment({
provider: 'wxpay', //支付方式
timeStamp: res.data.data.timeStamp, //时间戳
nonceStr: res.data.data.nonceStr, //随机字符串
package: res.data.data.package, //返回的prepay id
signType: res.data.data.signType, //签名算法,需要与后台下单时一致
paySign: res.data.data.paySign, //签名
success(resd) {
//触发该success时已经是输入密码支付成功后触发,可做一些页面跳转和成功提示
console.log(resd);
},
fail(err) {
//支付失败时出发,比如取消支付、余额不足等
console.log(err);
}
})
},
})
}
}
});
},
本文章仅限自我记录