浏览代码

모바일 결제 모듈 적용

juney 2 年之前
父节点
当前提交
b3ea13a309

+ 142 - 0
src/main/webapp/mobile/app/easypay/oqpo/mobile_order.html

@@ -0,0 +1,142 @@
1
+<!--주문페이지-->
2
+<!--메뉴얼 '인증페이지 작성' 인증요청/인증응답 파라미터 포함.-->
3
+
4
+<!DOCTYPE html>
5
+<html style="height: 100%;">
6
+<head>
7
+<meta name="robots" content="noindex, nofollow">
8
+<meta http-equiv="content-type" content="text/html; charset=euc-kr">
9
+<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, target-densitydpi=medium-dpi" />
10
+<title>EasyPay 8.0 webpay mobile</title>
11
+
12
+<!-- Test -->
13
+<script language="javascript" src="http://testsp.easypay.co.kr/webpay/EasypayCard_Web.js"></script>
14
+<!-- Real --> 
15
+<!-- script language="javascript" src="https://sp.easypay.co.kr/webpay/EasypayCard_Web.js"></script-->
16
+
17
+<script src="../../../js/properties.js"></script>
18
+<script src="../../../../js/require.min.js" data-main="../../../js/config.js"></script>
19
+
20
+<script type="text/javascript">
21
+    var pageObj = {
22
+        init: function() {
23
+            this.setParam();
24
+            easypay_card_webpay(frm_pay,"/oqpo-view/mobile/app/easypay/oqpo/mobile_order_req.jsp","_self","0","0","submit",30);
25
+        },
26
+        setParam() {
27
+            var nowAddress = unescape(location.href);
28
+            var parameters = (nowAddress.slice(nowAddress.indexOf('?') + 1,
29
+                nowAddress.length)).split('&');
30
+            for (var i = 0; i < parameters.length; i++) {
31
+                var param = parameters[i].split('=');
32
+                $('#frm_pay input[name="' + param[0] + '"]').val(param[1]);
33
+            }
34
+        }
35
+    }
36
+</script>
37
+</head>
38
+<body id="container_skyblue" onload="pageObj.init();">
39
+<form name="frm_pay" id="frm_pay" method="post" >
40
+
41
+<input type="hidden" id="poOrdNo" name="poOrdNo" value="" />
42
+<input type="hidden" id="payTpCd" name="payTpCd" value="" />
43
+<input type="hidden" id="sttlMgntUnqNo" name="sttlMgntUnqNo" value="" />
44
+<input type="hidden" id="brandId" name="brandId" value="" />
45
+<input type="hidden" id="storeId" name="storeId" value="" />
46
+
47
+<input type="hidden" id="kiccActionWebUrl" 		name="kiccActionWebUrl"			value="">
48
+<input type="hidden" id="kiccActionMobileUrl" 	name="kiccActionMobileUrl"		value="">
49
+
50
+<!-- [START] 인증요청 필드 -->     <!--  <table>내에도 일부 파라미터 존재합니다.-->
51
+      
52
+<!--공통-->
53
+<input type="hidden" id="sp_mall_nm"           name="sp_mall_nm"           value="" />               <!--[선택]가맹점명 -->
54
+<input type="hidden" id="sp_order_no"          name="sp_order_no"          value="" />               <!--[필수]가맹점 주문번호(인증응답) -->
55
+<input type="hidden" id="sp_currency"          name="sp_currency"          value="" />               <!--[필수]통화코드(수정불가) -->
56
+<input type="hidden" id="sp_return_url"        name="sp_return_url"        value="" />               <!--[필수]가맹점 return URL -->
57
+<input type="hidden" id="sp_lang_flag"         name="sp_lang_flag"         value="" />               <!--[선택]언어 -->
58
+<input type="hidden" id="sp_charset"           name="sp_charset"           value="" />               <!--[선택]가맹점 charset -->
59
+<input type="hidden" id="sp_user_id"           name="sp_user_id"           value="" />               <!--[선택]가맹점 고객ID -->
60
+<input type="hidden" id="sp_memb_user_no"      name="sp_memb_user_no"      value="" />               <!--[선택]가맹점 고객일련번호 -->
61
+<input type="hidden" id="sp_user_nm"           name="sp_user_nm"           value="" />               <!--[선택]가맹점 고객명 -->
62
+<input type="hidden" id="sp_user_mail"         name="sp_user_mail"         value="" />               <!--[선택]가맹점 고객 E-mail -->
63
+<input type="hidden" id="sp_user_phone1"       name="sp_user_phone1"       value="" />               <!--[선택]가맹점 고객 연락처1 -->
64
+<input type="hidden" id="sp_user_phone2"       name="sp_user_phone2"       value="" />               <!--[선택]가맹점 고객 연락처2 -->
65
+<input type="hidden" id="sp_user_addr"         name="sp_user_addr"         value="" />               <!--[선택]가맹점 고객 주소 -->
66
+<input type="hidden" id="sp_user_define1"      name="sp_user_define1"      value="" />               <!--[선택]가맹점 필드1 -->
67
+<input type="hidden" id="sp_user_define2"      name="sp_user_define2"      value="" />               <!--[선택]가맹점 필드2 -->
68
+<input type="hidden" id="sp_user_define3"      name="sp_user_define3"      value="" />               <!--[선택]가맹점 필드3 -->
69
+<input type="hidden" id="sp_user_define4"      name="sp_user_define4"      value="" />               <!--[선택]가맹점 필드4 -->
70
+<input type="hidden" id="sp_user_define5"      name="sp_user_define5"      value="" />               <!--[선택]가맹점 필드5 -->
71
+<input type="hidden" id="sp_user_define6"      name="sp_user_define6"      value="" />               <!--[선택]가맹점 필드6 -->
72
+<input type="hidden" id="sp_product_type"      name="sp_product_type"      value="" />               <!--[선택]상품정보구분 -->
73
+<input type="hidden" id="sp_product_expr"      name="sp_product_expr"      value="" />               <!--[선택]서비스 기간 -->
74
+<input type="hidden" id="sp_app_scheme"        name="sp_app_scheme"        value="" />               <!--[선택]가맹점 APP scheme -->
75
+
76
+<input type="hidden" id="sp_mall_id"		   name="sp_mall_id"		   value="" />               <!--[필수]브랜드그룹 ID -->
77
+<input type="hidden" id="sp_pay_type"      	   name="sp_pay_type"   	   value="" />               <!--[필수]결제수단 -->
78
+<input type="hidden" id="sp_cert_type"	       name="sp_cert_type"   	   value="" />               <!--[선택]인증타입 -->
79
+<input type="hidden" id="sp_product_nm"    	   name="sp_product_nm"   	   value="" />               <!--[필수]상품명 -->
80
+<input type="hidden" id="sp_product_amt"   	   name="sp_product_amt"       value="" />               <!--[필수]상품금액 -->
81
+<input type="hidden" id="sp_window_type"       name="sp_window_type"       value="" />               <!--[선택]윈도우타입 -->
82
+<input type="hidden" id="sp_disp_cash_yn"      name="sp_disp_cash_yn"      value="" />               <!--[선택]현금영수증 화면표시여부 -->
83
+<input type="hidden" id="sp_kmotion_useyn"     name="sp_kmotion_useyn"     value="" />               <!--[선택]국민앱카드 사용유무 -->
84
+
85
+    <!--신용카드-->
86
+<input type="hidden" id="sp_usedcard_code"     name="sp_usedcard_code"     value="" />               <!--[선택]사용가능카드 LIST -->
87
+<input type="hidden" id="sp_quota"             name="sp_quota"             value="" />               <!--[선택]할부개월 -->
88
+<input type="hidden" id="sp_os_cert_flag"      name="sp_os_cert_flag"      value="" />               <!--[선택]해외안심클릭 사용여부-->
89
+<input type="hidden" id="sp_noinst_flag"       name="sp_noinst_flag"       value="" />               <!--[선택]무이자 여부(Y/N)-->
90
+<input type="hidden" id="sp_noinst_term"       name="sp_noinst_term"       value="" />               <!--[선택]무이자 기간 -->
91
+<input type="hidden" id="sp_set_point_card_yn" name="sp_set_point_card_yn" value="" />               <!--[선택]카드사포인트 사용여부(Y/N)-->
92
+<input type="hidden" id="sp_point_card"        name="sp_point_card"        value="" />               <!--[선택]포인트카드 LIST(카드코드-더할 할부개월) -->
93
+<input type="hidden" id="sp_join_cd"           name="sp_join_cd"           value="" />               <!--[선택]조인코드 -->
94
+                                                                                                          
95
+<!--가상계좌-->                                                                                      
96
+<input type="hidden" id="sp_vacct_bank"       name="sp_vacct_bank"         value="" />               <!--[선택]가상계좌 사용가능한 은행 LIST -->
97
+<input type="hidden" id="sp_vacct_end_date"   name="sp_vacct_end_date"     value="" />               <!--[선택]입금 만료 날짜 -->
98
+<input type="hidden" id="sp_vacct_end_time"   name="sp_vacct_end_time"     value="" />               <!--[선택]입금 만료 시간 -->
99
+                                                                                                     
100
+<!--선불카드-->                                                                                      
101
+<input type="hidden" id="sp_prepaid_cp"       name="sp_prepaid_cp"         value="" />               <!--[선택]선불카드 CP -->
102
+
103
+<!-- [END] 인증요청 필드  --> 
104
+
105
+
106
+
107
+<!-- [START] 인증응답 필드 -->     
108
+
109
+<!--공통-->
110
+<input type="hidden" id="sp_res_cd"              name="sp_res_cd"                value="" />         <!-- [필수]응답코드        --> 
111
+<input type="hidden" id="sp_res_msg"             name="sp_res_msg"               value="" />         <!-- [필수]응답메시지      --> 
112
+<input type="hidden" id="sp_tr_cd"               name="sp_tr_cd"                 value="" />         <!-- [필수]결제창 요청구분 --> 
113
+<input type="hidden" id="sp_ret_pay_type"        name="sp_ret_pay_type"          value="" />         <!-- [필수]결제수단        --> 
114
+<input type="hidden" id="sp_trace_no"            name="sp_trace_no"              value="" />         <!-- [선택]추적번호        --> 
115
+<!-- 가맹점 주문번호 인증요청 필드에 존재.                                                                [필수]가맹점 주문번호 --> 
116
+<input type="hidden" id="sp_sessionkey"          name="sp_sessionkey"            value="" />         <!-- [필수]세션키          --> 
117
+<input type="hidden" id="sp_encrypt_data"        name="sp_encrypt_data"          value="" />         <!-- [필수]암호화전문      --> 
118
+<!-- 가맹점 ID  인증요청 필드에 존재.                                                                     [필수]가맹점 ID       -->
119
+<input type="hidden" id="sp_mobilereserved1"     name="sp_mobilereserved1"       value="" />         <!-- [선택]여유필드        --> 
120
+<input type="hidden" id="sp_mobilereserved2"     name="sp_mobilereserved2"       value="" />         <!-- [선택]여유필드        --> 
121
+<input type="hidden" id="sp_reserved1"           name="sp_reserved1"             value="" />         <!-- [선택]여유필드        --> 
122
+<input type="hidden" id="sp_reserved2"           name="sp_reserved2"             value="" />         <!-- [선택]여유필드        --> 
123
+<input type="hidden" id="sp_reserved3"           name="sp_reserved3"             value="" />         <!-- [선택]여유필드        --> 
124
+<input type="hidden" id="sp_reserved4"           name="sp_reserved4"             value="" />         <!-- [선택]여유필드        --> 
125
+
126
+<!--신용카드-->                                                                                                                        
127
+<input type="hidden" id="sp_card_code"            name="sp_card_code"            value="" />         <!-- [필수]카드코드               -->
128
+<input type="hidden" id="sp_eci_code"             name="sp_eci_code"             value="" />         <!-- [선택]ECI코드(MPI인 경우)    -->
129
+<input type="hidden" id="sp_card_req_type"        name="sp_card_req_type"        value="" />         <!-- [필수]거래구분               -->
130
+<input type="hidden" id="sp_save_useyn"           name="sp_save_useyn"           value="" />         <!-- [선택]카드사 세이브 여부     -->
131
+<input type="hidden" id="sp_card_prefix"          name="sp_card_prefix"          value="" />         <!-- [선택]신용카드 Prefix        -->
132
+<input type="hidden" id="sp_card_no_7"            name="sp_card_no_7"            value="" />         <!-- [선택]신용카드번호 앞7자리   -->
133
+
134
+<!--간편결제-->
135
+<input type="hidden" id="sp_spay_cp"              name="sp_spay_cp"              value="" />          <!-- [선택]간편결제 CP코드 -->
136
+
137
+   
138
+<!-- [END] 인증응답 필드  --> 
139
+
140
+</form>
141
+</body>
142
+</html>

+ 238 - 0
src/main/webapp/mobile/app/easypay/oqpo/mobile_order.jsp

@@ -0,0 +1,238 @@
1
+<!--주문페이지-->
2
+<!--메뉴얼 '인증페이지 작성' 인증요청/인증응답 파라미터 포함.-->
3
+
4
+<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
5
+<!DOCTYPE html>
6
+<html style="height: 100%;">
7
+<head>
8
+<meta name="robots" content="noindex, nofollow">
9
+<meta http-equiv="content-type" content="text/html; charset=euc-kr">
10
+<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, target-densitydpi=medium-dpi" />
11
+<title>EasyPay 8.0 webpay mobile</title>
12
+
13
+<!-- Test -->
14
+<script language="javascript" src="http://testsp.easypay.co.kr/webpay/EasypayCard_Web.js"></script>
15
+<!-- Real --> 
16
+<!-- script language="javascript" src="https://sp.easypay.co.kr/webpay/EasypayCard_Web.js"></script-->
17
+
18
+<script type="text/javascript">
19
+    /* 파라미터 초기값 Setting */
20
+    function f_init()
21
+    {           
22
+        var frm_pay = document.frm_pay;
23
+
24
+        /*--공통--*/        
25
+        frm_pay.sp_mall_id.value        = "<%=request.getParameter("sp_mall_id")        %>";        //가맹점 ID
26
+        frm_pay.sp_mall_nm.value        = "<%=request.getParameter("sp_mall_nm")        %>";        //가맹점명
27
+        frm_pay.sp_order_no.value       = "<%=request.getParameter("sp_order_no")       %>";        //가맹점 주문번호
28
+        frm_pay.sp_pay_type.value       = "<%=request.getParameter("sp_pay_type")       %>";        //결제수단(select)
29
+        frm_pay.sp_cert_type.value      = "<%=request.getParameter("sp_cert_type")      %>";        //[선택]인증타입
30
+        frm_pay.sp_currency.value       = "<%=request.getParameter("sp_currency")       %>";        //통화코드 : 00-원
31
+        frm_pay.sp_product_nm.value     = "<%=request.getParameter("sp_product_nm")     %>";        //상품명
32
+        frm_pay.sp_product_amt.value    = "<%=request.getParameter("sp_product_amt")    %>";        //상품금액
33
+        frm_pay.sp_return_url.value     = "<%=request.getParameter("sp_return_url")     %>";        //가맹점 return_url(윈도우 타입 선택 시, 분기)
34
+        frm_pay.sp_lang_flag.value      = "<%=request.getParameter("sp_lang_flag")      %>";        //언어: KOR / ENG
35
+        frm_pay.sp_charset.value        = "<%=request.getParameter("sp_charset")        %>";        //가맹점 Charset: EUC-KR(default) / UTF-8
36
+        frm_pay.sp_user_id.value        = "<%=request.getParameter("sp_user_id")        %>";        //가맹점 고객 ID
37
+        frm_pay.sp_memb_user_no.value   = "<%=request.getParameter("sp_memb_user_no")   %>";        //가맹점 고객 일련번호
38
+        frm_pay.sp_user_nm.value        = "<%=request.getParameter("sp_user_nm")        %>";        //가맹점 고객명
39
+        frm_pay.sp_user_mail.value      = "<%=request.getParameter("sp_user_mail")      %>";        //가맹점 고객 이메일
40
+        frm_pay.sp_user_phone1.value    = "<%=request.getParameter("sp_user_phone1")    %>";        //가맹점 고객 번호1
41
+        frm_pay.sp_user_phone2.value    = "<%=request.getParameter("sp_user_phone2")    %>";        //가맹점 고객 번호2
42
+        frm_pay.sp_user_addr.value      = "<%=request.getParameter("sp_user_addr")      %>";        //가맹점 고객 주소
43
+        frm_pay.sp_product_type.value   = "<%=request.getParameter("sp_product_type")   %>";        //상품정보구분 : 0-실물, 1-서비스
44
+        frm_pay.sp_product_expr.value   = "<%=request.getParameter("sp_product_expr")   %>";        //서비스기간 : YYYYMMDD
45
+        frm_pay.sp_app_scheme.value     = "";                                           //가맹점 app scheme : 모바일app으로 서비스시 필수
46
+                                        
47
+        /*--신용카드--*/                    
48
+        frm_pay.sp_usedcard_code.value  = "<%=request.getParameter("sp_usedcard_code")  %>";        //사용가능한 카드 LIST
49
+        frm_pay.sp_quota.value          = "<%=request.getParameter("sp_quota")          %>";        //할부개월
50
+        frm_pay.sp_os_cert_flag.value   = "<%=request.getParameter("sp_os_cert_flag")   %>";        //해외안심클릭 사용여부
51
+        frm_pay.sp_noinst_flag.value    = "<%=request.getParameter("sp_noinst_flag")    %>";        //무이자 여부(Y/N) (select)
52
+        frm_pay.sp_noinst_term.value    = "<%=request.getParameter("sp_noinst_term")    %>";        //무이자기간
53
+        frm_pay.sp_set_point_card_yn.value    = "<%=request.getParameter("sp_set_point_card_yn")    %>";        //카드사포인트 사용여부(select)
54
+        frm_pay.sp_point_card.value     = "<%=request.getParameter("sp_point_card")     %>";                //포인트카드 LIST
55
+        frm_pay.sp_join_cd.value        = "<%=request.getParameter("sp_join_cd")        %>";        //조인코드(select)
56
+        frm_pay.sp_kmotion_useyn.value     = "<%=request.getParameter("sp_kmotion_useyn")   %>";    //국민 앱카드 사용(select)
57
+                                                                                                                   
58
+        /*--가상계좌--*/                        
59
+        frm_pay.sp_vacct_bank.value     = "<%=request.getParameter("sp_vacct_bank")     %>";        //가상계좌 사용가능한 은행 LIST
60
+        frm_pay.sp_vacct_end_date.value = "<%=request.getParameter("sp_vacct_end_date") %>";        //입금 만료 날짜
61
+        frm_pay.sp_vacct_end_time.value = "<%=request.getParameter("sp_vacct_end_time") %>";        //입금 만료 시간
62
+
63
+        <!--선불카드-->
64
+        frm_pay.sp_prepaid_cp.value     = "<%=request.getParameter("sp_prepaid_cp")     %>";        <!--[선택]선불카드 CP -->
65
+
66
+        f_mobile_cert();
67
+    }
68
+
69
+    function f_mobile_cert() {
70
+        easypay_card_webpay(frm_pay,"/oqpo-view/mobile/app/easypay/oqpo/mobile_order_req.jsp","_self","0","0","submit",30);
71
+    }
72
+
73
+    /* 인증창 호출, 인증 요청 */
74
+    function f_cert() 
75
+    {
76
+        var frm_pay = document.frm_pay;
77
+        
78
+        /*  주문정보 확인 */
79
+        if( !frm_pay.sp_order_no.value ) 
80
+        {
81
+            alert("가맹점주문번호를 입력하세요!!");
82
+            frm_pay.sp_order_no.focus();
83
+            return;
84
+        }
85
+
86
+        if( !frm_pay.sp_product_amt.value ) 
87
+        {
88
+            alert("상품금액을 입력하세요!!");
89
+            frm_pay.sp_product_amt.focus();
90
+            return;
91
+        }
92
+        /* UTF-8 사용가맹점의 경우 EP_charset 값 셋팅 필수 */
93
+        if( frm_pay.sp_charset.value == "UTF-8" )
94
+        {
95
+            // 한글이 들어가는 값은 모두 encoding 필수.
96
+            frm_pay.sp_mall_nm.value      = encodeURIComponent( frm_pay.sp_mall_nm.value );
97
+            frm_pay.sp_product_nm.value   = encodeURIComponent( frm_pay.sp_product_nm.value );
98
+            frm_pay.sp_user_nm.value      = encodeURIComponent( frm_pay.sp_user_nm.value );
99
+            frm_pay.sp_user_addr.value    = encodeURIComponent( frm_pay.sp_user_addr.value );
100
+        }
101
+
102
+                   
103
+            frm_pay.sp_return_url.value = "http://10.100.1.250:8080/easypay/mobile/mobile/order_res_submit.jsp";                                  
104
+            easypay_card_webpay(frm_pay,"./order_req.jsp","_self","0","0","submit",30);
105
+  
106
+        
107
+    }
108
+    
109
+   /* 승인 요청 */
110
+    function f_submit() 
111
+    {
112
+        var frm_pay = document.frm_pay;
113
+        
114
+        // 정상("0000") 일 때 승인요청페이지로 이동.
115
+        if( frm_pay.sp_res_cd.value == "0000" )
116
+        {
117
+            if( frm_pay.sp_charset.value == "UTF-8" )
118
+            {
119
+                // 인증요청 시 인코딩 한 값은 승인요청 시 디코딩 처리해야함.
120
+                frm_pay.sp_mall_nm.value      = decodeURIComponent( frm_pay.sp_mall_nm.value );
121
+                frm_pay.sp_product_nm.value   = decodeURIComponent( frm_pay.sp_product_nm.value );
122
+                frm_pay.sp_user_nm.value      = decodeURIComponent( frm_pay.sp_user_nm.value );
123
+                frm_pay.sp_user_addr.value    = decodeURIComponent( frm_pay.sp_user_addr.value );
124
+            }
125
+            
126
+            frm_pay.target = "_self";
127
+            frm_pay.action = "../easypay_request.jsp";
128
+            frm_pay.submit();
129
+        }
130
+    }
131
+   
132
+</script>
133
+</head>
134
+<body id="container_skyblue" onload="f_init();">
135
+<form name="frm_pay" method="post" >
136
+
137
+<input type="hidden" id="poOrdNo" name="poOrdNo" value="" />
138
+<input type="hidden" id="payTpCd" name="payTpCd" value="" />
139
+<input type="hidden" id="sttlMgntUnqNo" name="sttlMgntUnqNo" value="" />
140
+<input type="hidden" id="brandId" name="brandId" value="" />
141
+<input type="hidden" id="storeId" name="storeId" value="" />
142
+
143
+<input type="hidden" id="kiccActionWebUrl" 		name="kiccActionWebUrl"			value="">
144
+<input type="hidden" id="kiccActionMobileUrl" 	name="kiccActionMobileUrl"		value="">
145
+
146
+<!-- [START] 인증요청 필드 -->     <!--  <table>내에도 일부 파라미터 존재합니다.-->
147
+      
148
+<!--공통-->
149
+<input type="hidden" id="sp_mall_nm"           name="sp_mall_nm"           value="" />               <!--[선택]가맹점명 -->
150
+<input type="hidden" id="sp_order_no"          name="sp_order_no"          value="" />               <!--[필수]가맹점 주문번호(인증응답) -->
151
+<input type="hidden" id="sp_currency"          name="sp_currency"          value="" />               <!--[필수]통화코드(수정불가) -->
152
+<input type="hidden" id="sp_return_url"        name="sp_return_url"        value="" />               <!--[필수]가맹점 return URL -->
153
+<input type="hidden" id="sp_lang_flag"         name="sp_lang_flag"         value="" />               <!--[선택]언어 -->
154
+<input type="hidden" id="sp_charset"           name="sp_charset"           value="" />               <!--[선택]가맹점 charset -->
155
+<input type="hidden" id="sp_user_id"           name="sp_user_id"           value="" />               <!--[선택]가맹점 고객ID -->
156
+<input type="hidden" id="sp_memb_user_no"      name="sp_memb_user_no"      value="" />               <!--[선택]가맹점 고객일련번호 -->
157
+<input type="hidden" id="sp_user_nm"           name="sp_user_nm"           value="" />               <!--[선택]가맹점 고객명 -->
158
+<input type="hidden" id="sp_user_mail"         name="sp_user_mail"         value="" />               <!--[선택]가맹점 고객 E-mail -->
159
+<input type="hidden" id="sp_user_phone1"       name="sp_user_phone1"       value="" />               <!--[선택]가맹점 고객 연락처1 -->
160
+<input type="hidden" id="sp_user_phone2"       name="sp_user_phone2"       value="" />               <!--[선택]가맹점 고객 연락처2 -->
161
+<input type="hidden" id="sp_user_addr"         name="sp_user_addr"         value="" />               <!--[선택]가맹점 고객 주소 -->
162
+<input type="hidden" id="sp_user_define1"      name="sp_user_define1"      value="" />               <!--[선택]가맹점 필드1 -->
163
+<input type="hidden" id="sp_user_define2"      name="sp_user_define2"      value="" />               <!--[선택]가맹점 필드2 -->
164
+<input type="hidden" id="sp_user_define3"      name="sp_user_define3"      value="" />               <!--[선택]가맹점 필드3 -->
165
+<input type="hidden" id="sp_user_define4"      name="sp_user_define4"      value="" />               <!--[선택]가맹점 필드4 -->
166
+<input type="hidden" id="sp_user_define5"      name="sp_user_define5"      value="" />               <!--[선택]가맹점 필드5 -->
167
+<input type="hidden" id="sp_user_define6"      name="sp_user_define6"      value="" />               <!--[선택]가맹점 필드6 -->
168
+<input type="hidden" id="sp_product_type"      name="sp_product_type"      value="" />               <!--[선택]상품정보구분 -->
169
+<input type="hidden" id="sp_product_expr"      name="sp_product_expr"      value="" />               <!--[선택]서비스 기간 -->
170
+<input type="hidden" id="sp_app_scheme"        name="sp_app_scheme"        value="" />               <!--[선택]가맹점 APP scheme -->
171
+
172
+<input type="hidden" id="sp_mall_id"		   name="sp_mall_id"		   value="" />               <!--[필수]브랜드그룹 ID -->
173
+<input type="hidden" id="sp_pay_type"      	   name="sp_pay_type"   	   value="" />               <!--[필수]결제수단 -->
174
+<input type="hidden" id="sp_cert_type"	       name="sp_cert_type"   	   value="" />               <!--[선택]인증타입 -->
175
+<input type="hidden" id="sp_product_nm"    	   name="sp_product_nm"   	   value="" />               <!--[필수]상품명 -->
176
+<input type="hidden" id="sp_product_amt"   	   name="sp_product_amt"       value="" />               <!--[필수]상품금액 -->
177
+<input type="hidden" id="sp_window_type"       name="sp_window_type"       value="" />               <!--[선택]윈도우타입 -->
178
+<input type="hidden" id="sp_disp_cash_yn"      name="sp_disp_cash_yn"      value="" />               <!--[선택]현금영수증 화면표시여부 -->
179
+<input type="hidden" id="sp_kmotion_useyn"     name="sp_kmotion_useyn"     value="" />               <!--[선택]국민앱카드 사용유무 -->
180
+
181
+    <!--신용카드-->
182
+<input type="hidden" id="sp_usedcard_code"     name="sp_usedcard_code"     value="" />               <!--[선택]사용가능카드 LIST -->
183
+<input type="hidden" id="sp_quota"             name="sp_quota"             value="" />               <!--[선택]할부개월 -->
184
+<input type="hidden" id="sp_os_cert_flag"      name="sp_os_cert_flag"      value="" />               <!--[선택]해외안심클릭 사용여부-->
185
+<input type="hidden" id="sp_noinst_flag"       name="sp_noinst_flag"       value="" />               <!--[선택]무이자 여부(Y/N)-->
186
+<input type="hidden" id="sp_noinst_term"       name="sp_noinst_term"       value="" />               <!--[선택]무이자 기간 -->
187
+<input type="hidden" id="sp_set_point_card_yn" name="sp_set_point_card_yn" value="" />               <!--[선택]카드사포인트 사용여부(Y/N)-->
188
+<input type="hidden" id="sp_point_card"        name="sp_point_card"        value="" />               <!--[선택]포인트카드 LIST(카드코드-더할 할부개월) -->
189
+<input type="hidden" id="sp_join_cd"           name="sp_join_cd"           value="" />               <!--[선택]조인코드 -->
190
+                                                                                                          
191
+<!--가상계좌-->                                                                                      
192
+<input type="hidden" id="sp_vacct_bank"       name="sp_vacct_bank"         value="" />               <!--[선택]가상계좌 사용가능한 은행 LIST -->
193
+<input type="hidden" id="sp_vacct_end_date"   name="sp_vacct_end_date"     value="" />               <!--[선택]입금 만료 날짜 -->
194
+<input type="hidden" id="sp_vacct_end_time"   name="sp_vacct_end_time"     value="" />               <!--[선택]입금 만료 시간 -->
195
+                                                                                                     
196
+<!--선불카드-->                                                                                      
197
+<input type="hidden" id="sp_prepaid_cp"       name="sp_prepaid_cp"         value="" />               <!--[선택]선불카드 CP -->
198
+
199
+<!-- [END] 인증요청 필드  --> 
200
+
201
+
202
+
203
+<!-- [START] 인증응답 필드 -->     
204
+
205
+<!--공통-->
206
+<input type="hidden" id="sp_res_cd"              name="sp_res_cd"                value="" />         <!-- [필수]응답코드        --> 
207
+<input type="hidden" id="sp_res_msg"             name="sp_res_msg"               value="" />         <!-- [필수]응답메시지      --> 
208
+<input type="hidden" id="sp_tr_cd"               name="sp_tr_cd"                 value="" />         <!-- [필수]결제창 요청구분 --> 
209
+<input type="hidden" id="sp_ret_pay_type"        name="sp_ret_pay_type"          value="" />         <!-- [필수]결제수단        --> 
210
+<input type="hidden" id="sp_trace_no"            name="sp_trace_no"              value="" />         <!-- [선택]추적번호        --> 
211
+<!-- 가맹점 주문번호 인증요청 필드에 존재.                                                                [필수]가맹점 주문번호 --> 
212
+<input type="hidden" id="sp_sessionkey"          name="sp_sessionkey"            value="" />         <!-- [필수]세션키          --> 
213
+<input type="hidden" id="sp_encrypt_data"        name="sp_encrypt_data"          value="" />         <!-- [필수]암호화전문      --> 
214
+<!-- 가맹점 ID  인증요청 필드에 존재.                                                                     [필수]가맹점 ID       -->
215
+<input type="hidden" id="sp_mobilereserved1"     name="sp_mobilereserved1"       value="" />         <!-- [선택]여유필드        --> 
216
+<input type="hidden" id="sp_mobilereserved2"     name="sp_mobilereserved2"       value="" />         <!-- [선택]여유필드        --> 
217
+<input type="hidden" id="sp_reserved1"           name="sp_reserved1"             value="" />         <!-- [선택]여유필드        --> 
218
+<input type="hidden" id="sp_reserved2"           name="sp_reserved2"             value="" />         <!-- [선택]여유필드        --> 
219
+<input type="hidden" id="sp_reserved3"           name="sp_reserved3"             value="" />         <!-- [선택]여유필드        --> 
220
+<input type="hidden" id="sp_reserved4"           name="sp_reserved4"             value="" />         <!-- [선택]여유필드        --> 
221
+
222
+<!--신용카드-->                                                                                                                        
223
+<input type="hidden" id="sp_card_code"            name="sp_card_code"            value="" />         <!-- [필수]카드코드               -->
224
+<input type="hidden" id="sp_eci_code"             name="sp_eci_code"             value="" />         <!-- [선택]ECI코드(MPI인 경우)    -->
225
+<input type="hidden" id="sp_card_req_type"        name="sp_card_req_type"        value="" />         <!-- [필수]거래구분               -->
226
+<input type="hidden" id="sp_save_useyn"           name="sp_save_useyn"           value="" />         <!-- [선택]카드사 세이브 여부     -->
227
+<input type="hidden" id="sp_card_prefix"          name="sp_card_prefix"          value="" />         <!-- [선택]신용카드 Prefix        -->
228
+<input type="hidden" id="sp_card_no_7"            name="sp_card_no_7"            value="" />         <!-- [선택]신용카드번호 앞7자리   -->
229
+
230
+<!--간편결제-->
231
+<input type="hidden" id="sp_spay_cp"              name="sp_spay_cp"              value="" />          <!-- [선택]간편결제 CP코드 -->
232
+
233
+   
234
+<!-- [END] 인증응답 필드  --> 
235
+
236
+</form>
237
+</body>
238
+</html>

+ 29 - 16
src/main/webapp/mobile/app/easypay/oqpo/mobile_order_res_submit.jsp

@@ -29,16 +29,14 @@ request.setCharacterEncoding("utf-8");
29 29
 <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
30 30
 <meta name="robots" content="noindex, nofollow" />
31 31
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
32
+<script src="../../../../js/jquery.min.js"></script>
32 33
 <script>
33 34
     /*--KICC 서버로부터 인증응답 파라미터 수신--*/
34 35
     window.onload = function()
35 36
     {
36
-        try {
37
-        } catch (err) {
38
-        }
39
-        console.log(res_cd + " : <%=getNullToSpace(request.getParameter("sp_res_cd"))           %>");
37
+        var res_cd = "<%=getNullToSpace(request.getParameter("sp_res_cd"))%>";
40 38
         // <!--공통-->
41
-        window.document.getElementById("sp_res_cd").value             = "<%=getNullToSpace(request.getParameter("sp_res_cd"))           %>";  // [필수]응답코드
39
+        window.document.getElementById("sp_res_cd").value             = res_cd;  // [필수]응답코드
42 40
         window.document.getElementById("sp_res_msg").value            = "<%=getNullToSpace(request.getParameter("sp_res_msg"))          %>";  // [필수]응답메세지
43 41
         window.document.getElementById("sp_tr_cd").value              = "<%=getNullToSpace(request.getParameter("sp_tr_cd"))            %>";  // [필수]결제창 요청구분
44 42
         window.document.getElementById("sp_ret_pay_type").value       = "<%=getNullToSpace(request.getParameter("sp_ret_pay_type"))     %>";  // [필수]결제수단
@@ -68,27 +66,42 @@ request.setCharacterEncoding("utf-8");
68 66
         // <!--선불카드-->
69 67
         window.document.getElementById("sp_prepaid_cp").value         = "<%=getNullToSpace(request.getParameter("sp_prepaid_cp"))       %>";  // [선택]선불카드 CP코드
70 68
 
71
-        if( "<%=request.getParameter("sp_res_cd") %>" == "0000" )
69
+        if( res_cd == "0000" )
72 70
         {
73
-            // alert('TODO 결제승인처리');
74
-            frm_pay.target = "_self";
75
-            frm_pay.action = "../easypay_request.jsp";
76
-            frm_pay.submit();
71
+            location.replace('app:pay:result:' + JSON.stringify(objectifyForm()));
77 72
         }
78 73
         else
79 74
         {
80
-            alert( urldecode("<%=request.getParameter("sp_res_cd") %> : <%=request.getParameter("sp_res_msg") %>"));
81
-            // 에러 발생시 어떻게 처리할까?
82
-            // 이전 팝업으로는 돌아갈 수 없다.
83
-            // location.href="./order.jsp";
84
-            history.back(-1);
75
+            alert( urldecode(res_cd + " : <%=request.getParameter("sp_res_msg") %>"));
76
+            var resText = '{\"sp_res_cd\" : \"' + res_cd + '\"}';
77
+            location.replace('app:pay:result:' + resText);
85 78
         }
86
-    }
79
+    };
87 80
     
88 81
     function urldecode( str ) {
89 82
         // 공백 문자인 + 를 처리하기 위해 +('%20') 을 공백으로 치환
90 83
         return decodeURIComponent((str + '').replace(/\+/g, '%20'));
91 84
     }
85
+
86
+    function objectifyForm() {
87
+        var formArray = $("#frm_pay").serializeArray();
88
+        var result = {};
89
+
90
+        var extend = function(i, element) {
91
+            var node = result[element.name];
92
+            if ('undefined' !== typeof node && node !== null) {
93
+                if ($.isArray(node)) {
94
+                    node.push($.trim(element.value));
95
+                } else {
96
+                    result[element.name] = [node, $.trim(element.value)];
97
+                }
98
+            } else {
99
+                result[element.name] = $.trim(element.value);
100
+            }
101
+        };
102
+        $.each(formArray, extend);
103
+        return result;
104
+    }
92 105
 </script>
93 106
 <title>오더퀸 수발주 결제하기</title>
94 107
 </head>

+ 1 - 1
src/main/webapp/mobile/app/mloanmng/MLOANMNG02010.html

@@ -144,7 +144,7 @@
144 144
 					</div>
145 145
 					<div class="list_info" style="padding-top:10px;">
146 146
 						<div class="pay_info fnItemNm"></div>
147
-						<input id="ITP_FORM_MLOANMNG02010_PAY_GOODS_AMT" name="goodsAmt" value="1000" type="text" readonly>
147
+						<input id="ITP_FORM_MLOANMNG02010_PAY_GOODS_AMT" name="goodsAmt" value="100" type="text" readonly>
148 148
 					</div>
149 149
 				</div>
150 150
 				<div class="list_line">

+ 208 - 212
src/main/webapp/mobile/app/payment.html

@@ -10,6 +10,7 @@
10 10
 
11 11
 	<script>
12 12
 		VIEW_PAGE = 'PAY';
13
+		var CONN_KEY; //Jwt 토큰을 담기위한 변수
13 14
 	</script>
14 15
 
15 16
 	<script src="../js/properties.js"></script>
@@ -17,219 +18,214 @@
17 18
 </head>
18 19
 <body>
19 20
 <div id="ITP_BIZPOP_PO_PAYMENT">
20
-	<div>
21
-		<form name="frm_pay" id="frm_pay" method="post" action="">
22
-			<input type="hidden" id="poOrdNo" name="poOrdNo" value="" />
23
-			<input type="hidden" id="payTpCd" name="payTpCd" value="" />
24
-			<input type="hidden" id="sttlMgntUnqNoList" name="sttlMgntUnqNoList" value="" />
25
-			<input type="hidden" id="brandId" name="brandId" value="" />
26
-			<input type="hidden" id="storeId" name="storeId" value="" />
27
-
28
-			<input type="hidden" id="kiccActionWebUrl" 		name="kiccActionWebUrl"			value="">
29
-			<input type="hidden" id="kiccActionMobileUrl" 	name="kiccActionMobileUrl"		value="">
30
-
31
-			<!-- WEB -->
32
-
33
-			<!--------------------------->
34
-			<!-- ::: 공통 인증 요청 값 -->
35
-			<!--------------------------->
36
-
37
-			<input type="hidden" id="EP_mall_nm"        name="EP_mall_nm"           value="">         <!-- 브랜드그룹명-->
38
-			<input type="hidden" id="EP_currency"       name="EP_currency"          value="00">       <!-- 통화코드 // 00 : 원화-->
39
-			<input type="hidden" id="EP_return_url"     name="EP_return_url"        value="">         <!-- 브랜드그룹 CALLBACK URL // -->
40
-			<input type="hidden" id="EP_ci_url"         name="EP_ci_url"            value="">         <!-- CI LOGO URL // -->
41
-			<input type="hidden" id="EP_lang_flag"      name="EP_lang_flag"         value="KOR">      <!-- 언어 // -->
42
-			<input type="hidden" id="EP_charset"        name="EP_charset"           value="UTF-8">    <!-- 브랜드그룹 CharSet // EUC-KR,UTF-8 사용시 대문자 이용-->
43
-			<input type="hidden" id="EP_user_id"        name="EP_user_id"           value="">         <!-- 브랜드그룹 고객ID // -->
44
-			<input type="hidden" id="EP_memb_user_no"   name="EP_memb_user_no"      value="">         <!-- 브랜드그룹 고객일련번호 // -->
45
-			<input type="hidden" id="EP_user_nm"        name="EP_user_nm"           value="">         <!-- 브랜드그룹 고객명 // -->
46
-			<input type="hidden" id="EP_user_mail"      name="EP_user_mail"         value="">         <!-- 브랜드그룹 고객 E-mail // -->
47
-			<input type="hidden" id="EP_user_phone1"    name="EP_user_phone1"       value="">         <!-- 브랜드그룹 고객 연락처1 // -->
48
-			<input type="hidden" id="EP_user_phone2"    name="EP_user_phone2"       value="">         <!-- 브랜드그룹 고객 연락처2 // -->
49
-			<input type="hidden" id="EP_user_addr"      name="EP_user_addr"         value="">         <!-- 브랜드그룹 고객 주소 // -->
50
-			<input type="hidden" id="EP_user_define1"   name="EP_user_define1"      value="">         <!-- 브랜드그룹 필드1 // -->
51
-			<input type="hidden" id="EP_user_define2"   name="EP_user_define2"      value="">         <!-- 브랜드그룹 필드2 // -->
52
-			<input type="hidden" id="EP_user_define3"   name="EP_user_define3"      value="">         <!-- 브랜드그룹 필드3 // -->
53
-			<input type="hidden" id="EP_user_define4"   name="EP_user_define4"      value="">         <!-- 브랜드그룹 필드4 // -->
54
-			<input type="hidden" id="EP_user_define5"   name="EP_user_define5"      value="">         <!-- 브랜드그룹 필드5 // -->
55
-			<input type="hidden" id="EP_user_define6"   name="EP_user_define6"      value="">         <!-- 브랜드그룹 필드6 // -->
56
-			<input type="hidden" id="EP_product_type"   name="EP_product_type"      value="0">        <!-- 상품정보구분 // -->
57
-			<input type="hidden" id="EP_product_expr"   name="EP_product_expr"      value="">         <!-- 서비스 기간 // (YYYYMMDD) -->
58
-			<input type="hidden" id="EP_disp_cash_yn"   name="EP_disp_cash_yn"      value="">         <!-- 현금영수증 화면표시여부 //미표시 : "N", 그외: DB조회 -->
59
-
60
-
61
-			<!--------------------------->
62
-			<!-- ::: 카드 인증 요청 값 -->
63
-			<!--------------------------->
64
-
65
-			<input type="hidden" id="EP_usedcard_code"      name="EP_usedcard_code"     value="">      <!-- 사용가능한 카드 LIST // FORMAT->카드코드:카드코드: ... :카드코드 EXAMPLE->029:027:031 // 빈값 : DB조회-->
66
-			<input type="hidden" id="EP_quota"              name="EP_quota"             value="">      <!-- 할부개월 (카드코드-할부개월) -->
67
-			<input type="hidden" id="EP_os_cert_flag"       name="EP_os_cert_flag"      value="2">     <!-- 해외안심클릭 사용여부(변경불가) // -->
68
-			<input type="hidden" id="EP_noinst_flag"        name="EP_noinst_flag"       value="">      <!-- 무이자 여부 (Y/N) // -->
69
-			<input type="hidden" id="EP_noinst_term"        name="EP_noinst_term"       value="">      <!-- 무이자 기간 (카드코드-더할할부개월) // -->
70
-			<input type="hidden" id="EP_set_point_card_yn"  name="EP_set_point_card_yn" value="">      <!-- 카드사포인트 사용여부 (Y/N) // -->
71
-			<input type="hidden" id="EP_point_card"         name="EP_point_card"        value="">      <!-- 포인트카드 LIST  // -->
72
-			<input type="hidden" id="EP_join_cd"            name="EP_join_cd"           value="">      <!-- 조인코드 // -->
73
-			<input type="hidden" id="EP_kmotion_useyn"      name="EP_kmotion_useyn"     value="Y">     <!-- 국민앱카드 사용유무 (Y/N)// -->
74
-
75
-			<!------------------------------->
76
-			<!-- ::: 가상계좌 인증 요청 값 -->
77
-			<!------------------------------->
78
-
79
-			<input type="hidden" id="EP_vacct_bank"         name="EP_vacct_bank"        value="">      <!-- 가상계좌 사용가능한 은행 LIST // -->
80
-			<input type="hidden" id="EP_vacct_end_date"     name="EP_vacct_end_date"    value="">      <!-- 입금 만료 날짜 // -->
81
-			<input type="hidden" id="EP_vacct_end_time"     name="EP_vacct_end_time"    value="">      <!-- 입금 만료 시간 // -->
82
-
83
-			<!------------------------------->
84
-			<!-- ::: 선불카드 인증 요청 값 -->
85
-			<!------------------------------->
86
-
87
-			<input type="hidden" id="EP_prepaid_cp"         name="EP_prepaid_cp"        value="">      <!-- 선불카드 CP // FORMAT->코드:코드: ... :코드 EXAMPLE->CCB:ECB // 빈값 : DB조회-->
88
-
89
-			<!--------------------------------->
90
-			<!-- ::: 인증응답용 인증 요청 값 -->
91
-			<!--------------------------------->
92
-
93
-			<input type="hidden" id="EP_res_cd"             name="EP_res_cd"            value="">      <!--  응답코드 // -->
94
-			<input type="hidden" id="EP_res_msg"            name="EP_res_msg"           value="">      <!--  응답메세지 // -->
95
-			<input type="hidden" id="EP_tr_cd"              name="EP_tr_cd"             value="">      <!--  결제창 요청구분 // -->
96
-			<input type="hidden" id="EP_ret_pay_type"       name="EP_ret_pay_type"      value="">      <!--  결제수단 // -->
97
-			<input type="hidden" id="EP_ret_complex_yn"     name="EP_ret_complex_yn"    value="">      <!--  복합결제 여부 (Y/N) // -->
98
-			<input type="hidden" id="EP_card_code"          name="EP_card_code"         value="">      <!--  카드코드 (ISP:KVP카드코드 MPI:카드코드) // -->
99
-			<input type="hidden" id="EP_eci_code"           name="EP_eci_code"          value="">      <!--  MPI인 경우 ECI코드 // -->
100
-			<input type="hidden" id="EP_card_req_type"      name="EP_card_req_type"     value="">      <!--  거래구분 // -->
101
-			<input type="hidden" id="EP_save_useyn"         name="EP_save_useyn"        value="">      <!--  카드사 세이브 여부 (Y/N) // -->
102
-			<input type="hidden" id="EP_trace_no"           name="EP_trace_no"          value="">      <!--  추적번호 // -->
103
-			<input type="hidden" id="EP_sessionkey"         name="EP_sessionkey"        value="">      <!--  세션키 // -->
104
-			<input type="hidden" id="EP_encrypt_data"       name="EP_encrypt_data"      value="">      <!--  암호화전문 // -->
105
-			<input type="hidden" id="EP_spay_cp"            name="EP_spay_cp"           value="">      <!--  간편결제 CP 코드 // -->
106
-			<input type="hidden" id="EP_card_prefix"        name="EP_card_prefix"       value="">      <!--  신용카드prefix // -->
107
-			<input type="hidden" id="EP_card_no_7"          name="EP_card_no_7"         value="">      <!--  신용카드번호 앞7자리 // -->
108
-
109
-			<!--------------------------------->
110
-			<!-- ::: 브랜드그룹 정보 -->
111
-			<!--------------------------------->
112
-
113
-			<input type="hidden" id="EP_mall_id"          	name="EP_mall_id"         	value="">      	   <!--  브랜드그룹ID // -->
114
-
115
-			<!--------------------------------->
116
-			<!-- ::: 결제 정보 -->
117
-			<!--------------------------------->
118
-
119
-			<input type="hidden" id="EP_pay_type"           name="EP_pay_type"           value="">      	<!--  결제수단 // -->
120
-			<input type="hidden" id="EP_window_type"        name="EP_window_type"        value="popup">    <!--  윈도우타입 (iframe[default], popup) // -->
121
-			<input type="hidden" id="EP_cert_type"          name="EP_cert_type"          value="">      	<!--  인증타입 (일반-"", 인증-"21", 비인증-"22") // -->
122
-
123
-			<!--------------------------------->
124
-			<!-- ::: 주문 정보 -->
125
-			<!--------------------------------->
126
-
127
-			<input type="hidden" id="EP_order_no"         	name="EP_order_no"           value="">      	<!--  주문번호 // -->
128
-			<input type="hidden" id="EP_product_nm"         name="EP_product_nm"         value="">      	<!--  상품명 // -->
129
-			<input type="hidden" id="EP_product_amt"        name="EP_product_amt"        value="">      	<!--  상품금액 // -->
130
-
131
-			<!-- // WEB END -->
132
-
133
-			<!-- MOBILE -->
134
-			<!-- [START] 인증요청 필드 -->     <!--  <table>내에도 일부 파라미터 존재합니다.-->
135
-
136
-			<!--------------------------->
137
-			<!-- ::: 공통 인증 요청 값 -->
138
-			<!--------------------------->
139
-			<input type="hidden" id="sp_mall_nm"           name="sp_mall_nm"           value="" />               <!--[선택]브랜드그룹명 -->
140
-			<input type="hidden" id="sp_order_no"          name="sp_order_no"          value="" />               <!--[필수]브랜드그룹 주문번호(인증응답) -->
141
-			<input type="hidden" id="sp_currency"          name="sp_currency"          value="00" />             <!--[필수]통화코드(수정불가) -->
142
-			<input type="hidden" id="sp_return_url"        name="sp_return_url"        value="" />         		 <!--[필수]브랜드그룹 return URL -->
143
-			<input type="hidden" id="sp_lang_flag"         name="sp_lang_flag"         value="KOR" />            <!--[선택]언어 -->
144
-			<input type="hidden" id="sp_charset"           name="sp_charset"           value="UTF-8" />          <!--[선택]브랜드그룹 charset -->
145
-			<input type="hidden" id="sp_user_id"           name="sp_user_id"           value="" />               <!--[선택]브랜드그룹 고객ID -->
146
-			<input type="hidden" id="sp_memb_user_no"      name="sp_memb_user_no"      value="" />               <!--[선택]브랜드그룹 고객일련번호 -->
147
-			<input type="hidden" id="sp_user_nm"           name="sp_user_nm"           value="" />           	 <!--[선택]브랜드그룹 고객명 -->
148
-			<input type="hidden" id="sp_user_mail"         name="sp_user_mail"         value="" />           	 <!--[선택]브랜드그룹 고객 E-mail -->
149
-			<input type="hidden" id="sp_user_phone1"       name="sp_user_phone1"       value="" />               <!--[선택]브랜드그룹 고객 연락처1 -->
150
-			<input type="hidden" id="sp_user_phone2"       name="sp_user_phone2"       value="" />               <!--[선택]브랜드그룹 고객 연락처2 -->
151
-			<input type="hidden" id="sp_user_addr"         name="sp_user_addr"         value="" />               <!--[선택]브랜드그룹 고객 주소 -->
152
-			<input type="hidden" id="sp_user_define1"      name="sp_user_define1"      value="" />               <!--[선택]브랜드그룹 필드1 -->
153
-			<input type="hidden" id="sp_user_define2"      name="sp_user_define2"      value="" />               <!--[선택]브랜드그룹 필드2 -->
154
-			<input type="hidden" id="sp_user_define3"      name="sp_user_define3"      value="" />               <!--[선택]브랜드그룹 필드3 -->
155
-			<input type="hidden" id="sp_user_define4"      name="sp_user_define4"      value="" />               <!--[선택]브랜드그룹 필드4 -->
156
-			<input type="hidden" id="sp_user_define5"      name="sp_user_define5"      value="" />               <!--[선택]브랜드그룹 필드5 -->
157
-			<input type="hidden" id="sp_user_define6"      name="sp_user_define6"      value="" />               <!--[선택]브랜드그룹 필드6 -->
158
-			<input type="hidden" id="sp_product_type"      name="sp_product_type"      value="" />               <!--[선택]상품정보구분 -->
159
-			<input type="hidden" id="sp_product_expr"      name="sp_product_expr"      value="" />               <!--[선택]서비스 기간 -->
160
-			<input type="hidden" id="sp_app_scheme"        name="sp_app_scheme"        value="" />               <!--[선택]브랜드그룹 APP scheme -->
161
-
162
-			<input type="hidden" id="sp_mall_id"		   name="sp_mall_id"		   value="" />               <!--[필수]브랜드그룹 ID -->
163
-			<input type="hidden" id="sp_pay_type"      	   name="sp_pay_type"   	   value="" />               <!--[필수]결제수단 -->
164
-			<input type="hidden" id="sp_cert_type"	       name="sp_cert_type"   	   value="" />               <!--[선택]인증타입 -->
165
-			<input type="hidden" id="sp_product_nm"    	   name="sp_product_nm"   	   value="" />               <!--[필수]상품명 -->
166
-			<input type="hidden" id="sp_product_amt"   	   name="sp_product_amt"       value="" />               <!--[필수]상품금액 -->
167
-			<input type="hidden" id="sp_window_type"       name="sp_window_type"       value="" />               <!--[선택]윈도우타입 -->
168
-			<input type="hidden" id="sp_disp_cash_yn"      name="sp_disp_cash_yn"      value="" />               <!--[선택]현금영수증 화면표시여부 -->
169
-			<input type="hidden" id="sp_kmotion_useyn"     name="sp_kmotion_useyn"     value="" />               <!--[선택]국민앱카드 사용유무 -->
170
-
171
-
172
-			<!--신용카드-->
173
-			<input type="hidden" id="sp_usedcard_code"     name="sp_usedcard_code"     value="" />               <!--[선택]사용가능카드 LIST -->
174
-			<input type="hidden" id="sp_quota"             name="sp_quota"             value="" />               <!--[선택]할부개월 -->
175
-			<input type="hidden" id="sp_os_cert_flag"      name="sp_os_cert_flag"      value="2" />               <!--[선택]해외안심클릭 사용여부-->
176
-			<input type="hidden" id="sp_noinst_flag"       name="sp_noinst_flag"       value="" />               <!--[선택]무이자 여부(Y/N)-->
177
-			<input type="hidden" id="sp_noinst_term"       name="sp_noinst_term"       value="" />               <!--[선택]무이자 기간 -->
178
-			<input type="hidden" id="sp_set_point_card_yn" name="sp_set_point_card_yn" value="" />               <!--[선택]카드사포인트 사용여부(Y/N)-->
179
-			<input type="hidden" id="sp_point_card"        name="sp_point_card"        value="" />               <!--[선택]포인트카드 LIST(카드코드-더할 할부개월) -->
180
-			<input type="hidden" id="sp_join_cd"           name="sp_join_cd"           value="" />               <!--[선택]조인코드 -->
181
-
182
-			<!--가상계좌-->
183
-			<input type="hidden" id="sp_vacct_bank"        name="sp_vacct_bank"         value="" />               <!--[선택]가상계좌 사용가능한 은행 LIST -->
184
-			<input type="hidden" id="sp_vacct_end_date"    name="sp_vacct_end_date"     value="" />               <!--[선택]입금 만료 날짜 -->
185
-			<input type="hidden" id="sp_vacct_end_time"    name="sp_vacct_end_time"     value="" />               <!--[선택]입금 만료 시간 -->
186
-
187
-			<!--선불카드-->
188
-			<input type="hidden" id="sp_prepaid_cp"        name="sp_prepaid_cp"         value="" />               <!--[선택]선불카드 CP -->
189
-
190
-			<!-- [END] 인증요청 필드  -->
191
-
192
-			<!-- [START] 인증응답 필드 -->
193
-
194
-			<!--------------------------->
195
-			<!-- ::: 공통 응답 값 -->
196
-			<!--------------------------->
197
-			<input type="hidden" id="sp_res_cd"              name="sp_res_cd"                value="" />         <!-- [필수]응답코드        -->
198
-			<input type="hidden" id="sp_res_msg"             name="sp_res_msg"               value="" />         <!-- [필수]응답메시지      -->
199
-			<input type="hidden" id="sp_tr_cd"               name="sp_tr_cd"                 value="" />         <!-- [필수]결제창 요청구분 -->
200
-			<input type="hidden" id="sp_ret_pay_type"        name="sp_ret_pay_type"          value="" />         <!-- [필수]결제수단        -->
201
-			<input type="hidden" id="sp_trace_no"            name="sp_trace_no"              value="" />         <!-- [선택]추적번호        -->
202
-			<!-- 브랜드그룹 주문번호 인증요청 필드에 존재.                                                                [필수]브랜드그룹 주문번호 -->
203
-			<input type="hidden" id="sp_sessionkey"          name="sp_sessionkey"            value="" />         <!-- [필수]세션키          -->
204
-			<input type="hidden" id="sp_encrypt_data"        name="sp_encrypt_data"          value="" />         <!-- [필수]암호화전문      -->
205
-			<!-- 브랜드그룹 ID  인증요청 필드에 존재.                                                                 [필수]브랜드그룹 ID       -->
206
-			<input type="hidden" id="sp_mobilereserved1"     name="sp_mobilereserved1"       value="" />         <!-- [선택]여유필드        -->
207
-			<input type="hidden" id="sp_mobilereserved2"     name="sp_mobilereserved2"       value="" />         <!-- [선택]여유필드        -->
208
-			<input type="hidden" id="sp_reserved1"           name="sp_reserved1"             value="" />         <!-- [선택]여유필드        -->
209
-			<input type="hidden" id="sp_reserved2"           name="sp_reserved2"             value="" />         <!-- [선택]여유필드        -->
210
-			<input type="hidden" id="sp_reserved3"           name="sp_reserved3"             value="" />         <!-- [선택]여유필드        -->
211
-			<input type="hidden" id="sp_reserved4"           name="sp_reserved4"             value="" />         <!-- [선택]여유필드        -->
212
-
213
-			<!--신용카드-->
214
-			<input type="hidden" id="sp_card_code"            name="sp_card_code"            value="" />         <!-- [필수]카드코드               -->
215
-			<input type="hidden" id="sp_eci_code"             name="sp_eci_code"             value="" />         <!-- [선택]ECI코드(MPI인 경우)    -->
216
-			<input type="hidden" id="sp_card_req_type"        name="sp_card_req_type"        value="" />         <!-- [필수]거래구분               -->
217
-			<input type="hidden" id="sp_save_useyn"           name="sp_save_useyn"           value="" />         <!-- [선택]카드사 세이브 여부     -->
218
-			<input type="hidden" id="sp_card_prefix"          name="sp_card_prefix"          value="" />         <!-- [선택]신용카드 Prefix        -->
219
-			<input type="hidden" id="sp_card_no_7"            name="sp_card_no_7"            value="" />         <!-- [선택]신용카드번호 앞7자리   -->
220
-
221
-			<!--간편결제-->
222
-			<input type="hidden" id="sp_spay_cp"              name="sp_spay_cp"              value="" />          <!-- [선택]간편결제 CP코드 -->
223
-
224
-			<!--선불카드-->
225
-			<input type="hidden" id="sp_prepaid_cp"           name="sp_prepaid_cp"           value="" />          <!-- [선택]선불카드 CP코드 -->
226
-
227
-			<!-- [END] 인증응답 필드  -->
228
-			<!-- // MOBILE END -->
229
-		</form>
230
-	</div>
231
-	<script src="../js/app/payment.js"></script>
21
+	<form name="frm_pay" id="frm_pay" method="post" action="">
22
+		<input type="hidden" id="poOrdNo" name="poOrdNo" value="" />
23
+		<input type="hidden" id="payTpCd" name="payTpCd" value="" />
24
+		<input type="hidden" id="sttlMgntUnqNoList" name="sttlMgntUnqNoList" value="" />
25
+		<input type="hidden" id="brandId" name="brandId" value="" />
26
+		<input type="hidden" id="storeId" name="storeId" value="" />
27
+
28
+		<input type="hidden" id="kiccActionWebUrl" 		name="kiccActionWebUrl"			value="">
29
+		<input type="hidden" id="kiccActionMobileUrl" 	name="kiccActionMobileUrl"		value="">
30
+
31
+		<!-- WEB -->
32
+
33
+		<!--------------------------->
34
+		<!-- ::: 공통 인증 요청 값 -->
35
+		<!--------------------------->
36
+
37
+		<input type="hidden" id="EP_mall_nm"        name="EP_mall_nm"           value="">         <!-- 브랜드그룹명-->
38
+		<input type="hidden" id="EP_currency"       name="EP_currency"          value="00">       <!-- 통화코드 // 00 : 원화-->
39
+		<input type="hidden" id="EP_return_url"     name="EP_return_url"        value="">         <!-- 브랜드그룹 CALLBACK URL // -->
40
+		<input type="hidden" id="EP_ci_url"         name="EP_ci_url"            value="">         <!-- CI LOGO URL // -->
41
+		<input type="hidden" id="EP_lang_flag"      name="EP_lang_flag"         value="KOR">      <!-- 언어 // -->
42
+		<input type="hidden" id="EP_charset"        name="EP_charset"           value="UTF-8">    <!-- 브랜드그룹 CharSet // EUC-KR,UTF-8 사용시 대문자 이용-->
43
+		<input type="hidden" id="EP_user_id"        name="EP_user_id"           value="">         <!-- 브랜드그룹 고객ID // -->
44
+		<input type="hidden" id="EP_memb_user_no"   name="EP_memb_user_no"      value="">         <!-- 브랜드그룹 고객일련번호 // -->
45
+		<input type="hidden" id="EP_user_nm"        name="EP_user_nm"           value="">         <!-- 브랜드그룹 고객명 // -->
46
+		<input type="hidden" id="EP_user_mail"      name="EP_user_mail"         value="">         <!-- 브랜드그룹 고객 E-mail // -->
47
+		<input type="hidden" id="EP_user_phone1"    name="EP_user_phone1"       value="">         <!-- 브랜드그룹 고객 연락처1 // -->
48
+		<input type="hidden" id="EP_user_phone2"    name="EP_user_phone2"       value="">         <!-- 브랜드그룹 고객 연락처2 // -->
49
+		<input type="hidden" id="EP_user_addr"      name="EP_user_addr"         value="">         <!-- 브랜드그룹 고객 주소 // -->
50
+		<input type="hidden" id="EP_user_define1"   name="EP_user_define1"      value="">         <!-- 브랜드그룹 필드1 // -->
51
+		<input type="hidden" id="EP_user_define2"   name="EP_user_define2"      value="">         <!-- 브랜드그룹 필드2 // -->
52
+		<input type="hidden" id="EP_user_define3"   name="EP_user_define3"      value="">         <!-- 브랜드그룹 필드3 // -->
53
+		<input type="hidden" id="EP_user_define4"   name="EP_user_define4"      value="">         <!-- 브랜드그룹 필드4 // -->
54
+		<input type="hidden" id="EP_user_define5"   name="EP_user_define5"      value="">         <!-- 브랜드그룹 필드5 // -->
55
+		<input type="hidden" id="EP_user_define6"   name="EP_user_define6"      value="">         <!-- 브랜드그룹 필드6 // -->
56
+		<input type="hidden" id="EP_product_type"   name="EP_product_type"      value="0">        <!-- 상품정보구분 // -->
57
+		<input type="hidden" id="EP_product_expr"   name="EP_product_expr"      value="">         <!-- 서비스 기간 // (YYYYMMDD) -->
58
+		<input type="hidden" id="EP_disp_cash_yn"   name="EP_disp_cash_yn"      value="">         <!-- 현금영수증 화면표시여부 //미표시 : "N", 그외: DB조회 -->
59
+
60
+
61
+		<!--------------------------->
62
+		<!-- ::: 카드 인증 요청 값 -->
63
+		<!--------------------------->
64
+
65
+		<input type="hidden" id="EP_usedcard_code"      name="EP_usedcard_code"     value="">      <!-- 사용가능한 카드 LIST // FORMAT->카드코드:카드코드: ... :카드코드 EXAMPLE->029:027:031 // 빈값 : DB조회-->
66
+		<input type="hidden" id="EP_quota"              name="EP_quota"             value="">      <!-- 할부개월 (카드코드-할부개월) -->
67
+		<input type="hidden" id="EP_os_cert_flag"       name="EP_os_cert_flag"      value="2">     <!-- 해외안심클릭 사용여부(변경불가) // -->
68
+		<input type="hidden" id="EP_noinst_flag"        name="EP_noinst_flag"       value="">      <!-- 무이자 여부 (Y/N) // -->
69
+		<input type="hidden" id="EP_noinst_term"        name="EP_noinst_term"       value="">      <!-- 무이자 기간 (카드코드-더할할부개월) // -->
70
+		<input type="hidden" id="EP_set_point_card_yn"  name="EP_set_point_card_yn" value="">      <!-- 카드사포인트 사용여부 (Y/N) // -->
71
+		<input type="hidden" id="EP_point_card"         name="EP_point_card"        value="">      <!-- 포인트카드 LIST  // -->
72
+		<input type="hidden" id="EP_join_cd"            name="EP_join_cd"           value="">      <!-- 조인코드 // -->
73
+		<input type="hidden" id="EP_kmotion_useyn"      name="EP_kmotion_useyn"     value="Y">     <!-- 국민앱카드 사용유무 (Y/N)// -->
74
+
75
+		<!------------------------------->
76
+		<!-- ::: 가상계좌 인증 요청 값 -->
77
+		<!------------------------------->
78
+
79
+		<input type="hidden" id="EP_vacct_bank"         name="EP_vacct_bank"        value="">      <!-- 가상계좌 사용가능한 은행 LIST // -->
80
+		<input type="hidden" id="EP_vacct_end_date"     name="EP_vacct_end_date"    value="">      <!-- 입금 만료 날짜 // -->
81
+		<input type="hidden" id="EP_vacct_end_time"     name="EP_vacct_end_time"    value="">      <!-- 입금 만료 시간 // -->
82
+
83
+		<!------------------------------->
84
+		<!-- ::: 선불카드 인증 요청 값 -->
85
+		<!------------------------------->
86
+
87
+		<input type="hidden" id="EP_prepaid_cp"         name="EP_prepaid_cp"        value="">      <!-- 선불카드 CP // FORMAT->코드:코드: ... :코드 EXAMPLE->CCB:ECB // 빈값 : DB조회-->
88
+
89
+		<!--------------------------------->
90
+		<!-- ::: 인증응답용 인증 요청 값 -->
91
+		<!--------------------------------->
92
+
93
+		<input type="hidden" id="EP_res_cd"             name="EP_res_cd"            value="">      <!--  응답코드 // -->
94
+		<input type="hidden" id="EP_res_msg"            name="EP_res_msg"           value="">      <!--  응답메세지 // -->
95
+		<input type="hidden" id="EP_tr_cd"              name="EP_tr_cd"             value="">      <!--  결제창 요청구분 // -->
96
+		<input type="hidden" id="EP_ret_pay_type"       name="EP_ret_pay_type"      value="">      <!--  결제수단 // -->
97
+		<input type="hidden" id="EP_ret_complex_yn"     name="EP_ret_complex_yn"    value="">      <!--  복합결제 여부 (Y/N) // -->
98
+		<input type="hidden" id="EP_card_code"          name="EP_card_code"         value="">      <!--  카드코드 (ISP:KVP카드코드 MPI:카드코드) // -->
99
+		<input type="hidden" id="EP_eci_code"           name="EP_eci_code"          value="">      <!--  MPI인 경우 ECI코드 // -->
100
+		<input type="hidden" id="EP_card_req_type"      name="EP_card_req_type"     value="">      <!--  거래구분 // -->
101
+		<input type="hidden" id="EP_save_useyn"         name="EP_save_useyn"        value="">      <!--  카드사 세이브 여부 (Y/N) // -->
102
+		<input type="hidden" id="EP_trace_no"           name="EP_trace_no"          value="">      <!--  추적번호 // -->
103
+		<input type="hidden" id="EP_sessionkey"         name="EP_sessionkey"        value="">      <!--  세션키 // -->
104
+		<input type="hidden" id="EP_encrypt_data"       name="EP_encrypt_data"      value="">      <!--  암호화전문 // -->
105
+		<input type="hidden" id="EP_spay_cp"            name="EP_spay_cp"           value="">      <!--  간편결제 CP 코드 // -->
106
+		<input type="hidden" id="EP_card_prefix"        name="EP_card_prefix"       value="">      <!--  신용카드prefix // -->
107
+		<input type="hidden" id="EP_card_no_7"          name="EP_card_no_7"         value="">      <!--  신용카드번호 앞7자리 // -->
108
+
109
+		<!--------------------------------->
110
+		<!-- ::: 브랜드그룹 정보 -->
111
+		<!--------------------------------->
112
+
113
+		<input type="hidden" id="EP_mall_id"          	name="EP_mall_id"         	value="">      	   <!--  브랜드그룹ID // -->
114
+
115
+		<!--------------------------------->
116
+		<!-- ::: 결제 정보 -->
117
+		<!--------------------------------->
118
+
119
+		<input type="hidden" id="EP_pay_type"           name="EP_pay_type"           value="">      	<!--  결제수단 // -->
120
+		<input type="hidden" id="EP_window_type"        name="EP_window_type"        value="popup">    <!--  윈도우타입 (iframe[default], popup) // -->
121
+		<input type="hidden" id="EP_cert_type"          name="EP_cert_type"          value="">      	<!--  인증타입 (일반-"", 인증-"21", 비인증-"22") // -->
122
+
123
+		<!--------------------------------->
124
+		<!-- ::: 주문 정보 -->
125
+		<!--------------------------------->
126
+
127
+		<input type="hidden" id="EP_order_no"         	name="EP_order_no"           value="">      	<!--  주문번호 // -->
128
+		<input type="hidden" id="EP_product_nm"         name="EP_product_nm"         value="">      	<!--  상품명 // -->
129
+		<input type="hidden" id="EP_product_amt"        name="EP_product_amt"        value="">      	<!--  상품금액 // -->
130
+
131
+		<!-- // WEB END -->
132
+
133
+		<!-- MOBILE -->
134
+		<!-- [START] 인증요청 필드 -->     <!--  <table>내에도 일부 파라미터 존재합니다.-->
135
+
136
+		<!--------------------------->
137
+		<!-- ::: 공통 인증 요청 값 -->
138
+		<!--------------------------->
139
+		<input type="hidden" id="sp_mall_nm"           name="sp_mall_nm"           value="" />               <!--[선택]브랜드그룹명 -->
140
+		<input type="hidden" id="sp_order_no"          name="sp_order_no"          value="" />               <!--[필수]브랜드그룹 주문번호(인증응답) -->
141
+		<input type="hidden" id="sp_currency"          name="sp_currency"          value="00" />             <!--[필수]통화코드(수정불가) -->
142
+		<input type="hidden" id="sp_return_url"        name="sp_return_url"        value="" />         		 <!--[필수]브랜드그룹 return URL -->
143
+		<input type="hidden" id="sp_lang_flag"         name="sp_lang_flag"         value="KOR" />            <!--[선택]언어 -->
144
+		<input type="hidden" id="sp_charset"           name="sp_charset"           value="UTF-8" />          <!--[선택]브랜드그룹 charset -->
145
+		<input type="hidden" id="sp_user_id"           name="sp_user_id"           value="" />               <!--[선택]브랜드그룹 고객ID -->
146
+		<input type="hidden" id="sp_memb_user_no"      name="sp_memb_user_no"      value="" />               <!--[선택]브랜드그룹 고객일련번호 -->
147
+		<input type="hidden" id="sp_user_nm"           name="sp_user_nm"           value="" />           	 <!--[선택]브랜드그룹 고객명 -->
148
+		<input type="hidden" id="sp_user_mail"         name="sp_user_mail"         value="" />           	 <!--[선택]브랜드그룹 고객 E-mail -->
149
+		<input type="hidden" id="sp_user_phone1"       name="sp_user_phone1"       value="" />               <!--[선택]브랜드그룹 고객 연락처1 -->
150
+		<input type="hidden" id="sp_user_phone2"       name="sp_user_phone2"       value="" />               <!--[선택]브랜드그룹 고객 연락처2 -->
151
+		<input type="hidden" id="sp_user_addr"         name="sp_user_addr"         value="" />               <!--[선택]브랜드그룹 고객 주소 -->
152
+		<input type="hidden" id="sp_user_define1"      name="sp_user_define1"      value="" />               <!--[선택]브랜드그룹 필드1 -->
153
+		<input type="hidden" id="sp_user_define2"      name="sp_user_define2"      value="" />               <!--[선택]브랜드그룹 필드2 -->
154
+		<input type="hidden" id="sp_user_define3"      name="sp_user_define3"      value="" />               <!--[선택]브랜드그룹 필드3 -->
155
+		<input type="hidden" id="sp_user_define4"      name="sp_user_define4"      value="" />               <!--[선택]브랜드그룹 필드4 -->
156
+		<input type="hidden" id="sp_user_define5"      name="sp_user_define5"      value="" />               <!--[선택]브랜드그룹 필드5 -->
157
+		<input type="hidden" id="sp_user_define6"      name="sp_user_define6"      value="" />               <!--[선택]브랜드그룹 필드6 -->
158
+		<input type="hidden" id="sp_product_type"      name="sp_product_type"      value="" />               <!--[선택]상품정보구분 -->
159
+		<input type="hidden" id="sp_product_expr"      name="sp_product_expr"      value="" />               <!--[선택]서비스 기간 -->
160
+		<input type="hidden" id="sp_app_scheme"        name="sp_app_scheme"        value="" />               <!--[선택]브랜드그룹 APP scheme -->
161
+
162
+		<input type="hidden" id="sp_mall_id"		   name="sp_mall_id"		   value="" />               <!--[필수]브랜드그룹 ID -->
163
+		<input type="hidden" id="sp_pay_type"      	   name="sp_pay_type"   	   value="" />               <!--[필수]결제수단 -->
164
+		<input type="hidden" id="sp_cert_type"	       name="sp_cert_type"   	   value="" />               <!--[선택]인증타입 -->
165
+		<input type="hidden" id="sp_product_nm"    	   name="sp_product_nm"   	   value="" />               <!--[필수]상품명 -->
166
+		<input type="hidden" id="sp_product_amt"   	   name="sp_product_amt"       value="" />               <!--[필수]상품금액 -->
167
+		<input type="hidden" id="sp_window_type"       name="sp_window_type"       value="" />               <!--[선택]윈도우타입 -->
168
+		<input type="hidden" id="sp_disp_cash_yn"      name="sp_disp_cash_yn"      value="" />               <!--[선택]현금영수증 화면표시여부 -->
169
+		<input type="hidden" id="sp_kmotion_useyn"     name="sp_kmotion_useyn"     value="" />               <!--[선택]국민앱카드 사용유무 -->
170
+
171
+
172
+		<!--신용카드-->
173
+		<input type="hidden" id="sp_usedcard_code"     name="sp_usedcard_code"     value="" />               <!--[선택]사용가능카드 LIST -->
174
+		<input type="hidden" id="sp_quota"             name="sp_quota"             value="" />               <!--[선택]할부개월 -->
175
+		<input type="hidden" id="sp_os_cert_flag"      name="sp_os_cert_flag"      value="2" />               <!--[선택]해외안심클릭 사용여부-->
176
+		<input type="hidden" id="sp_noinst_flag"       name="sp_noinst_flag"       value="" />               <!--[선택]무이자 여부(Y/N)-->
177
+		<input type="hidden" id="sp_noinst_term"       name="sp_noinst_term"       value="" />               <!--[선택]무이자 기간 -->
178
+		<input type="hidden" id="sp_set_point_card_yn" name="sp_set_point_card_yn" value="" />               <!--[선택]카드사포인트 사용여부(Y/N)-->
179
+		<input type="hidden" id="sp_point_card"        name="sp_point_card"        value="" />               <!--[선택]포인트카드 LIST(카드코드-더할 할부개월) -->
180
+		<input type="hidden" id="sp_join_cd"           name="sp_join_cd"           value="" />               <!--[선택]조인코드 -->
181
+
182
+		<!--가상계좌-->
183
+		<input type="hidden" id="sp_vacct_bank"        name="sp_vacct_bank"         value="" />               <!--[선택]가상계좌 사용가능한 은행 LIST -->
184
+		<input type="hidden" id="sp_vacct_end_date"    name="sp_vacct_end_date"     value="" />               <!--[선택]입금 만료 날짜 -->
185
+		<input type="hidden" id="sp_vacct_end_time"    name="sp_vacct_end_time"     value="" />               <!--[선택]입금 만료 시간 -->
186
+
187
+		<!--선불카드-->
188
+		<input type="hidden" id="sp_prepaid_cp"        name="sp_prepaid_cp"         value="" />               <!--[선택]선불카드 CP -->
189
+
190
+		<!-- [END] 인증요청 필드  -->
191
+
192
+		<!-- [START] 인증응답 필드 -->
193
+
194
+		<!--------------------------->
195
+		<!-- ::: 공통 응답 값 -->
196
+		<!--------------------------->
197
+		<input type="hidden" id="sp_res_cd"              name="sp_res_cd"                value="" />         <!-- [필수]응답코드        -->
198
+		<input type="hidden" id="sp_res_msg"             name="sp_res_msg"               value="" />         <!-- [필수]응답메시지      -->
199
+		<input type="hidden" id="sp_tr_cd"               name="sp_tr_cd"                 value="" />         <!-- [필수]결제창 요청구분 -->
200
+		<input type="hidden" id="sp_ret_pay_type"        name="sp_ret_pay_type"          value="" />         <!-- [필수]결제수단        -->
201
+		<input type="hidden" id="sp_trace_no"            name="sp_trace_no"              value="" />         <!-- [선택]추적번호        -->
202
+		<!-- 브랜드그룹 주문번호 인증요청 필드에 존재.                                                                [필수]브랜드그룹 주문번호 -->
203
+		<input type="hidden" id="sp_sessionkey"          name="sp_sessionkey"            value="" />         <!-- [필수]세션키          -->
204
+		<input type="hidden" id="sp_encrypt_data"        name="sp_encrypt_data"          value="" />         <!-- [필수]암호화전문      -->
205
+		<!-- 브랜드그룹 ID  인증요청 필드에 존재.                                                                 [필수]브랜드그룹 ID       -->
206
+		<input type="hidden" id="sp_mobilereserved1"     name="sp_mobilereserved1"       value="" />         <!-- [선택]여유필드        -->
207
+		<input type="hidden" id="sp_mobilereserved2"     name="sp_mobilereserved2"       value="" />         <!-- [선택]여유필드        -->
208
+		<input type="hidden" id="sp_reserved1"           name="sp_reserved1"             value="" />         <!-- [선택]여유필드        -->
209
+		<input type="hidden" id="sp_reserved2"           name="sp_reserved2"             value="" />         <!-- [선택]여유필드        -->
210
+		<input type="hidden" id="sp_reserved3"           name="sp_reserved3"             value="" />         <!-- [선택]여유필드        -->
211
+		<input type="hidden" id="sp_reserved4"           name="sp_reserved4"             value="" />         <!-- [선택]여유필드        -->
212
+
213
+		<!--신용카드-->
214
+		<input type="hidden" id="sp_card_code"            name="sp_card_code"            value="" />         <!-- [필수]카드코드               -->
215
+		<input type="hidden" id="sp_eci_code"             name="sp_eci_code"             value="" />         <!-- [선택]ECI코드(MPI인 경우)    -->
216
+		<input type="hidden" id="sp_card_req_type"        name="sp_card_req_type"        value="" />         <!-- [필수]거래구분               -->
217
+		<input type="hidden" id="sp_save_useyn"           name="sp_save_useyn"           value="" />         <!-- [선택]카드사 세이브 여부     -->
218
+		<input type="hidden" id="sp_card_prefix"          name="sp_card_prefix"          value="" />         <!-- [선택]신용카드 Prefix        -->
219
+		<input type="hidden" id="sp_card_no_7"            name="sp_card_no_7"            value="" />         <!-- [선택]신용카드번호 앞7자리   -->
220
+
221
+		<!--간편결제-->
222
+		<input type="hidden" id="sp_spay_cp"              name="sp_spay_cp"              value="" />          <!-- [선택]간편결제 CP코드 -->
223
+
224
+		<!-- [END] 인증응답 필드  -->
225
+		<!-- // MOBILE END -->
226
+	</form>
232 227
 	<div id="ITP_POPUP_KICC_JS"></div>
228
+	<script src="../js/app/payment.js"></script>
233 229
 </div>
234 230
 </body>
235 231
 </html>

+ 1 - 0
src/main/webapp/mobile/app/popup/biz/BIZPOP_PO_PAYMENT.html

@@ -97,6 +97,7 @@
97 97
 							
98 98
 							<input type="hidden" id="kiccActionWebUrl" 		name="kiccActionWebUrl"			value="">
99 99
 							<input type="hidden" id="kiccActionMobileUrl" 	name="kiccActionMobileUrl"		value="">
100
+							<input type="hidden" id="kiccJavascriptUrl" 	name="kiccJavascriptUrl"		value="">
100 101
 							
101 102
 							<!-- WEB -->
102 103
 							

+ 7 - 3
src/main/webapp/mobile/js/app/main.js

@@ -16,10 +16,14 @@ var mobMainObj = {
16 16
 
17 17
 };
18 18
 
19
-function jsBarcodeFn(barcode) {
20
-	mobContentObj.barcode.callbackApp(barcode);
19
+function appJsFnBarcode(barcode) {
20
+	appCallFunction.barcode.result(barcode);
21
+}
22
+
23
+function appJsFnPayment(param) {
24
+	appCallFunction.payment.result(param);
21 25
 }
22 26
 
23 27
 function jsAppBackPressed() {
24
-	mobPageObj.app.backPressed();
28
+	appCallFunction.backPressed();
25 29
 }

+ 36 - 36
src/main/webapp/mobile/js/app/mloanmng/ITP_MLOANMNG02010.js

@@ -74,15 +74,6 @@ let mobPageObj = {
74 74
 				return false;
75 75
 			});
76 76
 
77
-			$('button[id^="ITP_BTN_MLOANMNG02010_VIEW"]').on('click', function() {
78
-				var id = $(this).attr('id');
79
-				switch (id) {
80
-					case 'ITP_BTN_MLOANMNG02010_VIEW_PAY_REQ'		: mobContentObj.view.payment();		break;
81
-					case 'ITP_BTN_MLOANMNG02010_VIEW_CANCEL_LIST'	: mobContentObj.view.cancel();		break;
82
-				}
83
-				return false;
84
-			});
85
-
86 77
 			$('button[id^="ITP_BTN_MLOANMNG02010_PAY"]').on('click', function() {
87 78
 				var id = $(this).attr('id');
88 79
 				switch (id) {
@@ -130,8 +121,6 @@ let mobPageObj = {
130 121
 		} else if(mode === PAGE_MODE_VIEW) {
131 122
 			$('#ITP_AJAX_MLOANMNG02010_VIEW_CONTAINER').show();
132 123
 			this.moreView(false);
133
-		} else if(mode === PAGE_MODE_PAY) {
134
-			$('#ITP_AJAX_MLOANMNG02010_PAY_CONTAINER').show();
135 124
 		}
136 125
 	},
137 126
 	moreView: function(isScroll) {
@@ -223,15 +212,7 @@ let mobContentObj = {
223 212
 					alert('신규입금 처리를 위한 매장을 선택하세요.');
224 213
 					return;
225 214
 				}
226
-				// if(CommonObj.isApp) {
227
-				// 	mobPageObj.switchScreen(PAGE_MODE_PAY);
228
-				// 	this.load();
229
-				// } else {
230
-				// 	this.popup();
231
-				// }
232
-				mobPageObj.switchScreen(PAGE_MODE_PAY);
233
-				$('#ITP_FORM_MLOANMNG02010_PAY_STORE_ID').val(storeId);
234
-				this.load();
215
+				this.popup();
235 216
 			},
236 217
 			load: function() {
237 218
 				var callbackFn = function(result) {
@@ -279,16 +260,37 @@ let mobContentObj = {
279 260
 				fn_call_popup('biz', 'BIZPOP_PO_PAYMENT', '#ITP_ASIDE', popFn, args, 'M');
280 261
 			},
281 262
 			request: function() {
282
-				var param = $('#ITP_FORM_MLOANMNG02010_PAY').serializeObject();
283
-				var loanDvsn = $('#ITP_FORM_LOANMNG02010_SEARCH_STORE_LOAN_DVSN').val();
284
-				param['brandNm'] = fn_make_user_info.get('brandNm');
285
-				param['payTpCd'] = loanDvsn == 'LD01' ? '10' : '30';
286
-				console.log(param);
287
-				$(location).attr('href', MOBILE_CONTEXTPATH + '/app/payment.html?' + $.param(param));
288
-				// itp_fn_call_app.payment(param);
289
-			},
290
-			payResult: function(result) {
291
-				console.log(result);
263
+				var frm_pay = document.frm_pay;
264
+
265
+				/*  주문정보 확인 */
266
+				if( !frm_pay.sp_order_no.value ) {
267
+					alert("브랜드그룹주문번호가 존재하지않습니다.");
268
+					frm_pay.sp_order_no.focus();
269
+					return;
270
+				}
271
+
272
+				if( !frm_pay.sp_product_amt.value ) {
273
+					alert("상품금액이 존재하지않습니다.");
274
+					frm_pay.sp_product_amt.focus();
275
+					return;
276
+				}
277
+				/* UTF-8 사용브랜드그룹의 경우 EP_charset 값 셋팅 필수 */
278
+				if( frm_pay.sp_charset.value == "UTF-8" ) {
279
+					// 한글이 들어가는 값은 모두 encoding 필수.
280
+					frm_pay.sp_mall_nm.value      = encodeURIComponent( frm_pay.sp_mall_nm.value );
281
+					frm_pay.sp_product_nm.value   = encodeURIComponent( frm_pay.sp_product_nm.value );
282
+					frm_pay.sp_user_nm.value      = encodeURIComponent( frm_pay.sp_user_nm.value );
283
+					frm_pay.sp_user_addr.value    = encodeURIComponent( frm_pay.sp_user_addr.value );
284
+				}
285
+
286
+				frm_pay.sp_return_url.value = MOBILE_RETURN_URL; //
287
+				// easypay_card_webpay(frm_pay,"/oqpo-view/mobile/app/easypay/oqpo/mobile_order_req.jsp","_self","0","0","submit",30);
288
+				// setTimeout(function() {
289
+				// 	$('#ITP_BIZPOP_PO_PAYMENT').modal('hide'); // 팝업닫기
290
+				// }, 200);
291
+				var param = $('#frm_pay').serializeObject();
292
+				// $(location).attr('href', MOBILE_CONTEXTPATH + '/app/payment.html?' + $.param(param));
293
+				itp_fn_call_app.payment($.param(param));
292 294
 			},
293 295
 			cancel: function() {
294 296
 				var id = '#ITP_FORM_MLOANMNG02010_PAY';
@@ -305,12 +307,6 @@ let mobContentObj = {
305 307
 				mobPageObj.switchScreen(PAGE_MODE_LIST);
306 308
 			}
307 309
 		},
308
-		payRequest: function() {
309
-			location.replace('app:payment');
310
-		},
311
-		payCancel: function() {
312
-			mobPageObj.switchScreen(PAGE_MODE_VIEW);
313
-		},
314 310
 		add: function() {
315 311
 			var storeId = $('#ITP_FORM_MLOANMNG02010_LIST_SEARCH_STORE_ID').val();
316 312
 			if(storeId.length < 1) {
@@ -563,3 +559,7 @@ let mobPopObj = {
563 559
 		$('#' + popId).closest('.mobile-pop-close').hide();
564 560
 	}
565 561
 };
562
+
563
+var paymentObj = {
564
+
565
+};

+ 8 - 6
src/main/webapp/mobile/js/app/mstockmng/ITP_MSTOCKMNG02010.js

@@ -222,8 +222,14 @@ let mobContentObj = {
222 222
 				location.replace('app:scan');
223 223
 				// location.href = 'app:scan';
224 224
 			}
225
-		},
226
-		callbackApp: function(barcode) {
225
+		}
226
+	}
227
+};
228
+
229
+var appCallFunction = {
230
+	barcode: {
231
+		result: function(barcode) {
232
+			console.log(JSON.stringify(barcode));
227 233
 			var infoFn = function(result) {
228 234
 				if(result) {
229 235
 					mobContentObj.list.itemAdd([result]);
@@ -327,7 +333,3 @@ let mobPopObj = {
327 333
 		$('#' + popId).closest('.mobile-pop-close').hide();
328 334
 	}
329 335
 };
330
-
331
-function jsBarcodeFn(barcode) {
332
-	mobContentObj.barcode.callbackApp(barcode);
333
-}

+ 30 - 319
src/main/webapp/mobile/js/app/payment.js

@@ -2,331 +2,42 @@ require(['config'], function() {
2 2
 	require([
3 3
 		'jquery'
4 4
 	], function($) {
5
-		popPageObj.init();
5
+		setTimeout(function() {
6
+			pageObj.init();
7
+		}, 300);
6 8
 	});
7 9
 });
8 10
 
9
-let EASYPAY_PAYMENT_CREATE = '/api/easypay/payment/create'; // 이지페이 결제 생성
10
-let EASYPAY_PAYMENT_REQUEST = '/api/easypay/payment/request';
11
-
12
-let KICC_JAVASCRIPT_URL;
13
-let KICC_ACTION_WEB_URL;
14
-let KICC_ACTION_MOBILE_URL; 
15
-let MALL_ID;
16
-let WEB_RETURN_URL;
17
-let MOBILE_RETURN_URL;
18
-
19
-var popPageObj = {
20
-	init: function () {
21
-		this.view();
11
+var pageObj = {
12
+	init: function() {
13
+		this.setParam();
14
+		this.mobileCert();
22 15
 	},
23
-	parentPopFn: null,
24
-	args: null,
25
-	returnType: null,
26
-	setPay: function() {
27
-
16
+	setParam() {
17
+		var nowAddress = unescape(location.href);
18
+		var parameters = (nowAddress.slice(nowAddress.indexOf('?') + 1,
19
+			nowAddress.length)).split('&');
20
+		for (var i = 0; i < parameters.length; i++) {
21
+			var param = parameters[i].split('=');
22
+			$('#frm_pay input[name="' + param[0] + '"]').val(param[1]);
23
+		}
24
+		console.log(JSON.stringify($('#frm_pay').serializeObject()));
28 25
 	},
29
-	view: function() {
30
-		var payTpCd = CommonObj.getParameter('payTpCd');
31
-		var brandId = CommonObj.getParameter('brandId');
32
-		var brandNm = CommonObj.getParameter('brandNm');
33
-		var storeId = CommonObj.getParameter('storeId');
34
-		var poOrdNo = CommonObj.getParameter('poOrdNo');
35
-		var ordNm = CommonObj.getParameter('ordNm');
36
-		var goodsNm = CommonObj.getParameter('goodsNm');
37
-		var goodsAmt = CommonObj.getParameter('goodsAmt');
38
-		var mallId = CommonObj.getParameter('mallId');
39
-		var payMethod = CommonObj.getParameter('payMethod');
40
-		var ordTel = CommonObj.getParameter('ordTel');
41
-		var ordEmail = CommonObj.getParameter('ordEmail');
42
-
43
-		var kicc_action_mobile_url = CommonObj.getParameter('kicc_action_mobile_url');
44
-		var kicc_javascript_url = CommonObj.getParameter('kicc_javascript_url');
45
-
46
-		KICC_JAVASCRIPT_URL = kicc_javascript_url;
47
-		KICC_ACTION_MOBILE_URL = kicc_action_mobile_url;
48
-		MALL_ID = mallId;
49
-		WEB_RETURN_URL = window.location.href.replace('main.html', 'easypay/oqpo/oqpo_order_res.jsp');
50
-		MOBILE_RETURN_URL = window.location.href.replace('main.html', 'easypay/oqpo/mobile_order_res_submit.jsp');
51
-
52
-		var frm_pay = document.frm_pay;
53
-
54
-		/*--모바일 결제--*/
55
-		/*--공통--*/
56
-		frm_pay.kiccActionWebUrl.value  	= KICC_ACTION_WEB_URL;
57
-		frm_pay.kiccActionMobileUrl.value  	= KICC_ACTION_MOBILE_URL;
58
-		frm_pay.EP_mall_id.value        = MALL_ID;       						   	//브랜드그룹 ID
59
-		frm_pay.EP_mall_nm.value        = brandNm;		   							//브랜드그룹명
60
-		frm_pay.EP_order_no.value       = poOrdNo;   					   			//브랜드그룹 주문번호
61
-		//결제수단(select)
62
-		frm_pay.EP_currency.value       = "00";                                    	//통화코드 : 00-원
63
-		frm_pay.EP_product_nm.value     = goodsNm;				   		   			//상품명
64
-		frm_pay.EP_product_amt.value    = goodsAmt;									//상품금액
65
-		//브랜드그룹 return_url(윈도우 타입 선택 시, 분기)
66
-		frm_pay.EP_lang_flag.value      = "KOR";                                    //언어: KOR / ENG
67
-		frm_pay.EP_charset.value        = "UTF-8";                                  //브랜드그룹 Charset: EUC-KR(default) / UTF-8
68
-		frm_pay.EP_user_id.value        = "";		                               //브랜드그룹 고객 ID
69
-		frm_pay.EP_memb_user_no.value   = "";			                           //브랜드그룹 고객 일련번호
70
-		frm_pay.EP_user_nm.value        = ordNm;						   	   //브랜드그룹 고객명
71
-		frm_pay.EP_user_mail.value      = ordEmail;                     	   //브랜드그룹 고객 이메일
72
-		frm_pay.EP_user_phone1.value    = ordTel;                       	   //브랜드그룹 고객 번호1
73
-		frm_pay.EP_user_phone2.value    = "";			                           //브랜드그룹 고객 번호2
74
-		frm_pay.EP_user_addr.value      = "";      								   //브랜드그룹 고객 주소
75
-		frm_pay.EP_product_type.value   = "0";                                     //상품정보구분 : 0-실물, 1-서비스
76
-		frm_pay.EP_product_expr.value   = "";             				           //서비스기간 : YYYYMMDD
77
-		frm_pay.EP_return_url.value     = WEB_RETURN_URL;  							   // Return 받을 URL (HTTP부터 입력)
78
-
79
-		/*--신용카드--*/
80
-		frm_pay.EP_usedcard_code.value  = "";                                      //사용가능한 카드 LIST
81
-		frm_pay.EP_quota.value          = "";                                      //할부개월
82
-
83
-		//무이자 여부(Y/N) (select)
84
-		frm_pay.EP_noinst_term.value    = "";		                               //무이자기간
85
-		//카드사포인트 사용여부(select)
86
-		frm_pay.EP_point_card.value     = "";	                                   //포인트카드 LIST
87
-		//조인코드(select)
88
-		//국민 앱카드 사용(select)
89
-
90
-		/*--가상계좌--*/
91
-		frm_pay.EP_vacct_bank.value     = "";                                      //가상계좌 사용가능한 은행 LIST
92
-		frm_pay.EP_vacct_end_date.value = "";		                               //입금 만료 날짜
93
-		frm_pay.EP_vacct_end_time.value = "";        	                           //입금 만료 시간
94
-
95
-		/*--모바일 결제--*/
96
-		/*--공통--*/
97
-		frm_pay.sp_mall_id.value        = MALL_ID;    							   //브랜드그룹 ID
98
-		frm_pay.sp_mall_nm.value        = brandNm;		   							//브랜드그룹명
99
-		frm_pay.sp_order_no.value       = poOrdNo;  						   //브랜드그룹 주문번호
100
-		//결제수단(select)
101
-		frm_pay.sp_currency.value       = "00";                                    //통화코드 : 00-원
102
-		frm_pay.sp_product_nm.value     = goodsNm;               	   	   //상품명
103
-		frm_pay.sp_product_amt.value    = goodsAmt; 							//상품금액
104
-		//브랜드그룹 return_url(윈도우 타입 선택 시, 분기)
105
-		frm_pay.sp_lang_flag.value      = "KOR";                                    //언어: KOR / ENG
106
-		frm_pay.sp_charset.value        = "UTF-8";                                  //브랜드그룹 Charset: EUC-KR(default) / UTF-8
107
-		frm_pay.sp_user_id.value        = "";           	                       //브랜드그룹 고객 ID
108
-		frm_pay.sp_memb_user_no.value   = "";                 		  	           //브랜드그룹 고객 일련번호
109
-		frm_pay.sp_user_nm.value        = ordNm;                            //브랜드그룹 고객명
110
-		frm_pay.sp_user_mail.value      = ordEmail;                         //브랜드그룹 고객 이메일
111
-		frm_pay.sp_user_phone1.value    = ordTel;                           //브랜드그룹 고객 번호1
112
-		frm_pay.sp_user_phone2.value    = "";              				           //브랜드그룹 고객 번호2
113
-		frm_pay.sp_user_addr.value      = "";  									   //브랜드그룹 고객 주소
114
-		frm_pay.sp_product_type.value   = "0";                                     //상품정보구분 : 0-실물, 1-서비스
115
-		frm_pay.sp_product_expr.value   = "";									   //서비스기간 : YYYYMMDD
116
-		frm_pay.sp_app_scheme.value     = "";                                      //브랜드그룹 app scheme : 모바일app으로 서비스시 필수
117
-
118
-		/*--신용카드--*/
119
-		frm_pay.sp_usedcard_code.value  = "";                                      //사용가능한 카드 LIST
120
-		frm_pay.sp_quota.value          = "";                                      //할부개월
121
-																				   //무이자 여부(Y/N) (select)
122
-		frm_pay.sp_noinst_term.value    = "";		                               //무이자기간
123
-		//카드사포인트 사용여부(select)
124
-		frm_pay.sp_point_card.value     = "";         		                       //포인트카드 LIST
125
-		//조인코드(select)
126
-		/*--가상계좌--*/
127
-		frm_pay.sp_vacct_bank.value     = "";                                      //가상계좌 사용가능한 은행 LIST
128
-		frm_pay.sp_vacct_end_date.value = "";               		               //입금 만료 날짜
129
-		frm_pay.sp_vacct_end_time.value = "";                       	           //입금 만료 시간
130
-
131
-		frm_pay.sp_pay_type.value       = payMethod;  								// 결제방법
132
-
26
+	mobileCert() {
27
+		var KICC_JAVASCRIPT_URL = CommonObj.getParameter('kiccJavascriptUrl');
28
+		console.log('KICC_JAVASCRIPT_URL : ' + KICC_JAVASCRIPT_URL);
29
+
30
+		var head = document.getElementsByTagName('head')[0];
31
+		var script = document.createElement('script');
32
+		script.type = 'text/javascript';
33
+		script.src = KICC_JAVASCRIPT_URL;
34
+		head.appendChild(script);
35
+
36
+		// const js = '<script src="' + KICC_JAVASCRIPT_URL + '"></script>';
37
+		// $('#ITP_BIZPOP_PO_PAYMENT #ITP_POPUP_KICC_JS').empty();
38
+		// $('#ITP_BIZPOP_PO_PAYMENT #ITP_POPUP_KICC_JS').append(js);
133 39
 		$.getScript(KICC_JAVASCRIPT_URL, function() {
134
-			if (isMobile() || window.innerWidth < 1201 ) {
135
-				f_mobile_cert();
136
-			} else {
137
-				f_cert();
138
-				// f_mobile_cert();
139
-			}
40
+			easypay_card_webpay(frm_pay,"/oqpo-view/mobile/app/easypay/oqpo/mobile_order_req.jsp","_self","0","0","submit",30);
140 41
 		});
141
-
142
-	},
143
-	fnPaymentReq: function() {
144
-		const formId = '#ITP_FORM_PO_PAYMENT_POPUP';
145
-		itp_fn_form_clear_validate(null, formId);
146
-
147
-		var vali_goodsAmt = itp_fn_form_validate(formId, formId + '_GOODS_AMT', ['empty'], undefined);
148
-		var vali_ordTel = itp_fn_form_validate(formId, formId + '_ORD_TEL', ['empty'], undefined);
149
-		var vali_ordEmail = itp_fn_form_validate(formId, formId + '_ORD_EMAIL', ['email'], undefined);
150
-
151
-		if (vali_goodsAmt && vali_ordTel && vali_ordEmail) {
152
-			// var sttlRjctRsn = $('#ITP_FORM_PO_PAYMENT_POPUP_STTL_RJCT_RSN').val();
153
-
154
-			// popPageObj.parentPopFn(sttlRjctRsn);
155
-			// $('#ITP_BIZPOP_PO_PAYMENT').modal('hide'); // 팝업닫기
156
-
157
-			// $(formId).attr('action', '/oqpo-view/easypay/oqpo/oqpo_order.jsp');
158
-			// $(formId).submit();
159
-
160
-			var frm_pay = document.frm_pay;
161
-			frm_pay.EP_pay_type.value       = $('#ITP_FORM_PO_PAYMENT_POPUP_PAY_METHOD').val();  	// 결제방법
162
-			frm_pay.EP_product_amt.value    = $('#ITP_FORM_PO_PAYMENT_POPUP_GOODS_AMT').val();  	// 결제금액
163
-			frm_pay.EP_user_phone1.value    = $('#ITP_FORM_PO_PAYMENT_POPUP_ORD_TEL').val();  		// 휴대폰
164
-			frm_pay.EP_user_mail.value      = $('#ITP_FORM_PO_PAYMENT_POPUP_ORD_EMAIL').val();  	// 이메일
165
-
166
-			frm_pay.sp_pay_type.value       = $('#ITP_FORM_PO_PAYMENT_POPUP_PAY_METHOD').val();  	// 결제방법
167
-			frm_pay.sp_product_amt.value    = $('#ITP_FORM_PO_PAYMENT_POPUP_GOODS_AMT').val();  	// 결제금액
168
-			frm_pay.sp_user_phone1.value    = $('#ITP_FORM_PO_PAYMENT_POPUP_ORD_TEL').val();  		// 휴대폰
169
-			frm_pay.sp_user_mail.value      = $('#ITP_FORM_PO_PAYMENT_POPUP_ORD_EMAIL').val();  	// 이메일
170
-
171
-			if (isMobile() || window.innerWidth < 1201 ) {
172
-				f_mobile_cert();
173
-			} else {
174
-			    f_cert();
175
-				// f_mobile_cert();
176
-			}
177
-		}
178 42
 	}
179 43
 };
180
-
181
-/* 인증창 호출, 인증 요청 */
182
-function f_cert() {
183
-    var frm_pay = document.frm_pay;
184
-
185
-    /*  주문정보 확인 */
186
-    if( !frm_pay.EP_order_no.value ) {
187
-        alert("브랜드그룹주문번호가 존재하지않습니다.");
188
-        frm_pay.EP_order_no.focus();
189
-        return;
190
-    }
191
-
192
-    if( !frm_pay.EP_product_amt.value ) {
193
-        alert("상품금액이 존재하지않습니다.");
194
-        frm_pay.EP_product_amt.focus();
195
-        return;
196
-    }
197
-
198
-    /* UTF-8 사용브랜드그룹의 경우 EP_charset 값 셋팅 필수 */
199
-    if( frm_pay.EP_charset.value == "UTF-8" ) {
200
-        // 한글이 들어가는 값은 모두 encoding 필수.
201
-        frm_pay.EP_mall_nm.value        = encodeURIComponent( frm_pay.EP_mall_nm.value );
202
-        frm_pay.EP_product_nm.value     = encodeURIComponent( frm_pay.EP_product_nm.value );
203
-        frm_pay.EP_user_nm.value        = encodeURIComponent( frm_pay.EP_user_nm.value );
204
-        frm_pay.EP_user_addr.value      = encodeURIComponent( frm_pay.EP_user_addr.value );
205
-    }
206
-
207
-    /* 브랜드그룹에서 원하는 인증창 호출 방법을 선택 */
208
-    if( frm_pay.EP_window_type.value == "iframe" ) {
209
-
210
-    	easypay_webpay(frm_pay,"/oqpo-view/easypay/oqpo/oqpo_iframe_req.jsp","hiddenifr","0","0","iframe",30);
211
-
212
-        if( frm_pay.EP_charset.value == "UTF-8" ) {
213
-            // encoding 된 값은 모두 decoding 필수.
214
-            frm_pay.EP_mall_nm.value        = decodeURIComponent( frm_pay.EP_mall_nm.value );
215
-            frm_pay.EP_product_nm.value     = decodeURIComponent( frm_pay.EP_product_nm.value );
216
-            frm_pay.EP_user_nm.value        = decodeURIComponent( frm_pay.EP_user_nm.value );
217
-            frm_pay.EP_user_addr.value      = decodeURIComponent( frm_pay.EP_user_addr.value );
218
-        }
219
-    } else if( frm_pay.EP_window_type.value == "popup" ) {
220
-
221
-        easypay_webpay(frm_pay,"/oqpo-view/easypay/oqpo/oqpo_popup_req.jsp","hiddenifr","","","popup",30);
222
-
223
-        if( frm_pay.EP_charset.value == "UTF-8" ) {
224
-            // encoding 된 값은 모두 decoding 필수.
225
-            frm_pay.EP_mall_nm.value        = decodeURIComponent( frm_pay.EP_mall_nm.value );
226
-            frm_pay.EP_product_nm.value     = decodeURIComponent( frm_pay.EP_product_nm.value );
227
-            frm_pay.EP_user_nm.value        = decodeURIComponent( frm_pay.EP_user_nm.value );
228
-            frm_pay.EP_user_addr.value      = decodeURIComponent( frm_pay.EP_user_addr.value );
229
-        }
230
-    }
231
-}
232
-
233
-/* 인증창 호출, 인증 요청 */
234
-function f_mobile_cert() {
235
-    var frm_pay = document.frm_pay;
236
-    
237
-    /*  주문정보 확인 */
238
-    if( !frm_pay.sp_order_no.value ) {
239
-        alert("브랜드그룹주문번호가 존재하지않습니다.");
240
-        frm_pay.sp_order_no.focus();
241
-        return;
242
-    }
243
-
244
-    if( !frm_pay.sp_product_amt.value ) {
245
-        alert("상품금액이 존재하지않습니다.");
246
-        frm_pay.sp_product_amt.focus();
247
-        return;
248
-    }
249
-    /* UTF-8 사용브랜드그룹의 경우 EP_charset 값 셋팅 필수 */
250
-    if( frm_pay.sp_charset.value == "UTF-8" ) {
251
-        // 한글이 들어가는 값은 모두 encoding 필수.
252
-        frm_pay.sp_mall_nm.value      = encodeURIComponent( frm_pay.sp_mall_nm.value );
253
-        frm_pay.sp_product_nm.value   = encodeURIComponent( frm_pay.sp_product_nm.value );
254
-        frm_pay.sp_user_nm.value      = encodeURIComponent( frm_pay.sp_user_nm.value );
255
-        frm_pay.sp_user_addr.value    = encodeURIComponent( frm_pay.sp_user_addr.value );
256
-    }
257
-
258
-   	frm_pay.sp_return_url.value = MOBILE_RETURN_URL; //
259
-	console.log( $('#frm_pay').serializeObject());
260
-    easypay_card_webpay(frm_pay,"/oqpo-view/mobile/app/easypay/oqpo/mobile_order_req.jsp","_self","0","0","submit",30);
261
-}
262
-
263
-/* 승인 요청 */
264
-function f_submit() {
265
-
266
-	var reqDataList = [];	
267
-	var ca = $('#sttlMgntUnqNoList').val().split(';');
268
-    for(var i = 0 ; i < ca.length ; i++) {
269
-		reqDataList.push( { sttlMgntUnqNo : ca[i] } );
270
-	}	
271
-		
272
-	let param = $('#frm_pay').serializeObject();
273
-	param.reqDataList = reqDataList;
274
-	
275
-	// console.log("REQ : " + JSON.stringify(param));
276
-		
277
-	fn_ajax_call(EASYPAY_PAYMENT_REQUEST, JSON.stringify(param), function(result) {
278
-		
279
-		// console.log("RES : " + JSON.stringify(result));
280
-		
281
-		if(result.res_cd == '0000') {
282
-			popPageObj.parentPopFn(result);			
283
-			$('#ITP_BIZPOP_PO_PAYMENT').modal('hide'); // 팝업닫기
284
-		} else {
285
-			itp_fn_modal_alert_ajax(result.res_msg);			
286
-		}
287
-		
288
-	}, 'POST');	
289
-}
290
-
291
-/* 모바일 승인 요청 */
292
-function f_moblie_submit() {
293
-	f_submit();
294
-//      var frm_pay = document.frm_pay;
295
-//
296
-//      // 정상("0000") 일 때 승인요청페이지로 이동.
297
-//      if( frm_pay.sp_res_cd.value == "0000" ) {
298
-//
299
-//          if( frm_pay.sp_charset.value == "UTF-8" ) {
300
-//              // 인증요청 시 인코딩 한 값은 승인요청 시 디코딩 처리해야함.
301
-//              frm_pay.sp_mall_nm.value      = decodeURIComponent( frm_pay.sp_mall_nm.value );
302
-//              frm_pay.sp_product_nm.value   = decodeURIComponent( frm_pay.sp_product_nm.value );
303
-//              frm_pay.sp_user_nm.value      = decodeURIComponent( frm_pay.sp_user_nm.value );
304
-//              frm_pay.sp_user_addr.value    = decodeURIComponent( frm_pay.sp_user_addr.value );
305
-//          }
306
-//
307
-//          frm_pay.target = "_self";
308
-//          // frm_pay.action = "${contextPath}/easypay_request.itp";
309
-//          // frm_pay.submit();
310
-//      }
311
-}
312
-
313
-function isMobile() {
314
-    // if we want a more complete list use this: http://detectmobilebrowsers.com/
315
-    // str.test() is more efficent than str.match()
316
-    // remember str.test is case sensitive
317
-    var isMobile = (/iphone|ipod|android|ie|blackberry|fennec/).test(navigator.userAgent.toLowerCase());
318
-    return isMobile;
319
-}
320
-
321
-function itp_fn_BIZPOP_PO_PAYMENT(parentPopFn, args, returnType) {
322
-	$('#ITP_BIZPOP_PO_PAYMENT').one('shown.bs.modal', function(e) {
323
-		itp_fn_fire_window_resize();
324
-	}).one('hidden.bs.modal', function(e) {
325
-		$('#ITP_BIZPOP_PO_PAYMENT').remove();
326
-	}).modal('show');
327
-
328
-	popPageObj.parentPopFn = parentPopFn;
329
-	popPageObj.args = args;
330
-	popPageObj.returnType = returnType;
331
-	popPageObj.init();
332
-}

+ 24 - 8
src/main/webapp/mobile/js/app/popup/biz/ITP_BIZPOP_PO_PAYMENT.js

@@ -86,12 +86,9 @@ var popPageObj = {
86 86
 			$('#ITP_FORM_PO_PAYMENT_POPUP .fnPoOrdNo').text(result.poOrdNo); // 주문번호
87 87
 			$('#ITP_FORM_PO_PAYMENT_POPUP .fnOrdNm').text(result.ordNm); // 구매자명
88 88
 			$('#ITP_FORM_PO_PAYMENT_POPUP .fnGoodsNm').text(result.goodsNm); // 상품명
89
-			$('#ITP_FORM_PO_PAYMENT_POPUP_ORD_TEL').val(result.ordTel); // 휴대전화번호
90
-
91
-
92
-			$('#ITP_FORM_PO_PAYMENT_POPUP_GOODS_AMT').val('1000'); // 결제금액
89
+			// $('#ITP_FORM_PO_PAYMENT_POPUP_ORD_TEL').val(result.ordTel); // 휴대전화번호
93 90
 			$('#ITP_FORM_PO_PAYMENT_POPUP_ORD_TEL').val('010-2329-8816'); // 휴대전화번호
94
-
91
+			$('#ITP_FORM_PO_PAYMENT_POPUP_GOODS_AMT').val('100'); // 휴대전화번호
95 92
 
96 93
 			if(result.ordEmail) {
97 94
 				var email = result.ordEmail.split('@');
@@ -123,8 +120,9 @@ var popPageObj = {
123 120
 			/*--모바일 결제--*/
124 121
 		    /*--공통--*/        
125 122
 		    frm_pay.kiccActionWebUrl.value  	= KICC_ACTION_WEB_URL;       						  
126
-		    frm_pay.kiccActionMobileUrl.value  	= KICC_ACTION_MOBILE_URL;       						  
127
-		    frm_pay.EP_mall_id.value        = MALL_ID;       						   //브랜드그룹 ID
123
+		    frm_pay.kiccActionMobileUrl.value  	= KICC_ACTION_MOBILE_URL;
124
+			frm_pay.kiccJavascriptUrl.value  	= KICC_JAVASCRIPT_URL;
125
+			frm_pay.EP_mall_id.value        = MALL_ID;       						   //브랜드그룹 ID
128 126
 		    frm_pay.EP_mall_nm.value        = fn_make_user_info.get('brandNm');		   //브랜드그룹명
129 127
 		    frm_pay.EP_order_no.value       = result.poOrdNo;   					   //브랜드그룹 주문번호
130 128
 		                                                                               //결제수단(select)
@@ -237,6 +235,18 @@ var popPageObj = {
237 235
 	}
238 236
 };
239 237
 
238
+var appCallFunction = {
239
+	payment: {
240
+		result: function(param) {
241
+			console.log('appCallFunction ===> ' + param);
242
+		}
243
+	}
244
+};
245
+
246
+function appJsFnPayment(param) {
247
+	appCallFunction.payment.result(param);
248
+}
249
+
240 250
 /* 인증창 호출, 인증 요청 */
241 251
 function f_cert() {
242 252
     var frm_pay = document.frm_pay;
@@ -315,7 +325,13 @@ function f_mobile_cert() {
315 325
     }
316 326
 
317 327
    	frm_pay.sp_return_url.value = MOBILE_RETURN_URL; //    	
318
-    easypay_card_webpay(frm_pay,"/oqpo-view/mobile/app/easypay/oqpo/mobile_order_req.jsp","_self","0","0","submit",30);
328
+    // easypay_card_webpay(frm_pay,"/oqpo-view/mobile/app/easypay/oqpo/mobile_order_req.jsp","_self","0","0","submit",30);
329
+	// setTimeout(function() {
330
+	// 	$('#ITP_BIZPOP_PO_PAYMENT').modal('hide'); // 팝업닫기
331
+	// }, 200);
332
+	var param = $('#frm_pay').serializeObject();
333
+	// $(location).attr('href', MOBILE_CONTEXTPATH + '/app/payment.html?' + $.param(param));
334
+	itp_fn_call_app.payment($.param(param));
319 335
 }
320 336
 
321 337
 /* 승인 요청 */

+ 5 - 4
src/main/webapp/mobile/js/config.js

@@ -42,7 +42,7 @@ require([
42 42
 	'jquery.bootstrap.datepicker.locale',
43 43
 	'message.locale'
44 44
 ], function($) {
45
-	history.pushState(null, null, location.href);
45
+	// history.pushState(null, null, location.href);
46 46
 
47 47
 	CommonObj.init();
48 48
 
@@ -429,7 +429,9 @@ function fn_ajax_call(href, param, fn, type, errFn) {
429 429
 		},
430 430
 		beforeSend: function(xhr) {
431 431
 			$('#ITP_OVERLAY').show();
432
-			xhr.setRequestHeader('X-AUTH-TOKEN', CONN_KEY); //Jwt 토큰을 헤더에 담아서 보낸다.
432
+			var data = JSON.parse(sessionStorage.getItem('itp_login_info'));
433
+			xhr.setRequestHeader('X-AUTH-TOKEN', (data) ? data.connKey : null); //Jwt 토큰을 헤더에 담아서 보낸다.
434
+			// xhr.setRequestHeader('X-AUTH-TOKEN', CONN_KEY); //Jwt 토큰을 헤더에 담아서 보낸다.
433 435
 		},
434 436
 		complete: function() {
435 437
 			$('#ITP_OVERLAY').hide();
@@ -697,8 +699,7 @@ let itp_fn_call_app = {
697 699
 
698 700
 	},
699 701
 	payment: function(param) {
700
-		console.log('app:payment:' + $.param(param));
701
-		location.replace('app:payment:' + $.param(param));
702
+		location.replace('app:payment:' + param);
702 703
 	},
703 704
 	backPress: function() {
704 705
 		location.replace('app:pageBack');