Stripe 결제 적용 테스트

This commit is contained in:
이대환
2026-09-28 15:48:48 +09:00
parent 3a42bff138
commit 85bb5ec055
10 changed files with 673 additions and 16 deletions

View File

@@ -82,7 +82,7 @@
}
if(!pageUnit) {
dataStr = $('#listForm').serialize();
dataStr = `$('#listForm').serialize();`
} else {
if($('#pageUnit').length){
$('#pageUnit').val(pageUnit);

View File

@@ -528,6 +528,7 @@
$(form).find('.pgContent').hide();
$(form).find('#' + id + 'Content').show();
$('.cartOrderBox__totalKr').show();
//$(form).find('#setleSetupTyCd').val() === '01' ? $(form).find('#pg04Content').show() : $(form).find('#pg03Content').show();
if($(form).find('#setleSetupTyCd').val() === '01'){$(form).find('#pg04Content').show();}
@@ -573,6 +574,9 @@
});
$(form).find('#setleTyCd').val('03');
} else if('st01' === id){ //Stripe
$(form).find('#setleTyCd').val('stripe');
$('.cartOrderBox__totalKr').hide();
} else {
$(form).find('#setleTyCd').val('');
@@ -4239,6 +4243,15 @@
</c:if>
<%-- 퀵계좌이체 끝 --%>
<%-- Stripe 시작 --%>
<%-- <c:if test="${'Y' eq payInfo.rltmAcntUseAt}">--%>
<div class="custom-radio is-medium">
<input type="radio" name="pg" id="st01" value="stripe">
<label for="st01">엔화 결제</label>
</div>
<%-- </c:if>--%>
<%-- Stripe 끝 --%>
<%-- toss 결제 시작 --%>
<c:if test="${'02' eq payInfo.setleSetupTyCd}">
<div class="custom-radio is-medium">
@@ -4656,11 +4669,11 @@
<span class="cartOrderBox__td"><span class="cartOrderBox__discountMinus">(-)</span><span id="dscntAmtSapn" class="comma">0</span><span class="priceUnit">${curUnit}</span></span>
</li>
</ul>
<div class="cartOrderBox__total" style="margin-bottom: 5px;">
<div class="cartOrderBox__total">
<span class="cartOrderBox__totalTh">총 결제금액</span>
<span class="cartOrderBox__td"><span id="setleAmtSapn" class="comma">0</span><span class="priceUnit">${curUnit}</span></span>
</div>
<div class="cartOrderBox__total" style="margin-top: 5px;">
<div class="cartOrderBox__total cartOrderBox__totalKr" style="margin-top: 10px;">
<span class="cartOrderBox__totalTh"></span>
<span class="cartOrderBox__totalTd"><span id="setleAmtKrSapn" class="comma">0</span><span class="priceUnit">${krUnit}</span></span>
</div>

View File

@@ -0,0 +1,66 @@
<%@ 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 : OrsrReqstStripeR.jsp
Description : Stripe 주문 요청
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2026-09-17 이대환 최초 생성
--%>
<!DOCTYPE html>
<html lang="ko">
<head>
<!-- <meta charset="UTF-8"> -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Expires" content="-1" />
<meta http-equiv="Pragma" content="no-cache" />
<script src="<c:url value='/pc/vendor/jquery-3.7.1.min.js'/>"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$.ajax({
url : "<c:url value="/sopmal/stripe/checkout"/>",
type : "POST",
data : $('#order_info').serialize(),
success : function(res) {
console.log(res);
const data = JSON.parse(res.resBody.result);
window.location.href = data.checkoutUrl;
}
});
});
</script>
</head>
<body>
<%-- Controller에 넘어가는 값 --%>
<form name="order_info" id="order_info">
<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.wonSetleAmt}"/>
<input type="hidden" name="jpSetleAmt" class="jpSetleAmt" value="${data.setle.setleAmt}"/>
<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}"/>
<input type="hidden" name="mbrId" class="mbrId" value="${data.ordr.mbrId}"/>
<input type="hidden" name="mbrInnb" class="mbrInnb" value="${data.ordr.mbrInnb}" />
<input type="hidden" name="sesionId" class="sesionId" value="${data.ordr.sesionId}" />
<input type="hidden" name="subsvcInnb" id="subsvcInnb" value="${subsvcInnb}"/>
</form>
</body>
</html>

View File

@@ -0,0 +1,64 @@
<%@ 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 : PayStripeCnclC.jsp
Description : Stripe 결제 실패창
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2026-09-17 이대환 최초 생성
--%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>결제 실패</title>
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<script src="<c:url value='/pc/vendor/jquery-3.7.1.min.js'/>"></script>
<script>
$(document).ready(function() {
var returnUrl = '${returnUrl}';
var status = '${status}';
var payment_status = '${payment_status}';
var customer_details = '${customer_details}';
let form = $('<form></form>');
$(form).attr('method', 'post');
$(form).attr('action', returnUrl);
history.replaceState(null, '', returnUrl);
$(form).append($('<input/>', {type:'hidden', name:'sopmalCd', value:'${sopmalCd}'}));
$(form).append($('<input/>', {type:'hidden', name:'ordrInnb', value:'${ordrInnb}'}));
$(form).append($('<input/>', {type:'hidden', name:'pgCmpnyNm', value:'${pgCmpnyNm}'}));
$(form).append($('<input/>', {type:'hidden', name:'setleTyCd', value:'${setleTyCd}'}));
$(form).append($('<input/>', {type:'hidden', name:'goodsNm', value:'${goodsNm}'}));
$(form).append($('<input/>', {type:'hidden', name:'setleAmt', value:'${setleAmt}'}));
$(form).append($('<input/>', {type:'hidden', name:'ordrrNm', value:'${ordrrNm}'}));
$(form).append($('<input/>', {type:'hidden', name:'ordrrEmail', value:'${ordrrEmail}'}));
$(form).append($('<input/>', {type:'hidden', name:'ordrrMbtlnb', value:'${ordrrMbtlnb}'}));
$(form).append($('<input/>', {type:'hidden', name:'mbrId', value:'${mbrId}'}));
$(form).append($('<input/>', {type:'hidden', name:'mbrInnb', value:'${mbrInnb}'}));
$(form).append($('<input/>', {type:'hidden', name:'sesionId', value:'${sesionId}'}));
$(form).append($('<input/>', {type:'hidden', name:'message', value:'${message}'}));
$(form).append($('<input/>', {type:'hidden', name:'subsvcInnb', value:'${subsvcInnb}'}));
$(form).appendTo('body');
$(form).submit().remove();
});
</script>
</head>
<body>
<section>
<h1>결제 취소</h1>
</section>
</body>
</html>

View File

@@ -0,0 +1,64 @@
<%@ 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 : PayStripeSucsC.jsp
Description : Stripe 결제 성공창
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2026-09-17 이대환 최초 생성
--%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>결제 성공</title>
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<script src="<c:url value='/pc/vendor/jquery-3.7.1.min.js'/>"></script>
<script>
$(document).ready(function() {
var returnUrl = '${returnUrl}';
var status = '${status}';
var payment_status = '${payment_status}';
var customer_details = '${customer_details}';
let form = $('<form></form>');
$(form).attr('method', 'post');
$(form).attr('action', returnUrl);
history.replaceState(null, '', returnUrl);
$(form).append($('<input/>', {type:'hidden', name:'sopmalCd', value:'${sopmalCd}'}));
$(form).append($('<input/>', {type:'hidden', name:'ordrInnb', value:'${ordrInnb}'}));
$(form).append($('<input/>', {type:'hidden', name:'pgCmpnyNm', value:'${pgCmpnyNm}'}));
$(form).append($('<input/>', {type:'hidden', name:'setleTyCd', value:'${setleTyCd}'}));
$(form).append($('<input/>', {type:'hidden', name:'goodsNm', value:'${goodsNm}'}));
$(form).append($('<input/>', {type:'hidden', name:'setleAmt', value:'${setleAmt}'}));
$(form).append($('<input/>', {type:'hidden', name:'ordrrNm', value:'${ordrrNm}'}));
$(form).append($('<input/>', {type:'hidden', name:'ordrrEmail', value:'${ordrrEmail}'}));
$(form).append($('<input/>', {type:'hidden', name:'ordrrMbtlnb', value:'${ordrrMbtlnb}'}));
$(form).append($('<input/>', {type:'hidden', name:'mbrId', value:'${mbrId}'}));
$(form).append($('<input/>', {type:'hidden', name:'mbrInnb', value:'${mbrInnb}'}));
$(form).append($('<input/>', {type:'hidden', name:'sesionId', value:'${sesionId}'}));
$(form).append($('<input/>', {type:'hidden', name:'message', value:'${message}'}));
$(form).append($('<input/>', {type:'hidden', name:'subsvcInnb', value:'${subsvcInnb}'}));
$(form).appendTo('body');
$(form).submit().remove();
});
</script>
</head>
<body>
<section>
<h1>결제 성공</h1>
</section>
</body>
</html>