|
|
@@ -26,57 +26,6 @@
|
|
|
<!-- payment.js -->
|
|
|
<script type="text/javascript" th:src="${@environment.getProperty('pg.kcp.js.url')}" src=""></script>
|
|
|
<script type="text/javascript" src="/ux/pc/js/payment.js"></script>
|
|
|
-
|
|
|
-
|
|
|
-<!-- xodud1202 -->
|
|
|
-<script type="text/javascript">
|
|
|
- /****************************************************************/
|
|
|
- /* m_Completepayment 설명 */
|
|
|
- /****************************************************************/
|
|
|
- /* 인증완료시 재귀 함수 */
|
|
|
- /* 해당 함수명은 절대 변경하면 안됩니다. */
|
|
|
- /* 해당 함수의 위치는 payplus.js 보다먼저 선언되어여 합니다. */
|
|
|
- /* Web 방식의 경우 리턴 값이 form 으로 넘어옴 */
|
|
|
- /****************************************************************/
|
|
|
- function m_Completepayment( FormOrJson, closeEvent )
|
|
|
- {
|
|
|
- var frm = document.order_info;
|
|
|
-
|
|
|
- /********************************************************************/
|
|
|
- /* FormOrJson은 가맹점 임의 활용 금지 */
|
|
|
- /* frm 값에 FormOrJson 값이 설정 됨 frm 값으로 활용 하셔야 됩니다. */
|
|
|
- /* FormOrJson 값을 활용 하시려면 기술지원팀으로 문의바랍니다. */
|
|
|
- /********************************************************************/
|
|
|
- GetField( frm, FormOrJson );
|
|
|
-
|
|
|
-
|
|
|
- if( frm.res_cd.value == "0000" )
|
|
|
- {
|
|
|
- alert("결제 승인 요청 전,\n\n반드시 결제창에서 고객님이 결제 인증 완료 후\n\n리턴 받은 ordr_chk 와 업체 측 주문정보를\n\n다시 한번 검증 후 결제 승인 요청하시기 바랍니다."); //업체 연동 시 필수 확인 사항.
|
|
|
- alert(frm);
|
|
|
- /*
|
|
|
- 가맹점 리턴값 처리 영역
|
|
|
- */
|
|
|
-
|
|
|
- frm.submit();
|
|
|
- } else {
|
|
|
- alert( "[" + frm.res_cd.value + "] " + frm.res_msg.value );
|
|
|
- closeEvent();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /* 표준웹 실행 */
|
|
|
- function jsf__pay( form ) {
|
|
|
- try {
|
|
|
- KCP_Pay_Execute( form );
|
|
|
- } catch (e) {
|
|
|
- /* IE 에서 결제 정상종료시 throw로 스크립트 종료 */
|
|
|
- }
|
|
|
- }
|
|
|
-</script>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
<script type="text/javascript">
|
|
|
$(document).on("click", "#buyBtn", function() {
|
|
|
$.ajax({
|
|
|
@@ -85,7 +34,7 @@
|
|
|
dataType : 'html',
|
|
|
data : {
|
|
|
pgGb : "PAYCO"
|
|
|
- , payMeans : "G014_10"
|
|
|
+ , payMeans : "G014_30"
|
|
|
, ordNo : "5"
|
|
|
, goodsNm : "상품 테스트"
|
|
|
, payAmt : "1233"
|
|
|
@@ -116,55 +65,67 @@
|
|
|
|
|
|
|
|
|
<!-- card007 -->
|
|
|
- <script type="text/javascript">
|
|
|
+ <script th:inline="javascript">
|
|
|
$(document).on("click", "#kakaoBtn", function() {
|
|
|
- $.ajax( {
|
|
|
+ $.ajax({
|
|
|
type: "POST",
|
|
|
- url : '/order/create/order',
|
|
|
+ url : '/order/create/preOrder',
|
|
|
dataType : 'html',
|
|
|
- data : {cartSq : 8},
|
|
|
+ data : {
|
|
|
+ pgGb : "KAKAO"
|
|
|
+ , custNo : [[${sessionInfo.custNo}]]
|
|
|
+ , ordNo : 1000
|
|
|
+ , goodsNm : "상품 테스트"
|
|
|
+ , payAmt : 30000
|
|
|
+ , ordGoodsQty : [[${goodsTotCnt}]]
|
|
|
+ },
|
|
|
+ error : function(e) {
|
|
|
+ console.log(e.responseText);
|
|
|
+ },
|
|
|
success : function(result) {
|
|
|
$("#order_info").html(result);
|
|
|
fnKakaoPaymentReady();
|
|
|
}
|
|
|
});
|
|
|
+ //let url = '/order/create/preOrder';
|
|
|
+ //let data = {};
|
|
|
+ //data.pgGb = 'KAKAO';
|
|
|
+ //data.ordNo = 1000;
|
|
|
+ //data.custNo = [[${sessionInfo.custNo}]];
|
|
|
+ //data.goodsNm = '상품 테스트';
|
|
|
+ //data.ordGoodsQty = [[${goodsTotCnt}]];
|
|
|
+ //data.payAmt = 30000;
|
|
|
+ //
|
|
|
+ //let jsonData = JSON.stringify(data);
|
|
|
+ //
|
|
|
+ //gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
|
|
|
+ // $("#order_info").html(result);
|
|
|
+ // console.log(result);
|
|
|
+ // fnKakaoPaymentReady();
|
|
|
+ //});
|
|
|
});
|
|
|
|
|
|
// 카카오페이 결제준비 처리
|
|
|
var fnKakaoPaymentReady = function() {
|
|
|
- const protocol = 'http:';
|
|
|
- let url = '/order/kakao/payment/ready';
|
|
|
- let redirectUrl = '/order/kakao/payment/request';
|
|
|
- let data = {};
|
|
|
- data.ordNo = $('#order_info input[name=ordr_idxx]').val();
|
|
|
- data.goodsNm = $('#order_info input[name=good_name]').val();
|
|
|
- data.ordQty = $('#ordQty').text();
|
|
|
- data.realOrdAmt = $('#order_info input[name=good_mny]').val();
|
|
|
- data.approvalUrl = protocol + _frontUrl + redirectUrl;
|
|
|
- data.failUrl = protocol + _frontUrl + redirectUrl;
|
|
|
- data.cancelUrl = protocol + _frontUrl + redirectUrl;
|
|
|
-
|
|
|
- let jsonData = JSON.stringify(data);
|
|
|
-
|
|
|
- gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
|
|
|
- let tid = result.kakaoPay.tid;
|
|
|
- let nextRedirectUrl = result.kakaoPay.next_redirect_pc_url;
|
|
|
- let option = 'width=420, height=520';
|
|
|
-
|
|
|
- $('#order_info').append('<input type=hidden name="pgTid" value="' + tid + '" />');
|
|
|
+ let nextRedirectUrl = $('#order_info input[name=nextRedirectPcUrl]').val();
|
|
|
+ let option = 'width=420, height=520';
|
|
|
|
|
|
- window.open(nextRedirectUrl, 'kakaoPaymentPopup', option);
|
|
|
- });
|
|
|
+ window.open(nextRedirectUrl, 'kakaoPaymentPopup', option);
|
|
|
}
|
|
|
|
|
|
// 카카오페이 결제 승인 요청
|
|
|
var fnKakaoPaymentRequest = function(pgToken) {
|
|
|
- $('#order_info').append('<input type=hidden name="pgToken" value="' + pgToken + '" />');
|
|
|
+ $('#order_info input[name=pgToken]').val(pgToken);
|
|
|
+
|
|
|
+ // TODO
|
|
|
+ // formSubmit
|
|
|
|
|
|
+ // 테스트용 호출
|
|
|
let url = '/order/kakao/payment/approve';
|
|
|
let data = {};
|
|
|
data.pgTid = $('#order_info input[name=pgTid]').val();
|
|
|
- data.ordNo = $('#order_info input[name=ordr_idxx]').val();
|
|
|
+ data.partnerOrderId = $('#order_info input[name=partnerOrderId]').val();
|
|
|
+ data.partnerUserId = $('#order_info input[name=partnerUserId]').val();
|
|
|
data.pgToken = $('#order_info input[name=pgToken]').val();
|
|
|
|
|
|
let jsonData = JSON.stringify(data);
|
|
|
@@ -179,7 +140,7 @@
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
- // 카카오페이 결제 정보 조회
|
|
|
+ // 카카오페이 결제 정보 조회 (테스트용 호출)
|
|
|
var fnKakaoPaymentOrder = function() {
|
|
|
let url = '/order/kakao/payment/order';
|
|
|
let data = {};
|
|
|
@@ -197,13 +158,12 @@
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
- // 카카오페이 결제 취소
|
|
|
+ // 카카오페이 결제 취소 (테스트용 호출)
|
|
|
var fnCancelKakaoPayment = function() {
|
|
|
let url = '/order/kakao/payment/cancel';
|
|
|
let data = {};
|
|
|
data.pgTid = $('#order_info input[name=pgTid]').val();
|
|
|
- data.cnclRtnAmt = 1000;
|
|
|
- //data.allCanYn = 'Y';
|
|
|
+ data.payAmt = 1000;
|
|
|
|
|
|
let jsonData = JSON.stringify(data);
|
|
|
|
|
|
@@ -218,58 +178,64 @@
|
|
|
</script>
|
|
|
|
|
|
<!-- =========== 네이버페이 ============= -->
|
|
|
- <script src="https://nsp.pay.naver.com/sdk/js/naverpay.min.js"></script>
|
|
|
<script th:inline="javascript">
|
|
|
- let custNo = [[${sessionInfo.custNo}]];
|
|
|
- let naverPayClientId = [[${@environment.getProperty('naverPay.clientId')}]];
|
|
|
- let redirectUrl = '/order/naver/payment/request';
|
|
|
- const protocol = 'http:';
|
|
|
-
|
|
|
- var oPay = Naver.Pay.create({
|
|
|
- "mode" : "development", // development or production
|
|
|
- "clientId": naverPayClientId // clientId
|
|
|
- });
|
|
|
-
|
|
|
$(document).on("click", "#naverBtn", function() {
|
|
|
- $.ajax( {
|
|
|
+ $.ajax({
|
|
|
type: "POST",
|
|
|
- url : '/order/create/order',
|
|
|
+ url : '/order/create/preOrder',
|
|
|
dataType : 'html',
|
|
|
- data : {cartSq : 8},
|
|
|
+ data : {
|
|
|
+ pgGb : "NAVER"
|
|
|
+ , custNo : [[${sessionInfo.custNo}]]
|
|
|
+ , ordNo : 1000
|
|
|
+ , goodsNm : "상품 테스트"
|
|
|
+ , payAmt : 10
|
|
|
+ , ordGoodsQty : [[${goodsTotCnt}]]
|
|
|
+ },
|
|
|
+ error : function(e) {
|
|
|
+ console.log(e.responseText);
|
|
|
+ },
|
|
|
success : function(result) {
|
|
|
$("#order_info").html(result);
|
|
|
fnNaverPaymentReady();
|
|
|
}
|
|
|
});
|
|
|
+ //let url = '/order/create/preOrder';
|
|
|
+ //let data = {};
|
|
|
+ //data.pgGb = 'NAVER';
|
|
|
+ //data.ordNo = 1000;
|
|
|
+ //data.custNo = [[${sessionInfo.custNo}]];
|
|
|
+ //data.goodsNm = "상품 테스트";
|
|
|
+ //data.ordGoodsQty = [[${goodsTotCnt}]];
|
|
|
+ //data.payAmt = 30000;
|
|
|
+ //
|
|
|
+ //let jsonData = JSON.stringify(data);
|
|
|
+ //
|
|
|
+ //gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
|
|
|
+ // $("#order_info").html(result);
|
|
|
+ // fnNaverPaymentReady();
|
|
|
+ //});
|
|
|
});
|
|
|
|
|
|
// 네이버페이 결제준비 처리
|
|
|
var fnNaverPaymentReady = function() {
|
|
|
- const protocol = 'http:';
|
|
|
- let url = '/order/naver/payment/ready';
|
|
|
- let redirectUrl = '/order/naver/payment/request';
|
|
|
- let data = {};
|
|
|
- data.ordNo = $('#order_info input[name=ordr_idxx]').val();
|
|
|
- data.goodsNm = $('#order_info input[name=good_name]').val();
|
|
|
- data.ordQty = $('#ordQty').text();
|
|
|
- data.realOrdAmt = $('#order_info input[name=good_mny]').val();
|
|
|
- data.returnUrl = protocol + _frontUrl + redirectUrl;
|
|
|
+ let naverPayUrl = 'https://' + [[${@environment.getProperty('naverPay.payUrl.web')}]];
|
|
|
+ let reserveId = $('#order_info input[name=reserveId]').val();
|
|
|
+ let url = naverPayUrl + '/payments/' + reserveId;
|
|
|
+ console.log(url);
|
|
|
+ let option = 'width=750, height=' + $(window).height();
|
|
|
|
|
|
- let jsonData = JSON.stringify(data);
|
|
|
-
|
|
|
- gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
|
|
|
- let reserveId = result.naverPay.body.reserveId;
|
|
|
- let url = "https://test-pay.naver.com/payments/" + reserveId;
|
|
|
- let option = 'width=750, height=' + $(window).height();
|
|
|
-
|
|
|
- window.open(url, 'naverPaymentPopup', option);
|
|
|
- });
|
|
|
+ window.open(url, 'naverPaymentPopup', option);
|
|
|
}
|
|
|
|
|
|
// 네이버페이 결제 승인 요청
|
|
|
var fnNaverPaymentRequest = function(paymentId) {
|
|
|
- $('#order_info').append('<input type=hidden name="pgTid" value="' + paymentId + '" />');
|
|
|
-
|
|
|
+ $('#order_info input[name=pgTid]').val(paymentId);
|
|
|
+
|
|
|
+ // TODO
|
|
|
+ // formSubmit
|
|
|
+
|
|
|
+ // 테스트용 호출
|
|
|
let url = '/order/naver/payment/approve';
|
|
|
let data = {};
|
|
|
data.pgTid = $('#order_info input[name=pgTid]').val();
|
|
|
@@ -286,7 +252,7 @@
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
- // 네이버페이 결제 정보 조회
|
|
|
+ // 네이버페이 결제 정보 조회 (테스트용 호출)
|
|
|
var fnNaverPaymentOrder = function() {
|
|
|
let url = '/order/naver/payment/order';
|
|
|
let data = {};
|
|
|
@@ -304,23 +270,21 @@
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
- // 네이버페이 결제 취소
|
|
|
+ // 네이버페이 결제 취소 (테스트용 호출)
|
|
|
var fnCancelNaverPayment = function() {
|
|
|
let url = '/order/naver/payment/cancel';
|
|
|
let data = {};
|
|
|
data.pgTid = $('#order_info input[name=pgTid]').val();
|
|
|
data.cancelRequester = '1';
|
|
|
- data.cancelReason = '고객변심';
|
|
|
- data.cnclRtnAmt = 1000;
|
|
|
- //data.allCanYn = 'Y';
|
|
|
-
|
|
|
+ data.chgReasonNm = '고객변심';
|
|
|
+ data.payAmt = 5;
|
|
|
+
|
|
|
let jsonData = JSON.stringify(data);
|
|
|
-
|
|
|
+
|
|
|
gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
|
|
|
console.log('====== naverPaymentCancel ======');
|
|
|
console.log(result.kakaoPay);
|
|
|
console.log(' ');
|
|
|
-
|
|
|
});
|
|
|
}
|
|
|
</script>
|
|
|
@@ -1889,4 +1853,4 @@ $(document).ready( function() {
|
|
|
|
|
|
</th:block>
|
|
|
</body>
|
|
|
-</html>
|
|
|
+</html>
|