uniapp唤起微信进行支付情况

首先需要给后端发送请求支付的请求,拿到后端返回需要支付的订单,这里分别罗列了拿到订单之后分别使用微信小程序进行支付以及使用app进行支付的情况

首先说uniapp转成微信小程序支付情况 

// #ifdef MP
wx.requestPayment({
	timeStamp: res.data.time, 
	nonceStr: res.data.noncestr,
	package: 'prepay_id=' + res.data.prepay_id,
	signType: 'RSA',
	paySign: res.data.sign,
	success(res) {
		uni.showToast({
			title: '支付成功',
			icon: 'none'
		})
	},
	fail(res) {
		console.log('支付失败', res)
	}
})


// #endif

2.这是uniapp转成app之后唤起微信支付,需要先获取应用服务商,uniappAPI里有详细规范,在使用uni.requestPaymentAPI唤醒微信支付

// #ifdef APP-PLUS
uni.getProvider({  //获取应用服务商
	service: 'payment',
	success: res => {
		console.log('微信安装1',res)
		if (res.providers.indexOf('wxpay')) { //先判断用户是否有微信支付环境(是否安装了微信app)
		workMission(params).then((res1) => {
			console.log('查看子订单信息', res1)
			 //拿到需要进行微信支付的订单信息,必须严格按照微信支付API所需要的支付信息大小写字段进行编码						
			let payInfo = {
				appid: res1.data.appid,
				noncestr: res1.data.noncestr,
				package: "Sign=WXPay",
				partnerid: res1.data.partnerid,
				prepayid: res1.data.prepay_id,
				timestamp: res1.data.time,
				sign: res1.data.sign,
			}
			console.log('生成订单', payInfo)
			uni.requestPayment({
				provider: 'wxpay',
				orderInfo: payInfo, //微信订单数据(Object类型)
				success: res => {
				    uni.showToast({
					    title: '支付成功',
						icon: 'none'
					})												
				},
				fail: err => {
					console.log('失败得原因', err)
					uni.showToast({
					    title: '支付失败',
						icon: 'none'
				    })
				}
			});
		})
	}
}
})
// #endif

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐