Commit dbd86cb20e35fda390901d676d9dadec5741f124

Authored by Andy
1 parent a79a8c53

add 0元支付功能

billCodePay.html
@@ -68,6 +68,19 @@ @@ -68,6 +68,19 @@
68 font-size: 14px; 68 font-size: 14px;
69 color: #EB453B; 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 </style> 84 </style>
72 </head> 85 </head>
73 <body> 86 <body>
@@ -130,7 +143,7 @@ @@ -130,7 +143,7 @@
130 <img src="img/loading.gif" id="loading" style="display: none;" /> 143 <img src="img/loading.gif" id="loading" style="display: none;" />
131 </footer> 144 </footer>
132 <section id="payTip" style="padding: 5px;margin-top:5px; color: #3385ff; font-size: 14px; "></section> 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 This HTML file is a template. 148 This HTML file is a template.
136 If you open it directly in the browser, you will see an empty page. 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,6 +48,9 @@ webAppH5.aliPayServer = &quot;/alipay/aliH5Pay&quot;;
48 //h5-支付兑换优惠券 48 //h5-支付兑换优惠券
49 webAppH5.useCouponQueryFee = "/keyTopQrCodeInOutPark/useCouponQueryFee"; 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,6 +66,19 @@
66 font-size: 14px; 66 font-size: 14px;
67 color: #EB453B; 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 </style> 82 </style>
70 </head> 83 </head>
71 <body> 84 <body>
@@ -127,7 +140,7 @@ @@ -127,7 +140,7 @@
127 <img src="img/loading.gif" id="loading" style="display: none;" /> 140 <img src="img/loading.gif" id="loading" style="display: none;" />
128 </footer> 141 </footer>
129 <!--<section id="payTip" style="padding: 5px;margin-top:5px; color: #3385ff; font-size: 14px; "></section>--> 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 </body> 144 </body>
132 145
133 </html> 146 </html>
js/billCodePay.js
@@ -8,7 +8,11 @@ var $btnObj = null; @@ -8,7 +8,11 @@ var $btnObj = null;
8 var $btnLoad = null; 8 var $btnLoad = null;
9 var webAppCode = null;//如果是微信,先获取微信code 9 var webAppCode = null;//如果是微信,先获取微信code
10 var flag = 0; 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 //var root = document.getElementById("root"); 16 //var root = document.getElementById("root");
13 $btnObj = document.getElementById("btnPayOK"); 17 $btnObj = document.getElementById("btnPayOK");
14 $btnLoad = document.getElementById("loading"); 18 $btnLoad = document.getElementById("loading");
@@ -130,7 +134,45 @@ var webAppClass = { @@ -130,7 +134,45 @@ var webAppClass = {
130 //[方式二,倒计时支付] 134 //[方式二,倒计时支付]
131 $btnObj.style.display = "none"; 135 $btnObj.style.display = "none";
132 $btnLoad.style.display = "block"; 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 codediscountClick:function(tmpObj){ 178 codediscountClick:function(tmpObj){
js/dynCodePay.js
@@ -9,6 +9,10 @@ var $btnObj = null; @@ -9,6 +9,10 @@ var $btnObj = null;
9 var $btnLoad = null; 9 var $btnLoad = null;
10 var webAppCode = null;//如果是微信,先获取微信code 10 var webAppCode = null;//如果是微信,先获取微信code
11 // var flag = 0; 11 // var flag = 0;
  12 +function trim(str) {
  13 +
  14 + return str.replace(/(^\s*)|(\s*$)/g, "");
  15 +}
12 window.onload = function () { 16 window.onload = function () {
13 $btnObj = getObjectByID("btnPayOK"); 17 $btnObj = getObjectByID("btnPayOK");
14 $btnLoad = getObjectByID("loading"); 18 $btnLoad = getObjectByID("loading");
@@ -108,8 +112,46 @@ var webAppClass = { @@ -108,8 +112,46 @@ var webAppClass = {
108 if (webAppParams == null) { 112 if (webAppParams == null) {
109 alertMsg("暂无订单信息");return; 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,43 +202,63 @@ var webAppClass = {
202 okPay: function (params) { 202 okPay: function (params) {
203 var orderID = params.orderId;//订单号 203 var orderID = params.orderId;//订单号
204 //var moneyID = document.getElementById("sumMoney").innerHTML = webAppParams.orderId;//订单号 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 console.log("aliPay"); 262 console.log("aliPay");
243 //订单号 263 //订单号
244 var obj = {}; 264 var obj = {};
@@ -250,19 +270,36 @@ var webAppClass = { @@ -250,19 +270,36 @@ var webAppClass = {
250 aliParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付 270 aliParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付
251 aliParams.paySrcType = 101;//101停车支付 271 aliParams.paySrcType = 101;//101停车支付
252 webAppClass.payAliAjax(root + aliPay, aliParams); 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 getCode: function () { 305 getCode: function () {
pay.html
@@ -68,6 +68,19 @@ @@ -68,6 +68,19 @@
68 font-size: 14px; 68 font-size: 14px;
69 color: #EB453B; 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 </style> 84 </style>
72 </head> 85 </head>
73 <body> 86 <body>
@@ -129,7 +142,7 @@ @@ -129,7 +142,7 @@
129 <img src="img/loading.gif" id="loading" style="display: none;" /> 142 <img src="img/loading.gif" id="loading" style="display: none;" />
130 </footer> 143 </footer>
131 <section id="payTip" style="padding: 10px;margin-top:5px; color: #3385ff; font-size: 14px; "></section> 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 This HTML file is a template. 147 This HTML file is a template.
135 If you open it directly in the browser, you will see an empty page. 148 If you open it directly in the browser, you will see an empty page.