초기소스
This commit is contained in:
163
src/main/webapp/WEB-INF/views/sopmal/ordr/OrdrReqstTossPayR.jsp
Normal file
163
src/main/webapp/WEB-INF/views/sopmal/ordr/OrdrReqstTossPayR.jsp
Normal file
@@ -0,0 +1,163 @@
|
||||
<%@ 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 : OrdrReqstTossPayR.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">
|
||||
<script>
|
||||
let setleData = ['common', '카드', '계좌이체', '가상계좌'];
|
||||
|
||||
$(document).ready(function() {
|
||||
let paymentType = '';
|
||||
const orderForm = $('#order_info');
|
||||
const setleTyCd = orderForm.find('.setleTyCd').val();
|
||||
const sopmalCd = orderForm.find('.sopmalCd').val();
|
||||
const mbrInnb = orderForm.find('.mbrInnb').val();
|
||||
const mbrId = orderForm.find('.mbrId').val();
|
||||
const pgCmpnyNm = orderForm.find('.pgCmpnyNm').val();
|
||||
const ordrrNm = orderForm.find('.ordrrNm').val();
|
||||
|
||||
let param = '?sopmalCd=' + sopmalCd;
|
||||
param += '&mbrInnb=' + mbrInnb;
|
||||
param += '&mbrId=' + mbrId;
|
||||
param += '&pgCmpnyNm=' + pgCmpnyNm;
|
||||
param += '&setleTyCd=' + setleTyCd;
|
||||
param += '&ordrrNm=' + ordrrNm;
|
||||
|
||||
const encodedParam = encodeURIComponent(param);
|
||||
|
||||
const successUrl = window.location.origin + '<c:url value="/sopmal/ordr/insertTossSetle"/>' + encodedParam;
|
||||
const failUrl = window.location.origin + '<c:url value="/sopmal/ordr/selectOrdrFailr"/>' + encodedParam;
|
||||
//const callbackUrl = window.location.origin + '<c:url value=""/>';
|
||||
|
||||
//가상계좌 입금기한 설정
|
||||
let dueDate = orderForm.find('.dueDate').val();
|
||||
let date = new Date();
|
||||
date.setDate(date.getDate() + (dueDate - 1));
|
||||
let fDueDate = date.toISOString().split('T')[0]+ "T23:59:59+09:00"; // 날짜(YYYY-MM-DD) ISO 8601 형식
|
||||
|
||||
setleData['common'] = {
|
||||
'amount': '',
|
||||
'orderId': '',
|
||||
'orderName': '',
|
||||
'customerName': '',
|
||||
'customerEmail': null,
|
||||
'customerMobilePhone': null,
|
||||
'successUrl':successUrl,
|
||||
'failUrl':failUrl,
|
||||
'windowTarget': 'iframe',
|
||||
'taxFreeAmount': null,
|
||||
'cultureExpense': false
|
||||
};
|
||||
|
||||
if ('01' === setleTyCd) { // 신용카드
|
||||
paymentType = '카드';
|
||||
|
||||
setleData[paymentType] = {
|
||||
'cardCompany':null,
|
||||
'cardInstallmentPlan':null,
|
||||
'maxCardInstallmentPlan':null,
|
||||
'freeInstallmentPlans':null,
|
||||
'useCardPoint':false,
|
||||
'useAppCardOnly':false,
|
||||
'useInternationalCardOnly':false,
|
||||
'flowMode':'DEFAULT',
|
||||
'easyPay':null,
|
||||
'discountCode':null,
|
||||
'appScheme':null
|
||||
};
|
||||
} else if ('03' === setleTyCd) { // 실시간 계좌이체
|
||||
paymentType = '계좌이체';
|
||||
|
||||
setleData[paymentType] = {
|
||||
'cashReceipt':{
|
||||
'type':'소득공제'
|
||||
},
|
||||
'useEscrow':false
|
||||
};
|
||||
} else if ('04' === setleTyCd) { // 가상계좌
|
||||
paymentType = '가상계좌';
|
||||
|
||||
setleData[paymentType] = {
|
||||
'dueDate':fDueDate,
|
||||
'cashReceipt':{
|
||||
'type':'미발행'
|
||||
},
|
||||
'useEscrow':false,
|
||||
'currency':'KRW'//,'callbackUrl':callbackUrl
|
||||
};
|
||||
} else if ('05' === setleTyCd) { // 가상계좌(에스크로)
|
||||
paymentType = '가상계좌';
|
||||
|
||||
setleData[paymentType] = {
|
||||
'dueDate':fDueDate,
|
||||
'cashReceipt':{
|
||||
'type':'미발행'
|
||||
},
|
||||
'useEscrow':true,
|
||||
'currency':'KRW'//,'callbackUrl':callbackUrl
|
||||
};
|
||||
} else if ('10' === setleTyCd) { // 페이코
|
||||
paymentType = '카드';
|
||||
|
||||
setleData[paymentType] = {
|
||||
flowMode: "DIRECT",
|
||||
easyPay: "페이코",
|
||||
};
|
||||
}
|
||||
|
||||
pay(paymentType, initPaymentsData('common', paymentType), pgCmpnyNm);
|
||||
});
|
||||
|
||||
/* ============= [공통] + [결제수단] JSON DATA 합치기 ================= */
|
||||
function initPaymentsData(general, paymentType){
|
||||
const orderForm = $('#order_info');
|
||||
const setleAmt = orderForm.find('.setleAmt').val();
|
||||
const ordrInnb = orderForm.find('.ordrInnb').val();
|
||||
const goodsNm = orderForm.find('.goodsNm').val();
|
||||
const ordrrNm = orderForm.find('.ordrrNm').val();
|
||||
|
||||
setleData[general].amount = setleAmt;
|
||||
setleData[general].orderId = ordrInnb;
|
||||
setleData[general].orderName = goodsNm;
|
||||
setleData[general].customerName = ordrrNm;
|
||||
|
||||
return Object.assign(setleData[general], setleData[paymentType]);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<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.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}"/> <!-- 쇼핑몰회원ID -->
|
||||
<input type="hidden" name="mbrInnb" class="mbrInnb" value="${data.ordr.mbrInnb}" />
|
||||
<input type="hidden" name="sesionId" id="sesionId" class="sesionId" value="${data.ordr.sesionId}" />
|
||||
<input type="hidden" name="dueDate" class="dueDate" value="${data.setle.dueDt}" /> <!-- 가상계좌 입금기한 -->
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user