|
|
@@ -18,6 +18,7 @@
|
|
|
-->
|
|
|
<body>
|
|
|
<th:block layout:fragment="content">
|
|
|
+ <form id="nPayForm" name="nPayForm"></form>
|
|
|
<form name="cartForm" id="cartForm" method="post">
|
|
|
<input type="hidden" name="mode">
|
|
|
<input type="hidden" name="goodsCd" th:value="${params.goodsCd}" />
|
|
|
@@ -944,15 +945,175 @@
|
|
|
</div>
|
|
|
</th:block>
|
|
|
</div>
|
|
|
- <!-- 네이버결제 -->
|
|
|
- <div class="npay_box" style="display:none;">
|
|
|
- <div class="np_head">
|
|
|
- <div><img src="/images/mo/img_npay_txt.png" alt="NAVER 네이버 ID로 간편구매 네이버페이"></div>
|
|
|
- <div><button><img src="/images/mo/btn_npay_txt.png" alt="Npay 구매"></button></div>
|
|
|
- </div>
|
|
|
- <div class="np_body">
|
|
|
- <a href="#none"><em>[멥버십]</em>첫달 무료가입하고 추가 4%!</a>
|
|
|
- </div>
|
|
|
+
|
|
|
+ <div style="margin-top:10px;">
|
|
|
+ <th:block th:with="buttonKey=${@environment.getProperty('naverPay.button.key')}">
|
|
|
+ <script type="text/javascript" th:src="${@environment.getProperty('naverPay.button.mobile.js.url')}" src="" charset="UTF-8"></script>
|
|
|
+ <script type="text/javascript" >
|
|
|
+ /*버튼설정*/
|
|
|
+ naver.NaverPayButton.apply({
|
|
|
+ BUTTON_KEY : "[[${buttonKey}]]", // 네이버페이에서 제공받은 버튼 인증 키 입력
|
|
|
+ TYPE : "MA", // 버튼 모음 종류 설정
|
|
|
+ COLOR : 1, // 버튼 모음의 색 설정
|
|
|
+ COUNT : 1, // 버튼 개수 설정. 구매하기 버튼만 있으면(장바구니 페이지) 1, 찜하기 버튼도 있으면(상품 상세 페이지) 2를 입력.
|
|
|
+ ENABLE : "Y", // 품절 등의 이유로 버튼 모음을 비활성화할 때에는 "N" 입력
|
|
|
+ BUY_BUTTON_HANDLER : buy_nc, // 구매하기 버튼 이벤트 Handler 함수 등록, 품절인 경우 not_buy_nc 함수 사용
|
|
|
+ "":""
|
|
|
+ });
|
|
|
+
|
|
|
+ /*네이버구매하기*/
|
|
|
+ function buy_nc(url) {
|
|
|
+ let goodsType = "[[${goodsInfo.goodsType}]]";
|
|
|
+ let selfGoodsYn = "[[${goodsInfo.selfGoodsYn}]]";
|
|
|
+
|
|
|
+ if(goodsType == "G056_N") {
|
|
|
+ if(selfGoodsYn == "Y") {
|
|
|
+ // 자사 일반 상품 정보
|
|
|
+ let goodsCd = "[[${goodsInfo.goodsCd}]]";
|
|
|
+ let optCd = $(".opt_size .form_field input[type=radio]:checked").attr("optcd");
|
|
|
+ let goodsQty = $(".opt_count .number_count input[name=cea]").val();
|
|
|
+
|
|
|
+ if (!goodsQty || goodsQty < 1) {
|
|
|
+ mcxDialog.alert("구매 수량을 확인해주세요."); /*수량*/
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!optCd) {
|
|
|
+ mcxDialog.alert("상품 옵션을 확인 할 수 없습니다. 새로고침 후 다시 시도해주세요."); /*옵션*/
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ let compsList = [];
|
|
|
+ let obj = new Object();
|
|
|
+ obj.goodsCd = goodsCd;
|
|
|
+ obj.optCd = optCd;
|
|
|
+ obj.goodsQty = goodsQty;
|
|
|
+ obj.goodsType = goodsType;
|
|
|
+ obj.cartGb = "N";
|
|
|
+ obj.afLinkCd =$("#cartForm input[name=afLinkCd]").val();
|
|
|
+ obj.ithrCd =$("#cartForm input[name=ithrCd]").val();
|
|
|
+ obj.contentsLoc =$("#cartForm input[name=contentsLoc]").val();
|
|
|
+ obj.planDtlSq = $("#cartForm input[name=planDtlSq]").val();
|
|
|
+ compsList.push(obj);
|
|
|
+
|
|
|
+ // 장바구니담기
|
|
|
+ cfnAddCart(compsList);
|
|
|
+ } else {
|
|
|
+ // 입점 일반 상품 정보
|
|
|
+ let goodsCd = "[[${goodsInfo.goodsCd}]]";
|
|
|
+ let compsList = [];
|
|
|
+
|
|
|
+ if (!goodsCd) {
|
|
|
+ mcxDialog.alert("상품정보가 존재하지 않습니다. 새로고침 후 다시 시도해주세요.");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ $(".opt_result .number_count input[name=cea]").each(function() {
|
|
|
+ let optCd = $(this).attr("optcd");
|
|
|
+ let goodsQty = $(this).val();
|
|
|
+
|
|
|
+ if (!optCd) {
|
|
|
+ mcxDialog.alert("상품 옵션을 확인 할 수 없습니다. 새로고침 후 다시 시도해주세요."); /*옵션*/
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!goodsQty || goodsQty < 1) {
|
|
|
+ mcxDialog.alert("구매 수량을 확인해주세요."); /*수량*/
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ let obj = new Object();
|
|
|
+ obj.goodsCd = goodsCd;
|
|
|
+ obj.optCd = optCd;
|
|
|
+ obj.goodsQty = goodsQty;
|
|
|
+ obj.goodsType = goodsType;
|
|
|
+ obj.cartGb = "N";
|
|
|
+ obj.afLinkCd =$("#cartForm input[name=afLinkCd]").val();
|
|
|
+ obj.ithrCd =$("#cartForm input[name=ithrCd]").val();
|
|
|
+ obj.contentsLoc =$("#cartForm input[name=contentsLoc]").val();
|
|
|
+ obj.planDtlSq = $("#cartForm input[name=planDtlSq]").val();
|
|
|
+ compsList.push(obj);
|
|
|
+ });
|
|
|
+
|
|
|
+ // 장바구니담기
|
|
|
+ cfnAddCart(compsList);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 세트 상품 정보
|
|
|
+ let goodsCd = "[[${goodsInfo.goodsCd}]]";
|
|
|
+ let cartGoodsList = [];
|
|
|
+
|
|
|
+ $(".option_result .opt_result .result_item").each(function() {
|
|
|
+ let compsList = [];
|
|
|
+ let goodsList = {
|
|
|
+ cartCompsList : new Array()
|
|
|
+ }
|
|
|
+
|
|
|
+ let goodsQty = $(this).find(".number_count input[name=cea]").val();
|
|
|
+ $(this).find(".bundle").each(function() {
|
|
|
+ var obj = new Object();
|
|
|
+ obj.cartGb = "N";
|
|
|
+ obj.goodsType = goodsType;
|
|
|
+ obj.goodsCd = goodsCd;
|
|
|
+ obj.itemCd = $(this).find("input[name=selOption]").attr("goodscd");
|
|
|
+ obj.optCd = $(this).find("input[name=selOption]").attr("optcd");
|
|
|
+ obj.goodsQty = goodsQty;
|
|
|
+ obj.afLinkCd =$("#cartForm input[name=afLinkCd]").val();
|
|
|
+ obj.ithrCd =$("#cartForm input[name=ithrCd]").val();
|
|
|
+ obj.contentsLoc =$("#cartForm input[name=contentsLoc]").val();
|
|
|
+ obj.planDtlSq = $("#cartForm input[name=planDtlSq]").val();
|
|
|
+ compsList.push(obj);
|
|
|
+ });
|
|
|
+
|
|
|
+ goodsList.cartCompsList = compsList;
|
|
|
+ cartGoodsList.push(goodsList);
|
|
|
+ });
|
|
|
+
|
|
|
+ // 장바구니담기
|
|
|
+ cfnAddCart(cartGoodsList);
|
|
|
+ }
|
|
|
+
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ function buy_nc_req(cartSqArr) {
|
|
|
+ let data = { cartSqArr : cartSqArr
|
|
|
+ , backUrl : location.href
|
|
|
+ , goodsUrl : _PAGE_GOODS_DETAIL
|
|
|
+ };
|
|
|
+ let jsonData = JSON.stringify(data);
|
|
|
+
|
|
|
+ $.ajax( {
|
|
|
+ type : "POST",
|
|
|
+ url : "/pg/nPayReq",
|
|
|
+ dataType : 'json',
|
|
|
+ data : jsonData,
|
|
|
+ beforeSend : function(xhr, settings) {
|
|
|
+ xhr.setRequestHeader("AJAX" , "true");
|
|
|
+ xhr.setRequestHeader('Accept' , 'application/json');
|
|
|
+ xhr.setRequestHeader('Content-Type' , 'application/json');
|
|
|
+ },
|
|
|
+ error: function(xhr, status, error) {
|
|
|
+ mcxDialog.alert(status + '; ' + error);
|
|
|
+ },
|
|
|
+ success : function(result) {
|
|
|
+ if (result.state == "sucess") {
|
|
|
+ document.nPayForm.action = result.npayOrderUrl + "/" + result.orderKey + "/" + result.resultNo;
|
|
|
+ document.nPayForm.submit();
|
|
|
+ } else {
|
|
|
+ mcxDialog.alert(result.message);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ <!-- 구매불가 -->
|
|
|
+ function not_buy_nc() {
|
|
|
+ mcxDialog.alert("죄송합니다. 네이버페이로 구매가 불가한 상품입니다.");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ </script>
|
|
|
+ </th:block>
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 옵션선택팝업 -->
|