confirmxc.html 10.8 KB
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>支付</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
    <meta name="format-detection" content="telephone=no"/>
    <meta name="format-detection" content="email=no"/>
    <meta name="apple-mobile-web-app-status-bar-style" content="black"/>
    <meta name="apple-mobile-web-app-capable" content="yes"/>
    <meta name="apple-mobile-web-app-title" content="">
    <meta name="google" value="notranslate"><!-- 禁止Chrome 浏览器中自动提示翻译 -->
    <link rel="apple-touch-icon-precomposed" href="favicon.ico">
    <link rel="shortcut icon" href="favicon.ico">
    <link rel="Bookmark" href="favicon.ico">
    <link rel="stylesheet" href="//cdn.bootcss.com/weui/1.1.1/style/weui.min.css?v=1.2">
    <link rel="stylesheet" href="//cdn.bootcss.com/jquery-weui/1.0.1/css/jquery-weui.min.css?v=1.2">
    <link rel="stylesheet" href="../css/reset.css">
    <link rel="stylesheet" href="../css/monthpay.min.css">
</head>
<style>
	/*设置按钮等颜色*/
	#pay_btn{
		background: #75CBBE;
	}
</style>
<body ontouchstart>
<div class="payinfo">
	<input type="hidden" id="orderId" />
	<p><span id="orderFee"></span>&nbsp;</p>
	<p id="carNumber"></p>
</div>
<div class="weui-cells weui-cells_form">
    <div class="weui-cell">
        <div class="weui-cell__hd"><label for="date" class="weui-label">开始时间</label></div>
        <div class="weui-cell__bd">
            <input class="weui-input" id="date" disabled="disabled" type="text" readonly value="">
        </div>
    </div>
    <div class="weui-cell">
        <div class="weui-cell__hd"><label for="date1" class="weui-label">有效期至</label></div>
        <div class="weui-cell__bd">
            <input class="weui-input" id="date1" disabled="disabled" type="text" readonly  value="">
        </div>
    </div>
    
</div>
<div class="weui-cells">
    <label class="weui-cell">
        <div class="weui-cell__hd weixin_icon">
        </div>
        <div class="weui-cell__bd">
            <p>微信支付</p>
        </div>
        <div class="weui-cell__hd checked_icon">

        </div>
    </label>	
</div>
<!--<div class="weui-cells" onclick="zhifub()">
    <label class="weui-cell">
        <div class="weui-cell__hd weixin_icon">
        </div>
        <div class="weui-cell__bd">
            <p>支付宝</p>
        </div>
        <div class="weui-cell__hd checked_icon">

        </div>
    </label>	
</div>-->
<div class="pay-content-padded">
    <a href="javascript:;" class="weui-btn weui-btn_primary" id="pay_btn">立即支付</a>
</div>
<script src="//cdn.bootcss.com/jquery/1.11.0/jquery.min.js?v=1.2"></script>
<script src="//cdn.bootcss.com/jquery-weui/1.0.1/js/jquery-weui.min.js?v=1.2"></script>
<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>

<!--md5 start-->
<script src="../js/md5.min.js"></script>
<!--md5 end-->
<script src="../js/url.js"></script>
<script src="../js/ajax.js"></script>
<script type="text/javascript">
    var func = {
        //1.初始化页面信息.<br/>
        openid:'',
        token:'',
        optType:'',
        //optType:'',
        initYearCardInfo: function () {
        	var url=decodeURI(location.href);
        	var park = url.split('?');//url.substring(url.lastIndexOf('?')+1, url.length);
			var valary = park[1].split('&');
			$("#orderId").val(valary[0].split('=')[1]);//订单id
			var zhm = jsajax.fenToYuan(valary[1].split('=')[1]);
			$("#orderFee").text(zhm);//订单金额
			$("#carNumber").text(valary[2].split('=')[1]);//车牌号
			$("#date").val(valary[3].split('=')[1]);//开始日期
			$("#date1").val(valary[4].split('=')[1]);//结束日期
            func.optType = valary[5].split('=')[1];
            func.openid = mUrl.GetOpenid();
            func.token = mUrl.GetToken();
        }
    };
    $(function () {
        func.initYearCardInfo();
        //初始化时间calendar组件的参数
        $('#pay_btn').on('click', function () {
        	var orderid = $("#orderId").val();
            var paySrcType = '';
            $(this).addClass('weui-btn_disabled');
	        $(this).attr('disabled','disabled');
            if(func.optType==1||func.optType=='1'){
            	paySrcType = '301';//'4';
            }else if(func.optType==2||func.optType=='2'){
            	paySrcType = '302';//'5';
            }
        	var jsondata = {
        	    appId:jsajax.appID,
        		orderId:orderid,
                openId:func.openid,
                payType:'4',
                paySrcType:paySrcType,
                paySource:'3',
                couponPersonId:'',
                terminalSource:'3'
        	}
        	jsondata = JSON.stringify(jsondata);
        	console.log("入参 1"+jsondata+"接口   "+mUrl.vipxwxfpay);
			jsajax.defaultReq(
				mUrl.vipxwxfpay,//mUrl.wxpay,//mUrl.buyvipcard,//mUrl.wxpay,
				jsondata,
				function (data) {
					//alert('调用微信支付 '+JSON.stringify(data));
					console.log('调用微信支付 '+JSON.stringify(data));
				    if(data.code==0) {
                        var datas = data.data;
                        //datas = JSON.parse(datas);
                        var timeStamp = datas.timeStamp;
                        var appId = datas.appId;
                        var nonceStr = datas.nonceStr;
                        var package = datas.package;
                        var paySign = datas.paySign;
                        //WXpay(appId,timeStamp,nonceStr,paySign,package);
                        wxpay(appId,timeStamp,nonceStr,package,paySign,func.openid,func.token,orderid,func.optType);
                        //alert("支付获取的信息 "+JSON.stringify(data));
                    }
                }
			);
        });
    })
    
    
    function WXpay(appId,timestamp,nonceStr,signature,package){
    	wx.config({
		    debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
		    appId: appId, // 必填,公众号的唯一标识
		    timestamp: timestamp, // 必填,生成签名的时间戳
		    nonceStr: nonceStr, // 必填,生成签名的随机串
		    signature: signature,// 必填,签名
		    jsApiList: ['chooseWXPay'] // 必填,需要使用的JS接口列表
		});
		wx.ready(function(){
		    // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
		});
		wx.checkJsApi({
		    jsApiList: ['chooseWXPay'], // 需要检测的JS接口列表,所有JS接口列表见附录2,
		    success: function(res) {
		    // 以键值对的形式返回,可用的api值true,不可用为false
		    // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
		    }
		});
		wx.chooseWXPay({
			timestamp: timestamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
			nonceStr: nonceStr, // 支付签名随机串,不长于 32 位
			package: package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=\*\*\*)
			signType: 'SHA1', // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
			paySign: signature, // 支付签名
			success: function (res) {
				alert("成功"+JSON.stringify(res));
				// 支付成功后的回调函数
			},
			error:function(res){
				alert("错误 "+JSON.stringify(res));
			}
		});
    }
    
    
    
    //微信支付请求
	function wxpay(appId,timeStamp,nonceStr,package,paySign,openid,token,orderId,optType){
		if (typeof WeixinJSBridge == "undefined"){
		   if( document.addEventListener ){
		       document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
		   }else if (document.attachEvent){
		       document.attachEvent('WeixinJSBridgeReady', onBridgeReady); 
		       document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
		   }
		}else{
		   onBridgeReady(appId,timeStamp,nonceStr,package,paySign,openid,token,orderId,optType);
		}
	};
	function onBridgeReady(appId,timeStamp,nonceStr,package,paySign,openid,token,orderId,optType){
	    WeixinJSBridge.invoke(
	        'getBrandWCPayRequest', {
	            "appId":appId,     //公众号名称,由商户传入
	            "timeStamp":timeStamp,         //时间戳,自1970年以来的秒数
	            "nonceStr":nonceStr, //随机串
	            "package":package,
	            "signType":"MD5",         //微信签名方式:
	            "paySign":paySign //微信签名
	        },
	        function(res){
	        	console.log('调起支付  '+JSON.stringify(res));
	        	if(res.err_msg == "get_brand_wcpay_request:ok" ) {
	                var success = 1;
	                setTimeout(function(){
	                	window.location.href = '../more/VipCardtwo/minec.html';
	                },200);
	                //createcard(openid,token,orderId,optType,success);
				}else{
	                if(res.err_msg == "get_brand_wcpay_request:cancel"){
						$.toptip('用户取消', 'warning');
						$("#pay_btn").removeClass('weui-btn_disabled');
	        			$("#pay_btn").removeAttr('disabled');
					}
				}     // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回    ok,但并不保证它绝对可靠。
	        }
	    );
	}
	
	function createcard(openid,token,orderId,optType,success){
		var salt = jsajax.salt(32);
		var sortdata = [
			{keyname:'app_id',value:'0eca8f5373ca4866aec2f8e9d9367104'},
	        {keyname:'deviceInfo',value:'BC0703A4-AFB0-4B51-9089-9B7487C0CC6E'},
	        {keyname:'salt',value:salt},
			{keyname:'sign_type',value:'md5'},
	        {keyname:'success',value:success},
	        {keyname:'token',value:token},
	        {keyname:'orderId',value:orderId},
	        {keyname:'optType',value:optType}
		];
		var md5json = jsajax.getsign(sortdata);
		var jsondata = {
	        app_id:'0eca8f5373ca4866aec2f8e9d9367104',
	        deviceInfo:'BC0703A4-AFB0-4B51-9089-9B7487C0CC6E',
	        salt:salt,
	        sign_type:'md5',
	        success:success,
	        token:token,
	        orderId:orderId,
	        optType:optType,
			sign:md5json
		};
		jsondata = JSON.stringify(jsondata);
		jsajax.defaultReq(
	        mUrl.Buysuccess,//'http://61.177.139.228:18090/vip/createCardCust',//mUrl.bugsucc,//mUrl.buycardsuccess,
			jsondata,
			function (res) {
				if(res.code=='0'){
	                window.location.href = 'http://wxgzh.renniting.cn/wechatwuxi/Threewfx/more/xinban/minec.html';//mUrl.myParkCardView;
	            }else{}
	        }
		);	
	}
</script>
</body>
</html>