Commit dbd86cb20e35fda390901d676d9dadec5741f124

Authored by Andy
1 parent a79a8c53

add 0元支付功能

billCodePay.html
... ... @@ -68,6 +68,19 @@
68 68 font-size: 14px;
69 69 color: #EB453B;
70 70 }
  71 + .paySuccess{
  72 + width: 100%;
  73 + height: 100%;
  74 + text-align: center;
  75 + line-height: 100px;
  76 + font-size: 20px;
  77 + color: #fff;
  78 + background: rgba(0,0,0,.7);
  79 + position: fixed;
  80 + top:0;
  81 + left: 0;
  82 + display: none;
  83 + }
71 84 </style>
72 85 </head>
73 86 <body>
... ... @@ -130,7 +143,7 @@
130 143 <img src="img/loading.gif" id="loading" style="display: none;" />
131 144 </footer>
132 145 <section id="payTip" style="padding: 5px;margin-top:5px; color: #3385ff; font-size: 14px; "></section>
133   -
  146 + <div class="paySuccess" id="paySuccess">支付成功,请立即离场</div>
134 147 <!--
135 148 This HTML file is a template.
136 149 If you open it directly in the browser, you will see an empty page.
... ...
config.js
... ... @@ -48,6 +48,9 @@ webAppH5.aliPayServer = &quot;/alipay/aliH5Pay&quot;;
48 48 //h5-支付兑换优惠券
49 49 webAppH5.useCouponQueryFee = "/keyTopQrCodeInOutPark/useCouponQueryFee";
50 50  
  51 +/*0元支付*/
  52 +webAppH5.zeroPayServer = "/appAccountPay/zeroPay";
  53 +
51 54  
52 55  
53 56  
... ...
dynCodePay.html
... ... @@ -66,6 +66,19 @@
66 66 font-size: 14px;
67 67 color: #EB453B;
68 68 }
  69 + .paySuccess{
  70 + width: 100%;
  71 + height: 100%;
  72 + text-align: center;
  73 + line-height: 100px;
  74 + font-size: 20px;
  75 + color: #fff;
  76 + background: rgba(0,0,0,.7);
  77 + position: fixed;
  78 + top:0;
  79 + left: 0;
  80 + display: none;
  81 + }
69 82 </style>
70 83 </head>
71 84 <body>
... ... @@ -127,7 +140,7 @@
127 140 <img src="img/loading.gif" id="loading" style="display: none;" />
128 141 </footer>
129 142 <!--<section id="payTip" style="padding: 5px;margin-top:5px; color: #3385ff; font-size: 14px; "></section>-->
130   -
  143 + <div class="paySuccess" id="paySuccess">支付成功,请立即离场</div>
131 144 </body>
132 145  
133 146 </html>
... ...
js/billCodePay.js
... ... @@ -8,7 +8,11 @@ var $btnObj = null;
8 8 var $btnLoad = null;
9 9 var webAppCode = null;//如果是微信,先获取微信code
10 10 var flag = 0;
11   -window.onload = function () {
  11 +function trim(str) {
  12 +
  13 + return str.replace(/(^\s*)|(\s*$)/g, "");
  14 +}
  15 + window.onload = function () {
12 16 //var root = document.getElementById("root");
13 17 $btnObj = document.getElementById("btnPayOK");
14 18 $btnLoad = document.getElementById("loading");
... ... @@ -130,7 +134,45 @@ var webAppClass = {
130 134 //[方式二,倒计时支付]
131 135 $btnObj.style.display = "none";
132 136 $btnLoad.style.display = "block";
133   - webAppClass.okPay(webAppParams);//唤醒支付
  137 + var val = document.getElementById("sumMoney").innerText;
  138 + var couponPersonId = trim(document.getElementById("discountBox").value);
  139 + var url = webAppRoot + window.webAppH5.zeroPayServer;
  140 + var discountParams = {
  141 + payOrderType : 101,
  142 + terminalSource:7,
  143 + orderId: webAppParams.orderId,
  144 + couponPersonId:couponPersonId,
  145 + app_id: '123',
  146 + sign_type: '123',
  147 + salt: '123',
  148 + deviceInfo: '123',
  149 + sign: '123',
  150 + }
  151 + if(val == '0.00' || val=='0'){
  152 + postRequest(url, discountParams, function (res) {
  153 + console.log(res)
  154 + if(res.code==0){
  155 + document.getElementById("paySuccess").style.display = 'block'
  156 + //
  157 + // document.getElementById("sumMoney").innerHTML = (res.data.orderFee/100)
  158 + // document.getElementById("discountTip").innerHTML = res.data.couponDescribe
  159 + // document.getElementById("discountFee").innerHTML = (res.data.discountFee/100)
  160 + // document.getElementById("discountDesc").style.display="none"
  161 + // $btnLoad.style.display = "none";
  162 + // $btnObj.style.display = "block";
  163 + // document.getElementById("discountBox").setAttribute('readonly','readonly');
  164 + // flag = 1
  165 + }else{
  166 + alert(res.message)
  167 + // $discountBtn.disabled = false
  168 + // document.getElementById("discountTip").innerHTML = res.message
  169 + }
  170 + })
  171 + }else{
  172 + webAppClass.okPay(webAppParams);//唤醒支付
  173 + }
  174 +
  175 +
134 176 },
135 177 //优惠券兑换
136 178 codediscountClick:function(tmpObj){
... ...
js/dynCodePay.js
... ... @@ -9,6 +9,10 @@ var $btnObj = null;
9 9 var $btnLoad = null;
10 10 var webAppCode = null;//如果是微信,先获取微信code
11 11 // var flag = 0;
  12 +function trim(str) {
  13 +
  14 + return str.replace(/(^\s*)|(\s*$)/g, "");
  15 +}
12 16 window.onload = function () {
13 17 $btnObj = getObjectByID("btnPayOK");
14 18 $btnLoad = getObjectByID("loading");
... ... @@ -108,8 +112,46 @@ var webAppClass = {
108 112 if (webAppParams == null) {
109 113 alertMsg("暂无订单信息");return;
110 114 }
111   - //支付方式判断
112   - webAppClass.okPay(webAppParams);
  115 + $btnObj.style.display = "none";
  116 + $btnLoad.style.display = "block";
  117 + var val = document.getElementById("sumMoney").innerText;
  118 + var couponPersonId = trim(document.getElementById("discountBox").value);
  119 + var url = webAppRoot + window.webAppH5.zeroPayServer;
  120 + var discountParams = {
  121 + payOrderType : 101,
  122 + terminalSource:7,
  123 + orderId: webAppParams.orderId,
  124 + couponPersonId:couponPersonId,
  125 + app_id: '123',
  126 + sign_type: '123',
  127 + salt: '123',
  128 + deviceInfo: '123',
  129 + sign: '123',
  130 + }
  131 + if(val == '0.00' || val=='0'){
  132 + postRequest(url, discountParams, function (res) {
  133 + console.log(res)
  134 + if(res.code==0){
  135 + document.getElementById("paySuccess").style.display = 'block'
  136 + //
  137 + // document.getElementById("sumMoney").innerHTML = (res.data.orderFee/100)
  138 + // document.getElementById("discountTip").innerHTML = res.data.couponDescribe
  139 + // document.getElementById("discountFee").innerHTML = (res.data.discountFee/100)
  140 + // document.getElementById("discountDesc").style.display="none"
  141 + // $btnLoad.style.display = "none";
  142 + // $btnObj.style.display = "block";
  143 + // document.getElementById("discountBox").setAttribute('readonly','readonly');
  144 + // flag = 1
  145 + }else{
  146 + alert(res.message)
  147 + // $discountBtn.disabled = false
  148 + // document.getElementById("discountTip").innerHTML = res.message
  149 + }
  150 + })
  151 + }else{
  152 + webAppClass.okPay(webAppParams);//唤醒支付
  153 + }
  154 +
113 155 },
114 156  
115 157 //确定支付
... ...
js/pay.js
... ... @@ -202,43 +202,63 @@ var webAppClass = {
202 202 okPay: function (params) {
203 203 var orderID = params.orderId;//订单号
204 204 //var moneyID = document.getElementById("sumMoney").innerHTML = webAppParams.orderId;//订单号
205   - var root = webAppRoot;
206   - //第一首先判断当前哪种浏览器方式[微信内置、支付宝内置、第三方浏览器]
207   - var clientType = clientBrowserEx();
208   - //alert(clientType);
209   - switch (clientType) {
210   - case "wxPay"://微信[内置浏览器]
211   - //var wxPay = webAppH5.wxPayServer;
212   - //var wxParams = webAppH5.comParams;
213   - //wxParams.orderId = orderID;
214   - //wxParams.payType = 4;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号
215   - //wxParams.terminalSource = 3;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付
216   - //debugger;
217   - if (webAppCode == null || webAppCode == "") {//code检测
218   - alertMsg(appState.codeNullTip);
219   - $btnObj.style.display = "block";
220   - $btnLoad.style.display = "none";
221   - return;
  205 + var val = document.getElementById("sumMoney").innerText;
  206 + var couponPersonId = document.getElementById("discountBox").value;
  207 + var url = webAppRoot + window.webAppH5.zeroPayServer;
  208 + var discountParams = {
  209 + payOrderType : 101,
  210 + terminalSource:7,
  211 + orderId: webAppParams.orderId,
  212 + couponPersonId:couponPersonId,
  213 + app_id: '123',
  214 + sign_type: '123',
  215 + salt: '123',
  216 + deviceInfo: '123',
  217 + sign: '123',
  218 + }
  219 + if(val == '0.00' || val=='0'){
  220 + postRequest(url, discountParams, function (res) {
  221 + console.log(res)
  222 + if(res.code==0){
  223 + document.getElementById("paySuccess").style.display = 'block'
  224 + //
  225 + // document.getElementById("sumMoney").innerHTML = (res.data.orderFee/100)
  226 + // document.getElementById("discountTip").innerHTML = res.data.couponDescribe
  227 + // document.getElementById("discountFee").innerHTML = (res.data.discountFee/100)
  228 + // document.getElementById("discountDesc").style.display="none"
  229 + // $btnLoad.style.display = "none";
  230 + // $btnObj.style.display = "block";
  231 + // document.getElementById("discountBox").setAttribute('readonly','readonly');
  232 + // flag = 1
  233 + }else{
  234 + alert(res.message)
  235 + // $discountBtn.disabled = false
  236 + // document.getElementById("discountTip").innerHTML = res.message
222 237 }
223   - webAppClass.payAjaxJDK(orderID);
224   - console.log("wxPay");//微信支付
225   - break;
226   - case "aliPay"://支付宝
227   - console.log("aliPay");
228   - //订单号
229   - var obj = {};
230   - //this.payAjax(url, { orderId: "11111", price: 0.01 });
231   - var aliPay = webAppH5.aliPayServer;
232   - var aliParams = webAppH5.comParams;
233   - aliParams.orderId = orderID;
234   - aliParams.payType = 1;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号
235   - aliParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付
236   - aliParams.paySrcType = 101;//101停车支付
237   - webAppClass.payAliAjax(root + aliPay, aliParams);
238   - break;
239   - default://第三方浏览器other
240   - //默认支付宝
241   - if (document.getElementById("aliPay").checked) {
  238 + })
  239 + }else {
  240 + var root = webAppRoot;
  241 + //第一首先判断当前哪种浏览器方式[微信内置、支付宝内置、第三方浏览器]
  242 + var clientType = clientBrowserEx();
  243 + //alert(clientType);
  244 + switch (clientType) {
  245 + case "wxPay"://微信[内置浏览器]
  246 + //var wxPay = webAppH5.wxPayServer;
  247 + //var wxParams = webAppH5.comParams;
  248 + //wxParams.orderId = orderID;
  249 + //wxParams.payType = 4;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号
  250 + //wxParams.terminalSource = 3;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付
  251 + //debugger;
  252 + if (webAppCode == null || webAppCode == "") {//code检测
  253 + alertMsg(appState.codeNullTip);
  254 + $btnObj.style.display = "block";
  255 + $btnLoad.style.display = "none";
  256 + return;
  257 + }
  258 + webAppClass.payAjaxJDK(orderID);
  259 + console.log("wxPay");//微信支付
  260 + break;
  261 + case "aliPay"://支付宝
242 262 console.log("aliPay");
243 263 //订单号
244 264 var obj = {};
... ... @@ -250,19 +270,36 @@ var webAppClass = {
250 270 aliParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付
251 271 aliParams.paySrcType = 101;//101停车支付
252 272 webAppClass.payAliAjax(root + aliPay, aliParams);
253   - } else {//微信页面支付
254   - var url = " https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20161110163838f231619da20804912345&package=1037687096";
255   - //window.location.href = url;
256   - var wxPay = webAppH5.wxPayServer;
257   - var wxParams = webAppH5.comParams;
258   - wxParams.orderId = orderID;
259   - wxParams.payType = 4;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号
260   - wxParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付
261   - webAppClass.payAjax(root + wxPay, wxParams);
262   - console.log("wxPay");
263   - }
264   - break;
  273 + break;
  274 + default://第三方浏览器other
  275 + //默认支付宝
  276 + if (document.getElementById("aliPay").checked) {
  277 + console.log("aliPay");
  278 + //订单号
  279 + var obj = {};
  280 + //this.payAjax(url, { orderId: "11111", price: 0.01 });
  281 + var aliPay = webAppH5.aliPayServer;
  282 + var aliParams = webAppH5.comParams;
  283 + aliParams.orderId = orderID;
  284 + aliParams.payType = 1;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号
  285 + aliParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付
  286 + aliParams.paySrcType = 101;//101停车支付
  287 + webAppClass.payAliAjax(root + aliPay, aliParams);
  288 + } else {//微信页面支付
  289 + var url = " https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20161110163838f231619da20804912345&package=1037687096";
  290 + //window.location.href = url;
  291 + var wxPay = webAppH5.wxPayServer;
  292 + var wxParams = webAppH5.comParams;
  293 + wxParams.orderId = orderID;
  294 + wxParams.payType = 4;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号
  295 + wxParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付
  296 + webAppClass.payAjax(root + wxPay, wxParams);
  297 + console.log("wxPay");
  298 + }
  299 + break;
  300 + }
265 301 }
  302 +
266 303 },
267 304  
268 305 getCode: function () {
... ...
pay.html
... ... @@ -68,6 +68,19 @@
68 68 font-size: 14px;
69 69 color: #EB453B;
70 70 }
  71 + .paySuccess{
  72 + width: 100%;
  73 + height: 100%;
  74 + text-align: center;
  75 + line-height: 100px;
  76 + font-size: 20px;
  77 + color: #fff;
  78 + background: rgba(0,0,0,.7);
  79 + position: fixed;
  80 + top:0;
  81 + left: 0;
  82 + display: none;
  83 + }
71 84 </style>
72 85 </head>
73 86 <body>
... ... @@ -129,7 +142,7 @@
129 142 <img src="img/loading.gif" id="loading" style="display: none;" />
130 143 </footer>
131 144 <section id="payTip" style="padding: 10px;margin-top:5px; color: #3385ff; font-size: 14px; "></section>
132   -
  145 + <div class="paySuccess" id="paySuccess">支付成功,请立即离场</div>
133 146 <!--
134 147 This HTML file is a template.
135 148 If you open it directly in the browser, you will see an empty page.
... ...