|
@@ -4,9 +4,19 @@
|
4
|
4
|
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
5
|
5
|
<%
|
6
|
6
|
// 입력변수
|
7
|
|
- String poOrdNo = request.getParameter("poOrdNo");
|
|
7
|
+ String poOrdNo = request.getParameter("poOrdNo");
|
|
8
|
+ String ordNm = request.getParameter("ordNm");
|
|
9
|
+ String goodsNm = request.getParameter("goodsNm");
|
8
|
10
|
String kiccJavascriptUrl = request.getParameter("kiccJavascriptUrl");
|
9
|
|
-
|
|
11
|
+ String kiccActionWebUrl = request.getParameter("kiccActionWebUrl");
|
|
12
|
+ String mallId = request.getParameter("mallId");
|
|
13
|
+ String ordTel = request.getParameter("ordTel");
|
|
14
|
+ String ordEmail = request.getParameter("ordEmail");
|
|
15
|
+ String payMethod = request.getParameter("payMethod");
|
|
16
|
+ String goodsAmt = request.getParameter("goodsAmt");
|
|
17
|
+ String brandNm = request.getParameter("brandNm");
|
|
18
|
+
|
|
19
|
+ String EP_return_url = request.getRequestURL().toString().replaceAll("oqpo_order.jsp", "oqpo_order_res.jsp");
|
10
|
20
|
%>
|
11
|
21
|
<c:set var="contextPath" value="${pageContext.request.contextPath}" />
|
12
|
22
|
<html lang="ko" xmlns="http://www.w3.org/1999/xhtml">
|
|
@@ -19,6 +29,7 @@
|
19
|
29
|
<body id="subpage" class="page-8">
|
20
|
30
|
|
21
|
31
|
<form name="frm_pay" id="frm_pay" method="post" action="">
|
|
32
|
+ <input type="hidden" id="kiccActionWebUrl" name="kiccActionWebUrl" value="<%= kiccActionWebUrl %>">
|
22
|
33
|
|
23
|
34
|
<!-- WEB -->
|
24
|
35
|
|
|
@@ -26,17 +37,17 @@
|
26
|
37
|
<!-- ::: 공통 인증 요청 값 -->
|
27
|
38
|
<!--------------------------->
|
28
|
39
|
|
29
|
|
- <input type="hidden" id="EP_mall_nm" name="EP_mall_nm" value=""> <!-- 가맹점명-->
|
|
40
|
+ <input type="hidden" id="EP_mall_nm" name="EP_mall_nm" value="<%= brandNm %>"> <!-- 가맹점명-->
|
30
|
41
|
<input type="hidden" id="EP_currency" name="EP_currency" value="00"> <!-- 통화코드 // 00 : 원화-->
|
31
|
|
- <input type="hidden" id="EP_return_url" name="EP_return_url" value=""> <!-- 가맹점 CALLBACK URL // -->
|
|
42
|
+ <input type="hidden" id="EP_return_url" name="EP_return_url" value="<%= EP_return_url %>"> <!-- 가맹점 CALLBACK URL // -->
|
32
|
43
|
<input type="hidden" id="EP_ci_url" name="EP_ci_url" value=""> <!-- CI LOGO URL // -->
|
33
|
|
- <input type="hidden" id="EP_lang_flag" name="EP_lang_flag" value=""> <!-- 언어 // -->
|
|
44
|
+ <input type="hidden" id="EP_lang_flag" name="EP_lang_flag" value="KOR"> <!-- 언어 // -->
|
34
|
45
|
<input type="hidden" id="EP_charset" name="EP_charset" value="UTF-8"> <!-- 가맹점 CharSet // EUC-KR,UTF-8 사용시 대문자 이용-->
|
35
|
46
|
<input type="hidden" id="EP_user_id" name="EP_user_id" value=""> <!-- 가맹점 고객ID // -->
|
36
|
47
|
<input type="hidden" id="EP_memb_user_no" name="EP_memb_user_no" value=""> <!-- 가맹점 고객일련번호 // -->
|
37
|
|
- <input type="hidden" id="EP_user_nm" name="EP_user_nm" value=""> <!-- 가맹점 고객명 // -->
|
38
|
|
- <input type="hidden" id="EP_user_mail" name="EP_user_mail" value=""> <!-- 가맹점 고객 E-mail // -->
|
39
|
|
- <input type="hidden" id="EP_user_phone1" name="EP_user_phone1" value=""> <!-- 가맹점 고객 연락처1 // -->
|
|
48
|
+ <input type="hidden" id="EP_user_nm" name="EP_user_nm" value="<%= ordNm %>"> <!-- 가맹점 고객명 // -->
|
|
49
|
+ <input type="hidden" id="EP_user_mail" name="EP_user_mail" value="<%= ordEmail %>"> <!-- 가맹점 고객 E-mail // -->
|
|
50
|
+ <input type="hidden" id="EP_user_phone1" name="EP_user_phone1" value="<%= ordTel %>"> <!-- 가맹점 고객 연락처1 // -->
|
40
|
51
|
<input type="hidden" id="EP_user_phone2" name="EP_user_phone2" value=""> <!-- 가맹점 고객 연락처2 // -->
|
41
|
52
|
<input type="hidden" id="EP_user_addr" name="EP_user_addr" value=""> <!-- 가맹점 고객 주소 // -->
|
42
|
53
|
<input type="hidden" id="EP_user_define1" name="EP_user_define1" value=""> <!-- 가맹점 필드1 // -->
|
|
@@ -45,7 +56,7 @@
|
45
|
56
|
<input type="hidden" id="EP_user_define4" name="EP_user_define4" value=""> <!-- 가맹점 필드4 // -->
|
46
|
57
|
<input type="hidden" id="EP_user_define5" name="EP_user_define5" value=""> <!-- 가맹점 필드5 // -->
|
47
|
58
|
<input type="hidden" id="EP_user_define6" name="EP_user_define6" value=""> <!-- 가맹점 필드6 // -->
|
48
|
|
- <input type="hidden" id="EP_product_type" name="EP_product_type" value=""> <!-- 상품정보구분 // -->
|
|
59
|
+ <input type="hidden" id="EP_product_type" name="EP_product_type" value="0"> <!-- 상품정보구분 // -->
|
49
|
60
|
<input type="hidden" id="EP_product_expr" name="EP_product_expr" value=""> <!-- 서비스 기간 // (YYYYMMDD) -->
|
50
|
61
|
<input type="hidden" id="EP_disp_cash_yn" name="EP_disp_cash_yn" value=""> <!-- 현금영수증 화면표시여부 //미표시 : "N", 그외: DB조회 -->
|
51
|
62
|
|
|
@@ -102,23 +113,23 @@
|
102
|
113
|
<!-- ::: 가맹점 정보 -->
|
103
|
114
|
<!--------------------------------->
|
104
|
115
|
|
105
|
|
- <input type="hidden" id="EP_mall_id" name="EP_mall_id" value="<spring:eval expression="@applicationProperties.getProperty('kicc.mall.tid')" />"> <!-- 가맹점ID // -->
|
|
116
|
+ <input type="hidden" id="EP_mall_id" name="EP_mall_id" value="<%= mallId %>"> <!-- 가맹점ID // -->
|
106
|
117
|
|
107
|
118
|
<!--------------------------------->
|
108
|
119
|
<!-- ::: 결제 정보 -->
|
109
|
120
|
<!--------------------------------->
|
110
|
121
|
|
111
|
|
- <input type="hidden" id="EP_pay_type" name="EP_pay_type" value="11"> <!-- 결제수단(신용카드 고정) // -->
|
112
|
|
- <input type="hidden" id="EP_window_type" name="EP_window_type" value="iframe"> <!-- 윈도우타입 (iframe[default], popup) // -->
|
113
|
|
- <input type="hidden" id="EP_cert_type" name="EP_cert_type" value=""> <!-- 인증타입 (일반-"", 인증-"21", 비인증-"22") // -->
|
|
122
|
+ <input type="hidden" id="EP_pay_type" name="EP_pay_type" value="<%= payMethod %>"> <!-- 결제수단 // -->
|
|
123
|
+ <input type="hidden" id="EP_window_type" name="EP_window_type" value="popup"> <!-- 윈도우타입 (iframe[default], popup) // -->
|
|
124
|
+ <input type="hidden" id="EP_cert_type" name="EP_cert_type" value=""> <!-- 인증타입 (일반-"", 인증-"21", 비인증-"22") // -->
|
114
|
125
|
|
115
|
126
|
<!--------------------------------->
|
116
|
127
|
<!-- ::: 주문 정보 -->
|
117
|
128
|
<!--------------------------------->
|
118
|
129
|
|
119
|
|
- <input type="hidden" id="EP_order_no" name="EP_order_no" value=""> <!-- 주문번호 // -->
|
120
|
|
- <input type="hidden" id="EP_product_nm" name="EP_product_nm" value=""> <!-- 상품명 // -->
|
121
|
|
- <input type="hidden" id="EP_product_amt" name="EP_product_amt" value=""> <!-- 상품금액 // -->
|
|
130
|
+ <input type="hidden" id="EP_order_no" name="EP_order_no" value="<%= poOrdNo %>"> <!-- 주문번호 // -->
|
|
131
|
+ <input type="hidden" id="EP_product_nm" name="EP_product_nm" value="<%= goodsNm %>"> <!-- 상품명 // -->
|
|
132
|
+ <input type="hidden" id="EP_product_amt" name="EP_product_amt" value="<%= goodsAmt %>"> <!-- 상품금액 // -->
|
122
|
133
|
|
123
|
134
|
<!-- // WEB END -->
|
124
|
135
|
|
|
@@ -128,17 +139,17 @@
|
128
|
139
|
<!--------------------------->
|
129
|
140
|
<!-- ::: 공통 인증 요청 값 -->
|
130
|
141
|
<!--------------------------->
|
131
|
|
- <input type="hidden" id="sp_mall_nm" name="sp_mall_nm" value="" /> <!--[선택]가맹점명 -->
|
132
|
|
- <input type="hidden" id="sp_order_no" name="sp_order_no" value="" /> <!--[필수]가맹점 주문번호(인증응답) -->
|
|
142
|
+ <input type="hidden" id="sp_mall_nm" name="sp_mall_nm" value="<%= brandNm %>" /> <!--[선택]가맹점명 -->
|
|
143
|
+ <input type="hidden" id="sp_order_no" name="sp_order_no" value="<%= poOrdNo %>" /> <!--[필수]가맹점 주문번호(인증응답) -->
|
133
|
144
|
<input type="hidden" id="sp_currency" name="sp_currency" value="00" /> <!--[필수]통화코드(수정불가) -->
|
134
|
|
- <input type="hidden" id="sp_return_url" name="sp_return_url" value="" /> <!--[필수]가맹점 return URL -->
|
135
|
|
- <input type="hidden" id="sp_lang_flag" name="sp_lang_flag" value="" /> <!--[선택]언어 -->
|
|
145
|
+ <input type="hidden" id="sp_return_url" name="sp_return_url" value="<%= EP_return_url %>" /> <!--[필수]가맹점 return URL -->
|
|
146
|
+ <input type="hidden" id="sp_lang_flag" name="sp_lang_flag" value="KOR" /> <!--[선택]언어 -->
|
136
|
147
|
<input type="hidden" id="sp_charset" name="sp_charset" value="UTF-8" /> <!--[선택]가맹점 charset -->
|
137
|
148
|
<input type="hidden" id="sp_user_id" name="sp_user_id" value="" /> <!--[선택]가맹점 고객ID -->
|
138
|
149
|
<input type="hidden" id="sp_memb_user_no" name="sp_memb_user_no" value="" /> <!--[선택]가맹점 고객일련번호 -->
|
139
|
|
- <input type="hidden" id="sp_user_nm" name="sp_user_nm" value="" /> <!--[선택]가맹점 고객명 -->
|
140
|
|
- <input type="hidden" id="sp_user_mail" name="sp_user_mail" value="" /> <!--[선택]가맹점 고객 E-mail -->
|
141
|
|
- <input type="hidden" id="sp_user_phone1" name="sp_user_phone1" value="" /> <!--[선택]가맹점 고객 연락처1 -->
|
|
150
|
+ <input type="hidden" id="sp_user_nm" name="sp_user_nm" value="<%= ordNm %>" /> <!--[선택]가맹점 고객명 -->
|
|
151
|
+ <input type="hidden" id="sp_user_mail" name="sp_user_mail" value="<%= ordEmail %>" /> <!--[선택]가맹점 고객 E-mail -->
|
|
152
|
+ <input type="hidden" id="sp_user_phone1" name="sp_user_phone1" value="<%= ordTel %>" /> <!--[선택]가맹점 고객 연락처1 -->
|
142
|
153
|
<input type="hidden" id="sp_user_phone2" name="sp_user_phone2" value="" /> <!--[선택]가맹점 고객 연락처2 -->
|
143
|
154
|
<input type="hidden" id="sp_user_addr" name="sp_user_addr" value="" /> <!--[선택]가맹점 고객 주소 -->
|
144
|
155
|
<input type="hidden" id="sp_user_define1" name="sp_user_define1" value="" /> <!--[선택]가맹점 필드1 -->
|
|
@@ -151,11 +162,11 @@
|
151
|
162
|
<input type="hidden" id="sp_product_expr" name="sp_product_expr" value="" /> <!--[선택]서비스 기간 -->
|
152
|
163
|
<input type="hidden" id="sp_app_scheme" name="sp_app_scheme" value="" /> <!--[선택]가맹점 APP scheme -->
|
153
|
164
|
|
154
|
|
- <input type="hidden" id="sp_mall_id" name="sp_mall_id" value="" /> <!--[필수]가맹점 ID -->
|
155
|
|
- <input type="hidden" id="sp_pay_type" name="sp_pay_type" value="11" /> <!--[필수]결제수단 -->
|
|
165
|
+ <input type="hidden" id="sp_mall_id" name="sp_mall_id" value="<%= mallId %>" /> <!--[필수]가맹점 ID -->
|
|
166
|
+ <input type="hidden" id="sp_pay_type" name="sp_pay_type" value="<%= payMethod %>" /> <!--[필수]결제수단 -->
|
156
|
167
|
<input type="hidden" id="sp_cert_type" name="sp_cert_type" value="" /> <!--[선택]인증타입 -->
|
157
|
|
- <input type="hidden" id="sp_product_nm" name="sp_product_nm" value="" /> <!--[필수]상품명 -->
|
158
|
|
- <input type="hidden" id="sp_product_amt" name="sp_product_amt" value="" /> <!--[필수]상품금액 -->
|
|
168
|
+ <input type="hidden" id="sp_product_nm" name="sp_product_nm" value="<%= goodsNm %>" /> <!--[필수]상품명 -->
|
|
169
|
+ <input type="hidden" id="sp_product_amt" name="sp_product_amt" value="<%= goodsAmt %>" /> <!--[필수]상품금액 -->
|
159
|
170
|
<input type="hidden" id="sp_window_type" name="sp_window_type" value="" /> <!--[선택]윈도우타입 -->
|
160
|
171
|
<input type="hidden" id="sp_disp_cash_yn" name="sp_disp_cash_yn" value="" /> <!--[선택]현금영수증 화면표시여부 -->
|
161
|
172
|
<input type="hidden" id="sp_kmotion_useyn" name="sp_kmotion_useyn" value="" /> <!--[선택]국민앱카드 사용유무 -->
|
|
@@ -225,10 +236,136 @@
|
225
|
236
|
//페이지가 로드되면 실행한다.
|
226
|
237
|
$(document).ready( function() {
|
227
|
238
|
|
228
|
|
- // alert(isMobile());
|
|
239
|
+ if (isMobile() || window.innerWidth < 1201 ) {
|
|
240
|
+ f_mobile_cert();
|
|
241
|
+ } else {
|
|
242
|
+ f_cert();
|
|
243
|
+ }
|
229
|
244
|
|
230
|
245
|
});
|
231
|
246
|
|
|
247
|
+/* 인증창 호출, 인증 요청 */
|
|
248
|
+function f_cert() {
|
|
249
|
+ var frm_pay = document.frm_pay;
|
|
250
|
+
|
|
251
|
+ /* 주문정보 확인 */
|
|
252
|
+ if( !frm_pay.EP_order_no.value ) {
|
|
253
|
+ alert("가맹점주문번호가 존재하지않습니다.");
|
|
254
|
+ frm_pay.EP_order_no.focus();
|
|
255
|
+ return;
|
|
256
|
+ }
|
|
257
|
+
|
|
258
|
+ if( !frm_pay.EP_product_amt.value ) {
|
|
259
|
+ alert("상품금액이 존재하지않습니다.");
|
|
260
|
+ frm_pay.EP_product_amt.focus();
|
|
261
|
+ return;
|
|
262
|
+ }
|
|
263
|
+
|
|
264
|
+ /* UTF-8 사용가맹점의 경우 EP_charset 값 셋팅 필수 */
|
|
265
|
+ if( frm_pay.EP_charset.value == "UTF-8" ) {
|
|
266
|
+ // 한글이 들어가는 값은 모두 encoding 필수.
|
|
267
|
+ frm_pay.EP_mall_nm.value = encodeURIComponent( frm_pay.EP_mall_nm.value );
|
|
268
|
+ frm_pay.EP_product_nm.value = encodeURIComponent( frm_pay.EP_product_nm.value );
|
|
269
|
+ frm_pay.EP_user_nm.value = encodeURIComponent( frm_pay.EP_user_nm.value );
|
|
270
|
+ frm_pay.EP_user_addr.value = encodeURIComponent( frm_pay.EP_user_addr.value );
|
|
271
|
+ }
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+ /* 가맹점에서 원하는 인증창 호출 방법을 선택 */
|
|
275
|
+ if( frm_pay.EP_window_type.value == "iframe" ) {
|
|
276
|
+
|
|
277
|
+ easypay_webpay(frm_pay,"${contextPath}/easypay/oqpo/oqpo_iframe_req.jsp","hiddenifr","0","0","iframe",30);
|
|
278
|
+
|
|
279
|
+ if( frm_pay.EP_charset.value == "UTF-8" ) {
|
|
280
|
+ // encoding 된 값은 모두 decoding 필수.
|
|
281
|
+ frm_pay.EP_mall_nm.value = decodeURIComponent( frm_pay.EP_mall_nm.value );
|
|
282
|
+ frm_pay.EP_product_nm.value = decodeURIComponent( frm_pay.EP_product_nm.value );
|
|
283
|
+ frm_pay.EP_user_nm.value = decodeURIComponent( frm_pay.EP_user_nm.value );
|
|
284
|
+ frm_pay.EP_user_addr.value = decodeURIComponent( frm_pay.EP_user_addr.value );
|
|
285
|
+ }
|
|
286
|
+ } else if( frm_pay.EP_window_type.value == "popup" ) {
|
|
287
|
+
|
|
288
|
+ easypay_webpay(frm_pay,"${contextPath}/easypay/oqpo/oqpo_popup_req.jsp","hiddenifr","","","popup",30);
|
|
289
|
+
|
|
290
|
+ if( frm_pay.EP_charset.value == "UTF-8" ) {
|
|
291
|
+ // encoding 된 값은 모두 decoding 필수.
|
|
292
|
+ frm_pay.EP_mall_nm.value = decodeURIComponent( frm_pay.EP_mall_nm.value );
|
|
293
|
+ frm_pay.EP_product_nm.value = decodeURIComponent( frm_pay.EP_product_nm.value );
|
|
294
|
+ frm_pay.EP_user_nm.value = decodeURIComponent( frm_pay.EP_user_nm.value );
|
|
295
|
+ frm_pay.EP_user_addr.value = decodeURIComponent( frm_pay.EP_user_addr.value );
|
|
296
|
+ }
|
|
297
|
+ }
|
|
298
|
+}
|
|
299
|
+
|
|
300
|
+/* 인증창 호출, 인증 요청 */
|
|
301
|
+function f_mobile_cert() {
|
|
302
|
+ var frm_pay = document.frm_pay;
|
|
303
|
+
|
|
304
|
+ /* 주문정보 확인 */
|
|
305
|
+ if( !frm_pay.sp_order_no.value ) {
|
|
306
|
+ alert("가맹점주문번호가 존재하지않습니다.");
|
|
307
|
+ frm_pay.sp_order_no.focus();
|
|
308
|
+ return;
|
|
309
|
+ }
|
|
310
|
+
|
|
311
|
+ if( !frm_pay.sp_product_amt.value ) {
|
|
312
|
+ alert("상품금액이 존재하지않습니다.");
|
|
313
|
+ frm_pay.sp_product_amt.focus();
|
|
314
|
+ return;
|
|
315
|
+ }
|
|
316
|
+ /* UTF-8 사용가맹점의 경우 EP_charset 값 셋팅 필수 */
|
|
317
|
+ if( frm_pay.sp_charset.value == "UTF-8" ) {
|
|
318
|
+ // 한글이 들어가는 값은 모두 encoding 필수.
|
|
319
|
+ frm_pay.sp_mall_nm.value = encodeURIComponent( frm_pay.sp_mall_nm.value );
|
|
320
|
+ frm_pay.sp_product_nm.value = encodeURIComponent( frm_pay.sp_product_nm.value );
|
|
321
|
+ frm_pay.sp_user_nm.value = encodeURIComponent( frm_pay.sp_user_nm.value );
|
|
322
|
+ frm_pay.sp_user_addr.value = encodeURIComponent( frm_pay.sp_user_addr.value );
|
|
323
|
+ }
|
|
324
|
+
|
|
325
|
+ frm_pay.sp_return_url.value = "${contextPath}/easypay/oqpo/mobile_order_res_submit.jsp"; //
|
|
326
|
+ easypay_card_webpay(frm_pay,"${contextPath}/easypay/oqpo/mobile_order_req.jsp","_self","0","0","submit",30);
|
|
327
|
+}
|
|
328
|
+
|
|
329
|
+function f_submit() {
|
|
330
|
+ var frm_pay = document.frm_pay;
|
|
331
|
+
|
|
332
|
+ frm_pay.target = "_self";
|
|
333
|
+ frm_pay.action = "${contextPath}/easypay_request.itp";
|
|
334
|
+ // frm_pay.submit();
|
|
335
|
+
|
|
336
|
+ var param = $('#frm_pay').serializeObject();
|
|
337
|
+ sNet.call({
|
|
338
|
+ url : '<c:url value="/easypay_request.itp" />',
|
|
339
|
+ param : param,
|
|
340
|
+ dataType : 'html',
|
|
341
|
+ isBlock : true,
|
|
342
|
+ success : function(result){
|
|
343
|
+ $('.innerHtmlDiv').html(result);
|
|
344
|
+ }
|
|
345
|
+ });
|
|
346
|
+}
|
|
347
|
+
|
|
348
|
+/* 승인 요청 */
|
|
349
|
+function f_moblie_submit() {
|
|
350
|
+ var frm_pay = document.frm_pay;
|
|
351
|
+
|
|
352
|
+ // 정상("0000") 일 때 승인요청페이지로 이동.
|
|
353
|
+ if( frm_pay.sp_res_cd.value == "0000" ) {
|
|
354
|
+
|
|
355
|
+ if( frm_pay.sp_charset.value == "UTF-8" ) {
|
|
356
|
+ // 인증요청 시 인코딩 한 값은 승인요청 시 디코딩 처리해야함.
|
|
357
|
+ frm_pay.sp_mall_nm.value = decodeURIComponent( frm_pay.sp_mall_nm.value );
|
|
358
|
+ frm_pay.sp_product_nm.value = decodeURIComponent( frm_pay.sp_product_nm.value );
|
|
359
|
+ frm_pay.sp_user_nm.value = decodeURIComponent( frm_pay.sp_user_nm.value );
|
|
360
|
+ frm_pay.sp_user_addr.value = decodeURIComponent( frm_pay.sp_user_addr.value );
|
|
361
|
+ }
|
|
362
|
+
|
|
363
|
+ frm_pay.target = "_self";
|
|
364
|
+ frm_pay.action = "${contextPath}/easypay_request.itp";
|
|
365
|
+ frm_pay.submit();
|
|
366
|
+ }
|
|
367
|
+}
|
|
368
|
+
|
232
|
369
|
function isMobile() {
|
233
|
370
|
// if we want a more complete list use this: http://detectmobilebrowsers.com/
|
234
|
371
|
// str.test() is more efficent than str.match()
|