Ver Fonte

个人网银支付

zhengjinyi há 4 anos atrás
pai
commit
9f3546a80b

+ 2 - 0
src/main/resources/static/css/pay/caimei-pay.css

@@ -68,6 +68,8 @@
     .pay-ment .pay-record .record-content .record-li .record-tb:last-child{text-align: right;color: #999999;}
     .pay-bank{width: 100%;height: auto;padding: 0 0 8px 0;background: #FFFFFF;margin-top: 20px;float: left;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07);}
     .pay-bank .bank-title{width: 100%;line-height: 54px;font-size: 18px;color: #333333;float: left;padding-left: 20px;box-sizing: border-box;}
+    .pay-bank .bank-title span.color{color: #e15616;font-size: 16px;}
+    .pay-bank .bank-title span.big{font-size: 24px;}
     .pay-bank .bank-list{width: 100%;height: auto;padding-left: 8px;}
     .pay-bank .bank-list a{width: 124px;height: 44px;;display: block;float: left;margin: 12px;border: 1px solid #FFFFFF;position: relative;border-radius: 2px;}
     .pay-bank .bank-list a img{width: 100%;height: 100%;display: block;}

+ 6 - 0
src/main/resources/static/js/common/serviceapi/pay.service.js

@@ -51,5 +51,11 @@ var PayApi = {
                 .then(function(res){
                     callback(res);
                 });
+        },
+        PayOrderLinkData: function (params, callback) {//网银支付重定向数据初始化
+            Http.AjaxService({ url:'/PayOrder/linkData', type:'GET', data:params, json:true})
+                .then(function(res){
+                    callback(res);
+                });
         }
 };

+ 113 - 62
src/main/resources/static/js/pay/caimei-pay.js

@@ -10,28 +10,60 @@ var payContainer = new Vue({
             PAY_CODE:'',//链接状态
             PAY_ORDERID:'',//主订单ID
             PAY_UNPAIDAMOUNT:0,//本次支付金额
-            PAY_TIME:''//链接失效时间
+            PAY_TIME:'',//链接失效时间
+            PAY_LINKLOGO:'',
+            PAY_PAYLINKTYPE:'',
+            PAY_USERTYPE:'',//网银支付类型
+            PAY_PAYLINKTYPETEXT:'',//文案
         },
-        bankData:[
-            {imgUrl:'/img/pay/iconbank-01@2x.png',bankName:'中国工商银行',bankNum:'ICBC_B2B'},
-            {imgUrl:'/img/pay/iconbank-02@2x.png',bankName:'招商银行',bankNum:'CMBCHINA_B2B'},
-            {imgUrl:'/img/pay/iconbank-03@2x.png',bankName:'中国建设银行',bankNum:'CCB_B2B'},
-            {imgUrl:'/img/pay/iconbank-04@2x.png',bankName:'交通银行',bankNum:'BOCO_B2B'},
-            {imgUrl:'/img/pay/iconbank-05@2x.png',bankName:'兴业银行',bankNum:'CIB_B2B'},
-            {imgUrl:'/img/pay/iconbank-06@2x.png',bankName:'中国民生银行',bankNum:'CMBC_B2B'},
-            {imgUrl:'/img/pay/iconbank-07@2x.png',bankName:'中国广发银行',bankNum:'CEB_B2B'},
-            {imgUrl:'/img/pay/iconbank-08@2x.png',bankName:'中国银行',bankNum:'BOC_B2B'},
-            {imgUrl:'/img/pay/iconbank-09@2x.png',bankName:'平安银行',bankNum:'SZPA_B2B'},
-            {imgUrl:'/img/pay/iconbank-10@2x.png',bankName:'中信银行',bankNum:'ECITIC_B2B'},
-            {imgUrl:'/img/pay/iconbank-11@2x.png',bankName:'浦发银行',bankNum:'SPDB_B2B'},
-            {imgUrl:'/img/pay/iconbank-12@2x.png',bankName:'华夏银行',bankNum:'HXB_B2B'},
-            {imgUrl:'/img/pay/iconbank-13@2x.png',bankName:'北京银行',bankNum:'BCCB_B2B'},
-            {imgUrl:'/img/pay/iconbank-14@2x.png',bankName:'中国农业银行',bankNum:'ABC_B2B'},
-            {imgUrl:'/img/pay/iconbank-15@2x.png',bankName:'中国邮政储蓄银行',bankNum:'PSBC_B2B'},
-            {imgUrl:'/img/pay/iconbank-16@2x.png',bankName:'徽商银行',bankNum:'HSB_B2B'},
-            {imgUrl:'/img/pay/iconbank-17@2x.png',bankName:'青岛银行',bankNum:'QDYH_B2B'},
-            {imgUrl:'/img/pay/iconbank-18@2x.png',bankName:'浙商银行',bankNum:'CZ_B2B'},
-            {imgUrl:'/img/pay/iconbank-19@2x.png',bankName:'齐鲁银行',bankNum:'QLYH_B2B'},
+        B2BbankData:[
+            {imgUrl:'/img/pay/iconbank-01@2x.png',bankName:'中国工商银行',B2bNum:'ICBC_B2B',B2cNum:'ICBC_B2C'},
+            {imgUrl:'/img/pay/iconbank-02@2x.png',bankName:'招商银行',B2bNum:'CMBCHINA_B2B',B2cNum:'CMBCHINA_B2C'},
+            {imgUrl:'/img/pay/iconbank-03@2x.png',bankName:'中国建设银行',B2bNum:'CCB_B2B',B2cNum:'CCB_B2C'},
+            {imgUrl:'/img/pay/iconbank-05@2x.png',bankName:'兴业银行',B2bNum:'CIB_B2B',B2cNum:'CIB_B2C'},
+            {imgUrl:'/img/pay/iconbank-06@2x.png',bankName:'中国民生银行',B2bNum:'CMBC_B2B',B2cNum:'CMBC_B2C'},
+            {imgUrl:'/img/pay/iconbank-07@2x.png',bankName:'中国光大银行',B2bNum:'CEB_B2B',B2cNum:'CEB_B2C'},
+            {imgUrl:'/img/pay/iconbank-08@2x.png',bankName:'中国银行',B2bNum:'BOC_B2B',B2cNum:'BOC_B2C'},
+            {imgUrl:'/img/pay/iconbank-09@2x.png',bankName:'平安银行',B2bNum:'SZPA_B2B',B2cNum:'SZPA_B2C'},
+            {imgUrl:'/img/pay/iconbank-10@2x.png',bankName:'中信银行',B2bNum:'ECITIC_B2B',B2cNum:'ECITIC_B2C'},
+            {imgUrl:'/img/pay/iconbank-11@2x.png',bankName:'上海浦东发展银行',B2bNum:'SPDB_B2B',B2cNum:'SPDB_B2C'},
+            {imgUrl:'/img/pay/iconbank-12@2x.png',bankName:'华夏银行',B2bNum:'HXB_B2B',B2cNum:'HXB_B2C'},
+            {imgUrl:'/img/pay/iconbank-13@2x.png',bankName:'北京银行',B2bNum:'BCCB_B2B',B2cNum:'BCCB_B2C'},
+            {imgUrl:'/img/pay/iconbank-14@2x.png',bankName:'中国农业银行',B2bNum:'ABC_B2B',B2cNum:'ABC_B2C'},
+            {imgUrl:'/img/pay/iconbank-15@2x.png',bankName:'中国邮政储蓄银行',B2bNum:'PSBC_B2B',B2cNum:'PSBC_B2C'},
+            {imgUrl:'/img/pay/iconbank-16@2x.png',bankName:'徽商银行',B2bNum:'HSB_B2B',B2cNum:'HSB_B2C'},
+            {imgUrl:'/img/pay/iconbank-17@2x.png',bankName:'青岛银行',B2bNum:'QDYH_B2B',B2cNum:'QDYH_B2C'},
+            {imgUrl:'/img/pay/iconbank-18@2x.png',bankName:'浙商银行',B2bNum:'CZ_B2B',B2cNum:'CZ_B2C'},
+            {imgUrl:'/img/pay/iconbank-19@2x.png',bankName:'齐鲁银行',B2bNum:'QLYH_B2B',B2cNum:'QLYH_B2C'},
+            {imgUrl:'/img/pay/iconbank-20@2x.png',bankName:'上海银行',B2bNum:'SHB_B2B',B2cNum:'SHB_B2C'},
+            {imgUrl:'/img/pay/iconbank-21@2x.png',bankName:'莱商银行',B2bNum:'ISBC_B2B',B2cNum:null},
+            {imgUrl:'/img/pay/iconbank-22@2x.png',bankName:'厦门银行',B2bNum:'XMCCB_B2B',B2cNum:null},
+            {imgUrl:'/img/pay/iconbank-23@2x.png',bankName:'晋商银行',B2bNum:null,B2cNum:'JSHB_B2C'}
+
+        ],
+        B2CbankData:[
+            {imgUrl:'/img/pay/iconbank-01@2x.png',bankName:'中国工商银行',B2bNum:'ICBC_B2B',B2cNum:'ICBC_B2C'},
+            {imgUrl:'/img/pay/iconbank-02@2x.png',bankName:'招商银行',B2bNum:'CMBCHINA_B2B',B2cNum:'CMBCHINA_B2C'},
+            {imgUrl:'/img/pay/iconbank-03@2x.png',bankName:'中国建设银行',B2bNum:'CCB_B2B',B2cNum:'CCB_B2C'},
+            {imgUrl:'/img/pay/iconbank-05@2x.png',bankName:'兴业银行',B2bNum:'CIB_B2B',B2cNum:'CIB_B2C'},
+            {imgUrl:'/img/pay/iconbank-06@2x.png',bankName:'中国民生银行',B2bNum:'CMBC_B2B',B2cNum:'CMBC_B2C'},
+            {imgUrl:'/img/pay/iconbank-07@2x.png',bankName:'中国光大银行',B2bNum:'CEB_B2B',B2cNum:'CEB_B2C'},
+            {imgUrl:'/img/pay/iconbank-08@2x.png',bankName:'中国银行',B2bNum:'BOC_B2B',B2cNum:'BOC_B2C'},
+            {imgUrl:'/img/pay/iconbank-09@2x.png',bankName:'平安银行',B2bNum:'SZPA_B2B',B2cNum:'SZPA_B2C'},
+            {imgUrl:'/img/pay/iconbank-10@2x.png',bankName:'中信银行',B2bNum:'ECITIC_B2B',B2cNum:'ECITIC_B2C'},
+            {imgUrl:'/img/pay/iconbank-11@2x.png',bankName:'上海浦东发展银行',B2bNum:'SPDB_B2B',B2cNum:'SPDB_B2C'},
+            {imgUrl:'/img/pay/iconbank-12@2x.png',bankName:'华夏银行',B2bNum:'HXB_B2B',B2cNum:'HXB_B2C'},
+            {imgUrl:'/img/pay/iconbank-13@2x.png',bankName:'北京银行',B2bNum:'BCCB_B2B',B2cNum:'BCCB_B2C'},
+            {imgUrl:'/img/pay/iconbank-14@2x.png',bankName:'中国农业银行',B2bNum:'ABC_B2B',B2cNum:'ABC_B2C'},
+            {imgUrl:'/img/pay/iconbank-15@2x.png',bankName:'中国邮政储蓄银行',B2bNum:'PSBC_B2B',B2cNum:'PSBC_B2C'},
+            {imgUrl:'/img/pay/iconbank-16@2x.png',bankName:'徽商银行',B2bNum:'HSB_B2B',B2cNum:'HSB_B2C'},
+            {imgUrl:'/img/pay/iconbank-17@2x.png',bankName:'青岛银行',B2bNum:'QDYH_B2B',B2cNum:'QDYH_B2C'},
+            {imgUrl:'/img/pay/iconbank-18@2x.png',bankName:'浙商银行',B2bNum:'CZ_B2B',B2cNum:'CZ_B2C'},
+            {imgUrl:'/img/pay/iconbank-19@2x.png',bankName:'齐鲁银行',B2bNum:'QLYH_B2B',B2cNum:'QLYH_B2C'},
+            {imgUrl:'/img/pay/iconbank-20@2x.png',bankName:'上海银行',B2bNum:'SHB_B2B',B2cNum:'SHB_B2C'},
+            {imgUrl:'/img/pay/iconbank-21@2x.png',bankName:'莱商银行',B2bNum:'ISBC_B2B',B2cNum:null},
+            {imgUrl:'/img/pay/iconbank-22@2x.png',bankName:'厦门银行',B2bNum:'XMCCB_B2B',B2cNum:null},
+            {imgUrl:'/img/pay/iconbank-23@2x.png',bankName:'晋商银行',B2bNum:null,B2cNum:'JSHB_B2C'}
         ],
         userName :'',
         goodList:'',
@@ -80,7 +112,54 @@ var payContainer = new Vue({
         }
     },
     methods: {
-        infoPayOrderCheckoutCounter:function(){
+        LinkInfoOrderBank:function(linkLogo){//初始化支付订单加密数据
+            var _self = this;
+            PayApi.PayOrderLinkData({linkLogo:linkLogo},function(response){
+                if(response.code == 0){
+                    var _data = response.data;
+                    _self.payInfo.PAY_ORDERID = _data.orderPayLink.orderId;
+                    _self.payInfo.PAY_UNPAIDAMOUNT = _data.orderPayLink.unpaidAmount;
+                    _self.payInfo.PAY_TIME = decodeURI(_data.orderPayLink.effectiveTime);
+                    _self.payInfo.PAY_PAYLINKTYPE = _data.orderPayLink.payType;
+                    _self.payInfo.PAY_PAYLINKTYPETEXT =  _self.payInfo.PAY_PAYLINKTYPE == '1' ? '企业网银' : '个人网银';
+                    _self.payInfo.PAY_USERTYPE =  _self.payInfo.PAY_PAYLINKTYPE == '1' ? 'ENTERPRISE' : 'USER';
+                    if(_data.code == 0){
+                        setTimeout(function () {  //支付倒计时
+                            _self.countTime(_self.payInfo.PAY_TIME)
+                        }, 1000);
+                        _self.infoPayOrderCheckoutCounter();
+                    }else{
+                        _self.isErrorShow = true;
+                        _self.isRequest = true;
+                        switch (_self.payInfo.PAY_CODE) {
+                            case '-1':
+                                _self.iconErrorClass = 'again';
+                                _self.iconErrorText = '链接已更新,请联系业务人员获取最新链接再进行支付';
+                                _self.iconErrorMsgnone = '';
+                                break;
+                            case '-2':
+                                _self.iconErrorClass = 'offline';
+                                _self.iconErrorText = '订单已通过线下转账方式付款';
+                                _self.iconErrorMsgnone = '不能再使用企业网银支付';
+                                break;
+                            case '-3':
+                                _self.iconErrorClass = 'fail';
+                                _self.iconErrorText = '链接超过24小时未完成支付,已失效';
+                                _self.iconErrorMsgnone = '请重新生成支付链接,继续支付';
+                                break;
+                            case '5':
+                                _self.iconErrorClass = 'paid';
+                                _self.iconErrorText = '款项已支付完成,无需重复支付';
+                                _self.iconErrorMsgnone = '';
+                                break;
+                        }
+                    }
+                }else{
+                    CAIMEI.Alert(response.msg,'确定',false);
+                }
+            });
+        },
+        infoPayOrderCheckoutCounter:function(){//初始化订单数据
             var _self = this;
             PayApi.PayOrderCheckoutCounter({orderId:_self.payInfo.PAY_ORDERID},function(response){
                 if(response.code == 0){
@@ -117,7 +196,8 @@ var payContainer = new Vue({
                     payAmount: _self.payInfo.PAY_UNPAIDAMOUNT*100,
                     bankCode:_self.payInfo.PAY_BANK_NUM,
                     returnUrl:'https://www.caimei365.com/',
-                    orderId:_self.payInfo.PAY_ORDERID
+                    orderId:_self.payInfo.PAY_ORDERID,
+                    userType:_self.payInfo.PAY_USERTYPE
                 };
             _self.PayOrderPcMallPay(params);
         },
@@ -136,7 +216,7 @@ var payContainer = new Vue({
                 }
             })
         },
-        RefreshBody:function(){
+        RefreshBody:function(){//刷新弹窗
             var _self = this;
             _self.isPayAlert = false;
             PayApi.PayOrderFindOrderStatus({mbOrderId:_self.mbOrderId},function(response){
@@ -149,13 +229,16 @@ var payContainer = new Vue({
                 }
             });
         },
-        changeTab:function(index,item){
+        changeTab:function(index,item){// 选择银行
             this.tabIndex = index;
-            this.payInfo.PAY_BANK_NUM = item.bankNum;
+            if( this.payInfo.PAY_PAYLINKTYPE == '1'){
+                this.payInfo.PAY_BANK_NUM = item.B2bNum;
+            }else{
+                this.payInfo.PAY_BANK_NUM = item.B2cNum;
+            }
         },
         slideToggleContent:function(){
             this.isSiled = !this.isSiled;
-            console.log(this.isSiled);
         },
         countTime:function(value){//支付链接倒计时
             var _self = this;
@@ -219,40 +302,8 @@ var payContainer = new Vue({
     },
     mounted: function () {
         var _self = this;
-        _self.payInfo.PAY_CODE = CAIMEI.getUrlParam('code');
-        _self.payInfo.PAY_ORDERID = CAIMEI.getUrlParam('orderId');
-        _self.payInfo.PAY_UNPAIDAMOUNT = Number(CAIMEI.getUrlParam('unpaidAmount'));
-        _self.payInfo.PAY_TIME = decodeURI(CAIMEI.getUrlParam('time'));
-        if(_self.payInfo.PAY_CODE==0){
-            setTimeout(function () {  //支付倒计时
-                _self.countTime(_self.payInfo.PAY_TIME)
-            }, 1000);
-            _self.infoPayOrderCheckoutCounter();
-        }else{
-            _self.isErrorShow = true;
-            _self.isRequest = true;
-            switch (_self.payInfo.PAY_CODE) {
-                case '-1':
-                    _self.iconErrorClass = 'again';
-                    _self.iconErrorText = '链接已更新,请联系业务人员获取最新链接再进行支付';
-                    _self.iconErrorMsgnone = '';
-                    break;
-                case '-2':
-                    _self.iconErrorClass = 'offline';
-                    _self.iconErrorText = '订单已通过线下转账方式付款';
-                    _self.iconErrorMsgnone = '不能再使用企业网银支付';
-                    break;
-                case '-3':
-                    _self.iconErrorClass = 'fail';
-                    _self.iconErrorText = '链接超过24小时未完成支付,已失效';
-                    _self.iconErrorMsgnone = '请重新生成支付链接,继续支付';
-                    break;
-                case '5':
-                    _self.iconErrorClass = 'paid';
-                    _self.iconErrorText = '款项已支付完成,无需重复支付';
-                    _self.iconErrorMsgnone = '';
-                    break;
-            }
-        }
+        _self.payInfo.PAY_LINKLOGO= CAIMEI.getUrlParam('linkLogo');
+        _self.LinkInfoOrderBank(_self.payInfo.PAY_LINKLOGO);
+
     }
 });

+ 1 - 1
src/main/resources/static/js/pay/caimei-paycash.js

@@ -20,7 +20,7 @@ var payContainer = new Vue({
             {imgUrl:'/img/pay/iconbank-03@2x.png',bankName:'中国建设银行',bankNum:'CCB_B2B'},
             {imgUrl:'/img/pay/iconbank-05@2x.png',bankName:'兴业银行',bankNum:'CIB_B2B'},
             {imgUrl:'/img/pay/iconbank-06@2x.png',bankName:'中国民生银行',bankNum:'CMBC_B2B'},
-            {imgUrl:'/img/pay/iconbank-07@2x.png',bankName:'中国广发银行',bankNum:'CEB_B2B'},
+            {imgUrl:'/img/pay/iconbank-07@2x.png',bankName:'中国光大银行',bankNum:'CEB_B2B'},
             {imgUrl:'/img/pay/iconbank-08@2x.png',bankName:'中国银行',bankNum:'BOC_B2B'},
             {imgUrl:'/img/pay/iconbank-09@2x.png',bankName:'平安银行',bankNum:'SZPA_B2B'},
             {imgUrl:'/img/pay/iconbank-10@2x.png',bankName:'中信银行',bankNum:'ECITIC_B2B'},

+ 9 - 4
src/main/resources/templates/pay/caimei-pay.html

@@ -18,7 +18,7 @@
     <div class="container">
         <div class="pay-content clear" v-if="!isErrorShow">
             <div class="pay-title">
-                <div class="title-left"><p><span id="userName">{{userName}}</span><span class="color">(请在倒计时时间内使用企业网银完成本次支付)</span></p></div>
+                <div class="title-left"><p><span id="userName">{{userName}}</span></p></div>
                 <div class="title-right">
                     <div class="time">
                         <span id="downHour">{{downHour}}</span>
@@ -85,9 +85,14 @@
                 </div>
             </div>
             <div class="pay-bank">
-                <div class="bank-title">请选择以下一家银行进行付款</div>
-                <div class="bank-list" id="bankContent">
-                    <a href="javascript:void(0);" v-for="(item, index) in bankData" :key="index" :class="{ active: tabIndex === index }"  @click="changeTab(index,item)">
+                <div class="bank-title">请选择以下一家银行进行付款<span class="color">(请在倒计时时间内使用<span class="big"> {{ payInfo.PAY_PAYLINKTYPETEXT }} </span>完成本次支付)</span></div>
+                <div class="bank-list" id="bankContent" v-if="payInfo.PAY_PAYLINKTYPE == '1'">
+                    <a href="javascript:void(0);" v-if="item.B2bNum" v-for="(item, index) in B2BbankData" :key="index" :class="{ active: tabIndex === index }"  @click="changeTab(index,item)">
+                        <img :src="item.imgUrl" :alt="item.bankName">
+                    </a>
+                </div>
+                <div class="bank-list" id="bankContentC" v-if="payInfo.PAY_PAYLINKTYPE == '2'">
+                    <a href="javascript:void(0);" v-if="item.B2cNum" v-for="(item, index) in B2CbankData" :key="index" :class="{ active: tabIndex === index }"  @click="changeTab(index,item)">
                         <img :src="item.imgUrl" :alt="item.bankName">
                     </a>
                 </div>