Browse Source

修改微信支付功能

lulihong 6 years ago
parent
commit
7ad3d2d99a
2 changed files with 30 additions and 22 deletions
  1. 1 1
      html/payment/html/payment.html
  2. 29 21
      html/payment/js/payment.js

+ 1 - 1
html/payment/html/payment.html

@ -30,7 +30,7 @@
				</div>
				<div class="mt10 pb10">
					<span class="c-333 c-f25" style="position: absolute;line-height: 30px;">¥</span>					
					<span style="position: absolute;right: 15px;margin-top: 5px;"><img src="../images/shanchu_shuru_icon.png" width="20" height="20"/></span>
					<span style="position: absolute;right: 15px;margin-top: 5px;"><img src="../images/shanchu_shuru_icon.png" width="20" height="20" @click="clearMoney"/></span>
					<input type="number" v-model="payMoney" class="c-ser-input plr30" style="color: #333333;font-size: 25px;width: initial;" @input="checkNumber(payMoney)"/>
				</div>
				<div class="c-ff5e6c pt10 pb15">

+ 29 - 21
html/payment/js/payment.js

@ -19,7 +19,7 @@ var loading = dialog({
		},
		mounted: function() {
			var vm = this
			loading.show();
			loading.showModal();
			checkUserAgent();
			vm.code=JSON.parse(localStorage.getItem("wlyyAgent")).uid
			vm.checkType()
@ -51,12 +51,12 @@ var loading = dialog({
			//去支付
			toPayment:function(){
				var vm=this
				loading.show();
				loading.showModal();
				if(vm.payMoney){					
//					if(judgeWxVersion()){
//						vm.getWeixinSign()
//					}
					vm.wxReady()
					vm.getWeixinSign()
				}else{
				 	 loading.close();
					 dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'请输入充值金额'}).show();
@ -72,13 +72,13 @@ var loading = dialog({
			    	dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'请求失败'}).show();
			      }, function(res){
			        if(res.status == 200) {	
						var t = res.data.timestamp;
						var timestamp = res.data.timestamp;
						var noncestr = res.data.noncestr;
						var signature = res.data.signature;
						wx.config({
							//debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
							appId: appId, // 必填,公众号的唯一标识
							timestamp: t, // 必填,生成签名的时间戳
							timestamp: timestamp, // 必填,生成签名的时间戳
							nonceStr: noncestr, // 必填,生成签名的随机串
							signature: signature, // 必填,签名,见附录1
							jsApiList: [
@ -103,28 +103,33 @@ var loading = dialog({
					payAmount:parseFloat(vm.payMoney).toFixed(2),
					spbillCreateIp:returnCitySN["cip"],
					code:getUrlParam("code"),
					openid:JSON.parse(localStorage.getItem("wlyyAgent")).openid
				};
				sendPost("/hy/pay/createPayOrder", params, "json", "post",function(){
				sendPost("third/hy/pay/createPayOrder", params, "json", "post",function(){
			    	dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'请求失败'}).show();
			      }, function(res){
			        if(res.status == 200) {			        	
				 		loading.close();
						var t = res.data.timestamp;
						var noncestr = res.data.noncestr;
						var package ="prepay_id="+res.data.prepayid;
						var paySign = res.data.paySign;							
						var data = res.data;
						wx.chooseWXPay({
						    timestamp: t, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
						    nonceStr: noncestr, // 支付签名随机串,不长于 32 位
						    package: package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)
						    signType: 'MD5', // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
						    paySign: paySign, // 支付签名
						    success: function (res) {
						        // 支付成功后的回调函数
						        window.location.href='../../payment/html/paymentResult.html';
						    },error:function(res){
						    	window.location.href='../../payment/html/paymentResult.html';
						    }
							appId:data.appId,
							timestamp: data.timeStamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
							nonceStr: data.nonceStr, // 支付签名随机串,不长于 32 位
							package: data.package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)
							signType: data.signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
							paySign: data.sign, // 支付签名
							success: function (res) {
								// 支付成功后的回调函数
								window.location.href='../../payment/html/paymentResult.html?seqNo='+data.seqNo;
							},
							cencel:function(res){
								// 支付取消回调函数
//								alert("支付过程中用户取消");
							},
							fail: function(res){
								// 支付失败回调函数
//								alert(JSON.stringify(res));
							}
						});
					}else{		        	
				 		loading.close();
@ -146,6 +151,9 @@ var loading = dialog({
					}
				},10);
			},
			clearMoney:function(){
				this.payMoney = "";
			}
		},
	})