Files
fod/mypage/refund_year_test.php

338 lines
16 KiB
PHP

<?php $bland_code = "kia"; ?>
<!--
//메타의 각 브랜드 별 코드는 hyundai,genesis 입니다.
//브랜드 별 경로에 따라 해당 코드를 변경해주세요.
-->
<?php $gnbStyleCode = "hskey"; ?>
<!--
페이지 별 붙박이 코드입니다. 해당 변수는 JSP로만 변경해주시고, 값은 그대로 유지만 시켜주시면 됩니다.
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>제품상세명 &gt; 제품리스트 &gt; 회사명</title>
<!--
//위에 순서대로 title 이 변경되어야 합니다.
-->
<?php
include($_SERVER['DOCUMENT_ROOT']."/kr/include/meta.php");
?>
<!--상품상세 페이지 css 분리-->
<link rel="stylesheet" charset="UTF-8" href="/kr/assets/css/service.css?v1" type="text/css" />
<?php
include($_SERVER['DOCUMENT_ROOT']."/kr/include/style.php");
?>
<style>
h3 {margin-top: 4rem;}
.caution {margin-top:2rem; font-size:1.4rem; font-weight:600; color:red;}
table {width:100%; margin-top:1rem; border:1px solid #DEDEDE;}
td {padding:1.5rem; border:1px solid #DEDEDE;}
td.title {width:17rem; background-color:#f3f3f3;}
input[type=number] {display:flex; width:100%; align-items:center; padding-left:1.7rem; border:1px solid #DEDEDE; height:5rem; font-size:1.6rem; color:#000000;}
.refund_info {border:1px solid #DEDEDE; margin-top:2rem; padding:0 2rem 2rem 2rem;}
.refund_info .item {margin-top:2rem}
.refund_info .item .title {font-size:2rem; font-weight:600; color:#000000;}
.refund_info .item ul {margin-top:1rem;}
.refund_info .item ul li {position:relative; font-size:1.4rem; line-height:2.2rem; padding:0.5rem 0 0.5rem 1rem;}
.refund_info .item ul li:before {content:""; position: absolute; top:12px; left:0; displaY:block; width:4px; height:4px; background-color:#000000; }
</style>
</head>
<body id="faq">
<div class="csKey">&nbsp;</div>
<!--//header-->
<?php
include($_SERVER['DOCUMENT_ROOT']."/kr/include/header.php");
?>
<!--//header-->
<div class="pageTitle">
<h1>환불 테스트</h1>
</div>
<!--//content-warp-->
<div class="contentWarp">
<div class="csWarp">
<div class="csInner">
<h2>
연 구독상품 환불 테스트
</h2>
<div class="refund_info">
<div class="item">
<div class="title">
구독 상품 정책
</div>
<ul>
<li>
구독 상품은 구독해지 신청이 발생하는 경우 일할 정산으로 환불액이 계산됩니다.
</li>
<li>
모든 일할 정산의 기준 금액은 판매가에서 할인 금액을 뺀 최근 실 구독 결제액으로 산정합니다.
</li>
<li>
일할 정산 금액은 최종 계산까지는 소수점 둘째 자리까지 계산하되, 최종 금액산정은 결과값에서 소수점 이하에서 반올림으로 처리합니다.
</li>
<li>
구독상품 일할 정산 금액의 산정 기준은 365일로 계산합니다.
</li>
<li>
월 구독의 경우 최근 실 구독 비용이 10,000원으로 발생된다면, 1일 기준 비용은 328.77원입니다.<br>(10,000원 X 12개월 / 365일 = 328.77)
</li>
<li>
연 구독의 경우 최근 실 구독 비용이 100,000원으로 발생된다면, 1일 기준 비용은 273.97원입니다.<br>(100,000원 / 365일 = 273.97)
</li>
<li>
환불 액 계산은 잔여일 수 X 일 비용으로 계산합니다.
</li>
<li>
잔여일 수 계산은 (다음 구독 결제일-구독 해지 신청일-1)로 합니다.
</li>
</ul>
</div>
</div>
<!-- <div class="refund_info">
<div class="item">
<div class="title">
구독 상품 환불 공통 정책
</div>
<ul>
<li>
구독 상품인 1년 이용권과 월간 이용권은 최초 구독일(구매일)로부터 7일 이내 청약철회 및 계약해제를 할 수 있다.
</li>
<li>
청약철회가 가능한 7일의 기준은 휴일및 공휴일을 제외한다.
</li>
<li>
구매일 익일부터 1일로 산정하며, 휴일을 제외하고 7일이되는 날짜의 24시까지 청약 철회가 가능하다.
</li>
<li>
구매일로부터 7일내 청약철회가 발생한 경우, 주문 취소 처리 및 전액 환불한다.
</li>
<li>
최초 구독일(구매일)로부터 7일이 지난 경우에는 구매취소는 불가능하나, 구독취소는 가능하다.
</li>
<li>
구독취소가 발생한 경우, 즉시 구독취소(청약철회) 처리되며, 사용일에 따른 일할정산으로 환불처리 한다.
</li>
<li>
모든 일할 정산의 기준 금액은 판매가에서 할인 금액을 뺀 실제 결제액으로 산정한다.<br>(ex: 10,000원의 구독 상품을 최초 구매 시 2,000원 할인의 쿠폰과 1,000원의 포인트를 사용하여 구독 시작하여, 해당월에 구독취소가 발생한 경우, 일할정산에 계산되는 비용은 7,000원이다.)
</li>
<li>
일할정산 금액은 최종 계산까지는 소수점 둘째짜리까지 계산하되, 최종 금액산정은 결과값에서 소수점 이하 사사오입으로 처리한다.
</li>
</ul>
</div>
<div class="item">
<div class="title">
연 구독 상품 환불 정책
</div>
<ul>
<li>
연 구독 이용료 산정은, 매월 구독일을 기준으로 15일 이상 사용 시 M+1 이용료를 적용하며, 15일 미만 사용 시 M+D 이용료를 적용한다.
</li>
<li>
연 구독 일할 정산 금액 산정 기준은 실 구독료에서 이용료를 차감한 금액으로 산정한다.
</li>
</ul>
</div>
</div> -->
<div class="formBox" style="margin-top:3rem;">
<dl class="important">
<dt>최근 실 구독 비용</dt>
<dd>
<input class="year_fee" type="number" placeholder="금액을 입력해주세요">
</dd>
</dl>
<dl class="important">
<dt>최근 구독 결제일</dt>
<dd>
<input class="datepicker year_pay_date" type="text" placeholder="Select Date.." readonly="readonly">
</dd>
</dl>
<dl class="important">
<dt>구독 취소일</dt>
<dd>
<input class="datepicker year_cancel_date" type="text" placeholder="Select Date.." readonly="readonly">
</dd>
</dl>
<div class="csBtn" style="width:100%;">
<div class="oneButton">
<button class="" onClick="refund_calculation_month();"><p>계산하기</p></button>
</div>
</div>
<h2 style="margin-top:2rem;">
결과
</h2>
<div class="caution">
[주의] 해당 계산 화면은 사전 검토를 위한 사항으로 실 개발 사항이 아님을 참고해주세요.
</div>
<table>
<tr>
<td class="title">기준 비용(일 비용)</td>
<td class="day_base_cost"></td>
</tr>
<!-- <tr>
<td class="title">기준 비용(월 비용)</td>
<td class="month_base_cost"></td>
</tr> -->
<!-- <tr>
<td class="title">최신 결제일의 일</td>
<td class="year_pay_date_date"></td>
</tr>
<tr>
<td class="title">구독 취소일의 일</td>
<td class="year_cancel_date_date"></td>
</tr> -->
<!-- <tr>
<td class="title">월 기준 사용일</td>
<td class="date_of_use"></td>
</tr>
<tr>
<td class="title">계산</td>
<td class="refund_calculation_info"></td>
</tr> -->
<tr>
<td class="title">잔여일수</td>
<td class="year_remaining_days"></td>
</tr>
<tr>
<td class="title">환불액</td>
<td class="year_refund_amount"></td>
</tr>
<tr>
<td class="title">공급가</td>
<td class="supply_price"></td>
</tr>
<tr>
<td class="title">부가세</td>
<td class="vat"></td>
</tr>
</table>
</div>
</div>
</div>
</div>
<!--//content-warp-->
<script>
$( function() {
$( ".datepicker" ).datepicker({
"dateFormat": "yy-mm-dd",
});
} );
function refund_calculation_month(){
//최근 실 구독 비용
var year_fee = $(".year_fee").val();
//최근 구독 결제일
var year_pay_date = new Date($(".year_pay_date").val()+"T00:00:00");
//구독 취소일
var year_cancel_date = new Date($(".year_cancel_date").val()+"T00:00:00");
//다음 결제일: 자체 계산
var year_pay_one_later = new Date($(".year_pay_date").val()+"T00:00:00");
year_pay_one_later = new Date(year_pay_one_later.setFullYear(year_pay_one_later.getFullYear() + 1));
if(year_fee == "" || year_fee == "0"){
alert("'최근 실 구독 비용'을 입력해주세요.");
$(".year_fee").focus();
return;
}
if(year_pay_date == "Invalid Date"){
alert("'최근 구독 결제일'을 입력해주세요.");
$(".year_pay_date").focus();
return;
}
if(year_cancel_date == "Invalid Date"){
alert("'구독 취소일'을 입력해주세요.");
$(".year_cancel_date").focus();
return;
}
if(year_pay_date > year_cancel_date){
alert("'최근 구독 결제일'보다 '구독 취소일'이 더 빠를 수 없습니다.");
return;
}
if(year_cancel_date >= year_pay_one_later){
alert("'구독 취소일'이 '다음 결제일' 또는 그 이후가 될 수 없습니다.");
return;
}
var leapYearGap = year_pay_one_later.getTime() - year_pay_date.getTime() ;
leapYearGap = (leapYearGap / (1000*60*60*24))-1 ;
//기준 비용(일 비용)
if(leapYearGap >= 365){
//var day_base_cost = Math.floor((year_fee / 366) * 100) / 100;
var day_base_cost = year_fee / 366;
}else{
//var day_base_cost = Math.floor((year_fee / 365) * 100) / 100;
var day_base_cost = year_fee / 365;
}
//최신 결제일의 일
var year_pay_date_date = year_pay_date.getDate();
//구독 취소일의 일
var year_cancel_date_date = year_cancel_date.getDate();
//잔여일수
var bt_ms = year_pay_one_later.getTime() - year_cancel_date.getTime() ;
var year_remaining_days = (bt_ms / (1000*60*60*24))-1 ;
//환불액
var year_refund_amount = Math.round(year_remaining_days * day_base_cost);
//공급가
var supply_price = Math.round(year_refund_amount/1.1);
//부가세
var vat = year_refund_amount - supply_price;
$('.day_base_cost').html(day_base_cost+" 원");
$('.year_remaining_days').html(year_remaining_days+" 일");
$('.year_refund_amount').html(year_refund_amount+" 원");
$('.supply_price').html(supply_price+" 원");
$('.vat').html(vat+" 원");
}
</script>
<!--//footer-->
<?php
include($_SERVER['DOCUMENT_ROOT']."/kr/include/footer.php");
?>
<!--//footer-->
</body>
</html>