결제 - 키움결제 적용 3차
This commit is contained in:
@@ -5484,6 +5484,8 @@ public class BOOrdrService{
|
||||
orderVO.setMbrInnb(new BigInteger(payVO.getMbrInnb()));
|
||||
}
|
||||
|
||||
log.info("insertKiwoomSetle service start ::: ");
|
||||
|
||||
// 주문 공통 전처리 ( 상태체크, 상태변경, 마일리지, 쿠폰, GC머니 )
|
||||
orderCommService.commonOrderPreProcess(payVO, orderVO);
|
||||
|
||||
|
||||
@@ -1439,9 +1439,12 @@ public class OrdrController {
|
||||
@Policy(AuthPolicy.RESTRICTED)
|
||||
@RequestMapping(value="/insertKiwoomSetle")
|
||||
public String insertKiwoomSetle(ModelMap model, HttpServletRequest request) {
|
||||
|
||||
log.info("insertKiwoomSetle controller start ::: ");
|
||||
|
||||
BOPayVO payVO = new BOPayVO();
|
||||
|
||||
payVO.setOrderId(request.getParameter("orderId"));
|
||||
payVO.setOrderId(request.getParameter("ordrInnb"));
|
||||
payVO.setAmount(request.getParameter("setleAmt"));
|
||||
payVO.setSopmalCd(request.getParameter("sopmalCd"));
|
||||
payVO.setMbrInnb(request.getParameter("mbrInnb"));
|
||||
|
||||
@@ -5784,6 +5784,15 @@
|
||||
AND O.SUBSVC_AT = 'Y'
|
||||
</select>
|
||||
|
||||
<select id="selectKiwoomPgApiLog"
|
||||
parameterType="com.wb.domainserver.domain.gcone.ordr.pay.vo.BOPayVO"
|
||||
resultType="dataMap">
|
||||
SELECT GOPAL.RSLT_PARAM FROM GC_ORDER_PG_API_LOG GOPAL
|
||||
WHERE GOPAL.SOPMAL_CD = #{sopmalCd}
|
||||
AND GOPAL.ORDR_INNB = #{orderId}
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
||||
|
||||
|
||||
@@ -3403,38 +3403,6 @@
|
||||
fn_get_setle_amt();
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<script>
|
||||
/****************************************************************/
|
||||
/* m_Completepayment 설명 */
|
||||
/****************************************************************/
|
||||
/* 인증완료시 재귀 함수 */
|
||||
/* 해당 함수명은 절대 변경하면 안됩니다. */
|
||||
/* 해당 함수의 위치는 kcp_spay_hub.js 보다먼저 선언되어여 합니다. */
|
||||
/* Web 방식의 경우 리턴 값이 form 으로 넘어옴 */
|
||||
/****************************************************************/
|
||||
function m_Completepayment(FormOrJson, closeEvent) {
|
||||
var frm = document.order_info;
|
||||
|
||||
/********************************************************************/
|
||||
/* FormOrJson은 가맹점 임의 활용 금지 */
|
||||
/* frm 값에 FormOrJson 값이 설정 된 frm 값으로 활용 하셔야 됩니다. */
|
||||
/********************************************************************/
|
||||
GetField(frm, FormOrJson);
|
||||
|
||||
if (frm.res_cd.value == "0000"){
|
||||
/* 결제인증 완료 후 결제승인 요청을 위한 비즈니스 로직 구현 */
|
||||
frm.submit();
|
||||
} else {
|
||||
/* 결제인증 실패에 대한 처리 */
|
||||
alert( "[" + frm.res_cd.value + "] " + frm.res_msg.value );
|
||||
|
||||
location.reload();
|
||||
|
||||
closeEvent();
|
||||
}
|
||||
}
|
||||
|
||||
/* 약관 상세 보기, 마케팅동의여부 모달 데이터 정제*/
|
||||
const fn_select_clause = (stplatDvCd,agreeAt) => {
|
||||
@@ -3497,6 +3465,38 @@
|
||||
}
|
||||
</script>
|
||||
|
||||
<script>
|
||||
/****************************************************************/
|
||||
/* m_Completepayment 설명 */
|
||||
/****************************************************************/
|
||||
/* 인증완료시 재귀 함수 */
|
||||
/* 해당 함수명은 절대 변경하면 안됩니다. */
|
||||
/* 해당 함수의 위치는 kcp_spay_hub.js 보다먼저 선언되어여 합니다. */
|
||||
/* Web 방식의 경우 리턴 값이 form 으로 넘어옴 */
|
||||
/****************************************************************/
|
||||
function m_Completepayment(FormOrJson, closeEvent) {
|
||||
var frm = document.order_info;
|
||||
|
||||
/********************************************************************/
|
||||
/* FormOrJson은 가맹점 임의 활용 금지 */
|
||||
/* frm 값에 FormOrJson 값이 설정 된 frm 값으로 활용 하셔야 됩니다. */
|
||||
/********************************************************************/
|
||||
GetField(frm, FormOrJson);
|
||||
|
||||
if (frm.res_cd.value == "0000"){
|
||||
/* 결제인증 완료 후 결제승인 요청을 위한 비즈니스 로직 구현 */
|
||||
frm.submit();
|
||||
} else {
|
||||
/* 결제인증 실패에 대한 처리 */
|
||||
alert( "[" + frm.res_cd.value + "] " + frm.res_msg.value );
|
||||
|
||||
location.reload();
|
||||
|
||||
closeEvent();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<c:choose>
|
||||
<c:when test="${data.payInfo.kcpMid eq 'T0007'}">
|
||||
<script type="text/javascript" src="https://testspay.kcp.co.kr/plugin/kcp_spay_hub.js"></script>
|
||||
@@ -3615,6 +3615,22 @@
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function kiwoom_Completepayment() {
|
||||
|
||||
console.log("::: parent window 호출 됨 ::::");
|
||||
var frm = document.order_info;
|
||||
frm.submit();
|
||||
|
||||
/*if (frm.res_cd.value == "0000"){
|
||||
/!* 결제인증 완료 후 결제승인 요청을 위한 비즈니스 로직 구현 *!/
|
||||
frm.submit();
|
||||
} else {
|
||||
/!* 결제인증 실패에 대한 처리 *!/
|
||||
alert( "[" + frm.res_cd.value + "] " + frm.res_msg.value );
|
||||
location.reload();
|
||||
}*/
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -29,9 +29,7 @@
|
||||
|
||||
<script type="text/javascript" language="javascript">
|
||||
$(document).ready(function() {
|
||||
|
||||
var pf = document.payForm;
|
||||
|
||||
/*
|
||||
const orderForm = $('#order_info');
|
||||
const setleTyCd = orderForm.find('.setleTyCd').val();
|
||||
const setleAmt = orderForm.find('.setleAmt').val();
|
||||
@@ -54,24 +52,25 @@
|
||||
param += '&orderId=' + ordrInnb;
|
||||
param += '&setleAmt=' + setleAmt;
|
||||
|
||||
const encodedParam = encodeURIComponent(param);
|
||||
pf.HOMEURL.value=window.location.origin + '<c:url value="/sopmal/pay/kiwoomPaySuccss"/>' + encodedParam;
|
||||
pf.FAILURL.value=window.location.origin + '<c:url value="/sopmal/pay/kiwoomPayFail"/>'+ encodedParam;
|
||||
console.log("param:::"+ param);
|
||||
|
||||
console.log("HOMEURL:::"+ pf.HOMEURL.value);
|
||||
console.log("FAILURL:::"+ pf.FAILURL.value);
|
||||
const encodedParam = encodeURIComponent(param);
|
||||
|
||||
console.log("encodedParam:::"+ encodedParam);
|
||||
|
||||
document.payForm.HOMEURL.value=window.location.origin + '<c:url value="/sopmal/pay/kiwoomPaySuccss"/>' + encodedParam;
|
||||
document.payForm.FAILURL.value=window.location.origin + '<c:url value="/sopmal/pay/kiwoomPayFail"/>'+ encodedParam;
|
||||
*/
|
||||
|
||||
document.payForm.HOMEURL.value=window.location.origin + '<c:url value="/sopmal/pay/kiwoomPaySuccss"/>';
|
||||
document.payForm.FAILURL.value=window.location.origin + '<c:url value="/sopmal/pay/kiwoomPayFail"/>';
|
||||
|
||||
console.log("HOMEURL:::"+ document.payForm.HOMEURL.value);
|
||||
console.log("FAILURL:::"+ document.payForm.FAILURL.value);
|
||||
|
||||
kiwoomPay();
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
function init() {
|
||||
pf = document.payForm;
|
||||
pf.ORDERNO.value = getTimeStamp();
|
||||
}
|
||||
|
||||
function pay() {
|
||||
pf = document.payForm;
|
||||
|
||||
@@ -142,36 +141,18 @@
|
||||
});
|
||||
}
|
||||
|
||||
function getTimeStamp() {
|
||||
var d = new Date();
|
||||
var month = d.getMonth() + 1
|
||||
var date = d.getDate()
|
||||
var hour = d.getHours()
|
||||
var minute = d.getMinutes()
|
||||
var second = d.getSeconds()
|
||||
|
||||
month = (month < 10 ? "0" : "") + month;
|
||||
date = (date < 10 ? "0" : "") + date;
|
||||
hour = (hour < 10 ? "0" : "") + hour;
|
||||
minute = (minute < 10 ? "0" : "") + minute;
|
||||
second = (second < 10 ? "0" : "") + second;
|
||||
|
||||
var s = d.getFullYear() + month + date + hour + minute + second
|
||||
|
||||
return s;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<%-- Controller에 넘어가는 값 --%>
|
||||
<form name="order_info" id="order_info">
|
||||
<form name="order_info" id="order_info" method="post" action="<c:url value="/sopmal/ordr/insertKiwoomSetle"/>">
|
||||
<input type="hidden" name="sopmalCd" class="sopmalCd" value="${data.setle.sopmalCd}" />
|
||||
<input type="hidden" name="ordrInnb" class="ordrInnb" value="${data.setle.ordrInnb}" />
|
||||
<input type="hidden" name="pgCmpnyNm" class="pgCmpnyNm" value="${data.setle.pgCmpnyNm}" />
|
||||
<input type="hidden" name="setleTyCd" class="setleTyCd" value="${data.setle.setleTyCd}" />
|
||||
|
||||
<input type="hidden" name="goodsNm" class="goodsNm" value="${data.setle.goodsNm}"/> <!-- 상품명 -->
|
||||
<input type="hidden" name="setleAmt" class="setleAmt" value="${data.setle.setleAmt}"/> <!-- 결제 금액 -->
|
||||
<input type="hidden" name="setleAmt" class="setleAmt" value="${data.setle.wonSetleAmt}"/> <!-- 결제 금액 -->
|
||||
<input type="hidden" name="ordrrNm" class="ordrrNm" value="${data.ordr.ordrrNm}"/> <!-- 주문자 이름 -->
|
||||
<input type="hidden" name="ordrrEmail" class="ordrrEmail" value="${data.ordr.ordrrEmail}"/> <!-- 주문자 이메일 -->
|
||||
<input type="hidden" name="ordrrMbtlnb" class="ordrrMbtlnb" value="${data.ordr.ordrrMbtlnb}"/> <!-- 주문자 휴대폰번호 -->
|
||||
@@ -198,7 +179,7 @@
|
||||
<input type="hidden" name="USERID" value="${data.ordr.mbrId}" /> <!-- 고객 ID -->
|
||||
<input type="hidden" name="HOMEURL" value="" /> <!-- 결제 성공 후, 이동할 URL(결제 창에서 이동) -->
|
||||
<input type="hidden" name="FAILURL" value="" /> <!-- 결제실패 후, 확인버튼 입력 시 이동할 URL -->
|
||||
|
||||
<input type="hidden" name="DIRECTRESULTFLAG" value="" /> <!-- 키움페이 결제 완료 창 없이 HOMEURL로 바로 이동(Y/N) -->
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,80 @@
|
||||
<%@ 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 : OrdrPay.jsp
|
||||
Description : 결제
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-04-11 김혜인 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<%-- 공통 include --%>
|
||||
<jsp:include page="/WEB-INF/views/comm/Include.jsp"/>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
//alert($('#message').val());
|
||||
|
||||
const status = $('#status').val();
|
||||
|
||||
if ('0' === status) {
|
||||
let form = $('<form></form>');
|
||||
|
||||
$(form).attr('method', 'post');
|
||||
$(form).attr('action', '<c:url value="/sopmal/ordr/selectOrdrCompt"/>');
|
||||
history.replaceState(null, '', '/sopmal/ordr/selectOrdrCompt');
|
||||
|
||||
$(form).append($('<input/>', {type:'hidden', name:'sopmalCd', value:$('#sopmalCd').val()}));
|
||||
$(form).append($('<input/>', {type:'hidden', name:'ordrInnb', value:$('#ordrInnb').val()}));
|
||||
$(form).append($('<input/>', {type:'hidden', name:'message', value:$('#message').val()}));
|
||||
|
||||
$(form).appendTo('body');
|
||||
$(form).submit();
|
||||
} else {
|
||||
const form = $('<form></form>');
|
||||
|
||||
$(form).append($('<input/>', {type:'hidden', name:'sopmalCd', value:$('#sopmalCd').val()}));
|
||||
$(form).append($('<input/>', {type:'hidden', name:'ordrInnb', value:$('#ordrInnb').val()}));
|
||||
$(form).append($('<input/>', {type:'hidden', name:'mbrInnb', value:$('#mbrInnb').val()}));
|
||||
$(form).append($('<input/>', {type:'hidden', name:'mbrId', value:$('#mbrId').val()}));
|
||||
$(form).append($('<input/>', {type:'hidden', name:'sesionId', value:$('#sesionId').val()}));
|
||||
$(form).append($('<input/>', {type:'hidden', name:'message', value:$('#message').val()}));
|
||||
$(form).append($('<input/>', {type:'hidden', name:'subsvcInnb', value:$('#subsvcInnb').val()}));
|
||||
|
||||
$(form).attr('method', 'post');
|
||||
$(form).attr('action', '<c:url value="/sopmal/ordr/selectOrdrFailr"/>');
|
||||
history.replaceState(null, '', '/sopmal/ordr/selectOrdrFailr');
|
||||
|
||||
$(form).appendTo('body');
|
||||
$(form).submit();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<form name="successForm" id="successForm">
|
||||
<input type="hidden" name="status" id="status" value="${data.status}"/>
|
||||
<input type="hidden" name="message" id="message" value="${data.message}"/>
|
||||
<input type="hidden" name="sopmalCd" id="sopmalCd" value="${paramVO.sopmalCd}"/>
|
||||
<input type="hidden" name="ordrInnb" id="ordrInnb" value="${paramVO.orderId}"/>
|
||||
<input type="hidden" name="mbrInnb" id="mbrInnb" value="${paramVO.mbrInnb}"/>
|
||||
<input type="hidden" name="mbrId" id="mbrId" value="${paramVO.mbrId}"/>
|
||||
<input type="hidden" name="sesionId" id="sesionId" value="${paramVO.sesionId}"/>
|
||||
<input type="hidden" name="subsvcInnb" id="subsvcInnb" value="${subsvcInnb}"/>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -51,6 +51,8 @@
|
||||
<p>메세지 : <span id="resMessage"></span></p>
|
||||
<p>결과코드 : <span id="resCode"></span><p>
|
||||
|
||||
<input type="button" onclick="window.opener.kiwoom_Completepayment(); self.close();" value="확인"/>
|
||||
|
||||
</section>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user