1.确认支付调用后端预支付接口传入登录获取的openid&appid&订单数据(id||其他数据)&后端定义其他数据 

2.调用wx.requestPayment()传入预支付接口返回的数据 

3.支付成功 

4.如webview内嵌的H5需要使用wx的sdk调用外部小程序的支付wx.miniProgram.redirectTo()

// 支付
	const operation = async () => {
		
		if (!wayValue.value) {
			return uni.showToast({
				title: '请选择支付方式',
				icon: 'none'
			})
		}

		if (wayValue.value == 1) { //微信支付

			// 微信小程序支付
			//#ifdef MP-WEIXIN
			const res = await getPrepayAsync(dataValue) //预支付接口
			const {
				timeStamp,
				nonceStr,
				signType,
				packageVal,
				paySign
			} = res.data
			uni.requestPayment({
				provider: 'wxpay',
				timeStamp: timeStamp,
				nonceStr: nonceStr,
				package: packageVal,
				signType: signType,
				paySign: paySign,
				success: function(res) {
					//  '----------支付成功'
					orderValue.result = true
					goregirect()
				},
				fail: function(err) {
					// ----------支付失败'
					orderValue.result = false
					goregirect()
				}
			})

			//#endif

			//#ifdef H5
			
			if(setupStore.trueWePay){
				// 当取消支付继续付款
				wx.miniProgram.redirectTo({
					url: `/pages/wePay/wePay?ids=${JSON.stringify(dataValue.ids)}&tenantId=${dataValue.tenantId}&price=${orderValue.price}` // 要跳转的小程序页面,可以在url后面携带参数
				});
			}else{
				wx.miniProgram.navigateTo({
					url: `/pages/wePay/wePay?ids=${JSON.stringify(dataValue.ids)}&tenantId=${dataValue.tenantId}&price=${orderValue.price}` // 要跳转的小程序页面,可以在url后面携带参数
				});
				
				setTimeout(() => {
					uni.navigateBack({
						delta:1
					})
				}, 1500)
			}

			//#endif



		} 


	}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐