uniapp 支付(支付宝,微信支付)

uniapp 支付前端处理:

// 发送到后台的数据
var payData = {
	"isUpgrade": 'N',
	"lavel": level,
	"userid": this.user.id // 用户id
}
uni.getProvider({
    service: 'payment',
    success: function (res) {
		if(res.provider && res.provider.length > 0){
			if(_self.isWxPay){ // 微信支付
				if(res.provider.indexOf('wxpay') > -1){
					uni.request({
						url: "https://www.xxx.com/pay/wxpay", // 后台请求微信服务器
						data: payData,
						method: 'POST',
						success: (result) => {
							if(result.data.code == 200){
								var data = result.data;
								var obj = {
									"partnerid": data.app_result.partnerid,
									"prepayid": data.app_result.prepayid,
									"package": "Sign=WXPay",
									"appid": data.app_result.appid,
									"noncestr": data.app_result.noncestr,
									"timestamp": data.app_result.timestamp,
									"sign": data.app_result.sign
								}
								uni.requestPayment({
								    provider: 'wxpay',
								    orderInfo: obj,
								    success: function (res) {
										// 支付成功回调
								        console.log('success:' + JSON.stringify(res));
										// 支付成功通知。。。
								    },
								    fail: function (err) {
										// 支付失败回调
								        console.log('fail:' + JSON.stringify(err));
								    }
								});
							}else{
								// 失败回调
							}
						},
						fail: (e) => {
							console.log(e);
						}
					});
				}else{
					// 没有安装微信
					uni.showToast({
						icon: "none",
						title: "请先安装微信"
					})
				}
			}else{ // 支付宝支付
				if(res.provider.indexOf('alipay') > -1){
					uni.request({
						url: "https://www.xxx.com/pay/alipay",
						data: payData,
						method: 'POST',
						success: (result) => {
							console.log(result);
							if(result.data){
								if(result.data.code && result.data.code != 200){
									// 后台请求支付宝失败
								}else{
									uni.requestPayment({
									    provider: 'alipay',
									    orderInfo: result.data,
									    success: function (res) {
									    	// 支付成功回调
									        console.log('success:' + JSON.stringify(res));
									    },
									    fail: function (err) {
									    	// 支付失败回调
									        console.log('fail:' + JSON.stringify(err));
									    }
									});
								}
							}else{
								uni.showToast({
									icon: "none",
									title: "请求失败"
								})
							}
						},
						fail: (e) => {
							console.log(e);
						}
					});
				}else{
					// 没有安装支付宝
					uni.showToast({
						icon: "none",
						title: "请先安装支付宝"
					})
				}
			}
		}else{
			uni.showToast({
				icon: "none",
				title: "获取支付通道失败,请先安装微信或支付宝"
			})
		}
    }
});
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

优小U

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值