Commit afc9e30844b316d27571dae74dca7e0e8fbc7d2f

Authored by liuqimichale
1 parent 5101e102

银联支付

home.html
@@ -82,10 +82,10 @@ @@ -82,10 +82,10 @@
82 82
83 83
84 <script src="js/jquery-3.2.1.min.js"></script> 84 <script src="js/jquery-3.2.1.min.js"></script>
85 -<script src="js/config.js?v=0.1"></script>  
86 -<script src="js/common.js?v=1.11"></script> 85 +<script src="js/config.js?c=1.1"></script>
  86 +<script src="js/common.js?b=2.11"></script>
87 <!--<script src="js/jweixin-1.0.0.js?v=0.1"></script>--> 87 <!--<script src="js/jweixin-1.0.0.js?v=0.1"></script>-->
88 -<script src="js/pay.js?v=1.5120"></script> 88 +<script src="js/pay.js?i=2.20"></script>
89 </body> 89 </body>
90 90
91 </html> 91 </html>
js/common.js
@@ -73,7 +73,7 @@ function convertData(data) { @@ -73,7 +73,7 @@ function convertData(data) {
73 // "id": "456" 73 // "id": "456"
74 // }, 74 // },
75 // beforeSend: function () { 75 // beforeSend: function () {
76 -// //some js code 76 +// //some js code
77 // }, 77 // },
78 // success: function (msg) { 78 // success: function (msg) {
79 // console.log(msg) 79 // console.log(msg)
@@ -91,7 +91,7 @@ function postRequest(url,params,successCallback, errorCallback) { @@ -91,7 +91,7 @@ function postRequest(url,params,successCallback, errorCallback) {
91 dataType: "json", 91 dataType: "json",
92 data: JSON.stringify(params), 92 data: JSON.stringify(params),
93 beforeSend: function () { 93 beforeSend: function () {
94 - //some js code 94 + //some js code
95 }, 95 },
96 success: function (msg) { 96 success: function (msg) {
97 successCallback(msg); 97 successCallback(msg);
@@ -111,7 +111,7 @@ function postRequest(url,params,successCallback, errorCallback) { @@ -111,7 +111,7 @@ function postRequest(url,params,successCallback, errorCallback) {
111 111
112 /*获取URL?参数*/ 112 /*获取URL?参数*/
113 function getQueryString(location) { 113 function getQueryString(location) {
114 - //var url = location.search; //获取url中"?"符后的字串 114 + //var url = location.search; //获取url中"?"符后的字串
115 var url = location.search; 115 var url = location.search;
116 var theRequest = new Object(); 116 var theRequest = new Object();
117 if (url.indexOf("?") != -1) { 117 if (url.indexOf("?") != -1) {
@@ -163,19 +163,19 @@ function keepTwoDecimalFull(num) { @@ -163,19 +163,19 @@ function keepTwoDecimalFull(num) {
163 return s_x; 163 return s_x;
164 } 164 }
165 165
166 -/**  
167 - * param 将要转为URL参数字符串的对象  
168 - * key URL参数字符串的前缀  
169 - * encode true/false 是否进行URL编码,默认为true  
170 - *  
171 - * return URL参数字符串 166 +/**
  167 + * param 将要转为URL参数字符串的对象
  168 + * key URL参数字符串的前缀
  169 + * encode true/false 是否进行URL编码,默认为true
  170 + *
  171 + * return URL参数字符串
172 */ 172 */
173 var parseParams = function (data) { 173 var parseParams = function (data) {
174 try { 174 try {
175 var tempArr = []; 175 var tempArr = [];
176 for (var i in data) { 176 for (var i in data) {
177 var key = (i); 177 var key = (i);
178 - var value = encodeURIComponent(data[i]);//decodeURIComponent 178 + var value = encodeURIComponent(data[i]);//decodeURIComponent
179 tempArr.push(key + '=' + value); 179 tempArr.push(key + '=' + value);
180 } 180 }
181 var urlParamsStr = tempArr.join('&'); 181 var urlParamsStr = tempArr.join('&');
@@ -285,4 +285,44 @@ function funcUrlDel(name) { @@ -285,4 +285,44 @@ function funcUrlDel(name) {
285 return loca.href; 285 return loca.href;
286 } 286 }
287 } 287 }
  288 +var userAgent = navigator.userAgent;
  289 +var isAndroid = userAgent.indexOf('Android') > -1 || userAgent.indexOf('Adr') > -1; //android终端
  290 +
  291 +function utilParams(val,orderID,openId) {
  292 + var _orderTotalFee = Number($('#due').text())*100 //总金额
  293 + var fee = $('#discountFee').text()
  294 + var _fee = fee.substring(0, fee.length - 1);
  295 + var _orderDicountFee = Number(_fee)*100 //优惠了多少钱
  296 + var _orderActFee = _orderTotalFee - _orderDicountFee //实收多少钱
  297 + var jsondata;
  298 + if(_orderDicountFee > 0){
  299 + jsondata = {
  300 + orderBigType:100,
  301 + payOrderType:101,
  302 + rltOrderId:orderID,
  303 + payType:val,
  304 + terminalSource:7,
  305 + orderActFee:_orderActFee,
  306 + orderTotalFee:_orderTotalFee,
  307 + orderDicountFee:_orderDicountFee,
  308 + payUserId:openId,
  309 + terminalOS:isAndroid?'AND':'IOS',
  310 + couponType:1, //优惠类型
  311 + couponCode:$('#discountBox').val(),
  312 + };
  313 + }else{
  314 + jsondata = {
  315 + orderBigType:100,
  316 + payOrderType:101,
  317 + rltOrderId:orderID,
  318 + payType:val,
  319 + terminalSource:7,
  320 + orderActFee:_orderActFee,
  321 + orderTotalFee:_orderTotalFee,
  322 + payUserId:openId,
  323 + terminalOS:isAndroid?'AND':'IOS',
  324 + };
  325 + }
  326 + return jsondata
  327 +}
288 328
js/config.js
@@ -7,9 +7,9 @@ window.webAppH5 = {}; @@ -7,9 +7,9 @@ window.webAppH5 = {};
7 7
8 8
9 /*服务器地址*/ 9 /*服务器地址*/
10 -var webAppRoot = "http://pay.service.huangshiparking.com"; 10 +// var webAppRoot = "http://pay.service.huangshiparking.com";
11 //test 测试环境 11 //test 测试环境
12 -// var webAppRoot = "http://39.98.54.240:8090"; 12 +var webAppRoot = "http://39.98.54.240:8090";
13 //微信支付结果回调地址 13 //微信支付结果回调地址
14 var webAppPayResult = "http://wxgzh.huangshiparking.com/HSwechat/PDA-Payment/wxpayResult.html"; 14 var webAppPayResult = "http://wxgzh.huangshiparking.com/HSwechat/PDA-Payment/wxpayResult.html";
15 15
@@ -50,6 +50,10 @@ webAppH5.useCouponQueryFee = &quot;/keyTopQrCodeInOutPark/useCouponQueryFee&quot;; @@ -50,6 +50,10 @@ webAppH5.useCouponQueryFee = &quot;/keyTopQrCodeInOutPark/useCouponQueryFee&quot;;
50 webAppH5.zeroPayServer = "/appAccountPay/zeroPay"; 50 webAppH5.zeroPayServer = "/appAccountPay/zeroPay";
51 51
52 52
  53 +// 新接口银联
  54 +webAppH5.doPay = "/unionpay/doPay";
  55 +
  56 +
53 57
54 58
55 59
js/pay.js
1 -/*  
2 -@songcxa  
3 -@2018-12-14  
4 -@移动支付  
5 -*/ 1 +
6 var webAppParams = null; 2 var webAppParams = null;
7 var $btnObj = null; 3 var $btnObj = null;
8 var $btnLoad = null; 4 var $btnLoad = null;
@@ -298,21 +294,24 @@ var webAppClass = { @@ -298,21 +294,24 @@ var webAppClass = {
298 console.log("aliPay"); 294 console.log("aliPay");
299 //订单号 295 //订单号
300 var obj = {}; 296 var obj = {};
  297 +
  298 + var aliPay = webAppH5.doPay;
  299 +
301 //this.payAjax(url, { orderId: "11111", price: 0.01 }); 300 //this.payAjax(url, { orderId: "11111", price: 0.01 });
302 - var aliPay = webAppH5.aliPayServer;  
303 - var aliParams = webAppH5.comParams;  
304 - aliParams.orderId = orderID;  
305 - aliParams.carNumber = getQueryString(window.location).carnum;  
306 - aliParams.payType = 1;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号  
307 - aliParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付  
308 - aliParams.paySrcType = getQueryString(window.location)._paySrcType;//101停车支付  
309 -  
310 - aliParams.recordArreaInfos = JSON.stringify([{  
311 - "orderId": webAppParams.orderId,  
312 - "orderNotPayFee": _mon * 100,  
313 - "parkId": getQueryString(window.location).parkCode  
314 - }]);  
315 - webAppClass.payAliAjax(root + aliPay, aliParams); 301 + // var aliPay = webAppH5.aliPayServer;
  302 + // var aliParams = webAppH5.comParams;
  303 + // aliParams.orderId = orderID;
  304 + // aliParams.carNumber = getQueryString(window.location).carnum;
  305 + // aliParams.payType = 1;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号
  306 + // aliParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付
  307 + // aliParams.paySrcType = getQueryString(window.location)._paySrcType;//101停车支付
  308 + //
  309 + // aliParams.recordArreaInfos = JSON.stringify([{
  310 + // "orderId": webAppParams.orderId,
  311 + // "orderNotPayFee": _mon * 100,
  312 + // "parkId": getQueryString(window.location).parkCode
  313 + // }]);
  314 + webAppClass.payAliAjax(root + aliPay, utilParams(1,orderID,''));
316 break; 315 break;
317 default://第三方浏览器other 316 default://第三方浏览器other
318 //默认支付宝 317 //默认支付宝
@@ -321,21 +320,22 @@ var webAppClass = { @@ -321,21 +320,22 @@ var webAppClass = {
321 //订单号 320 //订单号
322 var obj = {}; 321 var obj = {};
323 //this.payAjax(url, { orderId: "11111", price: 0.01 }); 322 //this.payAjax(url, { orderId: "11111", price: 0.01 });
324 - var aliPay = webAppH5.aliPayServer;  
325 - var aliParams = webAppH5.comParams;  
326 - aliParams.orderId = orderID;  
327 - aliParams.carNumber = getQueryString(window.location).carnum;  
328 - aliParams.payType = 1;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号  
329 - aliParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付  
330 - aliParams.paySrcType = getQueryString(window.location)._paySrcType;//101停车支付  
331 -  
332 - aliParams.recordArreaInfos = JSON.stringify([{  
333 - "orderId": webAppParams.orderId,  
334 - "orderNotPayFee": _mon * 100,  
335 - "parkId": getQueryString(window.location).parkCode  
336 - }]);  
337 -  
338 - webAppClass.payAliAjax(root + aliPay, aliParams); 323 + var aliPay = webAppH5.doPay;
  324 + // var aliParams = webAppH5.comParams;
  325 + // aliParams.orderId = orderID;
  326 + // aliParams.carNumber = getQueryString(window.location).carnum;
  327 + // aliParams.payType = 1;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号
  328 + // aliParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付
  329 + // aliParams.paySrcType = getQueryString(window.location)._paySrcType;//101停车支付
  330 + //
  331 + // aliParams.recordArreaInfos = JSON.stringify([{
  332 + // "orderId": webAppParams.orderId,
  333 + // "orderNotPayFee": _mon * 100,
  334 + // "parkId": getQueryString(window.location).parkCode
  335 + // }]);
  336 +
  337 + //webAppClass.payAliAjax(root + aliPay, aliParams);
  338 + webAppClass.payAliAjax(root + aliPay, utilParams(1,orderID,''));
339 } else {//微信页面支付 339 } else {//微信页面支付
340 var url = " https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20161110163838f231619da20804912345&package=1037687096"; 340 var url = " https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20161110163838f231619da20804912345&package=1037687096";
341 //window.location.href = url; 341 //window.location.href = url;
@@ -502,36 +502,45 @@ var webAppClass = { @@ -502,36 +502,45 @@ var webAppClass = {
502 //} 502 //}
503 }, 503 },
504 getPayParams: function (openId, orderID) { 504 getPayParams: function (openId, orderID) {
505 - var wxPay = window.webAppH5.wxPayServer;  
506 - var wxParams = window.webAppH5.comParams;  
507 - var _mon = document.getElementById("sumMoney").innerHTML  
508 - wxParams.orderId = orderID;  
509 - wxParams.payType = 4;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号  
510 - wxParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付  
511 - //webAppClass.payAjax(root + wxPay, wxParams);  
512 -  
513 -  
514 - //新增start 505 + // var wxPay = window.webAppH5.wxPayServer;
  506 + // var wxParams = window.webAppH5.comParams;
  507 + // var _mon = document.getElementById("sumMoney").innerHTML
  508 + // wxParams.orderId = orderID;
  509 + // wxParams.payType = 4;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号
  510 + // wxParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付
  511 + // //webAppClass.payAjax(root + wxPay, wxParams);
  512 + //
  513 + //
  514 + // //新增start
  515 + //
  516 + //
  517 + // wxParams.carNumber = getQueryString(window.location).carnum;
  518 + //
  519 + // wxParams.paySrcType = getQueryString(window.location)._paySrcType;//101停车支付
  520 + //
  521 + // wxParams.recordArreaInfos = JSON.stringify([{
  522 + // "orderId": webAppParams.orderId,
  523 + // "orderNotPayFee": _mon * 100,
  524 + // "parkId": getQueryString(window.location).parkCode
  525 + // }]);
  526 + //
  527 + // //新增end
  528 + //
  529 + //
  530 + // wxParams.openId = openId;
  531 + // wxParams.appId = appWxID;
  532 + // var payParamsUrl = webAppRoot + window.webAppH5.wxPayServer;
  533 +
  534 +
  535 +
  536 + var jsondata = utilParams(2,orderID,openId);
  537 +
  538 +
  539 +
  540 + var payParamsUrl = webAppRoot + window.webAppH5.doPay;
515 541
516 -  
517 - wxParams.carNumber = getQueryString(window.location).carnum;  
518 -  
519 - wxParams.paySrcType = getQueryString(window.location)._paySrcType;//101停车支付  
520 -  
521 - wxParams.recordArreaInfos = JSON.stringify([{  
522 - "orderId": webAppParams.orderId,  
523 - "orderNotPayFee": _mon * 100,  
524 - "parkId": getQueryString(window.location).parkCode  
525 - }]);  
526 -  
527 - //新增end  
528 -  
529 -  
530 - wxParams.openId = openId;  
531 - wxParams.appId = appWxID;  
532 - var payParamsUrl = webAppRoot + window.webAppH5.wxPayServer;  
533 //alert(payParamsUrl);alert(orderID); 542 //alert(payParamsUrl);alert(orderID);
534 - postRequest(payParamsUrl, wxParams, function (res) { 543 + postRequest(payParamsUrl, jsondata, function (res) {
535 $btnObj.style.display = "block"; 544 $btnObj.style.display = "block";
536 $btnLoad.style.display = "none"; 545 $btnLoad.style.display = "none";
537 //debugger; 546 //debugger;
@@ -539,7 +548,7 @@ var webAppClass = { @@ -539,7 +548,7 @@ var webAppClass = {
539 //alertMsg("出场成功"); 548 //alertMsg("出场成功");
540 if (res.data) { 549 if (res.data) {
541 var tmpObj = res.data; 550 var tmpObj = res.data;
542 - webAppClass.weixinJSBridge(res.data); 551 + webAppClass.weixinJSBridge(tmpObj);
543 console.log(JSON.stringify(tmpObj)); 552 console.log(JSON.stringify(tmpObj));
544 //alert(JSON.stringify(tmpObj)); 553 //alert(JSON.stringify(tmpObj));
545 } else { 554 } else {
@@ -560,18 +569,26 @@ var webAppClass = { @@ -560,18 +569,26 @@ var webAppClass = {
560 }, 569 },
561 570
562 //调用微信内置WeixinJSBridge对象发起支付 571 //调用微信内置WeixinJSBridge对象发起支付
563 - weixinJSBridge: function (params) { 572 + weixinJSBridge: function (data) {
  573 + var datas = JSON.parse(data.jsPayRequest);
  574 + //datas = JSON.parse(datas);
  575 + var timeStamp = datas.timeStamp;
  576 + var appId = datas.appId;
  577 + var nonceStr = datas.nonceStr;
  578 + var package = datas.package;
  579 + var paySign = datas.paySign;
  580 + var type = datas.signType;
  581 +
564 function onBridgeReady() { 582 function onBridgeReady() {
565 WeixinJSBridge.invoke( 583 WeixinJSBridge.invoke(
566 - 'getBrandWCPayRequest', params,  
567 - //'getBrandWCPayRequest', {  
568 - // "appId": appWxID, //公众号名称,由商户传入  
569 - // "timeStamp": "1395712654", //时间戳,自1970年以来的秒数  
570 - // "nonceStr": "e61463f8efa94090b1f366cccfbbb444", //随机串  
571 - // "package": "prepay_id=u802345jgfjsdfgsdg888",  
572 - // "signType": "MD5", //微信签名方式:  
573 - // "paySign": "70EA570631E4BB79628FBCA90534C63FF7FADD89" //微信签名  
574 - //}, 584 + 'getBrandWCPayRequest', {
  585 + "appId":appId, //公众号名称,由商户传入
  586 + "timeStamp":timeStamp, //时间戳,自1970年以来的秒数
  587 + "nonceStr":nonceStr, //随机串
  588 + "package":package,
  589 + "signType":type, //微信签名方式:
  590 + "paySign":paySign //微信签名
  591 + },
575 function (res) { 592 function (res) {
576 //alert(res.err_msg); 593 //alert(res.err_msg);
577 if (res.err_msg == "get_brand_wcpay_request:ok") { 594 if (res.err_msg == "get_brand_wcpay_request:ok") {
@@ -612,12 +629,14 @@ var webAppClass = { @@ -612,12 +629,14 @@ var webAppClass = {
612 629
613 //异步请求-支付宝 630 //异步请求-支付宝
614 payAliAjax: function (url, params) { 631 payAliAjax: function (url, params) {
  632 +
615 var btnOBj = $btnObj; 633 var btnOBj = $btnObj;
616 postRequest(url, params, function (res) { 634 postRequest(url, params, function (res) {
617 btnOBj.style.display = "block"; 635 btnOBj.style.display = "block";
618 $btnLoad.style.display = "none"; 636 $btnLoad.style.display = "none";
619 if (res.code == 0) {//进场 637 if (res.code == 0) {//进场
620 - document.write(res.data);//打开支付表单 638 + window.location.href = res.data.h5PayRequest
  639 + //document.write(res.data.h5PayRequest);//打开支付表单
621 } else {//其他情况如【该卡号场内已存在】 640 } else {//其他情况如【该卡号场内已存在】
622 console.log(res.message); 641 console.log(res.message);
623 alertMsg(res.message); 642 alertMsg(res.message);
@@ -664,6 +683,7 @@ var webAppClass = { @@ -664,6 +683,7 @@ var webAppClass = {
664 $due.innerHTML = keepTwoDecimalFull((params.due / 100));//停车总费用 683 $due.innerHTML = keepTwoDecimalFull((params.due / 100));//停车总费用
665 $paid.innerHTML = keepTwoDecimalFull(params.paid / 100); 684 $paid.innerHTML = keepTwoDecimalFull(params.paid / 100);
666 $discountFee.innerHTML = params.discountFee;//优惠金额 685 $discountFee.innerHTML = params.discountFee;//优惠金额
  686 +
667 // $discountDesc.innerHTML = params.discountDesc; 687 // $discountDesc.innerHTML = params.discountDesc;
668 } else { 688 } else {
669 console.log("没有接受到参数"); 689 console.log("没有接受到参数");
js/url.js
@@ -89,9 +89,9 @@ mUrl.getJx = function(){ @@ -89,9 +89,9 @@ mUrl.getJx = function(){
89 89
90 // var cepath = 'http://39.98.54.240:8090'; 90 // var cepath = 'http://39.98.54.240:8090';
91 91
92 -var cepath = 'http://pay.service.huangshiparking.com'; 92 +// var cepath = 'http://pay.service.huangshiparking.com';
93 // http://pay.service.renniting.cn 93 // http://pay.service.renniting.cn
94 -// var cepath = 'http://39.98.54.240:8090' 94 +var cepath = 'http://39.98.54.240:8090'
95 // http://app.api.dyszt.com:8090 95 // http://app.api.dyszt.com:8090
96 // var cepath = 'http://app.api.dyszt.com:8090'; 96 // var cepath = 'http://app.api.dyszt.com:8090';
97 // https://pay.service.rnting.com//'http://47.96.41.38:8090'; 97 // https://pay.service.rnting.com//'http://47.96.41.38:8090';