uniapp h5 公众号实现微信支付

120 阅读1分钟

1.安装jssdk

npm install jwexin-module --save

2.在页面进行引入

	// #ifdef H5
	import jweixin from 'jweixin-module'
	// #endif

3.具体的业务逻辑

	// 获取支付信息,判断是购物车支付还是商品直接支付当拿到的goods_id是一个数组时是购物车支付
if (this.shopcart instanceof Array && this.shopcart.length > 0) {
let result = await this.$myRequest({
url: 'pay',
data: { //data 里面的数据
shoppingcart: this.shopcart,
openid: this.openId,
phone: this.phone,
addressid: this.addr_id,
kind: 1,
isteam: this.isteam,
ticket_id: this.ticket_id,
isbargain: this.isbargain,
team_id: this.team_id,
bargain_id: this.bargain_id,
goods_id: this.goods_id,
isziti: this.isziti,
shuxing: this.shuxing,
isweixinPay: this.isweixinPay,
						}
});
if (result.statusCode === 200 && result.data.status === 0) {
if (this.isweixinPay == 1) {
		uni.showToast({
		title: '支付成功',
		icon: 'none'
		})
		setTimeout(() => {
			uni.navigateTo({
				url: "../order-manage/my-order"
				})
			}, 2000)
		} else {
		WeixinJSBridge.invoke(
		'getBrandWCPayRequest', {
		"appId": 'wx68f21f6fdae084a3', //公众号名称,由商户传入       
		"timeStamp": result.data.data.timestamp, //时间戳,自1970年以来的秒数       
		"nonceStr": result.data.data.nonceStr, //随机串       
		"package": result.data.data.package,
		"signType": result.data.data.signType, //微信签名方式:       
		"paySign": result.data.data.paySign //微信签名   
	},
	function(res) {
	if (res.err_msg == "get_brand_wcpay_request:ok") {
		uni.showToast({
		title: '支付成功'
	})
	setTimeout(() => {
		uni.navigateTo({
												url: "../order-manage/my-order"
		})}, 2000)
   } // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回    ok,但并不保证它绝对可靠。   
	}
);
}
}
}