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/web/MjonPayController.java b/src/main/java/itn/let/mjo/pay/web/MjonPayController.java index 02d775a1..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"; } /** 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/webapp/WEB-INF/jsp/web/event/pay/EventPayView.jsp b/src/main/webapp/WEB-INF/jsp/web/event/pay/EventPayView.jsp index 9c054452..ea693f0f 100644 --- a/src/main/webapp/WEB-INF/jsp/web/event/pay/EventPayView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/event/pay/EventPayView.jsp @@ -15,6 +15,9 @@ var tabType = "${tabType}"; $(document).ready(function(){ + //다음 결제시 결제수단 SELECT + getNextPayMethod(); + // 충전금액 세팅 setPriceMake(); @@ -24,9 +27,116 @@ $(document).ready(function(){ if (tabType == "2") { $("#btnDdedicatedAccount").trigger("click"); } - }); +//다음 결제시 결제수단 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 == "BANK") { + $(".btn_charge3").addClass("active"); + $("#tab2_3").addClass("area_tabcont on"); + } + else if (nextPayMethod == "CELLPHONE") { + // 휴대폰일경우 카드결제 초기화 + $(".btn_charge1").addClass("active"); + $("#tab2_1").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 = "BANK"; + } else { + if ($currentTab == 3) { + nextPayMethod = "NAV"; // 네이버페이 + } else if ($currentTab==4) { + nextPayMethod = "KKO"; // 카카오페이 + } else if ($currentTab==5) { + nextPayMethod = "TOS"; // 토스페이 + } else if ($currentTab==6) { + 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) { @@ -189,16 +299,22 @@ function pgOpenerPopup(){ 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"; - } */ //휴대폰 결제 방식 안보이도록 수정 20221117 - else if($currentTab==2){ payMethod = "BANK"; } + if ($currentTab==0) { + payMethod = "CARD"; + } else if($currentTab==1) { + payMethod = "VBANK"; + } else if($currentTab==2) { + payMethod = "BANK"; + } else { + payMethod = "SPAY"; + } + $('input[name=payMethod]').val(payMethod); //결제수단 상태 체크 @@ -222,23 +338,212 @@ function pgOpenerPopup(){ var popupX = scX + (docWidth - 185) / 2; var popupY = scY + (docHeight - 195) / 2; - if ($currentTab==3) {//휴대폰 결제를 막았기 때문에 index 번호가 없는 3으로 셋팅해놨음 - // 휴대폰결제 - //KG 모빌리언스 - kgmPayRequest(); - //pg_opener = window.open('', 'pg_opener', "width=520, height=250, left="+popupX+", top="+popupY, "location = no","status= no","toolbars= no"); - } - else { - // 기타 + // 결제창 호출 + 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(); - } + } else if ($currentTab==1) { + // 전용계좌 + } else if ($currentTab==2) { + // KG 모빌리언스 => BANK(즉시이체) + kgmPayBankRequest(); + } else { + var cnDirect = ""; + if ($currentTab == 3) { + cnDirect = "NAV:00:N"; // 네이버페이 + } else if ($currentTab==4) { + cnDirect = "KKO:00:N"; // 카카오페이 + } else if ($currentTab==5) { + cnDirect = "TOS:00:N"; // 토스페이 + } else if ($currentTab==6) { + 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 setPrice(obj, price){ var tmp = $(obj).closest('.flex').find('.tempPrice'); @@ -344,6 +649,9 @@ function fnNewBankAccount(){ } + // 다음 결제시 결제수단 UPDATE + setNextPayMethod(); + var data = new FormData(document.pgForm); url = "/web/member/pay/updateVacsAccountUsrIdAjax.do"; @@ -628,12 +936,14 @@ function TabTypePay(obj, tabId) { -
+
@@ -799,65 +1109,8 @@ function TabTypePay(obj, tabId) {
- - <%--
-

휴대폰결제

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

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

- 월 30만원 한도 내에서 충전하실 수 있습니다.

-

- 휴대폰 소액결제 제한에 관한 사항은 가입하신 통신사를 통해 확인하실 수 있습니다.

-

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

-
-
-
--%> - - -
+

즉시이체

@@ -904,7 +1157,7 @@ function TabTypePay(obj, tabId) { @@ -913,6 +1166,272 @@ function TabTypePay(obj, tabId) {
-

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

+

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

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

+ + +
+

간편결제 네이버페이

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

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

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

+

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

+

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

+

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

+

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

+
+
+
+ + + +
+ +

간편결제 카카오페이

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

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

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

+

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

+

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

+

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

+
+
+
+ + + +
+

간편결제 토스페이

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

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

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

+

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

+

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

+

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

+
+
+
+ + + +
+

간편결제 PAYCO

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

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

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

+

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

+

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

+
+
+
+ +
@@ -923,169 +1442,116 @@ function TabTypePay(obj, tabId) { -<%@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 = "http://www.munjaon.co.kr/web/kgm/pay/OkUrlAjax.do"; //C //[ 128byte 이하] 결제 완료 후 사용자에게 보여질 가맹점측 완료 페이지. (예: http://www.mcash.co.kr/okurl.jsp) -String Okurl = kgmPath + "/web/kgm/pay/OkUrlAjax.do"; -String Prdtnm = "충전하기"; //C //[ 50byte 이하] 상품명 - -//운영 -//String Siteurl = "www.munjaon.co.kr"; //[ 20byte 이하] 가맹점도메인 (예: www.mcash.co.kr) -String Siteurl = kgmServerName; // localhost [ 20byte 이하] 가맹점도메인 (예: www.mcash.co.kr) -String Tradeid = MC_SVCID + "_" + appr_dtm; //[4byte 이상, 40byte 이하] 가맹점거래번호. 결제 요청 시 마다 unique한 값을 세팅해야 함. //해당 샘플에는 테스트를 위해 {가맹점 서비스ID + 요청일시} 형식으로 세팅하였음. - -//운영 -//String Notiurl = "http://www.munjaon.co.kr/web/kgm/pay/NotiUrlAjax.do"; //C //[ 128byte 이하] 결제 완료 후 가맹점 측 결제 처리를 담당하는 페이지. System back단으로 호출이 되며 사용자에게는 보여지지 않는다. -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/event/pay/EventPayViewV2.jsp b/src/main/webapp/WEB-INF/jsp/web/event/pay/EventPayViewOLD.jsp similarity index 55% rename from src/main/webapp/WEB-INF/jsp/web/event/pay/EventPayViewV2.jsp rename to src/main/webapp/WEB-INF/jsp/web/event/pay/EventPayViewOLD.jsp index ea693f0f..9c054452 100644 --- a/src/main/webapp/WEB-INF/jsp/web/event/pay/EventPayViewV2.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/event/pay/EventPayViewOLD.jsp @@ -15,9 +15,6 @@ var tabType = "${tabType}"; $(document).ready(function(){ - //다음 결제시 결제수단 SELECT - getNextPayMethod(); - // 충전금액 세팅 setPriceMake(); @@ -27,116 +24,9 @@ $(document).ready(function(){ if (tabType == "2") { $("#btnDdedicatedAccount").trigger("click"); } + }); -//다음 결제시 결제수단 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 == "BANK") { - $(".btn_charge3").addClass("active"); - $("#tab2_3").addClass("area_tabcont on"); - } - else if (nextPayMethod == "CELLPHONE") { - // 휴대폰일경우 카드결제 초기화 - $(".btn_charge1").addClass("active"); - $("#tab2_1").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 = "BANK"; - } else { - if ($currentTab == 3) { - nextPayMethod = "NAV"; // 네이버페이 - } else if ($currentTab==4) { - nextPayMethod = "KKO"; // 카카오페이 - } else if ($currentTab==5) { - nextPayMethod = "TOS"; // 토스페이 - } else if ($currentTab==6) { - 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) { @@ -299,22 +189,16 @@ function pgOpenerPopup(){ 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 = "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"; + } */ //휴대폰 결제 방식 안보이도록 수정 20221117 + else if($currentTab==2){ payMethod = "BANK"; } $('input[name=payMethod]').val(payMethod); //결제수단 상태 체크 @@ -338,212 +222,23 @@ function pgOpenerPopup(){ var popupX = scX + (docWidth - 185) / 2; var popupY = scY + (docHeight - 195) / 2; - // 결제창 호출 - if ($currentTab==0) { - // 나이스페이 => CARD(카드결제) + if ($currentTab==3) {//휴대폰 결제를 막았기 때문에 index 번호가 없는 3으로 셋팅해놨음 + // 휴대폰결제 + //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 모빌리언스 => BANK(즉시이체) - kgmPayBankRequest(); - } else { - var cnDirect = ""; - if ($currentTab == 3) { - cnDirect = "NAV:00:N"; // 네이버페이 - } else if ($currentTab==4) { - cnDirect = "KKO:00:N"; // 카카오페이 - } else if ($currentTab==5) { - cnDirect = "TOS:00:N"; // 토스페이 - } else if ($currentTab==6) { - 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 setPrice(obj, price){ var tmp = $(obj).closest('.flex').find('.tempPrice'); @@ -649,9 +344,6 @@ function fnNewBankAccount(){ } - // 다음 결제시 결제수단 UPDATE - setNextPayMethod(); - var data = new FormData(document.pgForm); url = "/web/member/pay/updateVacsAccountUsrIdAjax.do"; @@ -936,14 +628,12 @@ function TabTypePay(obj, tabId) { -
+
@@ -1109,8 +799,65 @@ function TabTypePay(obj, tabId) {
+ + <%--
+

휴대폰결제

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

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

- 월 30만원 한도 내에서 충전하실 수 있습니다.

+

- 휴대폰 소액결제 제한에 관한 사항은 가입하신 통신사를 통해 확인하실 수 있습니다.

+

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

+
+
+
--%> + + -
+

즉시이체

@@ -1157,7 +904,7 @@ function TabTypePay(obj, tabId) { @@ -1166,272 +913,6 @@ function TabTypePay(obj, tabId) {
-

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

+

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

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

- - -
-

간편결제 네이버페이

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

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

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

-

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

-

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

-

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

-

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

-
-
-
- - - -
- -

간편결제 카카오페이

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

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

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

-

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

-

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

-

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

-
-
-
- - - -
-

간편결제 토스페이

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

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

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

-

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

-

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

-

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

-
-
-
- - - -
-

간편결제 PAYCO

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

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

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

-

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

-

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

-
-
-
- -
@@ -1442,116 +923,169 @@ function TabTypePay(obj, tabId) { +<%@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 = "http://www.munjaon.co.kr/web/kgm/pay/OkUrlAjax.do"; //C //[ 128byte 이하] 결제 완료 후 사용자에게 보여질 가맹점측 완료 페이지. (예: http://www.mcash.co.kr/okurl.jsp) +String Okurl = kgmPath + "/web/kgm/pay/OkUrlAjax.do"; +String Prdtnm = "충전하기"; //C //[ 50byte 이하] 상품명 + +//운영 +//String Siteurl = "www.munjaon.co.kr"; //[ 20byte 이하] 가맹점도메인 (예: www.mcash.co.kr) +String Siteurl = kgmServerName; // localhost [ 20byte 이하] 가맹점도메인 (예: www.mcash.co.kr) +String Tradeid = MC_SVCID + "_" + appr_dtm; //[4byte 이상, 40byte 이하] 가맹점거래번호. 결제 요청 시 마다 unique한 값을 세팅해야 함. //해당 샘플에는 테스트를 위해 {가맹점 서비스ID + 요청일시} 형식으로 세팅하였음. + +//운영 +//String Notiurl = "http://www.munjaon.co.kr/web/kgm/pay/NotiUrlAjax.do"; //C //[ 128byte 이하] 결제 완료 후 가맹점 측 결제 처리를 담당하는 페이지. System back단으로 호출이 되며 사용자에게는 보여지지 않는다. +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/PayView.jsp b/src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp index bc217301..1aa9cbed 100644 --- a/src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/pay/PayView.jsp @@ -6,6 +6,10 @@ <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%> + + @@ -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); +} +%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -