choosePay.php 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <div name="payMask" style="position:fixed;left:0;top:0;width:100%;height:100%;z-index:990;background-color:gray;filter:alpha(opacity=10);opacity:0.8;display:none;"><img style="float:right;width:60%;" src="/images/goods/alipayHint.png" /></div>
  2. <div class="lay-til J_MenuBody" id="J_SubHead">
  3. <div class="header-con">
  4. <i class="arrow-back"></i>
  5. <h1>成功下单</h1>
  6. </div>
  7. </div>
  8. <div class="lay-body" id="J_MainBody">
  9. <div class="order-success">
  10. <div class="os-header os-header-wait">
  11. <div class="container" style="background:#7BB0B8;">
  12. <i class="u-wait"></i>
  13. <h1 class="os-header-h1" style="padding-top:68px;">等待支付</h1>
  14. </div>
  15. </div>
  16. <div class="os-info">
  17. <?php if($asset['balance'] > 0 && $this->context->isLogin){?>
  18. <p>您的帐户余额:¥<?= $asset['balance'] ?></p>
  19. <?php } ?>
  20. <p>订单号:<?=$orderId ?></p>
  21. <p>金额:¥<?=$totalFee ?></p>
  22. </div>
  23. <?php if($asset['balance'] > 0 && $this->context->isLogin){ ?>
  24. <div class="os-btn" style="margin-bottom:15px;">
  25. <a name="balancePay" style="padding:10px 10px;width:60%;" href="javascript:void(0)">余额支付</a>
  26. </div>
  27. <?php } ?>
  28. <?php if($this->context->isWeixin){?>
  29. <div class="os-btn" style="margin-bottom:15px;">
  30. <a name="weixinPay" style="padding:10px 10px;width:60%;background:#06bf04" href="javascript:void(0)" >微信支付</a>
  31. </div>
  32. <div class="os-btn" style="margin-bottom:15px;">
  33. <a name="aliPayInWeixin" style="padding:10px 10px;width:60%;background:#38f" href="javascript:void(0)" >支付宝支付</a>
  34. </div>
  35. <?php }else{ ?>
  36. <div class="os-btn" style="margin-bottom:15px;">
  37. <a name="aliPay" style="padding:10px 10px;width:60%;background:#38f" href="javascript:void(0)" >支付宝支付</a>
  38. </div>
  39. <?php } ?>
  40. <p class="os-ps">30分钟内订单将为您保留,请尽快付款</p>
  41. <p class="os-footer">&nbsp;</p>
  42. </div>
  43. </div>
  44. </div>
  45. <div name="payBeCenter" class="xhBeCenterBox">
  46. <div class="lay-body" id="J_MainBody" style="padding-top:0px;">
  47. <div class="reg">
  48. <div style="padding-top:5px;margin-bottom:5px;"><span name="close" style="display:block;float:right;margin-right:10px;color:white;font-size:25px;">×</span></div>
  49. <div class="reg-form">
  50. <div class="m-form reg-phone">
  51. <input type="password" name="payPassword" class="m-full-txt reg-phone-number J_Phone" placeholder="支付密码">
  52. </div>
  53. <div style="margin:0 5%;font-size:12px;color:red;" name="payMention"></div>
  54. <div class="login-btn clearfix">
  55. <button type="button" name="makeSureToPay">确认</button>
  56. <div style="font-size:12px;padding-top:4px;padding-bottom:4px;margin-top:12px;">
  57. <?php if(!empty($user['payPassword'])){ ?>
  58. &nbsp;
  59. <?php }else{ ?>
  60. 您还没有设置支付密码哦,<a style="font-size:12px;" href="/center/password?account=<?= $this->context->merchant['id'] ?>">点此设置</a>
  61. <?php } ?>
  62. </div>
  63. </div>
  64. </div>
  65. </div>
  66. </div>
  67. </div>
  68. <script type="text/javascript">
  69. //微信里的支付宝支付提示
  70. $("a[name=aliPayInWeixin]").click(function(){
  71. $("div[name=payMask]").css("display","block");
  72. });
  73. $("div[name=payMask]").click(function(){
  74. $(this).css("display","none");
  75. });
  76. $("a[name=aliPay]").click(function(){
  77. window.location.href="/mobile/order-alipay?account=<?= $this->context->merchant['id'] ?>&orderId=<?= $orderId ?>";
  78. });
  79. var payBeCenter = $("div[name=payBeCenter]");
  80. var entireSiteBeCenterMask = $("div[name=entireSiteBeCenterMask]");
  81. var payHeight = payBeCenter.outerHeight();//取div标签的高宽
  82. var payWidth = payBeCenter.outerWidth();
  83. var wWidth = $(window).width();//取浏览器高宽
  84. var wHeight = $(window).height();
  85. var scrollHeight = $(document).scrollTop();//获取当前窗口距离页面顶部高度
  86. var lH = (wHeight - payHeight) / 2 + scrollHeight;
  87. var lW = (wWidth - payWidth) /2;
  88. payBeCenter.css({"z-index":998,"position":"absolute","left":lW,"top":lH,});
  89. var appId,nonceStr,package,paySign,signType,timeStamp;
  90. function jsApiCall()
  91. {
  92. WeixinJSBridge.invoke(
  93. 'getBrandWCPayRequest', {
  94. "appId":appId, //公众号名称,由商户传入
  95. "timeStamp":timeStamp, //时间戳,自1970年以来的秒数
  96. "nonceStr" : nonceStr, //随机串
  97. "package" : package,
  98. "signType" : signType, //微信签名方式:
  99. "paySign" : paySign //微信签名
  100. },
  101. function(res){
  102. WeixinJSBridge.log(res.err_msg);
  103. alert(res.err_code+'|'+res.err_desc+'|'+res.err_msg);
  104. if(res.err_msg == 'get_brand_wcpay_request:ok'){
  105. window.location.href='/mobile/success?account=<?= $this->context->merchant['id'] ?>&orderId=<?= $orderId ?>';
  106. }
  107. }
  108. );
  109. }
  110. //关闭余额支付弹框
  111. $("span[name=close]").click(function(){
  112. entireSiteBeCenterMask.css("display","none");
  113. payBeCenter.css("display","none");
  114. $('html').removeClass('noscroll');//有浮层不允许底部滚动
  115. });
  116. //余额支付弹框
  117. $("a[name=balancePay]").click(function(){
  118. entireSiteBeCenterMask.css("display","block");
  119. payBeCenter.css("display","block");
  120. $('html').addClass('noscroll');//有浮层不允许底部滚动
  121. <?php if(!empty($user['payPassword'])){ ?>
  122. $("input[name=payPassword]").val('').focus();
  123. <?php } ?>
  124. });
  125. //确认余额支付
  126. $("button[name=makeSureToPay]").click(function(){
  127. var payPassword = $("input[name=payPassword]").val();
  128. var data = 'orderId=<?= $orderId ?>&payPassword='+payPassword+'&_csrf=<?= Yii::$app->request->csrfToken ?>&couponId=<?= $couponId ?>';
  129. $.ajax({type:"POST",url:'/mobile/balance-pay?account=<?= $this->context->merchant['id'] ?>',data:data,dataType:'json',async:false,success:function(data){
  130. xhPopMsg(data.msg,1800);
  131. if(data.code == 'A0001'){
  132. setTimeout(function(){
  133. window.location.href='/mobile/success?account=<?= $this->context->merchant['id'] ?>&orderId=<?= $orderId ?>';
  134. },1000);
  135. }
  136. }});
  137. });
  138. //微信支付
  139. $("a[name=weixinPay]").click(function(){
  140. var couponId = 0;
  141. var data = 'orderId=<?= $orderId ?>&_csrf=<?= Yii::$app->request->csrfToken ?>&couponId=<?= $couponId ?>';
  142. $.ajax({
  143. type:"POST",
  144. url:'/mobile/get-wx-params?account=<?= $this->context->merchant['id'] ?>',
  145. data:data,
  146. dataType:'json',
  147. async:false,success:function(data){
  148. if(data.code == 'A0001'){
  149. appId = data.data.appId;
  150. nonceStr = data.data.nonceStr;
  151. package = data.data.package;
  152. paySign = data.data.paySign;
  153. signType = data.data.signType;
  154. timeStamp = data.data.timeStamp;
  155. if (typeof WeixinJSBridge == "undefined"){
  156. if( document.addEventListener ){
  157. document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);
  158. }else if (document.attachEvent){
  159. document.attachEvent('WeixinJSBridgeReady', jsApiCall);
  160. document.attachEvent('onWeixinJSBridgeReady', jsApiCall);
  161. }
  162. }else{
  163. jsApiCall();//调用微信JS api 支付
  164. }
  165. }else{
  166. xhPopMsg(data.msg,1800);
  167. }
  168. }
  169. });
  170. });
  171. </script>