From 7c0a5069bc13c670fbb339f3c2fcb8319b0c981c Mon Sep 17 00:00:00 2001 From: liuqimichale <123456lq> Date: Tue, 4 Aug 2020 18:03:02 +0800 Subject: [PATCH] 银联支付 接口调通 --- home.html | 6 +++--- js/ajax.js | 4 ++-- js/config.js | 8 +++++--- js/pay.js | 277 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------- js/url.js | 4 ++-- list.html | 2 +- listnew.html | 2 +- 7 files changed, 227 insertions(+), 76 deletions(-) diff --git a/home.html b/home.html index 803f138..fa25871 100644 --- a/home.html +++ b/home.html @@ -33,7 +33,7 @@
停车时长:
进场时间:
停车总费用:
-
商户优惠减免:
+
已支付金额:
优惠金额:
订单编号: 1234567890
@@ -83,10 +83,10 @@ - + - + diff --git a/js/ajax.js b/js/ajax.js index 8a32d0a..3626601 100644 --- a/js/ajax.js +++ b/js/ajax.js @@ -1,6 +1,6 @@ var jsajax = jsajax || {}; -//任你停赤峰 -jsajax.appID = 'wx945eccc8163fd75b'; +//任你停黄石 +jsajax.appID = 'wxa1a66cc7d263afe6'; //获取openid jsajax.getopenid = function (code,fn) { var openid = ''; diff --git a/js/config.js b/js/config.js index 3c93c2f..d30a70e 100644 --- a/js/config.js +++ b/js/config.js @@ -6,15 +6,17 @@ window.webAppH5 = {}; /*服务器地址*/ -// var webAppRoot = "http://pay.service.huangshiparking.com"; +var webAppRoot = "http://pay.service.huangshiparking.com"; //test 测试环境 -var webAppRoot = "http://39.98.54.240:8090"; +// var webAppRoot = "http://39.98.54.240:8090"; //微信支付结果回调地址 var webAppPayResult = "http://wxgzh.huangshiparking.com/HSwechat/PDA-Payment/wxpayResult.html"; +var doPayroot = webAppRoot + /*公共参数*/ webAppH5.comParams = { - app_id: 'wx945eccc8163fd75b', + app_id: 'wxa1a66cc7d263afe6', salt: 2, deviceInfo: 3, sign_type: 'md5', diff --git a/js/pay.js b/js/pay.js index 8e83f31..f55ffb0 100644 --- a/js/pay.js +++ b/js/pay.js @@ -1,9 +1,15 @@ -var webAppParams = null; +/* +@songcxa +@2018-12-14 +@移动支付 +*/ +var webAppParams = null; var $btnObj = null; var $btnLoad = null; var flag = 0; var appWxID = getQueryString(window.location).appId; -// var appWxID = 'wx945eccc8163fd75b' + + var webAppCode = null;//如果是微信,先获取微信code //var $btnLoad = document.getElementById("loading"); window.onload = function () { @@ -232,10 +238,19 @@ var webAppClass = { console.log(res) if (res.code == 0) { document.getElementById("paySuccess").style.display = 'block' - + // + // document.getElementById("sumMoney").innerHTML = (res.data.orderFee/100) + // document.getElementById("discountTip").innerHTML = res.data.couponDescribe + // document.getElementById("discountFee").innerHTML = (res.data.discountFee/100) + // document.getElementById("discountDesc").style.display="none" + // $btnLoad.style.display = "none"; + // $btnObj.style.display = "block"; + // document.getElementById("discountBox").setAttribute('readonly','readonly'); + // flag = 1 } else { alert(res.message) - + // $discountBtn.disabled = false + // document.getElementById("discountTip").innerHTML = res.message } }) } else { @@ -245,7 +260,36 @@ var webAppClass = { //alert(clientType); switch (clientType) { case "wxPay"://微信[内置浏览器] - + //var wxPay = webAppH5.wxPayServer; + //var wxParams = webAppH5.comParams; + //wxParams.orderId = orderID; + //wxParams.payType = 4;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号 + //wxParams.terminalSource = 3;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付 + //debugger; + + // //新增start + // + // var url = " https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20161110163838f231619da20804912345&package=1037687096"; + // //window.location.href = url; + // var wxPay = webAppH5.wxPayServer; + // var wxParams = webAppH5.comParams; + // wxParams.carNumber = getQueryString(window.location).carnum; + // wxParams.orderId = orderID; + // wxParams.payType = 4;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号 + // wxParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付 + // + // wxParams.paySrcType = getQueryString(window.location)._paySrcType;//101停车支付 + // + // wxParams.recordArreaInfos= JSON.stringify([{"orderId":webAppParams.orderId,"orderNotPayFee":_mon*100,"parkId":getQueryString(window.location).parkCode}]); + // + // //新增end + + // if (webAppCode == null || webAppCode == "") {//code检测 + // alertMsg(appState.codeNullTip); + // $btnObj.style.display = "block"; + // $btnLoad.style.display = "none"; + // return; + // } webAppClass.payAjaxJDK(orderID); console.log("wxPay");//微信支付 break; @@ -253,10 +297,26 @@ var webAppClass = { console.log("aliPay"); //订单号 var obj = {}; - + //this.payAjax(url, { orderId: "11111", price: 0.01 }); var aliPay = webAppH5.doPay; - - webAppClass.payAliAjax(root + aliPay, utilParams(1, orderID, '')); + // var aliParams = webAppH5.comParams; + // aliParams.orderId = orderID; + // aliParams.carNumber = getQueryString(window.location).carnum; + // aliParams.payType = 1;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号 + // aliParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付 + // aliParams.paySrcType = getQueryString(window.location)._paySrcType;//101停车支付 + // + // aliParams.recordArreaInfos = JSON.stringify([{ + // "orderId": webAppParams.orderId, + // "orderNotPayFee": _mon * 100, + // "parkId": getQueryString(window.location).parkCode + // }]); + // + + + // webAppClass.payAliAjax(root + aliPay, aliParams); + + webAppClass.payAliAjax(doPayroot + aliPay,utilParams(1,orderID,'')); break; default://第三方浏览器other //默认支付宝 @@ -266,25 +326,41 @@ var webAppClass = { var obj = {}; //this.payAjax(url, { orderId: "11111", price: 0.01 }); var aliPay = webAppH5.doPay; - webAppClass.payAliAjax(root + aliPay, utilParams(1, orderID, '')); + // var aliParams = webAppH5.comParams; + // aliParams.orderId = orderID; + // aliParams.carNumber = getQueryString(window.location).carnum; + // aliParams.payType = 1;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号 + // aliParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付 + // aliParams.paySrcType = getQueryString(window.location)._paySrcType;//101停车支付 + // + // aliParams.recordArreaInfos = JSON.stringify([{ + // "orderId": webAppParams.orderId, + // "orderNotPayFee": _mon * 100, + // "parkId": getQueryString(window.location).parkCode + // }]); + + // webAppClass.payAliAjax(root + aliPay, aliParams); + webAppClass.payAliAjax(doPayroot + aliPay, utilParams(1,orderID,'')); + } else {//微信页面支付 var url = " https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20161110163838f231619da20804912345&package=1037687096"; //window.location.href = url; - var wxPay = webAppH5.wxPayServer; - var wxParams = webAppH5.comParams; - wxParams.carNumber = getQueryString(window.location).carnum; - wxParams.orderId = orderID; - wxParams.payType = 4;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号 - wxParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付 - - wxParams.paySrcType = getQueryString(window.location)._paySrcType;//101停车支付 - - wxParams.recordArreaInfos = JSON.stringify([{ - "orderId": webAppParams.orderId, - "orderNotPayFee": _mon * 100, - "parkId": getQueryString(window.location).parkCode - }]); - webAppClass.payAjax(root + wxPay, wxParams); + var wxPay = webAppH5.doPay; + // var wxParams = webAppH5.comParams; + // wxParams.carNumber = getQueryString(window.location).carnum; + // wxParams.orderId = orderID; + // wxParams.payType = 4;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号 + // wxParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付 + // + // wxParams.paySrcType = getQueryString(window.location)._paySrcType;//101停车支付 + // + // wxParams.recordArreaInfos = JSON.stringify([{ + // "orderId": webAppParams.orderId, + // "orderNotPayFee": _mon * 100, + // "parkId": getQueryString(window.location).parkCode + // }]); + // webAppClass.payAjax(root + wxPay, wxParams); + webAppClass.payAliAjax(doPayroot + wxPay,utilParams(1,orderID,'')); console.log("wxPay"); } break; @@ -296,6 +372,7 @@ var webAppClass = { getCode: function () { var appID = appWxID; var code = getUrlParam('code'); + var local = window.location.href; //alert("local:" + local); if (code == null || code === '') { @@ -403,6 +480,7 @@ var webAppClass = { var btnOBj = $btnObj; //0:页面初始化获取code[webAppCode] var codeParams = { code: webAppCode, appId: appWxID }; + // alert('微信webAppCode'+webAppCode) var openIdUrl = webAppRoot + window.webAppH5.wxGetOpenIdServer; //1:有code获取OpenId @@ -433,10 +511,35 @@ var webAppClass = { //} }, getPayParams: function (openId, orderID) { + // var wxPay = window.webAppH5.wxPayServer; + // var wxParams = window.webAppH5.comParams; + // var _mon = document.getElementById("sumMoney").innerHTML + // wxParams.orderId = orderID; + // wxParams.payType = 4;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号 + // wxParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付 + // //webAppClass.payAjax(root + wxPay, wxParams); + // + // //新增start + // + // wxParams.carNumber = getQueryString(window.location).carnum; + // + // wxParams.paySrcType = getQueryString(window.location)._paySrcType;//101停车支付 + // + // wxParams.recordArreaInfos = JSON.stringify([{ + // "orderId": webAppParams.orderId, + // "orderNotPayFee": _mon * 100, + // "parkId": getQueryString(window.location).parkCode + // }]); - var jsondata = utilParams(2, orderID, openId); - var payParamsUrl = webAppRoot + window.webAppH5.doPay; + //新增end + + // wxParams.openId = openId; + // wxParams.appId = appWxID; + // var jsondata = JSON.stringify(utilParams(2,orderID,openId)); + var jsondata = utilParams(2,orderID,openId); + + var payParamsUrl = webAppRoot + window.webAppH5.doPay; //alert(payParamsUrl);alert(orderID); postRequest(payParamsUrl, jsondata, function (res) { $btnObj.style.display = "block"; @@ -445,9 +548,11 @@ var webAppClass = { if (res.code == 0) {//进场 //alertMsg("出场成功"); if (res.data) { - var tmpObj = res.data; + var tmpObj =JSON.parse(res.data.jsPayRequest) + + console.log(tmpObj); webAppClass.weixinJSBridge(tmpObj); - console.log(JSON.stringify(tmpObj)); + //alert(JSON.stringify(tmpObj)); } else { alertMsg("没有找到返回值"); @@ -467,26 +572,25 @@ var webAppClass = { }, //调用微信内置WeixinJSBridge对象发起支付 - weixinJSBridge: function (data) { - var datas = JSON.parse(data.jsPayRequest); - //datas = JSON.parse(datas); - var timeStamp = datas.timeStamp; - var appId = datas.appId; - var nonceStr = datas.nonceStr; - var package = datas.package; - var paySign = datas.paySign; - var type = datas.signType; - + weixinJSBridge: function (params) { function onBridgeReady() { WeixinJSBridge.invoke( 'getBrandWCPayRequest', { - "appId": appId, //公众号名称,由商户传入 - "timeStamp": timeStamp, //时间戳,自1970年以来的秒数 - "nonceStr": nonceStr, //随机串 - "package": package, - "signType": type, //微信签名方式: - "paySign": paySign //微信签名 + "appId": params.appId, //公众号名称,由商户传入 + "timeStamp": params.timeStamp, //时间戳,自1970年以来的秒数 + "nonceStr": params.nonceStr, //随机串 + "package": params.package, + "signType": params.signType, //微信签名方式: + "paySign": params.paySign //微信签名 }, + //'getBrandWCPayRequest', { + // "appId": appWxID, //公众号名称,由商户传入 + // "timeStamp": "1395712654", //时间戳,自1970年以来的秒数 + // "nonceStr": "e61463f8efa94090b1f366cccfbbb444", //随机串 + // "package": "prepay_id=u802345jgfjsdfgsdg888", + // "signType": "MD5", //微信签名方式: + // "paySign": "70EA570631E4BB79628FBCA90534C63FF7FADD89" //微信签名 + //}, function (res) { //alert(res.err_msg); if (res.err_msg == "get_brand_wcpay_request:ok") { @@ -524,14 +628,16 @@ var webAppClass = { //异步请求-支付宝 payAliAjax: function (url, params) { - var btnOBj = $btnObj; postRequest(url, params, function (res) { btnOBj.style.display = "block"; $btnLoad.style.display = "none"; if (res.code == 0) {//进场 + // alert(res.data) + // alert(JSON.stringify(res.data)) + + // document.write(res.data);//打开支付表单 window.location.href = res.data.h5PayRequest - //document.write(res.data.h5PayRequest);//打开支付表单 } else {//其他情况如【该卡号场内已存在】 console.log(res.message); alertMsg(res.message); @@ -561,17 +667,8 @@ var webAppClass = { $paid = getObjectByID("paid"),//已支付金额 $discountDesc = getObjectByID("discountDesc"),//8折优惠折扣费用 $discountFee = getObjectByID("discountFee");//优惠金额 - $businessFeeWrap = getObjectByID("businessFeeWrap") - $businessFee = getObjectByID("businessFee") - // var businessUsedType = dataselectt[12].split('=')[1]; //商户信息-是否使用商户券,1-使用,0-未使用 - // var businessFee = dataselectt[13].split('=')[1]; //商户减扣金额 - // - // if (businessUsedType == 0) { - // $('.businessFee-wrap').css('display', 'none') - // } else { - // $('.businessFee-wrap').css('display', 'block') - // $('#businessFee').text((businessFee/100).toFixed(2)) - // } + // $businessFeeWrap = getObjectByID("businessFeeWrap") + // $businessFee = getObjectByID("businessFee") if (params != null && params != "") { var price = keepTwoDecimalFull((params.orderFee / 100));//(params.orderFee / 100); @@ -585,17 +682,18 @@ var webAppClass = { $parkName.innerHTML = params.parkName; $inparktime.innerHTML = params.inparktime; $staytime.innerHTML = formatSeconds(params.staytime); - - if (params.businessUsedType == 0) { - $('#businessFeeWrap').css('display', 'none') - } else { - $businessFee.innerHTML = '¥' + (params.businessFee / 100).toFixed(2); - } + // alert(params.parkName) + // // alert(params.businessFee) + // if (params.businessUsedType == 0) { + // $('#businessFeeWrap').css('display', 'none') + // } else { + // var _mon = Number(params.businessFee) + // $businessFee.innerHTML = '¥' + (_mon / 100).toFixed(2); + // } $due.innerHTML = keepTwoDecimalFull((params.due / 100));//停车总费用 $paid.innerHTML = keepTwoDecimalFull(params.paid / 100); $discountFee.innerHTML = params.discountFee;//优惠金额 - // $discountDesc.innerHTML = params.discountDesc; } else { console.log("没有接受到参数"); @@ -604,3 +702,54 @@ var webAppClass = { } + +function utilParams(val,orderID,openId) { + var _orderTotalFee = Number($('#due').text())*100 //总金额 + + var _dis = $('#discountFee').text() + // alert('discountFee内容'+_dis) + var _disMon = _dis.substring(0,_dis.length-1) + var _orderDicountFee = Number(_disMon)*100 //优惠了多少钱 + + // alert('优惠了'+_orderDicountFee) + + + var _orderActFee = _orderTotalFee + _orderDicountFee //实收多少钱 + + + // var _orderActFee = Number($('#sumMoney').text())*100 //实收多少钱 + + + var jsondata; + if(_orderDicountFee > 0){ + jsondata = { + orderBigType:100, + payOrderType:101, + rltOrderId:orderID, + payType:val, + terminalSource:7, + orderActFee:_orderActFee, + orderTotalFee:_orderTotalFee, + orderDicountFee:_orderDicountFee, + payUserId:openId, + terminalOS:isAndroid?'AND':'IOS', + couponType:1, //优惠类型 + couponCode:$('#discountBox').val(), + }; + }else{ + jsondata = { + orderBigType:100, + payOrderType:101, + rltOrderId:orderID, + payType:val, + terminalSource:7, + orderActFee:_orderActFee, + orderTotalFee:_orderTotalFee, + payUserId:openId, + terminalOS:isAndroid?'AND':'IOS', + }; + } + return jsondata +} + + diff --git a/js/url.js b/js/url.js index d3551b6..1cfa381 100644 --- a/js/url.js +++ b/js/url.js @@ -87,9 +87,9 @@ mUrl.getJx = function () { // var cepath = 'http://39.98.54.240:8090'; -// var cepath = 'http://pay.service.huangshiparking.com'; +var cepath = 'http://pay.service.huangshiparking.com'; // http://pay.service.renniting.cn -var cepath = 'http://39.98.54.240:8090' +// var cepath = 'http://39.98.54.240:8090' // http://app.api.dyszt.com:8090 // var cepath = 'http://app.api.dyszt.com:8090'; // https://pay.service.rnting.com//'http://47.96.41.38:8090'; diff --git a/list.html b/list.html index 193d723..4bef046 100644 --- a/list.html +++ b/list.html @@ -244,6 +244,6 @@ } })(); - + diff --git a/listnew.html b/listnew.html index 46d5592..5887361 100644 --- a/listnew.html +++ b/listnew.html @@ -264,6 +264,6 @@ } })(); - + -- libgit2 0.21.4