在微信小程序中使用微信支付功能

时间:2024-03-21 15:25:39
const that = this; // 调用uniapp API uni.getProvider 获取服务供应商 uni.getProvider({ /* 获取服务类型,可选值如下: * @param share: 分享 * @param oauth: 授权登录 * @param push: 推送 * @param payment: 支付类型 */ service: 'payment', success: (res) => { /* * @ res.service 获取服务供应商 ==> 'payment' * @ res.provider 这里选择的是支付类型,所以包含["alipay","wxpay"] * ‘alipay’: 表示支付宝 * ‘wxpay’: 表示微信 */ // 检查res.provider中是否有 wxpay if (res.provider.indexOf('wxpay') != -1) { // 后台支付接口需要的一些参数 let data = { id: that.id, pay_type: that.pay_type, }; //发起后台支付接口请求 that.$api.payMonry(data).then(res => { // console.log('微信订单数据', res.data.pay_result) //调用uniapp API uni.requestPayment 支付接口 let { pay_result } = res.data; uni.requestPayment({ provider: 'wxpay', //服务商 //时间戳 timeStamp: pay_result.timeStamp, //随机字符串 nonceStr: pay_result.nonceStr, //统一下单接口返回的 prepay_id 参数值 package: pay_result.package, //签名算法 如: MD5 signType: pay_result.signType, //签名 paySign: pay_result.paySign, //成功回调 success: (res) => { console.log('success:' + res); setTimeout(() => { uni.reLaunch({ uni.reLaunch({ url: "/pages/user/order/orderList?status=" + 70 + '&type=' + 0 }) }, 800) }, //失败回调 fail: (err) => { console.log('fail:' + err); } }) } } } })