在微信小程序中使用微信支付功能
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);
}
})
}
}
}
})