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

相关配置部分不在多说:下面只看代码逻辑部分:

	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);
						}
					})
				}
			}
		}
	})
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值