diff --git a/src/main/java/itn/let/mjo/event/web/MjonEventController.java b/src/main/java/itn/let/mjo/event/web/MjonEventController.java index e8a359df..3ab0558f 100644 --- a/src/main/java/itn/let/mjo/event/web/MjonEventController.java +++ b/src/main/java/itn/let/mjo/event/web/MjonEventController.java @@ -243,7 +243,7 @@ public class MjonEventController { * @return "/web/pay/PayView.do" * @throws Exception */ - @RequestMapping(value= {"/web/event/member/pay/PayView.do"}) + @RequestMapping(value= {"/web/event/member/pay/PayView_OLD.do"}) public String PayView(@ModelAttribute("mjonPayVO") MjonPayVO mjonPayVO, HttpServletRequest request, RedirectAttributes redirectAttributes, ModelMap model) throws Exception{ @@ -393,7 +393,7 @@ public class MjonEventController { } model.addAttribute("tabType", tabType); - return "/web/event/pay/EventPayView"; + return "/web/event/pay/EventPayView_OLD"; } diff --git a/src/main/java/itn/let/mjo/event/web/MjonEventPayV2Controller.java b/src/main/java/itn/let/mjo/event/web/MjonEventPayV2Controller.java index 07f738e0..d7482370 100644 --- a/src/main/java/itn/let/mjo/event/web/MjonEventPayV2Controller.java +++ b/src/main/java/itn/let/mjo/event/web/MjonEventPayV2Controller.java @@ -55,10 +55,10 @@ public class MjonEventPayV2Controller { * 이벤트 결제하기 화면 * @param searchVO * @param model - * @return "/web/pay/PayView.do" + * @return "/web/event/member/pay/PayView.do" * @throws Exception */ - @RequestMapping(value= {"/web/event/member/pay/PayViewV2.do"}) + @RequestMapping(value= {"/web/event/member/pay/PayView.do"}) public String PayViewV2(@ModelAttribute("mjonPayVO") MjonPayVO mjonPayVO, HttpServletRequest request, RedirectAttributes redirectAttributes, ModelMap model) throws Exception{ @@ -216,7 +216,7 @@ public class MjonEventPayV2Controller { } model.addAttribute("tabType", tabType); - return "/web/event/pay/EventPayViewV2"; + return "/web/event/pay/EventPayView"; } diff --git a/src/main/java/itn/let/mjo/pay/service/MjonPayVO.java b/src/main/java/itn/let/mjo/pay/service/MjonPayVO.java index a1be7f1e..3f9ced82 100644 --- a/src/main/java/itn/let/mjo/pay/service/MjonPayVO.java +++ b/src/main/java/itn/let/mjo/pay/service/MjonPayVO.java @@ -203,6 +203,7 @@ public class MjonPayVO extends ComDefaultVO{ //매출 통계 private String amtCardSum; //신용카드 결제 금액 + private String amtSpaySum; //간편결제 결제 금액 private String amtCellSum; //휴대폰 결제 금액 private String amtBankSum; //즉시이체 결제 금액 private String amtVbankSum; //전용계좌 결제 금액 @@ -210,6 +211,7 @@ public class MjonPayVO extends ComDefaultVO{ private String amtTotSum; //결제 금액 총액 private String amtCardSumTot; //전체 신용카드 결제 금액 + private String amtSpaySumTot; //전체 간편결제 결제 금액 private String amtCellSumTot; //전체 휴대폰 결제 금액 private String amtBankSumTot; //전체 즉시이체 결제 금액 private String amtVbankSumTot; //전체 전용계좌 결제 금액 @@ -217,6 +219,7 @@ public class MjonPayVO extends ComDefaultVO{ private String amtTotSumTot; //전체 결제 금액 총액 private String amtCardCnt; //신용카드 결제 수 + private String amtSpayCnt; //간편결제 결제 수 private String amtCellCnt; //휴대폰 결제 수 private String amtBankCnt; //즉시이체 결제 수 private String amtVbankCnt; //전용계좌 결제 수 @@ -224,6 +227,7 @@ public class MjonPayVO extends ComDefaultVO{ private String amtTotCnt; //결제 수 총수 private String amtCardCntTot; //전체 신용카드 결제 수 + private String amtSpayCntTot; //전체 신용카드 결제 수 private String amtCellCntTot; //전체 휴대폰 결제 수 private String amtBankCntTot; //전체 즉시이체 결제 수 private String amtVbankCntTot; //전체 전용계좌 결제 수 @@ -253,6 +257,38 @@ public class MjonPayVO extends ComDefaultVO{ private String trdNo; // 모빌리언스 거래번호 private String spayMethod; // 간편결제 구분값 + + public String getAmtSpaySum() { + return amtSpaySum; + } + + public void setAmtSpaySum(String amtSpaySum) { + this.amtSpaySum = amtSpaySum; + } + + public String getAmtSpaySumTot() { + return amtSpaySumTot; + } + + public void setAmtSpaySumTot(String amtSpaySumTot) { + this.amtSpaySumTot = amtSpaySumTot; + } + + public String getAmtSpayCnt() { + return amtSpayCnt; + } + + public void setAmtSpayCnt(String amtSpayCnt) { + this.amtSpayCnt = amtSpayCnt; + } + + public String getAmtSpayCntTot() { + return amtSpayCntTot; + } + + public void setAmtSpayCntTot(String amtSpayCntTot) { + this.amtSpayCntTot = amtSpayCntTot; + } public String getSpayMethod() { return spayMethod; diff --git a/src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java b/src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java index f70f0537..f6460f56 100644 --- a/src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java +++ b/src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java @@ -1682,6 +1682,8 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP if(s_paymethod.equals("CARD")){ s_paymethod = "신용카드" ; // 신용카드(정상 결과코드:3001) + }else if(s_paymethod.equals("SPAY")){ + s_paymethod = "간편결제" ; // 간편결제 }else if(s_paymethod.equals("BANK")){ s_paymethod = "계좌이체" ; // 계좌이체(정상 결과코드:4000) }else if(s_paymethod.equals("CELLPHONE")){ @@ -1711,6 +1713,24 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP private MjonPayVO setPointVO(MjonPayVO mjonPayVO) throws Exception{ String s_paymethod = mjonPayVO.getPayMethod(); + if(s_paymethod.equals("CARD")){ + s_paymethod = "신용카드" ; // 신용카드(정상 결과코드:3001) + }else if(s_paymethod.equals("SPAY")){ + s_paymethod = "간편결제" ; // 간편결제 + }else if(s_paymethod.equals("BANK")){ + s_paymethod = "계좌이체" ; // 계좌이체(정상 결과코드:4000) + }else if(s_paymethod.equals("CELLPHONE")){ + s_paymethod = "휴대폰" ; // 휴대폰(정상 결과코드:A000) + }else if(s_paymethod.equals("VBANK")){ + s_paymethod = "가상계좌" ; // 가상계좌(정상 결과코드:4100) + }else if(s_paymethod.equals("SSG_BANK")){ + s_paymethod = "SSG은행계좌" ; // SSG은행계좌(정상 결과코드:0000) + }else if(s_paymethod.equals("CMS_BANK")){ + s_paymethod = "계좌간편결제" ; // 계좌간편결제(정상 결과코드:0000) + }else { + s_paymethod = ""; + } + String s_amt = mjonPayVO.getAmt(); // 부가세별도 충전금액 s_amt = setCashVatNotIncluded(s_amt); @@ -2080,8 +2100,8 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP //세금계산서,현금영수증 자동발행 체크 / 자동발행 'N'이며 10만원 이상 결제시 현금영수증 의무발행 //String uniqId = mberManageDAO.selectUniqId(mjonPayVO.getUserId()); MberManageVO mberManageVO = mberManageDAO.selectMber(mjonPayVO.getUserId()); //멤버ID에서 유니크ID로 수정 필요 - // 세금계산서 자동발행이고,카드결제가 아닐경우에만 자동발행 - if(("B".equals(mberManageVO.getTaxbillAuto()) || "C".equals(mberManageVO.getTaxbillAuto())) && !"CARD".equals(mjonPayVO.getPayMethod())) { + // 세금계산서 자동발행이고,카드결제, 간편결제가 아닐경우에만 자동발행 + if(("B".equals(mberManageVO.getTaxbillAuto()) || "C".equals(mberManageVO.getTaxbillAuto())) && !"CARD".equals(mjonPayVO.getPayMethod()) && !"SPAY".equals(mjonPayVO.getPayMethod())) { TaxVO taxVO = new TaxVO(); /*발행타입 1:소득공제 현금영수증 2:지출증빙 현금영수증 9:세금계산서*/ @@ -2121,7 +2141,7 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP } } //세금계산서 자동발행 설정이 아니면서, 결제금액이 10만원 이상인 경우 현금영수증 의무발행 데이터 등록 필요 - if("N".equals(mberManageVO.getTaxbillAuto()) && Integer.parseInt(mjonPayVO.getAmt()) >= 100000 && !"CARD".equals(mjonPayVO.getPayMethod())) { + if("N".equals(mberManageVO.getTaxbillAuto()) && Integer.parseInt(mjonPayVO.getAmt()) >= 100000 && !"CARD".equals(mjonPayVO.getPayMethod()) && !"SPAY".equals(mjonPayVO.getPayMethod())) { //결제금액이 10만원 넘는 경우 : 현금영수증 의무발행 요청 등록 TaxVO taxVO = new TaxVO(); diff --git a/src/main/java/itn/let/mjo/pay/web/MjonPayController.java b/src/main/java/itn/let/mjo/pay/web/MjonPayController.java index c09db858..19662adf 100644 --- a/src/main/java/itn/let/mjo/pay/web/MjonPayController.java +++ b/src/main/java/itn/let/mjo/pay/web/MjonPayController.java @@ -1756,7 +1756,7 @@ public class MjonPayController { * @return "/web/pay/PayView.do" * @throws Exception */ - @RequestMapping(value= {"/web/member/pay/PayView.do"}) + @RequestMapping(value= {"/web/member/pay/PayView_OLD.do"}) public String PayView(@ModelAttribute("mjonPayVO") MjonPayVO mjonPayVO, HttpServletRequest request, RedirectAttributes redirectAttributes, ModelMap model) throws Exception{ @@ -1841,7 +1841,7 @@ public class MjonPayController { List mberGrdSettingList = mberGrdService.selectMberGrdSettingList(mberGrdVO); model.addAttribute("mberGrdSettingList", mberGrdSettingList); - return "/web/pay/PayView"; + return "/web/pay/PayView_OLD"; } /** @@ -4709,6 +4709,7 @@ public class MjonPayController { List resultList2 = mjonPayService.selectPayDayChart(mjonPayVO); // Total long amtCardSumTot = 0; //전체 신용카드 결제 금액 + long amtSpaySumTot = 0; //전체 간편결제 결제 금액 long amtCellSumTot = 0; //전체 휴대폰 결제 금액 long amtBankSumTot = 0; //전체 즉시이체 결제 금액 long amtVbankSumTot = 0; //전체 전용계좌 결제 금액 @@ -4716,7 +4717,8 @@ public class MjonPayController { long amtTotSumTot = 0; //전체 결제 금액 총액 for(MjonPayVO item: resultList2) { - amtCardSumTot += Long.parseLong(item.getAmtCardSum()); + amtCardSumTot += Long.parseLong(item.getAmtCardSum()); + amtSpaySumTot += Long.parseLong(item.getAmtSpaySum()); amtCellSumTot += Long.parseLong(item.getAmtCellSum()); amtBankSumTot += Long.parseLong(item.getAmtBankSum()); amtVbankSumTot += Long.parseLong(item.getAmtVbankSum()); @@ -4725,6 +4727,7 @@ public class MjonPayController { } mjonPayVO.setAmtCardSumTot(amtCardSumTot + ""); + mjonPayVO.setAmtSpaySumTot(amtSpaySumTot + ""); mjonPayVO.setAmtCellSumTot(amtCellSumTot + ""); mjonPayVO.setAmtBankSumTot(amtBankSumTot + ""); mjonPayVO.setAmtVbankSumTot(amtVbankSumTot + ""); @@ -4780,6 +4783,7 @@ public class MjonPayController { // Total long amtCardSumTot = 0; //전체 신용카드 결제 금액 + long amtSpaySumTot = 0; //전체 간편결제 결제 금액 long amtCellSumTot = 0; //전체 휴대폰 결제 금액 long amtBankSumTot = 0; //전체 즉시이체 결제 금액 long amtVbankSumTot = 0; //전체 전용계좌 결제 금액 @@ -4787,7 +4791,8 @@ public class MjonPayController { long amtTotSumTot = 0; //전체 결제 금액 총액 for(MjonPayVO item: resultList) { - amtCardSumTot += Long.parseLong(item.getAmtCardSum()); + amtCardSumTot += Long.parseLong(item.getAmtCardSum()); + amtSpaySumTot += Long.parseLong(item.getAmtSpaySum()); amtCellSumTot += Long.parseLong(item.getAmtCellSum()); amtBankSumTot += Long.parseLong(item.getAmtBankSum()); amtVbankSumTot += Long.parseLong(item.getAmtVbankSum()); @@ -4796,6 +4801,7 @@ public class MjonPayController { } mjonPayVO.setAmtCardSumTot(amtCardSumTot + ""); + mjonPayVO.setAmtSpaySumTot(amtSpaySumTot + ""); mjonPayVO.setAmtCellSumTot(amtCellSumTot + ""); mjonPayVO.setAmtBankSumTot(amtBankSumTot + ""); mjonPayVO.setAmtVbankSumTot(amtVbankSumTot + ""); diff --git a/src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java b/src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java index b6c3e49a..9cec46ec 100644 --- a/src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java +++ b/src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java @@ -104,10 +104,10 @@ public class MjonPayV2Controller { * 결제하기 * @param searchVO * @param model - * @return "/web/pay/PayViewV2.do" + * @return "/web/pay/PayView.do" * @throws Exception */ - @RequestMapping(value= {"/web/member/pay/PayViewV2.do"}) + @RequestMapping(value= {"/web/member/pay/PayView.do"}) public String PayViewV2(@ModelAttribute("mjonPayVO") MjonPayVO mjonPayVO, HttpServletRequest request, RedirectAttributes redirectAttributes, ModelMap model) throws Exception{ @@ -189,7 +189,7 @@ public class MjonPayV2Controller { List mberGrdSettingList = mberGrdService.selectMberGrdSettingList(mberGrdVO); model.addAttribute("mberGrdSettingList", mberGrdSettingList); - return "/web/pay/PayViewV2"; + return "/web/pay/PayView"; } /** diff --git a/src/main/java/itn/let/schdlr/service/SchedulerUtil.java b/src/main/java/itn/let/schdlr/service/SchedulerUtil.java index c66a7167..5ff6523d 100644 --- a/src/main/java/itn/let/schdlr/service/SchedulerUtil.java +++ b/src/main/java/itn/let/schdlr/service/SchedulerUtil.java @@ -271,114 +271,91 @@ public class SchedulerUtil { } // AGENT별 SMS LMS MMS 발송건수 , 카카오 알림톡 발송건수 통계 스케쥴러 -// @Scheduled(cron = "0 */10 * * * *") //10분마다 실행(TEST) @Scheduled(cron = "0 10 1 * * *") // 매일 새벽1시 10분 실행 -// @Scheduled(cron = "0 */30 * * * *") // 30분마다 실행 @SchedulerLock(name = "insertAgentSmsCountStat", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN) public void agentSmsCountStatInsert() throws Exception { - // agent별 sms lms mms 발송건수 통계 데이터 upsert - - //System.out.println("insertAgentSmsCountStat scheduler RUN (YESTERDAY)"); - -// int nowDate =EgovDateUtil.nowDateToInt("yyyyMMdd"); - //int minusDate =EgovDateUtil.dayMinusToInt("yyyyMMdd", 1); - // 전일 문자발송 건 통계 insert - //MjonMsgStatVO mjonMsgStatVO = new MjonMsgStatVO(); - //mjonMsgStatVO.setStatStartDate(minusDate); - //mjonMsgStatVO.setStatEndDate(minusDate); - - //mjonMsgService.insertAgentSmsCountStat(mjonMsgStatVO); - - try { - - System.out.println("=============EgovSysLogScheduling=====insertAgentSmsCountStat scheduler RUN (YESTERDAY) =============>"); - -// int nowDate =EgovDateUtil.nowDateToInt("yyyyMMdd"); int minusDate =EgovDateUtil.dayMinusToInt("yyyyMMdd", 1); int minusSevenDays =EgovDateUtil.dayMinusToInt("yyyyMMdd", 7); + + // 전일 문자발송 건 통계 insert MjonMsgStatVO mjonMsgStatVO = new MjonMsgStatVO(); mjonMsgStatVO.setStatStartDate(minusSevenDays); mjonMsgStatVO.setStatEndDate(minusDate); - - // 전일 문자발송 건 통계 insert mjonMsgService.insertAgentSmsCountStat(mjonMsgStatVO); - //================================================================ - //================================================================ + + // 전일 알림톡발송 건 통계 insert MjonKakaoAtStatVO kakaoAtStatVO = new MjonKakaoAtStatVO(); kakaoAtStatVO.setStatStartDate(minusSevenDays); kakaoAtStatVO.setStatEndDate(minusDate); - - // 전일 알림톡발송 건 통계 insert kakaoStatisticsService.insertKakaoAtCountStat(kakaoAtStatVO); - //================================================================ - //================================================================ + + // 전일 알림톡발송 건 통계 insert FaxStatVO faxStatVO = new FaxStatVO(); faxStatVO.setStatStartDate(minusSevenDays); faxStatVO.setStatEndDate(minusDate); - - // 전일 알림톡발송 건 통계 insert faxAdmService.insertFaxCountStat(faxStatVO); - - // do something... - }catch(Exception ex) { ex.printStackTrace(); } } - // AGENT별 SMS LMS MMS 발송건수 통계 스케쥴러 -// @Scheduled(cron = "0 */10 * * * *") //10분마다 실행(TEST) -// @Scheduled(cron = "0 0 1 * * *") // 매일 새벽1시 실행 - @Scheduled(cron = "0 */30 * * * *") // 30분마다 실행 - @SchedulerLock(name = "insertAgentSmsCountStat", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN) - public void agentSmsCountStatInsert2() throws Exception { - // agent별 sms lms mms 발송건수 통계 데이터 upsert - - //System.out.println("insertAgentSmsCountStat scheduler RUN (EVERY 30 MINUTES)"); - - //int nowDate =EgovDateUtil.nowDateToInt("yyyyMMdd"); -// int minusDate =EgovDateUtil.dayMinusToInt("yyyyMMdd", 1); - // 당일 문자발송 건 통계 insert - //MjonMsgStatVO mjonMsgStatVO = new MjonMsgStatVO(); - //mjonMsgStatVO.setStatStartDate(nowDate); - //mjonMsgStatVO.setStatEndDate(nowDate); - - //mjonMsgService.insertAgentSmsCountStat(mjonMsgStatVO); - - + // AGENT별 SMS 발송건수 통계 스케쥴러 + @Scheduled(cron = "0 5,35 * * * *") // 5,35분마다 실행 + @SchedulerLock(name = "insertAgentSmsCountStatByMinute", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN) + public void agentSmsCountStatByMinuteInsert() throws Exception { try { - System.out.println("=============EgovSysLogScheduling=====agentSmsCountStatInsert2 =============>"); + System.out.println("=============EgovSysLogScheduling=====insertAgentSmsCountStatByMinute =============>"); int nowDate =EgovDateUtil.nowDateToInt("yyyyMMdd"); -// int minusDate =EgovDateUtil.dayMinusToInt("yyyyMMdd", 1); + // 당일 문자발송 건 통계 insert MjonMsgStatVO mjonMsgStatVO = new MjonMsgStatVO(); mjonMsgStatVO.setStatStartDate(nowDate); mjonMsgStatVO.setStatEndDate(nowDate); - mjonMsgService.insertAgentSmsCountStat(mjonMsgStatVO); - //================================================================ - //================================================================ + }catch(Exception ex) { + ex.printStackTrace(); + } + } + + // AGENT별 Kakao 발송건수 통계 스케쥴러 + @Scheduled(cron = "0 10,40 * * * *") // 10,40분마다 실행 + @SchedulerLock(name = "insertAgentKakaoCountStatByMinute", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN) + public void agentKakaoCountStatByMinuteInsert() throws Exception { + try { + System.out.println("=============EgovSysLogScheduling=====insertAgentKakaoCountStatByMinute =============>"); + + int nowDate =EgovDateUtil.nowDateToInt("yyyyMMdd"); + + // 당일 알림톡발송 건 통계 insert MjonKakaoAtStatVO kakaoAtStatVO = new MjonKakaoAtStatVO(); kakaoAtStatVO.setStatStartDate(nowDate); kakaoAtStatVO.setStatEndDate(nowDate); - - // 당일 알림톡발송 건 통계 insert kakaoStatisticsService.insertKakaoAtCountStat(kakaoAtStatVO); - //================================================================ + }catch(Exception ex) { + ex.printStackTrace(); + } + } + + // AGENT별 Fax 발송건수 통계 스케쥴러 + @Scheduled(cron = "0 15,45 * * * *") // 15,45분마다 실행 + @SchedulerLock(name = "insertAgentFaxCountStatByMinute", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN) + public void agentFaxCountStatByMinuteInsert() throws Exception { + try { + System.out.println("=============EgovSysLogScheduling=====insertAgentFaxCountStatByMinute =============>"); + + int nowDate =EgovDateUtil.nowDateToInt("yyyyMMdd"); + + // 전일 알림톡발송 건 통계 insert FaxStatVO faxStatVO = new FaxStatVO(); faxStatVO.setStatStartDate(nowDate); faxStatVO.setStatEndDate(nowDate); - - // 전일 알림톡발송 건 통계 insert faxAdmService.insertFaxCountStat(faxStatVO); - // do something... - }catch(Exception ex) { ex.printStackTrace(); } @@ -428,9 +405,9 @@ public class SchedulerUtil { } // 대시보드 어제/오늘 접속현황 & 접속통계 - @Scheduled(cron = "0 */30 * * * *") // 30분마다 실행 + @Scheduled(cron = "0 20,50 * * * *") // 20,50분마다 실행 @SchedulerLock(name = "updateDashBoardStat", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN) - public void DashBoardStatUpdate() throws Exception { + public void dashBoardStatUpdate() throws Exception { try { System.out.println("=============EgovSysLogScheduling=====DashBoardStatUpdate =============>"); @@ -455,7 +432,7 @@ public class SchedulerUtil { } // 이용약관 메일발송 - @Scheduled(cron = "0 */10 * * * *") // 10분마다 실행 + @Scheduled(cron = "0 */15 * * * *") // 15분마다 실행 @SchedulerLock(name = "sendTermsEmail", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN) public void TermsEmailSend() throws Exception { @@ -474,7 +451,7 @@ public class SchedulerUtil { return new JdbcTemplateLockProvider(dataSource); } - @Scheduled(cron = "20 * * * * ?") + @Scheduled(cron = "0 0/3 * * * ?") // 3분마다 실행 @SchedulerLock(name = "runKakaoOneTime", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN) public void runKakaoOneTime() throws Exception { diff --git a/src/main/java/itn/let/sym/log/clg/web/EgovLoginLogController.java b/src/main/java/itn/let/sym/log/clg/web/EgovLoginLogController.java index 7a372106..4daf4ab1 100644 --- a/src/main/java/itn/let/sym/log/clg/web/EgovLoginLogController.java +++ b/src/main/java/itn/let/sym/log/clg/web/EgovLoginLogController.java @@ -37,7 +37,6 @@ import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import itn.com.cmm.EgovMessageSource; import itn.com.cmm.LoginVO; import itn.com.cmm.util.RedirectUrlMaker; -import itn.let.mjo.msg.service.MjonMsgVO; import itn.let.sym.log.clg.service.EgovLoginLogService; import itn.let.sym.log.clg.service.LoginLog; import itn.let.sym.log.clg.service.MsgLog; @@ -511,7 +510,7 @@ public class EgovLoginLogController { SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd", Locale.KOREA); loginLog.setSearchEndDe(date.format(cal.getTime())); //오늘 Calendar mon = Calendar.getInstance(); //한달 전 - mon.add(Calendar.MONTH , -1); + mon.add(Calendar.DATE , -7); String beforeMonth = new java.text.SimpleDateFormat("yyyy-MM-dd").format(mon.getTime()); loginLog.setSearchBgnDe(beforeMonth); } diff --git a/src/main/java/itn/let/uat/uia/web/EgovLoginController.java b/src/main/java/itn/let/uat/uia/web/EgovLoginController.java index d3452073..498ccf76 100644 --- a/src/main/java/itn/let/uat/uia/web/EgovLoginController.java +++ b/src/main/java/itn/let/uat/uia/web/EgovLoginController.java @@ -5033,6 +5033,33 @@ public class EgovLoginController { try { mberManageVO.setSendSttus("N"); //주소록 전송 전 상태 'N' mberManageService.updateReqeustAddr(mberManageVO); + + // 법인폰 알람여부 체크 + JoinSettingVO joinSettingVO = new JoinSettingVO(); + joinSettingVO = egovSiteManagerService.selectAdminNotiDetail(); + // 이메일 체크 + if (joinSettingVO != null && joinSettingVO.getEmailNoti().equals("Y")) { + String emailTitle = "회원관리 > 이용정지회원 주소록 요청"; + + // CS관리자 이메일 알림전송 + mjonNoticeSendUtil.csAdminEmailNoticeSend("", mberManageVO.getMberId(), emailTitle); + } + + // SMS 체크 + if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) { + String smsTitle = "이용정지회원 주소록 요청"; + + // CS관리자 SMS 알림전송 + mjonNoticeSendUtil.csAdminSmsNoticeSend(mberManageVO.getMberId(), smsTitle); + } + + // SLACK 체크 + if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) { + // Slack 메시지 발송(단순본문) + String msg = "[문자온] 이용정지회원 주소록 요청 - " + mberManageVO.getMberId(); + mjonCommon.sendSimpleSlackMsg(msg); + } + }catch(Exception e) { modelAndView.addObject("message", "주소록 요청에 실패했습니다."); modelAndView.addObject("result", "fail"); diff --git a/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java b/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java index 0f842b50..991e00ea 100644 --- a/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java +++ b/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java @@ -3382,6 +3382,37 @@ public class EgovUserManageController { return redirectUrlMaker.getRedirectUrl(); } + // 법인폰알림 업데이트 + @RequestMapping(value = "/uss/umt/user/smsNoticeUpdateAjax.do") + public ModelAndView smsNoticeUpdateAjax( + @ModelAttribute("userManageVO") UserManageVO userManageVO) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + boolean isSuccess = true; + String msg = ""; + + // 로그인VO에서 사용자 정보 가져오기 + LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + String frstRegisterId = loginVO == null ? "" : loginVO.getId(); + + try{ + + // 법인폰알림 업데이트 + userManageService.updateUserAdminSmsNoticeYn(userManageVO, ""); + } + catch(Exception e) { + isSuccess = false; + msg = e.getMessage(); + } + + modelAndView.addObject("isSuccess", isSuccess); + modelAndView.addObject("msg", msg); + + return modelAndView; + } + /** * 사용자의 스미싱의심 여부를 수정한 후 목록조회 화면으로 이동한다. * @param checkedIdForDel update 아이디 정보 diff --git a/src/main/resources/egovframework/sqlmap/let/letter/LetterMessages_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/letter/LetterMessages_SQL_Mysql.xml index 69504499..cfb21d50 100644 --- a/src/main/resources/egovframework/sqlmap/let/letter/LetterMessages_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/letter/LetterMessages_SQL_Mysql.xml @@ -712,6 +712,7 @@ , UPDATEDATE = NOW() WHERE 1=1 AND USE_YN = 'Y' + AND BEST_CATEGORY IS NULL AND LETTER_TYPE IN ('S', 'L', 'P') AND priority >= 11 ]]> diff --git a/src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml index e45968c3..4cc7a118 100644 --- a/src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/pay/MjonPay_SQL_mysql.xml @@ -1442,7 +1442,9 @@ ROUND(IFNULL(S5.AMT, 0)) AS amtVbankSum, IFNULL(S5.CNT, 0) AS amtVbankCnt, ROUND(IFNULL(S6.AMT, 0)) AS amtRefundSum, - IFNULL(S6.CNT, 0) AS amtRefundCnt + IFNULL(S6.CNT, 0) AS amtRefundCnt, + ROUND(IFNULL(S7.AMT, 0)) AS amtSpaySum, + IFNULL(S7.CNT, 0) AS amtSpayCnt FROM (SELECT DATE_FORMAT(t1.REG_DATE, '%Y-%m-%d') AS REG_DATE , SUM(t1.AMT) AS AMT, COUNT(0) AS CNT, @@ -1459,7 +1461,7 @@ COUNT(0) AS CNT FROM MJ_PG t2 WHERE t2.PG_STATUS = 1 - AND t2.pay_method ='card' + AND t2.pay_method ='CARD' AND t2.REG_DATE >= DATE_FORMAT(CURDATE() - INTERVAL 8 DAY, '%Y-%m-%d') GROUP BY DATE_FORMAT(t2.REG_DATE, '%Y-%m-%d') ) @@ -1511,7 +1513,19 @@ GROUP BY DATE_FORMAT(t6.LAST_UPDT_PNTTM, '%Y-%m-%d') ) S6 - ON S6.REG_DATE = S1.REG_DATE + ON S6.REG_DATE = S1.REG_DATE + LEFT JOIN + ( SELECT DATE_FORMAT(t7.REG_DATE, '%Y-%m-%d') AS REG_DATE , + SUM(t7.AMT) AS AMT, + COUNT(0) AS CNT + FROM MJ_PG t7 + WHERE t7.PG_STATUS = 1 + AND t7.pay_method ='SPAY' + AND t7.REG_DATE >= DATE_FORMAT(CURDATE() - INTERVAL 8 DAY, '%Y-%m-%d') + GROUP BY DATE_FORMAT(t7.REG_DATE, '%Y-%m-%d') + ) + S7 + ON S7.REG_DATE = S1.REG_DATE ORDER BY 1=1 ,regDate desc LIMIT #recordCountPerPage# OFFSET #firstIndex# @@ -1527,7 +1541,8 @@ ROUND(IFNULL(S3.AMT, 0)) AS amtCellSum, ROUND(IFNULL(S4.AMT, 0)) AS amtBankSum, ROUND(IFNULL(S5.AMT, 0)) AS amtVbankSum, - ROUND(IFNULL(S6.AMT, 0)) AS amtRefundSum + ROUND(IFNULL(S6.AMT, 0)) AS amtRefundSum, + ROUND(IFNULL(S7.AMT, 0)) AS amtSpaySum FROM (SELECT DATE_FORMAT(t1.REG_DATE, '%Y-%m') AS REG_DATE , SUM(t1.AMT) AS AMT, t1.moid AS MOID @@ -1542,7 +1557,7 @@ SUM(t2.AMT) AS AMT FROM MJ_PG t2 WHERE t2.PG_STATUS = 1 - AND t2.pay_method ='card' + AND t2.pay_method ='CARD' AND t2.REG_DATE >= DATE_FORMAT(CURDATE() - INTERVAL 5 MONTH, '%Y-%m-%d') GROUP BY DATE_FORMAT(t2.REG_DATE, '%Y-%m') ) @@ -1590,7 +1605,18 @@ GROUP BY DATE_FORMAT(t6.LAST_UPDT_PNTTM, '%Y-%m') ) S6 - ON S6.REG_DATE = S1.REG_DATE + ON S6.REG_DATE = S1.REG_DATE + LEFT JOIN + ( SELECT DATE_FORMAT(t7.REG_DATE, '%Y-%m') AS REG_DATE , + SUM(t7.AMT) AS AMT + FROM MJ_PG t7 + WHERE t7.PG_STATUS = 1 + AND t7.pay_method ='SPAY' + AND t7.REG_DATE >= DATE_FORMAT(CURDATE() - INTERVAL 5 MONTH, '%Y-%m-%d') + GROUP BY DATE_FORMAT(t7.REG_DATE, '%Y-%m') + ) + S7 + ON S7.REG_DATE = S1.REG_DATE ORDER BY 1=1 ,regDate desc LIMIT #recordCountPerPage# OFFSET #firstIndex# @@ -1612,7 +1638,9 @@ ROUND(IFNULL(S5.AMT, 0)) AS amtVbankSum, IFNULL(S5.CNT, 0) AS amtVbankCnt, ROUND(IFNULL(S6.AMT, 0)) AS amtRefundSum, - IFNULL(S6.CNT, 0) AS amtRefundCnt + IFNULL(S6.CNT, 0) AS amtRefundCnt, + ROUND(IFNULL(S7.AMT, 0)) AS amtSpaySum, + IFNULL(S7.CNT, 0) AS amtSpayCnt FROM (SELECT DATE_FORMAT(t1.REG_DATE, '%Y-%m-%d') AS REG_DATE , SUM(t1.AMT) AS AMT, COUNT(0) AS CNT, @@ -1634,7 +1662,7 @@ COUNT(0) AS CNT FROM MJ_PG t2 WHERE t2.PG_STATUS = 1 - AND t2.pay_method ='card' + AND t2.pay_method ='CARD' AND = #ntceBgnde# ]]> @@ -1711,7 +1739,24 @@ GROUP BY DATE_FORMAT(t6.LAST_UPDT_PNTTM, '%Y-%m-%d') ) S6 - ON S6.REG_DATE = S1.REG_DATE + ON S6.REG_DATE = S1.REG_DATE + LEFT JOIN + ( SELECT DATE_FORMAT(t7.REG_DATE, '%Y-%m-%d') AS REG_DATE , + SUM(t7.AMT) AS AMT, + COUNT(0) AS CNT + FROM MJ_PG t7 + WHERE t7.PG_STATUS = 1 + AND t7.pay_method ='SPAY' + + AND = #ntceBgnde# ]]> + + + AND + + GROUP BY DATE_FORMAT(t7.REG_DATE, '%Y-%m-%d') + ) + S7 + ON S7.REG_DATE = S1.REG_DATE ORDER BY 1=1 ,$searchSortCnd$ @@ -1733,7 +1778,8 @@ ROUND(IFNULL(S3.AMT, 0)) AS amtCellSum, ROUND(IFNULL(S4.AMT, 0)) AS amtBankSum, ROUND(IFNULL(S5.AMT, 0)) AS amtVbankSum, - ROUND(IFNULL(S6.AMT, 0)) AS amtRefundSum + ROUND(IFNULL(S6.AMT, 0)) AS amtRefundSum, + ROUND(IFNULL(S7.AMT, 0)) AS amtSpaySum FROM (SELECT DATE_FORMAT(t1.REG_DATE, '%Y-%m') AS REG_DATE , SUM(t1.AMT) AS AMT, t1.moid AS MOID @@ -1750,7 +1796,7 @@ SUM(t2.AMT) AS AMT FROM MJ_PG t2 WHERE t2.PG_STATUS = 1 - AND t2.pay_method ='card' + AND t2.pay_method ='CARD' AND @@ -1808,7 +1854,20 @@ GROUP BY DATE_FORMAT(t6.LAST_UPDT_PNTTM, '%Y-%m') ) S6 - ON S6.REG_DATE = S1.REG_DATE + ON S6.REG_DATE = S1.REG_DATE + LEFT JOIN + ( SELECT DATE_FORMAT(t7.REG_DATE, '%Y-%m') AS REG_DATE , + SUM(t7.AMT) AS AMT + FROM MJ_PG t7 + WHERE t7.PG_STATUS = 1 + AND t7.pay_method ='SPAY' + + AND + + GROUP BY DATE_FORMAT(t7.REG_DATE, '%Y-%m') + ) + S7 + ON S7.REG_DATE = S1.REG_DATE ORDER BY 1=1 ,$searchSortCnd$ diff --git a/src/main/resources/egovframework/sqlmap/let/sym/log/clg/EgovLoginLog_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/sym/log/clg/EgovLoginLog_SQL_Mysql.xml index c3b99be3..9f9a19a0 100644 --- a/src/main/resources/egovframework/sqlmap/let/sym/log/clg/EgovLoginLog_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/sym/log/clg/EgovLoginLog_SQL_Mysql.xml @@ -647,7 +647,7 @@ SELECT COUNT(B.CREAT_DT) menuCnt, A.MENU_NM AS menuNm, DATE_FORMAT(B.CREAT_DT , "%Y-%m-%d") AS creatDt, A.PROGRM_FILE_NM as progrmFileNm, A.MENU_NO as logId /** 임시정렬번호 */ FROM ( SELECT A.MENU_NM , A.PROGRM_FILE_NM , A.MENU_NO FROM LETTNMENUINFO A INNER JOIN LETTNPROGRMLIST B ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM INNER JOIN LETTNMENUCREATDTLS C ON C.MENU_NO = A.MENU_NO WHERE B.URL IS NOT NULL AND C.AUTHOR_CODE = 'ROLE_ANONYMOUS' - AND B.URL != '' ) A INNER JOIN LETTNLOGINLOG B ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM + AND B.URL != '' ) A INNER JOIN LETTNLOGINLOG B ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM WHERE 1=1 GROUP BY menuNm , creatDt ) D ON C.creatDt = D.creatDt @@ -701,7 +701,7 @@ SELECT COUNT(B.CREAT_DT) menuCnt, A.MENU_NM AS menuNm, DATE_FORMAT(B.CREAT_DT , "%Y-%m") AS creatDt, A.PROGRM_FILE_NM as progrmFileNm, A.MENU_NO as logId /** 임시정렬번호 */ FROM ( SELECT A.MENU_NM , A.PROGRM_FILE_NM , A.MENU_NO FROM LETTNMENUINFO A INNER JOIN LETTNPROGRMLIST B ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM INNER JOIN LETTNMENUCREATDTLS C ON C.MENU_NO = A.MENU_NO WHERE B.URL IS NOT NULL AND C.AUTHOR_CODE = 'ROLE_ANONYMOUS' - AND B.URL != '' ) A INNER JOIN LETTNLOGINLOG B ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM + AND B.URL != '' ) A INNER JOIN LETTNLOGINLOG B ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM AND B.CREAT_DT BETWEEN #searchBgnDe# AND #searchEndDe# WHERE 1=1 GROUP BY menuNm , creatDt ) D ON C.creatDt = D.creatDt @@ -926,54 +926,14 @@ - + + diff --git a/src/main/webapp/WEB-INF/jsp/uss/ion/msg/SendMsgList.jsp b/src/main/webapp/WEB-INF/jsp/uss/ion/msg/SendMsgList.jsp index b423c9a5..2f346204 100644 --- a/src/main/webapp/WEB-INF/jsp/uss/ion/msg/SendMsgList.jsp +++ b/src/main/webapp/WEB-INF/jsp/uss/ion/msg/SendMsgList.jsp @@ -190,6 +190,30 @@ function fnSmsNotiUpdate(flag) { } } +// 법인폰알림 업데이트 +function setSmsNoticeUpdate(mberId, adminSmsNoticeYn) { + if(confirm("법인폰 알림을 Off 하시겠습니까?")) { + $.ajax({ + type: "POST", + url: "/uss/umt/user/smsNoticeUpdateAjax.do", + data: {"mberId" : mberId, "adminSmsNoticeYn" : adminSmsNoticeYn}, + dataType:'json', + async: false, + success: function (data) { + if (data.isSuccess) { + linkPage(document.listForm.pageIndex.value); + } + else { + alert("Msg : " + data.msg); + } + }, + error: function (e) { + alert("ERROR : " + JSON.stringify(e)); + } + }); + } +} + // 안내 문자 발송 function fn_sendMsgData(msgGroupId, callTo, userId) { $('#callTo').val(callTo); @@ -510,11 +534,13 @@ function fnSmishingUpdate(flag) { - + <%-- + class="smishing"> + --%> class="smishing" style="cursor:pointer;"style="cursor:pointer;"> - 온 + 온<%----%> 오프 diff --git a/src/main/webapp/WEB-INF/jsp/uss/ion/pay/PayDayChart.jsp b/src/main/webapp/WEB-INF/jsp/uss/ion/pay/PayDayChart.jsp index 45f3b673..d0eaef2e 100644 --- a/src/main/webapp/WEB-INF/jsp/uss/ion/pay/PayDayChart.jsp +++ b/src/main/webapp/WEB-INF/jsp/uss/ion/pay/PayDayChart.jsp @@ -171,31 +171,32 @@ function fnSetCalMonth(val) {

카드 : 원, -   휴대폰 : 원, -   이체 : 원, -   전용 : 원, -   환불 : 원, -   합계 : 원 + 휴대폰 : 원, + 이체 : 원, + 전용 : 원, + 간편 : 원, + 환불 : 원, + 합계 : 원 + <%--   - - - + --%>
- - - - - + + + + + + @@ -205,6 +206,7 @@ function fnSetCalMonth(val) { + @@ -245,6 +247,14 @@ function fnSetCalMonth(val) { + - +
휴대폰 즉시이체 전용계좌간편결제 환불 합계(VAT 포함)
+ + + + () + + + @@ -264,7 +274,7 @@ function fnSetCalMonth(val) {
diff --git a/src/main/webapp/WEB-INF/jsp/uss/ion/pay/PayList.jsp b/src/main/webapp/WEB-INF/jsp/uss/ion/pay/PayList.jsp index b9f52fc0..ccdda362 100644 --- a/src/main/webapp/WEB-INF/jsp/uss/ion/pay/PayList.jsp +++ b/src/main/webapp/WEB-INF/jsp/uss/ion/pay/PayList.jsp @@ -416,37 +416,29 @@ function fnSmishingUpdate(flag, id) { <%-- (오류) --%> class="smishing"> - - 카드 - - - () - - - <%-- 9991, 9993, I002 결과코드는 사용자가 결제 중간에 취소하여 오류가 발생한 케이스임. --%> - (결제취소) - - - - - + + + 카드() + + + 카드(결제취소) + + + 카드 + + - 간편 - - - () - - - <%-- 9991, 9993, I002 결과코드는 사용자가 결제 중간에 취소하여 오류가 발생한 케이스임. --%> - (결제취소) - - - - - + + + 간편() + + + 간편 + + @@ -472,12 +464,19 @@ function fnSmishingUpdate(flag, id) { class="smishing" title=""> class="smishing" title=""> - - - - - - + + + 발급불가 + + + + + + + + + + diff --git a/src/main/webapp/WEB-INF/jsp/uss/ion/pay/PayModify.jsp b/src/main/webapp/WEB-INF/jsp/uss/ion/pay/PayModify.jsp index cd7e6dce..64dffbc5 100644 --- a/src/main/webapp/WEB-INF/jsp/uss/ion/pay/PayModify.jsp +++ b/src/main/webapp/WEB-INF/jsp/uss/ion/pay/PayModify.jsp @@ -211,7 +211,34 @@ function goList(no){ 결제수단 - + + + + + 카드() + + + 카드(결제취소) + + + 카드 + + + + + + + 간편() + + + 간편 + + + + + + + diff --git a/src/main/webapp/WEB-INF/jsp/uss/ion/pay/PayMonthChart.jsp b/src/main/webapp/WEB-INF/jsp/uss/ion/pay/PayMonthChart.jsp index 2a5ba68d..ab4a83da 100644 --- a/src/main/webapp/WEB-INF/jsp/uss/ion/pay/PayMonthChart.jsp +++ b/src/main/webapp/WEB-INF/jsp/uss/ion/pay/PayMonthChart.jsp @@ -119,11 +119,12 @@ $(document).ready(function(){
카드 : 원, -   휴대폰 : 원, -   이체 : 원, -   전용 : 원, -   환불 : 원, -   합계 : 원 + 휴대폰 : 원, + 이체 : 원, + 전용 : 원, + 간편 : 원, + 환불 : 원, + 합계 :
@@ -132,11 +133,12 @@ $(document).ready(function(){ - - - - - + + + + + + @@ -146,6 +148,7 @@ $(document).ready(function(){ + @@ -158,6 +161,7 @@ $(document).ready(function(){ + - +
휴대폰 즉시이체 전용계좌간편결제 환불 합계(VAT 포함)
@@ -172,7 +176,7 @@ $(document).ready(function(){
diff --git a/src/main/webapp/WEB-INF/jsp/uss/ion/pay/RefundList.jsp b/src/main/webapp/WEB-INF/jsp/uss/ion/pay/RefundList.jsp index d52d57a7..dbe9846c 100644 --- a/src/main/webapp/WEB-INF/jsp/uss/ion/pay/RefundList.jsp +++ b/src/main/webapp/WEB-INF/jsp/uss/ion/pay/RefundList.jsp @@ -25,9 +25,23 @@ 환불 및 결제 취소 목록 + + - - - @@ -15,6 +19,9 @@ var tabType = "${tabType}"; $(document).ready(function(){ + //다음 결제시 결제수단 SELECT + getNextPayMethod(); + // 충전금액 세팅 setPriceMake(); @@ -24,11 +31,121 @@ $(document).ready(function(){ if (tabType == "2") { $("#btnDdedicatedAccount").trigger("click"); } - + // 등급제 대상 여부 - getMberGrdChk(); + getMberGrdChk(); }); +//다음 결제시 결제수단 SELECT +function getNextPayMethod() { + var nextPayMethod = ""; + $.ajax({ + type: "POST", + url: "/web/member/pay/selectNextPayMethodAjax.do", + data: {}, + dataType:'json', + async: false, + success: function (data) { + if (data.isSuccess) { + if (data.nextPayMethod != '') { + nextPayMethod = data.nextPayMethod; + + // 버튼 영역 + $(".btn_tab").removeClass("active"); + // 금액 영역 + $(".area_tabcont").removeClass("on"); + + if (nextPayMethod == "CARD") { + $(".btn_charge1").addClass("active"); + $("#tab2_1").addClass("area_tabcont on"); + } + else if (nextPayMethod == "VBANK") { + $(".btn_charge2").addClass("active"); + $("#tab2_2").addClass("area_tabcont on"); + } + else if (nextPayMethod == "CELLPHONE") { + $(".btn_charge3").addClass("active"); + $("#tab2_3").addClass("area_tabcont on"); + } + else if (nextPayMethod == "BANK") { + $(".btn_charge4").addClass("active"); + $("#tab2_4").addClass("area_tabcont on"); + } + else if (nextPayMethod == "NAV") { + $(".btn_charge5").addClass("active"); + $("#tab2_5").addClass("area_tabcont on"); + } + else if (nextPayMethod == "KKO") { + $(".btn_charge6").addClass("active"); + $("#tab2_6").addClass("area_tabcont on"); + } + else if (nextPayMethod == "TOS") { + $(".btn_charge7").addClass("active"); + $("#tab2_7").addClass("area_tabcont on"); + } + else if (nextPayMethod == "PYC") { + $(".btn_charge8").addClass("active"); + $("#tab2_8").addClass("area_tabcont on"); + } + + // 체크박스 + $("input:checkbox[id='agree']").prop("checked", true); + } + } + }, + error: function (e) { + + } + }); +} + +// 다음 결제시 결제수단 UPDATE +function setNextPayMethod() { + var nextPayMethod = ""; + if ($("input:checkbox[id='agree']").is(":checked") == true) { + var $currentTab = $('.area_tab').children('.active').index(); + if ($currentTab == 0) { + nextPayMethod = "CARD"; + } else if ($currentTab == 1) { + nextPayMethod = "VBANK"; + } else if ($currentTab==2) { + nextPayMethod = "CELLPHONE"; + } else if ($currentTab==3) { + nextPayMethod = "BANK"; + } else { + if ($currentTab == 4) { + nextPayMethod = "NAV"; // 네이버페이 + } else if ($currentTab==5) { + nextPayMethod = "KKO"; // 카카오페이 + } else if ($currentTab==6) { + nextPayMethod = "TOS"; // 토스페이 + } else if ($currentTab==7) { + nextPayMethod = "PYC"; // 페이코 + } + } + } + else { + nextPayMethod = ""; + } + + // 업데이트 + $.ajax({ + type: "POST", + url: "/web/member/pay/updateNextPayMethodAjax.do", + data: {"nextPayMethod" : nextPayMethod}, + dataType:'json', + async: false, + success: function (data) { + if (data.isSuccess) { + + } + }, + error: function (e) { + + } + }); +} + //결제수단 상태 체크 function checkPayTypeStatusAjax(payMethod) { @@ -116,17 +233,24 @@ function pgOpenerPopup(){ alert("충전금액을 선택해주세요."); return false; } + + // 다음 결제시 결제수단 UPDATE + setNextPayMethod(); var payMethod = ""; document.pgForm.action = "/web/member/pay/PayActionAjax.do"; - - if($currentTab==0){ payMethod = "CARD";} - else if($currentTab==1){ payMethod = "VBANK"; } - /*else if($currentTab==2){ payMethod = "TEMP_CARD"; }*/ - else if($currentTab==2){ payMethod = "CELLPHONE"; - document.pgForm.action = "/web/kgm/pay/KGMPayActionAjax.do"; - } - else if($currentTab==3){ payMethod = "BANK"; } + + if ($currentTab == 0) { + payMethod = "CARD"; + } else if ($currentTab == 1) { + payMethod = "VBANK"; + } else if ($currentTab==2) { + payMethod = "CELLPHONE"; + } else if ($currentTab==3) { + payMethod = "BANK"; + } else { + payMethod = "SPAY"; + } $('input[name=payMethod]').val(payMethod); //결제수단 상태 체크 @@ -149,22 +273,223 @@ function pgOpenerPopup(){ var popupX = scX + (docWidth - 185) / 2; var popupY = scY + (docHeight - 195) / 2; - - if ($currentTab==2) { - // 휴대폰결제 - //KG 모빌리언스 - kgmPayRequest(); - //pg_opener = window.open('', 'pg_opener', "width=520, height=250, left="+popupX+", top="+popupY, "location = no","status= no","toolbars= no"); - } - else { - // 기타 - pg_opener = window.open('', 'pg_opener', "width=790, height=505, left="+popupX+", top="+popupY, "location = no","status= no","toolbars= no"); + // 결제창 호출 + if ($currentTab == 0) { + // 나이스페이 => CARD(카드결제) + pg_opener = window.open('', 'pg_opener', "width=790, height=505, left="+popupX+", top="+popupY, "location = no","status= no","toolbars= no"); + document.pgForm.method = "post"; document.pgForm.target = "pg_opener" ; - document.pgForm.submit(); - } + document.pgForm.submit(); + } else if ($currentTab == 1) { + // 전용계좌 + } else if ($currentTab == 2) { + // KG 모빌리언스 => MOBILE(휴대폰결제) + kgmPayMobileRequest(); + } else if ($currentTab==3) { + // KG 모빌리언스 => BANK(즉시이체) + kgmPayBankRequest(); + } else { + var cnDirect = ""; + if ($currentTab == 4) { + cnDirect = "NAV:00:N"; // 네이버페이 + } else if ($currentTab==5) { + cnDirect = "KKO:00:N"; // 카카오페이 + } else if ($currentTab==6) { + cnDirect = "TOS:00:N"; // 토스페이 + } else if ($currentTab==7) { + cnDirect = "PYC:00:N"; // 페이코 + } + + // KG 모빌리언스 => SPAY(간편결제) + kgmPayCardRequest(cnDirect); + } +} +//KG 모빌리언스 => CARD +function kgmPayCardRequest(cnDirect) { + $.ajax({ + type: "POST", + url: "/web/member/pay/kgmCardEncodeAjax.do", + data: {"Prdtprice": $("#price").val()}, + dataType:'json', + async: false, + success: function (data) { + if (data.isSuccess) { + var form = document.payCardForm; + form.CASH_GB.value = data.CASH_GB; + form.CN_SVCID.value = data.CN_SVCID; + form.PAY_MODE.value = data.PAY_MODE; + form.VER.value = data.VER; + form.Prdtprice.value = data.Prdtprice; + form.Prdtnm.value = data.Prdtnm; + form.Tradeid.value = data.Tradeid; + form.Siteurl.value = data.Siteurl; + form.Okurl.value = data.Okurl; + form.Notiurl.value = data.Notiurl; + form.CALL_TYPE.value = data.CALL_TYPE; + form.Failurl.value = data.Failurl; + form.Userid.value = data.Userid; + form.Username.value = data.Username; + form.MSTR.value = data.MSTR; + form.Payeremail.value = data.Payeremail; + form.Cryptyn.value = data.Cryptyn; + form.Cryptstring.value = data.Cryptstring; + form.Closeurl.value = data.Closeurl; + form.CN_BILLTYPE.value = data.CN_BILLTYPE; + form.CN_TAX.value = data.CN_TAX; + form.CN_TAXFREE.value = data.CN_TAXFREE; + form.CN_FREEINTEREST.value = data.CN_FREEINTEREST; + form.CN_POINT.value = data.CN_POINT; + form.Termregno.value = data.Termregno; + form.APP_SCHEME.value = data.APP_SCHEME; + form.CN_FIXCARDCD.value = data.CN_FIXCARDCD; + form.CN_DIRECT.value = cnDirect; + form.CN_INSTALL.value = data.CN_INSTALL; + form.Deposit.value = data.Deposit; + + //아래와 같이 ext_inc_comm.js에 선언되어 있는 함수를 호출 + MCASH_PAYMENT(form); + } + else { + alert("Msg : " + data.msg); + } + }, + error: function (e) { + alert("ERROR : " + JSON.stringify(e)); + } + }); +} + +//KG 모빌리언스 => MOBILE +function kgmPayMobileRequest() { + $.ajax({ + type: "POST", + url: "/web/member/pay/kgmMobileEncodeAjax.do", + data: {"Prdtprice": $("#price").val()}, + dataType:'json', + async: false, + success: function (data) { + if (data.isSuccess) { + var form = document.payMobileForm; + form.CASH_GB.value = data.CASH_GB; + form.Okurl.value = data.Okurl; + form.MC_SVCID.value = data.MC_SVCID; + form.Prdtnm.value = data.Prdtnm; + form.Prdtprice.value = data.Prdtprice; + form.Siteurl.value = data.Siteurl; + form.PAY_MODE.value = data.PAY_MODE; + form.Tradeid.value = data.Tradeid; + form.LOGO_YN.value = data.LOGO_YN; + form.CALL_TYPE.value = data.CALL_TYPE; + form.MC_AUTHPAY.value = data.MC_AUTHPAY; + form.Notiurl.value = data.Notiurl; + form.MC_AUTOPAY.value = data.MC_AUTOPAY; + form.Closeurl.value = data.Closeurl; + form.MC_PARTPAY.value = data.MC_PARTPAY; + form.Failurl.value = data.Failurl; + form.MC_No.value = data.MC_No; + form.MC_FIXNO.value = data.MC_FIXNO; + form.MC_Cpcode.value = data.MC_Cpcode; + form.Userid.value = data.Userid; + form.Item.value = data.Item; + form.Prdtcd.value = data.Prdtcd; + form.Payeremail.value = data.Payeremail; + form.MC_DEFAULTCOMMID.value = data.MC_DEFAULTCOMMID; + form.MC_FIXCOMMID.value = data.MC_FIXCOMMID; + form.MSTR.value = data.MSTR; + form.Sellernm.value = data.Sellernm; + form.Sellertel.value = data.Sellertel; + form.Notiemail.value = data.Notiemail; + form.IFRAME_NAME.value = data.IFRAME_NAME; + form.INFOAREA_YN.value = data.INFOAREA_YN; + form.FOOTER_YN.value = data.FOOTER_YN; + form.HEIGHT.value = data.HEIGHT; + form.PRDT_HIDDEN.value = data.PRDT_HIDDEN; + form.EMAIL_HIDDEN.value = data.EMAIL_HIDDEN; + form.CONTRACT_HIDDEN.value = data.CONTRACT_HIDDEN; + form.Cryptyn.value = data.Cryptyn; + form.Cryptstring.value = data.Cryptstring; + form.MC_EZ_YN.value = data.MC_EZ_YN; + form.MC_EZ_KEY.value = data.MC_EZ_KEY; + form.MC_PUSH_KEY.value = data.MC_PUSH_KEY; + + //아래와 같이 ext_inc_comm.js에 선언되어 있는 함수를 호출 + MCASH_PAYMENT(form); + } + else { + alert("Msg : " + data.msg); + } + }, + error: function (e) { + alert("ERROR : " + JSON.stringify(e)); + } + }); +} + +//KG 모빌리언스 => BANK +function kgmPayBankRequest() { + $.ajax({ + type: "POST", + url: "/web/member/pay/kgmBankEncodeAjax.do", + data: {"Prdtprice": $("#price").val()}, + dataType:'json', + async: false, + success: function (data) { + if (data.isSuccess) { + var form = document.payBankForm; + form.CASH_GB.value = data.CASH_GB; + form.Okurl.value = data.Okurl; + form.RA_SVCID.value = data.RA_SVCID; + form.Prdtnm.value = data.Prdtnm; + form.Prdtprice.value = data.Prdtprice; + form.Siteurl.value = data.Siteurl; + form.PAY_MODE.value = data.PAY_MODE; + form.Tradeid.value = data.Tradeid; + form.LOGO_YN.value = data.LOGO_YN; + form.CALL_TYPE.value = data.CALL_TYPE; + form.Notiurl.value = data.Notiurl; + form.Closeurl.value = data.Closeurl; + form.Failurl.value = data.Failurl; + form.Userid.value = data.Userid; + form.Item.value = data.Item; + form.Prdtcd.value = data.Prdtcd; + form.Payeremail.value = data.Payeremail; + form.MSTR.value = data.MSTR; + form.Notiemail.value = data.Notiemail; + form.IFRAME_NAME.value = data.IFRAME_NAME; + form.INFOAREA_YN.value = data.INFOAREA_YN; + form.FOOTER_YN.value = data.FOOTER_YN; + form.HEIGHT.value = data.HEIGHT; + form.PRDT_HIDDEN.value = data.PRDT_HIDDEN; + form.EMAIL_HIDDEN.value = data.EMAIL_HIDDEN; + form.CONTRACT_HIDDEN.value = data.CONTRACT_HIDDEN; + form.Cryptyn.value = data.Cryptyn; + form.Cryptstring.value = data.Cryptstring; + form.Deposit.value = data.Deposit; + + //아래와 같이 ext_inc_comm.js에 선언되어 있는 함수를 호출 + MCASH_PAYMENT(form); + } + else { + alert("Msg : " + data.msg); + } + }, + error: function (e) { + alert("ERROR : " + JSON.stringify(e)); + } + }); +} + +/* 윈도우팝업 열기 */ +function infoPop(pageUrl){ + document.infoPopForm.pageType.value = pageUrl; + document.infoPopForm.action = "/web/pop/infoPop.do"; + document.infoPopForm.method = "post"; + window.open("about:blank", 'infoPop', 'width=790, height=220, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=1'); + document.infoPopForm.target = "infoPop"; + document.infoPopForm.submit(); } // 사용안함 @@ -205,6 +530,9 @@ function fnNewBankAccount(){ } + // 다음 결제시 결제수단 UPDATE + setNextPayMethod(); + var data = new FormData(document.pgForm); url = "/web/member/pay/updateVacsAccountUsrIdAjax.do"; @@ -357,29 +685,6 @@ function fnSmsSend(sendCnt){ } -//KG 모빌리언스 -function kgmPayRequest() { - //var $currentTab = $('.area_tab').children('.active').index(); - //$("#Prdtprice").val($('.area_tabcont:eq('+$currentTab+')').find('.tempPrice').val()); - - // New - $("#Prdtprice").val($("#price").val()); - - //아래와 같이 ext_inc_comm.js에 선언되어 있는 함수를 호출 - MCASH_PAYMENT(document.payForm); -} - -/* 윈도우팝업 열기 */ -function infoPop(pageUrl){ - document.infoPopForm.pageType.value = pageUrl; - document.infoPopForm.action = "/web/pop/infoPop.do"; - document.infoPopForm.method = "post"; - window.open("about:blank", 'infoPop', 'width=790, height=220, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=1'); - document.infoPopForm.target = "infoPop"; - document.infoPopForm.submit(); -} - - //충전금액 Change Event $(document).on('change', '.list_seType1', function() { // 충전금액 세팅 @@ -459,6 +764,7 @@ function getMberGrdChk() { } }); } + -
  • -
  • +
  • +
  • + +
  • +
  • +
  • +
  • @@ -669,7 +979,7 @@ function getMberGrdChk() {

    - 전용계좌는 개설일로부터 3개월 미사용 시 자동 해지됩니다.

    - 전용계좌에 5,000원 이상 입금 시, 연중무휴 실시간 자동 충전이 가능합니다.

    - 이체 후 충전 확인까지 최대 10분이 소요됩니다.

    -

    - 이체금액에서 부가세 10%가 제외되고 충전됩니다.

    +

    - 이체금액에서 부가세 10%가 제외되고 충전됩니다.

    - 계좌번호 문자로 받기(일/3회까지) @@ -685,7 +995,7 @@ function getMberGrdChk() { -

    +

    휴대폰결제

    @@ -749,7 +1059,7 @@ function getMberGrdChk() { -
    +

    즉시이체

    @@ -811,7 +1121,7 @@ function getMberGrdChk() { @@ -820,8 +1130,274 @@ function getMberGrdChk() {
    -

    - 나이스페이 결제를 이용하여 인터넷뱅킹처럼 로그인 없이 간단한 정보 입력만으로 실시간 계좌 이체

    +

    - KG모빌리언스 결제를 이용하여 인터넷뱅킹처럼 로그인 없이 간단한 정보 입력만으로 실시간 계좌 이체

      (일반결제, 간편결제, 앱결제)를 할 수 있는 간편한 결제 수단입니다.(소득공제 및 지출증빙 가능)

    + + +
    +

    간편결제 네이버페이

    + + + + + + + + + + + + + + + + + +
    충전금액 + + +

    + +
    +
    +
    +
    최종 결제금액 :
    +
    +
      +
    • 원(공급가액)
    • +
    • 원(부가세)
    • +
    • 원(최종금액)
    • +
    +
    +
    + +
    +
    +
    +

    - 인터넷 익스플로러 이용 고객께서는 도구-팝업 차단 해제 후 충전이 가능합니다.

    +

    - 결제사별 정책상 충전금액 제한이 있을 수 있습니다.

    +

    - 간편결제 시 세금계산서 및 간이영수증은 제공되지 않습니다.

    +

    - 네이버페이 카드 결제 영수증은 네이버페이를 통해서 발급받으실 수 있습니다.

    +

    - 네이버페이 포인트 사용에 따른 현금영수증 발행은 문자온 캐시 결제과정에서 결제자가 직접 선택하여야만 요청할 수 있습니다.(결제 완료 이후 문자온에서 현금영수증 처리 불가)

    +
    +
    +
    + + + +
    + +

    간편결제 카카오페이

    + + + + + + + + + + + + + + + + + +
    충전금액 + + +

    + +
    +
    +
    +
    최종 결제금액 :
    +
    +
      +
    • 원(공급가액)
    • +
    • 원(부가세)
    • +
    • 원(최종금액)
    • +
    +
    +
    + +
    +
    +
    +

    - 인터넷 익스플로러 이용 고객께서는 도구-팝업 차단 해제 후 충전이 가능합니다.

    +

    - 결제사별 정책상 충전금액 제한이 있을 수 있습니다.

    +

    - 간편결제 시 세금계산서 및 간이영수증은 제공되지 않습니다.

    +

    - 카카오페이 결제에 따른 카드영수증 및 현금영수증은 카카오페이 앱을 통해서만 확인 가능합니다.

    +
    +
    +
    + + + +
    +

    간편결제 토스페이

    + + + + + + + + + + + + + + + + + + +
    충전금액 + + +

    + +
    +
    +
    +
    최종 결제금액 :
    +
    +
      +
    • 원(공급가액)
    • +
    • 원(부가세)
    • +
    • 원(최종금액)
    • +
    +
    +
    + +
    +
    +
    +

    - 인터넷 익스플로러 이용 고객께서는 도구-팝업 차단 해제 후 충전이 가능합니다.

    +

    - 결제사별 정책상 충전금액 제한이 있을 수 있습니다.

    +

    - 간편결제 시 세금계산서 및 간이영수증은 제공되지 않습니다.

    +

    - 토스페이 결제에 따른 카드영수증 및 현금영수증은 토스페이 앱을 통해서만 확인 가능합니다.

    +
    +
    +
    + + + +
    +

    간편결제 PAYCO

    + + + + + + + + + + + + + + + + + + +
    충전금액 + + +

    + +
    +
    +
    +
    최종 결제금액 :
    +
    +
      +
    • 원(공급가액)
    • +
    • 원(부가세)
    • +
    • 원(최종금액)
    • +
    +
    +
    + +
    +
    +
    +

    - 인터넷 익스플로러 이용 고객께서는 도구-팝업 차단 해제 후 충전이 가능합니다.

    +

    - 결제사별 정책상 충전금액 제한이 있을 수 있습니다.

    +

    - 페이코(PAYCO) 결제 영수증은 페이코를 통해 발급받으실 수 있습니다.

    +
    +
    +
    + +
    - + @@ -877,9 +1453,9 @@ function getMberGrdChk() { 취소합니다.

    - - - + + + @@ -889,161 +1465,115 @@ function getMberGrdChk() { -<%@page import="mup.mcash.module.common.McashCipher.*"%> -<%@page import="java.security.MessageDigest"%> -<%@page import="java.text.SimpleDateFormat"%> -<%@page import="java.util.Date"%> -<%@page import="itn.let.mjo.pay.service.MjonPayVO" %> -<% -//unique한 거래번호를 위한 거래일시 (밀리세컨드까지 조회) -SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSSS"); -String appr_dtm = dateFormat.format(new Date()); - -String kgmServerName = request.getServerName(); -String kgmPath = request.getScheme() + "://" + request.getServerName() +":" + request.getServerPort(); -if (request.getServerPort() == 80) { - kgmPath = request.getScheme() + "://" + request.getServerName(); -} -%> - -<% -/***************************************************************************************** -- 필수 입력 항목 -*****************************************************************************************/ -MjonPayVO mjonPayVO = (MjonPayVO)request.getAttribute("mjonPayVO"); - -String CASH_GB = "MC"; //[ 2byte 고정] 결제수단구분. "MC" 고정값. 수정불가! -// 테스트 -//String MC_SVCID = "170622040674"; //C //[ 12byte 고정] 모빌리언스에서 부여한 서비스ID (12byte 숫자 형식) -//String PAY_MODE = "00"; //C //[ 2byte 고정] 연동시 테스트/실결제 구분 (00: 테스트결제-비과금, 10: 실거래결제-과금) - -// 운영 -String MC_SVCID = "220613125202"; //C //[ 12byte 고정] 모빌리언스에서 부여한 서비스ID (12byte 숫자 형식) -String PAY_MODE = "10"; //C //[ 2byte 고정] 연동시 테스트/실결제 구분 (00: 테스트결제-비과금, 10: 실거래결제-과금) - -String Okurl = kgmPath + "/web/kgm/pay/OkUrlAjax.do"; -String Prdtnm = "충전하기"; //C //[ 50byte 이하] 상품명 -String Siteurl = kgmServerName; // localhost [ 20byte 이하] 가맹점도메인 (예: www.mcash.co.kr) -String Tradeid = MC_SVCID + "_" + appr_dtm; //[4byte 이상, 40byte 이하] 가맹점거래번호. 결제 요청 시 마다 unique한 값을 세팅해야 함. //해당 샘플에는 테스트를 위해 {가맹점 서비스ID + 요청일시} 형식으로 세팅하였음. -String Notiurl = kgmPath + "/web/kgm/pay/NotiUrlAjax.do"; - -/***************************************************************************************** -- 디자인 관련 필수항목 -*****************************************************************************************/ -String LOGO_YN = "N"; //[ 1byte 고정] 가맹점 로고 사용 여부 (N: 모빌리언스 로고-default, Y: 가맹점 로고 (사전에 모빌리언스에 가맹점 로고 이미지를 등록해야함)) -String CALL_TYPE = "P"; //[ 4byte 이하] 결제창 호출 방식 (P: 팝업-default, SELF: 페이지전환, I: 아이프레임) - - -/***************************************************************************************** -- 선택 입력 항목 -*****************************************************************************************/ -String MC_AUTHPAY = ""; //[ 1byte 고정] 하이브리드 방식 사용시 "Y" 로 설정 (휴대폰 SMS인증 후 일반 소켓모듈 결제 연동시 사용) (N: 미사용-default, Y: 사용) -String MC_AUTOPAY = ""; //[ 1byte 고정] 자동결제를 위한 최초 일반결제 시 "Y" 세팅. 결제 완료 후 휴대폰정보 대체용 USERKEY 발급 및 자동결제용 AutoBillKey 발급 (N: 미사용-default, Y: 사용) -String MC_PARTPAY = ""; //[ 1byte 고정] 부분취소를 위한 일반결제 시 "Y" 세팅. 결제 완료 후 자동결제 USERKEY 발급 (N: 미사용-default, Y: 사용) -String MC_No = ""; //[ 11byte 이하] 사용자 폰번호 (결제창 호출시 세팅할 폰번호) -String MC_FIXNO = ""; //[ 1byte 고정] 사용자 폰번호 수정불가 여부(N: 수정가능-default, Y: 수정불가) -String MC_DEFAULTCOMMID = ""; //[ 3byte 고정] 통신사 기본 선택 값. SKT, KTF, LGT 3개의 값 중 원하는 통신사 세팅 시 해당 통신사가 미리 선택되어짐. -String MC_FIXCOMMID = ""; //[ 1byte 고정] 통신사 고정 선택 값. SKT, KTF, LGT 3개의 값 중 원하는 통신사 세팅 시 해당 통신사만 결제창에 보여짐. -String Payeremail = ""; //[ 30byte 이하] 결제자 e-mail -String Userid = mjonPayVO.getUserId(); //[ 50byte 이하] 가맹점 결제자ID -String Item = ""; //[ 8byte 이하] 아이템코드. 미사용 시 반드시 공백으로 세팅. -String Prdtcd = ""; //[ 40byte 이하] 상품코드. 자동결제인 경우 상품코드별 SMS문구를 별도 세팅할 때 사용하며 사전에 모빌리언스에 등록이 필요함. -String MC_Cpcode = ""; //[ 20byte 이하] 리셀러하위상점key. 리셀러 업체인 경우에만 세팅. -String Notiemail = ""; //[ 30byte 이하] 알림 e-mail: 결제 완료 후 당사와 가맹점간의 Noti 연동이 실패한 경우 알람 메일을 받을 가맹점 담당자 이메일주소 -//String Notiurl = ""; //[ 128byte 이하] 결제 완료 후 가맹점 측 결제 처리를 담당하는 페이지. System back단으로 호출이 되며 사용자에게는 보여지지 않는다. -String Closeurl = ""; //[ 128byte 이하] 결제창 취소버튼, 닫기버튼 클릭 시 호출되는 가맹점 측 페이지. iframe 호출 시 필수! (예: http://www.mcash.co.kr/closeurl.jsp) -String Failurl = ""; //[ 128byte 이하] 결제 실패 시 사용자에게 보여질 가맹점 측 실패 페이지. 결제처리에 대한 실패처리 안내를 가맹점에서 제어해야 할 경우만 사용. - // iframe 호출 시 필수! (예: http://www.mcash.co.kr/failurl.jsp) -String MSTR = ""; //[2000byte 이하] 가맹점 콜백 변수. 가맹점에서 추가적으로 파라미터가 필요한 경우 사용하며 &, % 는 사용불가 (예: MSTR="a=1|b=2|c=3") -String MC_EZ_YN = "Y"; //[ 1byte 고정] 간소화결제여부. 간소화결제 사용시 "Y" 로 설정 (N: 미사용-default, Y: 사용) -String MC_EZ_KEY = ""; //[ 20byte 고정] 간소화결제 사용자키 - -/***************************************************************************************** -- 오픈마켓의 경우 아래의 정보를 입력해야 합니다. -장바구니 결제의 경우 대표 판매자 외 n명, 대표 판매자 연락처를 입력하세요. -예) Sellernm = "홍길동외 2명"; - Sellertel = "0212345678"; -*****************************************************************************************/ -String Sellernm = ""; //[ 50byte 이하] 실판매자 이름 (오픈마켓의 경우 실 판매자 정보 필수) -String Sellertel = ""; //[ 15byte 이하] 실판매자 전화번호 (오픈마켓의 경우 실 판매자 정보 필수) - - - -/***************************************************************************************** -- 디자인 관련 선택항목 (향후 변경될 수 있습니다.) -*****************************************************************************************/ -String IFRAME_NAME = ""; //[ 1byte 고정] 결제창을 iframe으로 호출 할 경우 iframe 명칭 세팅 -String INFOAREA_YN = ""; //[ 1byte 고정] 결제창 안내문 표시여부 (Y: 표시-default, N: 미표시) -String FOOTER_YN = ""; //[ 1byte 고정] 결제창 하단 안내 표시여부 (Y: 표시-default, N: 미표시) -String HEIGHT = ""; //[ 4byte 이하] 결제창 높이 (px단위: iframe 등 사용시 결제창 높이 조절, 팝업창 등 호출시 "" 로 세팅) -String PRDT_HIDDEN = ""; //[ 1byte 고정] iframe 사용시 상품명 숨김 여부 (가맹점 디자인 결제창으로 결제 입력 사항만 iframe에서 사용시) -String EMAIL_HIDDEN = ""; //[ 1byte 고정] 결제자 e-mail 입력창 숨김 여부 (N: 표시-default, Y: 미표시) -String CONTRACT_HIDDEN = ""; //[ 1byte 고정] 이용약관 숨김 여부 (Y: 표시-default, N: 미표시) - - - -/***************************************************************************************** -- 암호화 처리 (암호화 사용 시) -Cryptstring 항목은 금액변조에 대한 확인용으로 반드시 아래와 같이 문자열을 생성하여야 합니다. - -주) 암호화 스트링은 가맹점에서 전달하는 거래번호로 부터 추출되어 사용되므로 -암호화에 이용한 거래번호가 변조되어 전달될 경우 복호화 실패로 결제 진행 불가 -*****************************************************************************************/ -String Cryptyn = "N"; //Y: 암호화 사용, N: 암호화 미사용 -String Cryptstring = ""; //암호화 사용 시 암호화된 스트링 - -if( Cryptyn.equals("Y") ){ - //Cryptstring = Prdtprice + Okurl; //금액변조확인 (결제요청금액 + Okurl) - Okurl = McashCipher.encodeString(Okurl, Tradeid); - Failurl = McashCipher.encodeString(Failurl, Tradeid); - Notiurl = McashCipher.encodeString(Notiurl, Tradeid); - //Prdtprice = McashCipher.encodeString(Prdtprice, Tradeid); - //Cryptstring = McashCipher.encodeString(Cryptstring, Tradeid); -} -%> - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/src/main/webapp/WEB-INF/jsp/web/pay/PayViewV2.jsp b/src/main/webapp/WEB-INF/jsp/web/pay/PayViewOld.jsp similarity index 55% rename from src/main/webapp/WEB-INF/jsp/web/pay/PayViewV2.jsp rename to src/main/webapp/WEB-INF/jsp/web/pay/PayViewOld.jsp index 1aa9cbed..bc217301 100644 --- a/src/main/webapp/WEB-INF/jsp/web/pay/PayViewV2.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/pay/PayViewOld.jsp @@ -6,10 +6,6 @@ <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%> - - @@ -19,9 +15,6 @@ var tabType = "${tabType}"; $(document).ready(function(){ - //다음 결제시 결제수단 SELECT - getNextPayMethod(); - // 충전금액 세팅 setPriceMake(); @@ -31,120 +24,10 @@ $(document).ready(function(){ if (tabType == "2") { $("#btnDdedicatedAccount").trigger("click"); } - - // 등급제 대상 여부 - getMberGrdChk(); -}); - -//다음 결제시 결제수단 SELECT -function getNextPayMethod() { - var nextPayMethod = ""; - $.ajax({ - type: "POST", - url: "/web/member/pay/selectNextPayMethodAjax.do", - data: {}, - dataType:'json', - async: false, - success: function (data) { - if (data.isSuccess) { - if (data.nextPayMethod != '') { - nextPayMethod = data.nextPayMethod; - - // 버튼 영역 - $(".btn_tab").removeClass("active"); - // 금액 영역 - $(".area_tabcont").removeClass("on"); - - if (nextPayMethod == "CARD") { - $(".btn_charge1").addClass("active"); - $("#tab2_1").addClass("area_tabcont on"); - } - else if (nextPayMethod == "VBANK") { - $(".btn_charge2").addClass("active"); - $("#tab2_2").addClass("area_tabcont on"); - } - else if (nextPayMethod == "CELLPHONE") { - $(".btn_charge3").addClass("active"); - $("#tab2_3").addClass("area_tabcont on"); - } - else if (nextPayMethod == "BANK") { - $(".btn_charge4").addClass("active"); - $("#tab2_4").addClass("area_tabcont on"); - } - else if (nextPayMethod == "NAV") { - $(".btn_charge5").addClass("active"); - $("#tab2_5").addClass("area_tabcont on"); - } - else if (nextPayMethod == "KKO") { - $(".btn_charge6").addClass("active"); - $("#tab2_6").addClass("area_tabcont on"); - } - else if (nextPayMethod == "TOS") { - $(".btn_charge7").addClass("active"); - $("#tab2_7").addClass("area_tabcont on"); - } - else if (nextPayMethod == "PYC") { - $(".btn_charge8").addClass("active"); - $("#tab2_8").addClass("area_tabcont on"); - } - - // 체크박스 - $("input:checkbox[id='agree']").prop("checked", true); - } - } - }, - error: function (e) { - - } - }); -} - -// 다음 결제시 결제수단 UPDATE -function setNextPayMethod() { - var nextPayMethod = ""; - if ($("input:checkbox[id='agree']").is(":checked") == true) { - var $currentTab = $('.area_tab').children('.active').index(); - if ($currentTab == 0) { - nextPayMethod = "CARD"; - } else if ($currentTab == 1) { - nextPayMethod = "VBANK"; - } else if ($currentTab==2) { - nextPayMethod = "CELLPHONE"; - } else if ($currentTab==3) { - nextPayMethod = "BANK"; - } else { - if ($currentTab == 4) { - nextPayMethod = "NAV"; // 네이버페이 - } else if ($currentTab==5) { - nextPayMethod = "KKO"; // 카카오페이 - } else if ($currentTab==6) { - nextPayMethod = "TOS"; // 토스페이 - } else if ($currentTab==7) { - nextPayMethod = "PYC"; // 페이코 - } - } - } - else { - nextPayMethod = ""; - } - // 업데이트 - $.ajax({ - type: "POST", - url: "/web/member/pay/updateNextPayMethodAjax.do", - data: {"nextPayMethod" : nextPayMethod}, - dataType:'json', - async: false, - success: function (data) { - if (data.isSuccess) { - - } - }, - error: function (e) { - - } - }); -} + // 등급제 대상 여부 + getMberGrdChk(); +}); //결제수단 상태 체크 @@ -233,24 +116,17 @@ function pgOpenerPopup(){ alert("충전금액을 선택해주세요."); return false; } - - // 다음 결제시 결제수단 UPDATE - setNextPayMethod(); var payMethod = ""; document.pgForm.action = "/web/member/pay/PayActionAjax.do"; - - if ($currentTab == 0) { - payMethod = "CARD"; - } else if ($currentTab == 1) { - payMethod = "VBANK"; - } else if ($currentTab==2) { - payMethod = "CELLPHONE"; - } else if ($currentTab==3) { - payMethod = "BANK"; - } else { - payMethod = "SPAY"; - } + + if($currentTab==0){ payMethod = "CARD";} + else if($currentTab==1){ payMethod = "VBANK"; } + /*else if($currentTab==2){ payMethod = "TEMP_CARD"; }*/ + else if($currentTab==2){ payMethod = "CELLPHONE"; + document.pgForm.action = "/web/kgm/pay/KGMPayActionAjax.do"; + } + else if($currentTab==3){ payMethod = "BANK"; } $('input[name=payMethod]').val(payMethod); //결제수단 상태 체크 @@ -273,223 +149,22 @@ function pgOpenerPopup(){ var popupX = scX + (docWidth - 185) / 2; var popupY = scY + (docHeight - 195) / 2; - - // 결제창 호출 - if ($currentTab == 0) { - // 나이스페이 => CARD(카드결제) - pg_opener = window.open('', 'pg_opener', "width=790, height=505, left="+popupX+", top="+popupY, "location = no","status= no","toolbars= no"); + if ($currentTab==2) { + // 휴대폰결제 + //KG 모빌리언스 + kgmPayRequest(); + //pg_opener = window.open('', 'pg_opener', "width=520, height=250, left="+popupX+", top="+popupY, "location = no","status= no","toolbars= no"); + } + else { + // 기타 + pg_opener = window.open('', 'pg_opener', "width=790, height=505, left="+popupX+", top="+popupY, "location = no","status= no","toolbars= no"); + document.pgForm.method = "post"; document.pgForm.target = "pg_opener" ; - document.pgForm.submit(); - } else if ($currentTab == 1) { - // 전용계좌 - } else if ($currentTab == 2) { - // KG 모빌리언스 => MOBILE(휴대폰결제) - kgmPayMobileRequest(); - } else if ($currentTab==3) { - // KG 모빌리언스 => BANK(즉시이체) - kgmPayBankRequest(); - } else { - var cnDirect = ""; - if ($currentTab == 4) { - cnDirect = "NAV:00:N"; // 네이버페이 - } else if ($currentTab==5) { - cnDirect = "KKO:00:N"; // 카카오페이 - } else if ($currentTab==6) { - cnDirect = "TOS:00:N"; // 토스페이 - } else if ($currentTab==7) { - cnDirect = "PYC:00:N"; // 페이코 - } - - // KG 모빌리언스 => SPAY(간편결제) - kgmPayCardRequest(cnDirect); - } -} + document.pgForm.submit(); + } -//KG 모빌리언스 => CARD -function kgmPayCardRequest(cnDirect) { - $.ajax({ - type: "POST", - url: "/web/member/pay/kgmCardEncodeAjax.do", - data: {"Prdtprice": $("#price").val()}, - dataType:'json', - async: false, - success: function (data) { - if (data.isSuccess) { - var form = document.payCardForm; - form.CASH_GB.value = data.CASH_GB; - form.CN_SVCID.value = data.CN_SVCID; - form.PAY_MODE.value = data.PAY_MODE; - form.VER.value = data.VER; - form.Prdtprice.value = data.Prdtprice; - form.Prdtnm.value = data.Prdtnm; - form.Tradeid.value = data.Tradeid; - form.Siteurl.value = data.Siteurl; - form.Okurl.value = data.Okurl; - form.Notiurl.value = data.Notiurl; - form.CALL_TYPE.value = data.CALL_TYPE; - form.Failurl.value = data.Failurl; - form.Userid.value = data.Userid; - form.Username.value = data.Username; - form.MSTR.value = data.MSTR; - form.Payeremail.value = data.Payeremail; - form.Cryptyn.value = data.Cryptyn; - form.Cryptstring.value = data.Cryptstring; - form.Closeurl.value = data.Closeurl; - form.CN_BILLTYPE.value = data.CN_BILLTYPE; - form.CN_TAX.value = data.CN_TAX; - form.CN_TAXFREE.value = data.CN_TAXFREE; - form.CN_FREEINTEREST.value = data.CN_FREEINTEREST; - form.CN_POINT.value = data.CN_POINT; - form.Termregno.value = data.Termregno; - form.APP_SCHEME.value = data.APP_SCHEME; - form.CN_FIXCARDCD.value = data.CN_FIXCARDCD; - form.CN_DIRECT.value = cnDirect; - form.CN_INSTALL.value = data.CN_INSTALL; - form.Deposit.value = data.Deposit; - - //아래와 같이 ext_inc_comm.js에 선언되어 있는 함수를 호출 - MCASH_PAYMENT(form); - } - else { - alert("Msg : " + data.msg); - } - }, - error: function (e) { - alert("ERROR : " + JSON.stringify(e)); - } - }); -} - -//KG 모빌리언스 => MOBILE -function kgmPayMobileRequest() { - $.ajax({ - type: "POST", - url: "/web/member/pay/kgmMobileEncodeAjax.do", - data: {"Prdtprice": $("#price").val()}, - dataType:'json', - async: false, - success: function (data) { - if (data.isSuccess) { - var form = document.payMobileForm; - form.CASH_GB.value = data.CASH_GB; - form.Okurl.value = data.Okurl; - form.MC_SVCID.value = data.MC_SVCID; - form.Prdtnm.value = data.Prdtnm; - form.Prdtprice.value = data.Prdtprice; - form.Siteurl.value = data.Siteurl; - form.PAY_MODE.value = data.PAY_MODE; - form.Tradeid.value = data.Tradeid; - form.LOGO_YN.value = data.LOGO_YN; - form.CALL_TYPE.value = data.CALL_TYPE; - form.MC_AUTHPAY.value = data.MC_AUTHPAY; - form.Notiurl.value = data.Notiurl; - form.MC_AUTOPAY.value = data.MC_AUTOPAY; - form.Closeurl.value = data.Closeurl; - form.MC_PARTPAY.value = data.MC_PARTPAY; - form.Failurl.value = data.Failurl; - form.MC_No.value = data.MC_No; - form.MC_FIXNO.value = data.MC_FIXNO; - form.MC_Cpcode.value = data.MC_Cpcode; - form.Userid.value = data.Userid; - form.Item.value = data.Item; - form.Prdtcd.value = data.Prdtcd; - form.Payeremail.value = data.Payeremail; - form.MC_DEFAULTCOMMID.value = data.MC_DEFAULTCOMMID; - form.MC_FIXCOMMID.value = data.MC_FIXCOMMID; - form.MSTR.value = data.MSTR; - form.Sellernm.value = data.Sellernm; - form.Sellertel.value = data.Sellertel; - form.Notiemail.value = data.Notiemail; - form.IFRAME_NAME.value = data.IFRAME_NAME; - form.INFOAREA_YN.value = data.INFOAREA_YN; - form.FOOTER_YN.value = data.FOOTER_YN; - form.HEIGHT.value = data.HEIGHT; - form.PRDT_HIDDEN.value = data.PRDT_HIDDEN; - form.EMAIL_HIDDEN.value = data.EMAIL_HIDDEN; - form.CONTRACT_HIDDEN.value = data.CONTRACT_HIDDEN; - form.Cryptyn.value = data.Cryptyn; - form.Cryptstring.value = data.Cryptstring; - form.MC_EZ_YN.value = data.MC_EZ_YN; - form.MC_EZ_KEY.value = data.MC_EZ_KEY; - form.MC_PUSH_KEY.value = data.MC_PUSH_KEY; - - //아래와 같이 ext_inc_comm.js에 선언되어 있는 함수를 호출 - MCASH_PAYMENT(form); - } - else { - alert("Msg : " + data.msg); - } - }, - error: function (e) { - alert("ERROR : " + JSON.stringify(e)); - } - }); -} - -//KG 모빌리언스 => BANK -function kgmPayBankRequest() { - $.ajax({ - type: "POST", - url: "/web/member/pay/kgmBankEncodeAjax.do", - data: {"Prdtprice": $("#price").val()}, - dataType:'json', - async: false, - success: function (data) { - if (data.isSuccess) { - var form = document.payBankForm; - form.CASH_GB.value = data.CASH_GB; - form.Okurl.value = data.Okurl; - form.RA_SVCID.value = data.RA_SVCID; - form.Prdtnm.value = data.Prdtnm; - form.Prdtprice.value = data.Prdtprice; - form.Siteurl.value = data.Siteurl; - form.PAY_MODE.value = data.PAY_MODE; - form.Tradeid.value = data.Tradeid; - form.LOGO_YN.value = data.LOGO_YN; - form.CALL_TYPE.value = data.CALL_TYPE; - form.Notiurl.value = data.Notiurl; - form.Closeurl.value = data.Closeurl; - form.Failurl.value = data.Failurl; - form.Userid.value = data.Userid; - form.Item.value = data.Item; - form.Prdtcd.value = data.Prdtcd; - form.Payeremail.value = data.Payeremail; - form.MSTR.value = data.MSTR; - form.Notiemail.value = data.Notiemail; - form.IFRAME_NAME.value = data.IFRAME_NAME; - form.INFOAREA_YN.value = data.INFOAREA_YN; - form.FOOTER_YN.value = data.FOOTER_YN; - form.HEIGHT.value = data.HEIGHT; - form.PRDT_HIDDEN.value = data.PRDT_HIDDEN; - form.EMAIL_HIDDEN.value = data.EMAIL_HIDDEN; - form.CONTRACT_HIDDEN.value = data.CONTRACT_HIDDEN; - form.Cryptyn.value = data.Cryptyn; - form.Cryptstring.value = data.Cryptstring; - form.Deposit.value = data.Deposit; - - //아래와 같이 ext_inc_comm.js에 선언되어 있는 함수를 호출 - MCASH_PAYMENT(form); - } - else { - alert("Msg : " + data.msg); - } - }, - error: function (e) { - alert("ERROR : " + JSON.stringify(e)); - } - }); -} - -/* 윈도우팝업 열기 */ -function infoPop(pageUrl){ - document.infoPopForm.pageType.value = pageUrl; - document.infoPopForm.action = "/web/pop/infoPop.do"; - document.infoPopForm.method = "post"; - window.open("about:blank", 'infoPop', 'width=790, height=220, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=1'); - document.infoPopForm.target = "infoPop"; - document.infoPopForm.submit(); } // 사용안함 @@ -530,9 +205,6 @@ function fnNewBankAccount(){ } - // 다음 결제시 결제수단 UPDATE - setNextPayMethod(); - var data = new FormData(document.pgForm); url = "/web/member/pay/updateVacsAccountUsrIdAjax.do"; @@ -685,6 +357,29 @@ function fnSmsSend(sendCnt){ } +//KG 모빌리언스 +function kgmPayRequest() { + //var $currentTab = $('.area_tab').children('.active').index(); + //$("#Prdtprice").val($('.area_tabcont:eq('+$currentTab+')').find('.tempPrice').val()); + + // New + $("#Prdtprice").val($("#price").val()); + + //아래와 같이 ext_inc_comm.js에 선언되어 있는 함수를 호출 + MCASH_PAYMENT(document.payForm); +} + +/* 윈도우팝업 열기 */ +function infoPop(pageUrl){ + document.infoPopForm.pageType.value = pageUrl; + document.infoPopForm.action = "/web/pop/infoPop.do"; + document.infoPopForm.method = "post"; + window.open("about:blank", 'infoPop', 'width=790, height=220, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=1'); + document.infoPopForm.target = "infoPop"; + document.infoPopForm.submit(); +} + + //충전금액 Change Event $(document).on('change', '.list_seType1', function() { // 충전금액 세팅 @@ -764,7 +459,6 @@ function getMberGrdChk() { } }); } - +
  • +
  • @@ -979,7 +669,7 @@ function getMberGrdChk() {

    - 전용계좌는 개설일로부터 3개월 미사용 시 자동 해지됩니다.

    - 전용계좌에 5,000원 이상 입금 시, 연중무휴 실시간 자동 충전이 가능합니다.

    - 이체 후 충전 확인까지 최대 10분이 소요됩니다.

    -

    - 이체금액에서 부가세 10%가 제외되고 충전됩니다.

    +

    - 이체금액에서 부가세 10%가 제외되고 충전됩니다.

    - 계좌번호 문자로 받기(일/3회까지) @@ -995,7 +685,7 @@ function getMberGrdChk() { -

    +

    휴대폰결제

    @@ -1059,7 +749,7 @@ function getMberGrdChk() { -
    +

    즉시이체

    @@ -1121,7 +811,7 @@ function getMberGrdChk() { @@ -1130,274 +820,8 @@ function getMberGrdChk() {
    -

    - KG모빌리언스 결제를 이용하여 인터넷뱅킹처럼 로그인 없이 간단한 정보 입력만으로 실시간 계좌 이체

    +

    - 나이스페이 결제를 이용하여 인터넷뱅킹처럼 로그인 없이 간단한 정보 입력만으로 실시간 계좌 이체

      (일반결제, 간편결제, 앱결제)를 할 수 있는 간편한 결제 수단입니다.(소득공제 및 지출증빙 가능)

    - - -
    -

    간편결제 네이버페이

    - - - - - - - - - - - - - - - - - -
    충전금액 - - -

    - -
    -
    -
    -
    최종 결제금액 :
    -
    -
      -
    • 원(공급가액)
    • -
    • 원(부가세)
    • -
    • 원(최종금액)
    • -
    -
    -
    - -
    -
    -
    -

    - 인터넷 익스플로러 이용 고객께서는 도구-팝업 차단 해제 후 충전이 가능합니다.

    -

    - 결제사별 정책상 충전금액 제한이 있을 수 있습니다.

    -

    - 간편결제 시 세금계산서 및 간이영수증은 제공되지 않습니다.

    -

    - 네이버페이 카드 결제 영수증은 네이버페이를 통해서 발급받으실 수 있습니다.

    -

    - 네이버페이 포인트 사용에 따른 현금영수증 발행은 문자온 캐시 결제과정에서 결제자가 직접 선택하여야만 요청할 수 있습니다.(결제 완료 이후 문자온에서 현금영수증 처리 불가)

    -
    -
    -
    - - - -
    - -

    간편결제 카카오페이

    - - - - - - - - - - - - - - - - - -
    충전금액 - - -

    - -
    -
    -
    -
    최종 결제금액 :
    -
    -
      -
    • 원(공급가액)
    • -
    • 원(부가세)
    • -
    • 원(최종금액)
    • -
    -
    -
    - -
    -
    -
    -

    - 인터넷 익스플로러 이용 고객께서는 도구-팝업 차단 해제 후 충전이 가능합니다.

    -

    - 결제사별 정책상 충전금액 제한이 있을 수 있습니다.

    -

    - 간편결제 시 세금계산서 및 간이영수증은 제공되지 않습니다.

    -

    - 카카오페이 결제에 따른 카드영수증 및 현금영수증은 카카오페이 앱을 통해서만 확인 가능합니다.

    -
    -
    -
    - - - -
    -

    간편결제 토스페이

    - - - - - - - - - - - - - - - - - - -
    충전금액 - - -

    - -
    -
    -
    -
    최종 결제금액 :
    -
    -
      -
    • 원(공급가액)
    • -
    • 원(부가세)
    • -
    • 원(최종금액)
    • -
    -
    -
    - -
    -
    -
    -

    - 인터넷 익스플로러 이용 고객께서는 도구-팝업 차단 해제 후 충전이 가능합니다.

    -

    - 결제사별 정책상 충전금액 제한이 있을 수 있습니다.

    -

    - 간편결제 시 세금계산서 및 간이영수증은 제공되지 않습니다.

    -

    - 토스페이 결제에 따른 카드영수증 및 현금영수증은 토스페이 앱을 통해서만 확인 가능합니다.

    -
    -
    -
    - - - -
    -

    간편결제 PAYCO

    - - - - - - - - - - - - - - - - - - -
    충전금액 - - -

    - -
    -
    -
    -
    최종 결제금액 :
    -
    -
      -
    • 원(공급가액)
    • -
    • 원(부가세)
    • -
    • 원(최종금액)
    • -
    -
    -
    - -
    -
    -
    -

    - 인터넷 익스플로러 이용 고객께서는 도구-팝업 차단 해제 후 충전이 가능합니다.

    -

    - 결제사별 정책상 충전금액 제한이 있을 수 있습니다.

    -

    - 페이코(PAYCO) 결제 영수증은 페이코를 통해 발급받으실 수 있습니다.

    -
    -
    -
    - -
    - + @@ -1453,9 +877,9 @@ function getMberGrdChk() { 취소합니다.

    - - - + + + @@ -1465,115 +889,161 @@ function getMberGrdChk() { +<%@page import="mup.mcash.module.common.McashCipher.*"%> +<%@page import="java.security.MessageDigest"%> +<%@page import="java.text.SimpleDateFormat"%> +<%@page import="java.util.Date"%> +<%@page import="itn.let.mjo.pay.service.MjonPayVO" %> - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +<% +//unique한 거래번호를 위한 거래일시 (밀리세컨드까지 조회) +SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSSS"); +String appr_dtm = dateFormat.format(new Date()); + +String kgmServerName = request.getServerName(); +String kgmPath = request.getScheme() + "://" + request.getServerName() +":" + request.getServerPort(); +if (request.getServerPort() == 80) { + kgmPath = request.getScheme() + "://" + request.getServerName(); +} +%> + +<% +/***************************************************************************************** +- 필수 입력 항목 +*****************************************************************************************/ +MjonPayVO mjonPayVO = (MjonPayVO)request.getAttribute("mjonPayVO"); + +String CASH_GB = "MC"; //[ 2byte 고정] 결제수단구분. "MC" 고정값. 수정불가! +// 테스트 +//String MC_SVCID = "170622040674"; //C //[ 12byte 고정] 모빌리언스에서 부여한 서비스ID (12byte 숫자 형식) +//String PAY_MODE = "00"; //C //[ 2byte 고정] 연동시 테스트/실결제 구분 (00: 테스트결제-비과금, 10: 실거래결제-과금) + +// 운영 +String MC_SVCID = "220613125202"; //C //[ 12byte 고정] 모빌리언스에서 부여한 서비스ID (12byte 숫자 형식) +String PAY_MODE = "10"; //C //[ 2byte 고정] 연동시 테스트/실결제 구분 (00: 테스트결제-비과금, 10: 실거래결제-과금) + +String Okurl = kgmPath + "/web/kgm/pay/OkUrlAjax.do"; +String Prdtnm = "충전하기"; //C //[ 50byte 이하] 상품명 +String Siteurl = kgmServerName; // localhost [ 20byte 이하] 가맹점도메인 (예: www.mcash.co.kr) +String Tradeid = MC_SVCID + "_" + appr_dtm; //[4byte 이상, 40byte 이하] 가맹점거래번호. 결제 요청 시 마다 unique한 값을 세팅해야 함. //해당 샘플에는 테스트를 위해 {가맹점 서비스ID + 요청일시} 형식으로 세팅하였음. +String Notiurl = kgmPath + "/web/kgm/pay/NotiUrlAjax.do"; + +/***************************************************************************************** +- 디자인 관련 필수항목 +*****************************************************************************************/ +String LOGO_YN = "N"; //[ 1byte 고정] 가맹점 로고 사용 여부 (N: 모빌리언스 로고-default, Y: 가맹점 로고 (사전에 모빌리언스에 가맹점 로고 이미지를 등록해야함)) +String CALL_TYPE = "P"; //[ 4byte 이하] 결제창 호출 방식 (P: 팝업-default, SELF: 페이지전환, I: 아이프레임) + + +/***************************************************************************************** +- 선택 입력 항목 +*****************************************************************************************/ +String MC_AUTHPAY = ""; //[ 1byte 고정] 하이브리드 방식 사용시 "Y" 로 설정 (휴대폰 SMS인증 후 일반 소켓모듈 결제 연동시 사용) (N: 미사용-default, Y: 사용) +String MC_AUTOPAY = ""; //[ 1byte 고정] 자동결제를 위한 최초 일반결제 시 "Y" 세팅. 결제 완료 후 휴대폰정보 대체용 USERKEY 발급 및 자동결제용 AutoBillKey 발급 (N: 미사용-default, Y: 사용) +String MC_PARTPAY = ""; //[ 1byte 고정] 부분취소를 위한 일반결제 시 "Y" 세팅. 결제 완료 후 자동결제 USERKEY 발급 (N: 미사용-default, Y: 사용) +String MC_No = ""; //[ 11byte 이하] 사용자 폰번호 (결제창 호출시 세팅할 폰번호) +String MC_FIXNO = ""; //[ 1byte 고정] 사용자 폰번호 수정불가 여부(N: 수정가능-default, Y: 수정불가) +String MC_DEFAULTCOMMID = ""; //[ 3byte 고정] 통신사 기본 선택 값. SKT, KTF, LGT 3개의 값 중 원하는 통신사 세팅 시 해당 통신사가 미리 선택되어짐. +String MC_FIXCOMMID = ""; //[ 1byte 고정] 통신사 고정 선택 값. SKT, KTF, LGT 3개의 값 중 원하는 통신사 세팅 시 해당 통신사만 결제창에 보여짐. +String Payeremail = ""; //[ 30byte 이하] 결제자 e-mail +String Userid = mjonPayVO.getUserId(); //[ 50byte 이하] 가맹점 결제자ID +String Item = ""; //[ 8byte 이하] 아이템코드. 미사용 시 반드시 공백으로 세팅. +String Prdtcd = ""; //[ 40byte 이하] 상품코드. 자동결제인 경우 상품코드별 SMS문구를 별도 세팅할 때 사용하며 사전에 모빌리언스에 등록이 필요함. +String MC_Cpcode = ""; //[ 20byte 이하] 리셀러하위상점key. 리셀러 업체인 경우에만 세팅. +String Notiemail = ""; //[ 30byte 이하] 알림 e-mail: 결제 완료 후 당사와 가맹점간의 Noti 연동이 실패한 경우 알람 메일을 받을 가맹점 담당자 이메일주소 +//String Notiurl = ""; //[ 128byte 이하] 결제 완료 후 가맹점 측 결제 처리를 담당하는 페이지. System back단으로 호출이 되며 사용자에게는 보여지지 않는다. +String Closeurl = ""; //[ 128byte 이하] 결제창 취소버튼, 닫기버튼 클릭 시 호출되는 가맹점 측 페이지. iframe 호출 시 필수! (예: http://www.mcash.co.kr/closeurl.jsp) +String Failurl = ""; //[ 128byte 이하] 결제 실패 시 사용자에게 보여질 가맹점 측 실패 페이지. 결제처리에 대한 실패처리 안내를 가맹점에서 제어해야 할 경우만 사용. + // iframe 호출 시 필수! (예: http://www.mcash.co.kr/failurl.jsp) +String MSTR = ""; //[2000byte 이하] 가맹점 콜백 변수. 가맹점에서 추가적으로 파라미터가 필요한 경우 사용하며 &, % 는 사용불가 (예: MSTR="a=1|b=2|c=3") +String MC_EZ_YN = "Y"; //[ 1byte 고정] 간소화결제여부. 간소화결제 사용시 "Y" 로 설정 (N: 미사용-default, Y: 사용) +String MC_EZ_KEY = ""; //[ 20byte 고정] 간소화결제 사용자키 + +/***************************************************************************************** +- 오픈마켓의 경우 아래의 정보를 입력해야 합니다. +장바구니 결제의 경우 대표 판매자 외 n명, 대표 판매자 연락처를 입력하세요. +예) Sellernm = "홍길동외 2명"; + Sellertel = "0212345678"; +*****************************************************************************************/ +String Sellernm = ""; //[ 50byte 이하] 실판매자 이름 (오픈마켓의 경우 실 판매자 정보 필수) +String Sellertel = ""; //[ 15byte 이하] 실판매자 전화번호 (오픈마켓의 경우 실 판매자 정보 필수) + + + +/***************************************************************************************** +- 디자인 관련 선택항목 (향후 변경될 수 있습니다.) +*****************************************************************************************/ +String IFRAME_NAME = ""; //[ 1byte 고정] 결제창을 iframe으로 호출 할 경우 iframe 명칭 세팅 +String INFOAREA_YN = ""; //[ 1byte 고정] 결제창 안내문 표시여부 (Y: 표시-default, N: 미표시) +String FOOTER_YN = ""; //[ 1byte 고정] 결제창 하단 안내 표시여부 (Y: 표시-default, N: 미표시) +String HEIGHT = ""; //[ 4byte 이하] 결제창 높이 (px단위: iframe 등 사용시 결제창 높이 조절, 팝업창 등 호출시 "" 로 세팅) +String PRDT_HIDDEN = ""; //[ 1byte 고정] iframe 사용시 상품명 숨김 여부 (가맹점 디자인 결제창으로 결제 입력 사항만 iframe에서 사용시) +String EMAIL_HIDDEN = ""; //[ 1byte 고정] 결제자 e-mail 입력창 숨김 여부 (N: 표시-default, Y: 미표시) +String CONTRACT_HIDDEN = ""; //[ 1byte 고정] 이용약관 숨김 여부 (Y: 표시-default, N: 미표시) + + + +/***************************************************************************************** +- 암호화 처리 (암호화 사용 시) +Cryptstring 항목은 금액변조에 대한 확인용으로 반드시 아래와 같이 문자열을 생성하여야 합니다. + +주) 암호화 스트링은 가맹점에서 전달하는 거래번호로 부터 추출되어 사용되므로 +암호화에 이용한 거래번호가 변조되어 전달될 경우 복호화 실패로 결제 진행 불가 +*****************************************************************************************/ +String Cryptyn = "N"; //Y: 암호화 사용, N: 암호화 미사용 +String Cryptstring = ""; //암호화 사용 시 암호화된 스트링 + +if( Cryptyn.equals("Y") ){ + //Cryptstring = Prdtprice + Okurl; //금액변조확인 (결제요청금액 + Okurl) + Okurl = McashCipher.encodeString(Okurl, Tradeid); + Failurl = McashCipher.encodeString(Failurl, Tradeid); + Notiurl = McashCipher.encodeString(Notiurl, Tradeid); + //Prdtprice = McashCipher.encodeString(Prdtprice, Tradeid); + //Cryptstring = McashCipher.encodeString(Cryptstring, Tradeid); +} +%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    diff --git a/src/main/webapp/publish/css/main.css b/src/main/webapp/publish/css/main.css index ae62cd9e..2812844b 100644 --- a/src/main/webapp/publish/css/main.css +++ b/src/main/webapp/publish/css/main.css @@ -37,7 +37,7 @@ .swiper2 .swiper-slide.swiper-slide-active .contWrap{background: none;} .swiper2 .contWrap .slide_cont {padding: 0 30px 0 40px; height: 190px;} .swiper2 .contWrap .slide_cont .cont1_title {font-size: 22px;font-weight: 700;} -.swiper2 .contWrap .slide_cont .cont1_ex {color: #555;font-weight: 300; line-height: 1.4;height: 42px; padding: 13px 0 30px 0;font-size:16px;letter-spacing:-0.5px;} +.swiper2 .contWrap .slide_cont .cont1_ex {color: #555;font-weight: 400; line-height: 1.4;height: 42px; padding: 13px 0 30px 0;font-size:16px;letter-spacing:-0.5px;} .swiper2 .contWrap .slide_cont::after {position: absolute;content: "";background-color: #e1e1e5;border-radius: 50%;top: 50%;right: 30px; transform: translateY(-50%);width: 70px;height: 70px;} .swiper2 .contWrap.ct1 .slide_cont::after {background:url('../images/main/cont1_1.png') #e1e1e5 center no-repeat;} .swiper2 .contWrap.ct2 .slide_cont::after {background:url('../images/main/cont1_2.png') #e1e1e5 18px center no-repeat;} @@ -85,7 +85,7 @@ .tab_depth2 a.on{background-color: #fff;border: 3px solid #002c9a;border-radius: 100px; color: #002c90; font-weight: 600; box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3); height: 53px; line-height: 46px; transition: all 0.2s ease-in-out;} .tab_depth2 a.tab_next::after,.tab_depth2 a.tab_prev::after{display: none;} .tab_depth2 a.on::after{display: none;} -.tab_depth3{width: 100%; display: flex; flex-wrap: wrap; justify-content: center; background-color: #e1e2e5;font-size: 16px; color: #666;font-weight: 300;padding: 20px 40px; border-radius: 10px;margin-bottom: 50px; box-sizing: border-box;line-height:2;} +.tab_depth3{width: 100%; display: flex; flex-wrap: wrap; justify-content: center; background-color: #e1e2e5;font-size: 16px; color: #666;font-weight: 400;padding: 20px 40px; border-radius: 10px;margin-bottom: 50px; box-sizing: border-box;line-height:2;} .tab_depth3 a{padding: 0 13px;position: relative;} .tab_depth3 a:hover{color: #002c9a;text-decoration: underline;} .tab_depth3 a.on{color: #002c9a; font-weight: 600;} @@ -170,7 +170,7 @@ .main_cont3 .main_notice ul li:hover::after {border:2px solid #fbc72b;background-color: #fff;width: calc(100% + 30px);height: 41px;box-shadow: 3px 3px 10px 4px rgba(0,0,0,0.15);;transition: all 0.1s ease-in-out;opacity: 1;} .main_cont3 .main_notice ul li a {font-weight: 500;} .main_cont3 .main_notice ul li:hover::before {background-image: url(/publish/images/main/notice_arrow.png);content: "";right: 0;top: 50%;transform: translateY(-50%); width: 9px; height: 14px;z-index: 1;position: absolute;} -.main_cont3 .main_notice ul li a {color: #555;font-weight: 300;width: 90%;text-overflow: ellipsis;overflow: hidden;display: -webkit-inline-box;-webkit-line-clamp: 1;-webkit-box-orient: vertical;height: 16px;} +.main_cont3 .main_notice ul li a {color: #555;font-weight: 400;width: 90%;text-overflow: ellipsis;overflow: hidden;display: -webkit-inline-box;-webkit-line-clamp: 1;-webkit-box-orient: vertical;height: 16px;} /* 고객센터 */ .main_cont3 .service_center .tablet {background-image: url(/publish/images/main/serive_tablet.png);background-repeat: no-repeat;height: 300px;color: #222;font-weight: 300;} .main_cont3 .service_center .tablet>div {padding: 15px 30px 0 30px;} @@ -179,7 +179,7 @@ .main_cont3 .service_center .tablet .service_center_title p {font-size: 32px;font-weight: 700; color: #23428b;padding-bottom: 10px; letter-spacing: -1px;line-height:35px;} .main_cont3 .service_center .tablet .service_center_title span {font-size: 17px;font-weight: 300; } .main_cont3 .service_center .tablet .serive_info {background-image: url(/publish/images/main/serviceCenter_text.png);background-repeat: no-repeat;height: 71px;margin: 15px 0;} -.main_cont3 .service_center .tablet .serive_info p{line-height: 1.5;padding: 13px 23px;font-size: 16px;} +.main_cont3 .service_center .tablet .serive_info p{line-height: 1.5;padding: 13px 18px;font-size: 16px; font-weight: 400;} .main_cont3 .service_center .tablet .serive_btn {text-align: center;display: flex;height: 47px;} .main_cont3 .service_center .tablet .serive_btn li {display: inline-block;width: calc(100% - 2px /3);border: 1px solid #d5d5d5;margin-left: -1px; box-sizing: border-box;} .main_cont3 .service_center .tablet .serive_btn li a, @@ -274,7 +274,7 @@ .tab_contwrap .btn_prev,.tab_contwrap .btn_next{width: 40px;height: 40px;} /* content3 */ .main_cont3 .inner>div {flex-basis: calc(100%/3 - 10px);} - .main_cont3 .service_center .tablet .serive_info p {padding: 13px 13px;} + .main_cont3 .service_center .tablet .serive_info p {padding: 13px 11px;} .main_cont3 .service_center .tablet .service_center_title p {font-size: 26px;} .main_cont3 .service_center .tablet .service_center_title span {font-size:15px;} /* 광고배너 */ @@ -296,7 +296,7 @@ /*.main_cont3 .service_center .tablet .service_center_title{padding-left: 80px} .main_cont3 .service_center .tablet .service_center_title p{padding-bottom: 5px; padding-top: 5px;} .main_cont3 .service_center .tablet .service_center_title::after{width: 68px; height: 68px; background-size: 100% 100%}*/ - .main_cont3 .service_center .tablet .serive_info p {font-size:14px;padding:13px 1px 13px 15px;} + .main_cont3 .service_center .tablet .serive_info p {font-size:14px;padding:13px 0px 13px 8px;} }