diff --git a/src/main/java/com/wb/domainserver/domain/gcone/ordr/pay/service/BOPayService.java b/src/main/java/com/wb/domainserver/domain/gcone/ordr/pay/service/BOPayService.java index d3b91d55..d08b211b 100644 --- a/src/main/java/com/wb/domainserver/domain/gcone/ordr/pay/service/BOPayService.java +++ b/src/main/java/com/wb/domainserver/domain/gcone/ordr/pay/service/BOPayService.java @@ -1564,13 +1564,13 @@ public class BOPayService{ String amount = payVO.getCancelAmount(); //취소금액 //todo :: db연결해서 가져와야 함 nullCheck(request.getParameter("AUTHKEY")); String trxId = payVO.getTno(); //거래번호 String cancelReason = payVO.getCancelReason(); //취소사유 - String payMethod = ""; //취소결제수단 + String payMethod = payVO.getPayMethod(); //취소결제수단 String cancelReq = "Y"; //취소URL 요청여부 //String TAXFREEAMT = nullCheck(request.getParameter("TAXFREEAMT")); //비과세 취소금액 - if(payVO.getSetleTyCd().equals("01")) { + /*if(payVO.getSetleTyCd().equals("01")) { payMethod = "CARD"; - } + }*/ //1차 요청코드 JSONObject obj = new JSONObject(); diff --git a/src/main/java/com/wb/domainserver/domain/gcone/ordr/rtngudrefnd/service/BORtngudrefndService.java b/src/main/java/com/wb/domainserver/domain/gcone/ordr/rtngudrefnd/service/BORtngudrefndService.java index 76e7eda1..33f2f677 100644 --- a/src/main/java/com/wb/domainserver/domain/gcone/ordr/rtngudrefnd/service/BORtngudrefndService.java +++ b/src/main/java/com/wb/domainserver/domain/gcone/ordr/rtngudrefnd/service/BORtngudrefndService.java @@ -839,8 +839,8 @@ public class BORtngudrefndService { } else { // 일반결제 - // 토스페이 - if ("tosspay".equals(setle.getPgCmpnyNm()) || "gcpay".equals(setle.getPgCmpnyNm()) || "toss".equals(setle.getPgCmpnyNm()) || "naverpay".equals(setle.getPgCmpnyNm()) || "kakaopay".equals(setle.getPgCmpnyNm())) { + // 토스페이 || "naverpay".equals(setle.getPgCmpnyNm()) >> 네이버페이는 토스에서 분리해서 키움으로 이동 + if ("tosspay".equals(setle.getPgCmpnyNm()) || "gcpay".equals(setle.getPgCmpnyNm()) || "toss".equals(setle.getPgCmpnyNm()) || "kakaopay".equals(setle.getPgCmpnyNm())) { log.debug("toss 취소 진입"); BOPayVO payVO = new BOPayVO(); payVO.setOrderId(ordrInnb); // 주문 고유번호 @@ -1100,7 +1100,7 @@ public class BORtngudrefndService { } // kiwoom - } else if ("kiwoom".equals(setle.getPgCmpnyNm())) { + } else if ("kiwoom".equals(setle.getPgCmpnyNm()) || "naverpay".equals(setle.getPgCmpnyNm())) { log.debug("kiwoom 취소 진입"); BOPayVO payVO = new BOPayVO(); @@ -1119,6 +1119,12 @@ public class BORtngudrefndService { payVO.setMemorSetleAt("Y"); } + if ("kiwoom".equals(setle.getPgCmpnyNm())) { + payVO.setPayMethod("CARD"); + } else if ("naverpay".equals(setle.getPgCmpnyNm())) { + payVO.setPayMethod("NAVERPAY"); + } + log.info("kiwoom api 전달 파라미터 확인 : {}", payVO); setleCancelResultMessage = payService.cancelKiwoomPay(payVO); log.info("결제 취소 API 결과 확인 : {}", setleCancelResultMessage); diff --git a/src/main/java/com/wb/domainserver/domain/sopmal/ordr/controller/OrdrController.java b/src/main/java/com/wb/domainserver/domain/sopmal/ordr/controller/OrdrController.java index 4c13d99d..600c9a07 100644 --- a/src/main/java/com/wb/domainserver/domain/sopmal/ordr/controller/OrdrController.java +++ b/src/main/java/com/wb/domainserver/domain/sopmal/ordr/controller/OrdrController.java @@ -839,7 +839,7 @@ public class OrdrController { String pgCmpnyNm = setle.getPgCmpnyNm(); String setleTyCd = setle.getSetleTyCd(); - if ("kiwoom".equals(pgCmpnyNm)) { + if ("kiwoom".equals(pgCmpnyNm)||"naverpay".equals(pgCmpnyNm)) { url = "sopmal/ordr/OrdrReqstKiwoomPayR"; } else if ("gcpay".equals(pgCmpnyNm)) { url = "sopmal/ordr/OrdrReqstGcpayPayR"; @@ -851,7 +851,7 @@ public class OrdrController { } } else if ("toss".equals(pgCmpnyNm)) { url = "sopmal/ordr/OrdrReqstTossPayR"; - } else if ("tosspay".equals(pgCmpnyNm)||"naverpay".equals(pgCmpnyNm)||"kakaopay".equals(pgCmpnyNm)) { + } else if ("tosspay".equals(pgCmpnyNm)||"kakaopay".equals(pgCmpnyNm)) { //||"naverpay".equals(pgCmpnyNm) 키움으로 이동 url = "sopmal/ordr/OrdrReqstTosspayPayR"; } else if ("02".equals(setleTyCd)||"08".equals(setleTyCd)||"12".equals(setleTyCd)) { // 무통장, 마일리지, 충전형마일리지 url = "sopmal/ordr/OrdrReqstPayR"; @@ -1440,6 +1440,18 @@ public class OrdrController { return "sopmal/ordr/OrdrReqstKiwoomPreR"; } + /** + * 키움 결제 연계처리 - 결제창 취소버튼 클릭 시 페이지 이동 + * @return PayKiwoomSucsC.jsp + * @author 이경숙 + */ + @Policy(AuthPolicy.RESTRICTED) + @RequestMapping(value="/kiwoomPayCancelUrl") + public String cancelUrlKiwoom(HttpServletRequest request, ModelMap model) throws Exception { + + return "sopmal/ordr/OrdrReqstKiwoomCnclR"; + } + /** * 사용자 > 상품 > 구매/결제 > 회원구매하기 > 키움 결제 정보 등록 diff --git a/src/main/webapp/WEB-INF/views/sopmal/mpage/ordr/OrdrDtlR.jsp b/src/main/webapp/WEB-INF/views/sopmal/mpage/ordr/OrdrDtlR.jsp index ea4f44bf..a40fbb7d 100644 --- a/src/main/webapp/WEB-INF/views/sopmal/mpage/ordr/OrdrDtlR.jsp +++ b/src/main/webapp/WEB-INF/views/sopmal/mpage/ordr/OrdrDtlR.jsp @@ -1022,7 +1022,7 @@ const kiwoomCardUrl = "https://agenttest.kiwoompay.co.kr/common/PayInfoPrintDirectCard.jsp?DAOUTRX="+pgInnb+"&STATUS=11"; //개발 const kiwoomCardLiveUrl = "https://agent.kiwoompay.co.kr/common/PayInfoPrintDirectCard.jsp?DAOUTRX=CTS26033118224396081&STATUS=11"; //운영 - if(pgCmpnyNm == "kiwoom") { + if(pgCmpnyNm == "kiwoom" || pgCmpnyNm == "naverpay") { if(setleTyCd=='01'){ url = kiwoomCardUrl;} } else if(pgCmpnyNm == "kcp") { diff --git a/src/main/webapp/WEB-INF/views/sopmal/ordr/MbrPurchsC.jsp b/src/main/webapp/WEB-INF/views/sopmal/ordr/MbrPurchsC.jsp index fc68be41..6812781b 100644 --- a/src/main/webapp/WEB-INF/views/sopmal/ordr/MbrPurchsC.jsp +++ b/src/main/webapp/WEB-INF/views/sopmal/ordr/MbrPurchsC.jsp @@ -3525,7 +3525,8 @@ function pay(method, requestJson, pgNm) { - if(pgNm === "naverpay"||pgNm === "kakaopay") + //if(pgNm === "naverpay"||pgNm === "kakaopay") + if(pgNm === "kakaopay") tossPayments = TossPayments("${data.payInfo.easypayClntKey}"); tossPayments.requestPayment(method, requestJson) diff --git a/src/main/webapp/WEB-INF/views/sopmal/ordr/OrdrReqstKiwoomCnclR.jsp b/src/main/webapp/WEB-INF/views/sopmal/ordr/OrdrReqstKiwoomCnclR.jsp new file mode 100644 index 00000000..37797114 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/sopmal/ordr/OrdrReqstKiwoomCnclR.jsp @@ -0,0 +1,35 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%> +<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%> + +<%-- + Class Name : OrdrReqstKiwoomPreR.jsp + Description : 키움 사전 승인 후 결제요청 폼 + Modification Information + + 수정일 수정자 수정내용 + ------- -------- --------------------------- + 2026-03-23 이경숙 최초 생성 +--%> + + + + 결제 사전 승인 + + + + + + + + + diff --git a/src/main/webapp/WEB-INF/views/sopmal/ordr/OrdrReqstKiwoomPayR.jsp b/src/main/webapp/WEB-INF/views/sopmal/ordr/OrdrReqstKiwoomPayR.jsp index 5da178e3..274d1ae8 100644 --- a/src/main/webapp/WEB-INF/views/sopmal/ordr/OrdrReqstKiwoomPayR.jsp +++ b/src/main/webapp/WEB-INF/views/sopmal/ordr/OrdrReqstKiwoomPayR.jsp @@ -56,6 +56,8 @@ homeUrl.searchParams.set("ordrInnb", ordrInnb); homeUrl.searchParams.set("setleAmt", setleAmt); homeUrl.searchParams.set("sesionId", sesionId); + }else{ + pf.CLOSEURL.value=window.location.origin+"/sopmal/ordr/kiwoomPayCancelUrl"; } pf.HOMEURL.value = homeUrl.toString(); @@ -164,9 +166,17 @@ + <%-- 결제수단 (CARD:카드/NAVERPAY:네이버페이)--%> + + + + + + + + <%-- 상점아이디 개발:CTS18056 / 운영:CFO20585,CFO20586--%> <%-- 결제방식(P:PC/M:모바일/W:웹뷰) 스킨환경코드(P:PC, M:mobile, TM:TM주문)--%> - <%-- 결제수단 (CARD:카드/NAVERPAY:네이버페이)--%> <%-- 과세 비과세 여부(00: 과세, 01: 비과세, 02: 복합과세) --%> <%-- 과금 유형(1: 일반) --%> <%-- 상품구분(1: 디지털, 2: 실물) --%> @@ -180,6 +190,7 @@ <%-- 키움페이 결제 완료 창 없이 HOMEURL로 바로 이동(Y/N) --%> <%-- 결제 성공 후, 이동할 URL(결제 창에서 이동) --%> <%-- 결제실패 후, 확인버튼 입력 시 이동할 URL --%> + <%-- 결제 창에서 취소 누를 시 이동할 URL --%> \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/sopmal_m/mpage/ordr/OrdrDtlR.jsp b/src/main/webapp/WEB-INF/views/sopmal_m/mpage/ordr/OrdrDtlR.jsp index 5ac4f1fe..8dda4d1b 100644 --- a/src/main/webapp/WEB-INF/views/sopmal_m/mpage/ordr/OrdrDtlR.jsp +++ b/src/main/webapp/WEB-INF/views/sopmal_m/mpage/ordr/OrdrDtlR.jsp @@ -574,7 +574,7 @@ const kiwoomCardUrl = "https://agenttest.kiwoompay.co.kr/common/PayInfoPrintDirectCard.jsp?DAOUTRX="+pgInnb+"&STATUS=11"; //개발 const kiwoomCardLiveUrl = "https://agent.kiwoompay.co.kr/common/PayInfoPrintDirectCard.jsp?DAOUTRX=CTS26033118224396081&STATUS=11"; //운영 - if(pgCmpnyNm == "kiwoom") { + if(pgCmpnyNm == "kiwoom" || pgCmpnyNm == "naverpay") { if(setleTyCd=='01'){ url = kiwoomCardUrl;} } else if(pgCmpnyNm == "kcp") {