浏览代码

Merge branch 'card007' into order

card007 5 年之前
父节点
当前提交
41f3c6d93c

+ 27 - 2
src/main/java/com/style24/front/biz/web/TsfOrderController.java

@@ -929,10 +929,10 @@ public class TsfOrderController extends TsfBaseController {
 	 */
 	@RequestMapping(value = "/naver/payment/request")
 	@ResponseBody
-	public ModelAndView naverPaymentRequest(@RequestParam(value = "reserveId", required = false) String reserveId) {
+	public ModelAndView naverPaymentRequest(@RequestParam(value = "paymentId", required = false) String paymentId) {
 		ModelAndView mav = new ModelAndView();
 
-		mav.addObject("reserveId", reserveId);
+		mav.addObject("paymentId", paymentId);
 
 		mav.setViewName(super.getDeviceViewName("/pg/NaverPaymentRequest"));
 
@@ -964,4 +964,29 @@ public class TsfOrderController extends TsfBaseController {
 		return result;
 	}
 
+	/**
+	 * 카카오페이 결제 승인 처리
+	 *
+	 * @param Order
+	 * @return GagaMap
+	 * @author card007
+	 * @since 2021. 03. 04
+	 */
+	@RequestMapping(value = "/naver/payment/approve")
+	@ResponseBody
+	public GagaMap approveNaverPayment(@RequestBody Order order) {
+		GagaMap result = new GagaMap();
+log.info("order >>> {}", order);
+		if (TsfSession.getInfo().getCustNo() == null) {
+			order.setCustNo(0);
+		} else {
+			order.setCustNo(TsfSession.getInfo().getCustNo());
+		}
+
+		result.set("payment", naverPayService.approveNaverPayment(order));
+		result.set("status", GagaResponseStatus.SUCCESS.getCode());
+
+		return result;
+	}
+
 }

+ 6 - 0
src/main/resources/config/application-locd.yml

@@ -76,3 +76,9 @@ pg:
         module.type: 01
         tx.mode: 0
 
+# 네이버페이 API
+naverPay:
+    apiUrl: https://dev.apis.naver.com/
+    payUrl:
+        web : test-pay.naver.com
+        mob : test-m.pay.naver.com

+ 7 - 0
src/main/resources/config/application-locp.yml

@@ -71,3 +71,10 @@ pg:
         log.path: /WIDE/workspace/logs/wivis
         account.cert.url: https://webapi.nicepay.co.kr/api/checkBankAccountAPI.jsp
         vbank.refund.url: https://webapi.nicepay.co.kr/v2/api/merchant/vbank_refund.jsp
+
+# 네이버페이 API
+naverPay:
+    apiUrl: https://apis.naver.com/
+    payUrl:
+        web : pay.naver.com
+        mob : m.pay.naver.com

+ 7 - 0
src/main/resources/config/application-run.yml

@@ -70,3 +70,10 @@ pg:
         log.path: /app/was/applogs/nicepay
         account.cert.url: https://webapi.nicepay.co.kr/api/checkBankAccountAPI.jsp
         vbank.refund.url: https://webapi.nicepay.co.kr/v2/api/merchant/vbank_refund.jsp
+
+# 네이버페이 API
+naverPay:
+    apiUrl: https://apis.naver.com/
+    payUrl:
+        web : pay.naver.com
+        mob : m.pay.naver.com

+ 7 - 0
src/main/resources/config/application-tsit.yml

@@ -54,3 +54,10 @@ upload:
         view: //tdimage.style24.com/sample
 
 download.path: /TSIT/servers/files/data
+
+# 네이버페이 API
+naverPay:
+    apiUrl: https://dev.apis.naver.com/
+    payUrl:
+        web : test-pay.naver.com
+        mob : test-m.pay.naver.com

+ 22 - 0
src/main/resources/config/application.yml

@@ -45,9 +45,29 @@ naver:
     tokenUrl: https://nid.naver.com/oauth2.0/token
     userInfoUrl : https://openapi.naver.com/v1/nid/me
     authorizeUrl : https://nid.naver.com/oauth2.0/authorize
+    pay:
+        partnerId: np_ktptw906068
+        clientId: 8TSWSyJMMUvOLKUySQx6
+        clientSecret: oGXnO7cMD1
+        paymentReadyUrl: /naverpay/payments/v2/reserve
+        approvePaymentUrl: /naverpay/payments/v2/apply/payment
+        paymentOrderUrl: /naverpay/payments/v2/list/history
+        cancelPaymentUrl: /naverpay/payments/v1/cancel
+
+# 네이버페이 API
+naverPay:
+    partnerId: np_ktptw906068
+    clientId: 8TSWSyJMMUvOLKUySQx6
+    clientSecret: oGXnO7cMD1
+    paymentReadyUrl: /naverpay/payments/v2/reserve
+    approvePaymentUrl: /naverpay/payments/v2/apply/payment
+    paymentOrderUrl: /naverpay/payments/v2/list/history
+    cancelPaymentUrl: /naverpay/payments/v1/cancel
 
 #카카오 API
 kakao:
+# 카카오페이 운영정보
+#    cid : 운영cid정보 없음
 #    appId: 442702
 #    appName: 아이스타일24
 #    companyName: 예스이십사
@@ -55,6 +75,7 @@ kakao:
 #    restApiKey: 46d601394bd887cbada3cf00fdddef54
 #    javascriptKey: b3c9ee69171042c3637e8d714a4c8a75
 #    adminKey: 7cc33b2ef96d785c4caf3376f9dc9254
+# 카카오페이 운영정보
     cid : TC0ONETIME
     appId : 399207
     appName : 구축용 테스트앱
@@ -86,3 +107,4 @@ speedy:
 app.down.url: 
     ios: https://apps.apple.com/kr/app/WIVISMALL/id1517275108
     aos: https://play.google.com/store/apps/details?id=com.wivis.wivismal
+

+ 41 - 22
src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html

@@ -203,18 +203,15 @@
 	<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('naver.clientId')}]];
-		let naverPayClientId = '8TSWSyJMMUvOLKUySQx6';
+		let naverPayClientId = [[${@environment.getProperty('naverPay.clientId')}]];
 		let redirectUrl = '/order/naver/payment/request';
 		const protocol = 'http:';
 		
-		console.log('naverPayClientId : ' + naverPayClientId);
 		var oPay = Naver.Pay.create({
 			"mode" : "development",				// development or production
 			"clientId": naverPayClientId	// clientId
 		});
 		
-		console.log('oPay : ' + oPay);
 		$(document).on("click", "#naverBtn", function() {
 			$.ajax( {
 				type: "POST",
@@ -243,37 +240,59 @@
 			let jsonData = JSON.stringify(data);
 			
 			gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
-				console.log(result.naverPay);
 				let reserveId = result.naverPay.body.reserveId;
 				let url = "https://test-pay.naver.com/payments/" + reserveId;
-				console.log(url);
-				window.open(url, 'naverPaymentPopup');
+				let option = 'width=750, height=' + $(window).height();
+
+				window.open(url, 'naverPaymentPopup', option);
 			});
 		}
 
 		// 카카오페이 결제 승인 요청
 		var fnNaverPaymentRequest = function(paymentId) {
+			console.log(paymentId);
 			$('#order_info').append('<input type=hidden name="paymentId" value="' + paymentId + '" />');
+
+			let url = '/order/naver/payment/approve';
+			let data = {};
+			data.paymentId = $('#order_info input[name=paymentId]').val();
+
+			let jsonData = JSON.stringify(data);
 			
-			console.log('paymentId : ' + paymentId);
+			console.log(jsonData);
+
+			gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
+				console.log('====== naverPaymentRequest ======');
+				console.log(result.payment);
+				console.log(' ');
+				//fnKakaoPaymentOrder();
+			});
 			
-			//let url = '/order/naver/payment/approve';
-			//let data = {};
-			//data.pgTid = $('#order_info input[name=pgTid]').val();
-			//data.ordNo = $('#order_info input[name=ordr_idxx]').val();
-			//data.pgToken = $('#order_info input[name=pgToken]').val();
-			//
-			//let jsonData = JSON.stringify(data);
-			//
-			//gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
-			//	console.log('====== kakaoPaymentRequest ======');
-			//	console.log(result.payment);
-			//	console.log(' ');
-			//	fnKakaoPaymentOrder();
-			//});
+			return true;
+		}
+		
+		// 카카오페이 결제 정보 조회
+		var fnKakaoPaymentOrder = function() {
+			let url = '/order/kakao/payment/order';
+			let data = {};
+			data.pgTid = $('#order_info input[name=pgTid]').val();
+			
+			let jsonData = JSON.stringify(data);
+			
+			gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
+				console.log('====== kakaoPaymentOrder ======');
+				console.log(result.kakaoPay);
+				console.log(' ');
+				fnCancelKakaoPayment();
+			});
 			
 			return true;
 		}
+		// paymentId
+		// cancelReason
+		// allCanYn
+		// cnclRtnAmt
+		// cancelRequester
 	</script>
 
 	<input type="button" id="kakaoBtn" value="카카오테스트버튼" style="width:200px; height:200px;"/>