YNICTE/FO/Views/Shared/Partial/Pay.cshtml

292 lines
15 KiB
Plaintext
Raw Normal View History

2020-10-12 14:39:23 +09:00
@model NP.Model.VMPay
@{
}
<div class="bskDesc"><h5>꼭!! 확인해주세요! </h5><ul><li>장바구니에 담겨진 상품은 7일 동안 보관됩니다.(7일 이후 자동 삭제) </li></ul></div>
<h4 class="bskTitle">주문 상품 정보</h4>
<table class="bskList">
<tbody>
@if (Model.isgroup == 1)
{
var d = Model.PayItems.Where(w => w.ptype == 0).First();
{
<tr>
<td>
<h5><span class="blu">강좌</span><b>@d.itemname</b></h5>
<dl>
<dd>가격 : <span class="bk">@string.Format("{0}일", d.days)</span></dd>
<dd><span class="org">@Model.PayItems.Where(w => w.ptype == 0).Count()명</span></dd>
<dd><span class="red">@((d.payamt * Model.PayItems.Where(w => w.ptype == 0).Count()).ToString("#,0"))</span>원</dd>
</dl>
</td>
</tr>
}
}
else if (Model.ispayexam)
{
foreach (var d in Model.PayItems)
{
<tr>
<td>
<h5><span class="blu">시험</span><b>@d.itemname</b></h5>
<dl>
<dd>가격 : <span class="red">@((d.payamt * d.pcnt).ToString("#,0"))</span>원</dd>
</dl>
</td>
</tr>
}
}
else
{
foreach (var d in Model.PayItems.Where(w => w.ptype == 0 || w.ptype == 4))
{
<tr>
<td>
<h5><span class="blu">강좌</span>@Html.Raw("<span class=\"ppl\">"+ d.cshapename + "</span>")@Html.Raw(d.isrebate == 1 ? "<span class=\"grn\">환급</span>" : "")<b>@d.itemname</b></h5>
<dl>
<dd>가격 : <span class="bk">@string.Format("{0}일", d.days)</span></dd>
<dd><span class="red">@((d.payamt * d.pcnt).ToString("#,0"))</span>원</dd>
</dl>
</td>
</tr>
}
}
@foreach (var d in Model.PayItems.Where(w => w.ptype == 2))
{
<tr>
<td>
<h5><span class="org">교재</span><b>@d.itemname</b></h5>
<dl>
<dd>가격 : <span class="bk">@string.Format("{0}개", d.pcnt)</span></dd>
<dd><span class="red">@((d.payamt * d.pcnt).ToString("#,0"))</span>원</dd>
</dl>
</td>
</tr>
}
</tbody>
</table>
<table class="bskCost">
<thead><tr><th>주문금액</th><th>배송비</th><th>최종 결제금액</th></tr></thead>
<tbody>
<tr>
<td>@Model.PayItems.Sum(s => s.pcnt * s.payamt).ToString("#,0")원</td>
<td><div id="delamt">@(Model.PayItems.Where(w => w.ptype == 2).Count() > 0 ? "2,500원" : "0원")</div></td>
<td><b id="delamt2">@((Model.PayItems.Sum(s => s.pcnt * s.payamt) + (Model.PayItems.Where(w => w.ptype == 2).Count() > 0 ? Model.deliveramt : 0)).ToString("#,0"))</b><span>원</span></td>
</tr>
</tbody>
</table>
<form id="mform" name="mform" method="post">
<div style="@(Model.PayItems.Where(w=>w.ptype == 2).Count() > 0?"":"display: none;")">
<h4 class="bskTitle">배송지 정보</h4>
<table class="bskTable">
<tr>
<th>배송방법</th>
<td>
<ul class="bakRadio">
<li><input type="radio" name="isdvr" id="isdvr1" value="1" checked /><label for="isdvr1">택배</label></li>
<li><input type="radio" name="isdvr" id="isdvr0" value="0" /><label for="isdvr0">직접수령</label></li>
</ul>
</td>
</tr>
<tr class="isdvr0" style="display: none;">
<th>직접수령안내</th>
2020-10-12 15:32:10 +09:00
<td>직접수령을 원하실 경우, 아래 주소에서 직접 받아가셔야 합니다.<br /><b>경북 영천시 고경면 호국로 791 영남건설기술교육원</b></td>
2020-10-12 14:39:23 +09:00
</tr>
<tr class="isdvr1"><th>받으시는 분<span>*</span></th><td><input type="text" name="PayDVR.rcvname" id="rcvname" style="width:100%;" /></td></tr>
<tr class="isdvr1">
<th>배송지<span>*</span></th>
<td>
<ul class="bskAddr postbox">
<li><input type="text" name="PayDVR.post" id="post" class="postno" readonly="readonly" style="background-color: #ddd;" /></li>
<li><a href="#" onclick="getpost2(this);">주소찾기</a></li>
<li><input type="text" name="PayDVR.address1" id="address1" class="postadr" readonly="readonly" style="background-color: #ddd;" /></li>
<li><input type="text" name="PayDVR.address2" id="address2" class="postadrsub" /></li>
</ul>
</td>
</tr>
<tr class="isdvr1">
<th>휴대번호<span>*</span></th>
<td><input type="tel" name="PayDVR.mobile" id="mobile" class="mobilefmt int nocomma" style="min-width: 100%;" /></td>
</tr>
<tr class="isdvr1">
<th>이메일<span>*</span></th>
<td>
@Html.Hidden("PayDVR.email")
<ul class="clsMail">
<li><input type="text" name="email1" id="email1" /></li>
<li>@@</li>
<li><input type="text" name="email2" id="email2" /></li>
<li>
<select id="email3" onchange="setemail2()">
<option value="" selected>직접입력</option>
<option value="naver.com">naver.com</option>
<option value="daum.net">daum.net</option>
<option value="gmail.com">gmail.com</option>
<option value="hotmail.com">hotmail.com</option>
</select>
</li>
</ul>
</td>
</tr>
<tr class="isdvr1"><th>배송메세지</th><td><input type="text" name="PayDVR.dmemo" id="dmemo" maxlength="200" style="width:100%;" /></td></tr>
</table>
</div>
<h4 class="bskTitle">결제방법(신용카드 선택 시 계산서 발급 불가)</h4>
2020-10-12 14:39:23 +09:00
<ul class="bskPay">
@if(Model.PayItems.Sum(s => s.pcnt * s.payamt) + (Model.PayItems.Where(w => w.ptype == 2).Count() > 0 ? Model.deliveramt : 0) > 0){
<li><input data-paycontext="wcard" type="radio" name="ptype" id="ptype1" value="1" checked /><label for="ptype1">신용카드</label></li>
<li><input data-paycontext="bank" type="radio" name="ptype" id="ptype2" value="2" /><label for="ptype2">실시간 계좌이체</label></li>
<li><input data-paycontext="vbank" type="radio" name="ptype" id="ptype3" value="3" /><label for="ptype3">무통장 입금(가상계좌)</label></li>
}
else
{
<li><input data-paycontext="free" type="radio" name="ptype" id="ptype6" value="6" checked="checked" /><label for="ptype6">무료</label></li>
}
</ul>
<input type="hidden" name="items" value="@string.Join(";", Model.PayItems.Select(s=>string.Format("{0}:{1}:{2}:{3}:{4}:{5}:{6}", s.ptype, s.itemno, s.pcnt, s.userno, s.isrebate, s.fgno??0, s.pcno)))" />
@Html.HiddenFor(m => m.isgroup)
<input type="hidden" name="P_NOTI" id="pnoti" value="MOBILE|@(Model.previewname)" />
<input type="hidden" name="P_MID" value="@(Model.pginfo.Split('|')[1])" />
<input type="hidden" name="P_OID" id="oid2" />
<input type="hidden" name="P_AMT" id="price2" />
<input type="hidden" name="P_UNAME" value="@Model.User.username" />
<input type="hidden" name="P_GOODS" value="@(Model.PayItems.First().itemname.Replace(",", " ") + (Model.PayItems.Count() > 1 ? string.Format("외 {0}건", Model.PayItems.Count() - 1) : ""))" />
<input type="hidden" name="P_MOBILE" value="@Model.User.mobile" />
<input type="hidden" name="P_EMAIL" value="@Model.User.email" />
<input type="hidden" name="P_NEXT_URL" value="@Model.viewname6" />
<input type="hidden" name="P_NOTI_URL" id="pnotiurl" value="@(Model.pginfomobile.Split('|')[0])@(Model.pginfomobile.Split('|')[1])" />
<input type="hidden" name="P_RETURN_URL" value="@Model.viewname6" />
<input type="hidden" name="P_TAX" id="tax2" />
<input type="hidden" name="P_TAXFREE" id="taxfree2" />
<input type="hidden" name="P_VBANK_DT" id="paylimit" />
<input type="hidden" name="P_CHARSET" value="utf8" />
<input type="hidden" name="P_RESERVED" id="preserved" />
<input type="hidden" name="version" value="1.0" />
<input type="hidden" name="mid" value="@(Model.pginfo.Split('|')[1])" />
<input type="hidden" name="goodname" value="@(Model.PayItems.First().itemname.Replace(",", " ") + (Model.PayItems.Count() > 1 ? string.Format("외 {0}건", Model.PayItems.Count() - 1) : ""))" />
<input type="hidden" name="oid" id="oid" />
<input type="hidden" name="price" id="price" />
<input type="hidden" name="tax" id="tax" />
<input type="hidden" name="taxfree" id="taxfree" />
<input type="hidden" name="currency" value="WON" />
<input type="hidden" name="buyername" value="@Model.User.username" />
<input type="hidden" name="buyertel" value="@Model.User.mobile" />
<input type="hidden" name="buyeremail" value="@Model.User.email" />
<input type="hidden" name="timestamp" id="timestamp" />
<input type="hidden" name="signature" id="signature" />
<input type="hidden" name="returnUrl" value="@Model.viewname4" />
<input type="hidden" name="mKey" value="@Model.signkey" />
<input type="hidden" name="gopaymethod" id="gopaymethod" />
<input type="hidden" name="closeUrl" value="@Model.viewname5" />
<input type="hidden" name="acceptmethod" id="acceptmethod" />
@Html.HiddenFor(m => m.payno)
@Html.HiddenFor(m => m.exno)
@Html.HiddenFor(m => m.ispaycert)
@Html.HiddenFor(m => m.ispayexam)
@Html.HiddenFor(m => m.ispaycart)
</form>
<ul class="bskBtn col2">
<li><a href="#" onclick="history.back(-1)">취소</a></li>
<li><a href="#" class="bk" onclick="save()">결제하기</a></li>
</ul>
<div id="postlayer" class="daumpost"><a href="#" class="btn btn-xxs btn-select closedaumpost" onclick="closeDaumPostcode();">닫기</a></div>
<script>
$(document).ready(function () {
$("input[name='isdvr']").on("change", function () {
if ($(this).val() == 1) {
$("#delamt").text("2,500원");
$("tr.isdvr0").hide();
$("tr.isdvr1").show();
$("#delamt2").text(bindComma(@Model.PayItems.Sum(s => s.pcnt * s.payamt) + @Model.deliveramt));
} else {
$("#delamt").text("0원");
$("tr.isdvr0").show();
$("tr.isdvr1").hide();
$("#delamt2").text(bindComma(@Model.PayItems.Sum(s => s.pcnt * s.payamt)));
}
});
if (ismobile()) {
$("#mbbBack").hide();
}
});
function setemail2() {
setv("email2", val("email3"));
}
function save() {
var isvalid = false;
if (@Model.PayItems.Where(w=>w.ptype == 2).Count() > 0 && $("#isdvr1").prop("checked")) {
setv("mobile", formatmobile(val("mobile")));
setv("PayDVR_email", val("email1") + "@@" + val("email2"));
if (check("rcvname", null, "받으시는 분을 입력해주세요.")) { }
else if (check("rcvname", null, "받으시는 분을 입력해주세요.")) { }
else if (check("post", null, "배송지 주소를 입력해주세요.")) { }
else if (check("address2", null, "배송지 주소를 입력해주세요.")) { }
else if (!ismobilenumber(val("mobile"))) {
if (!ismobile()) { focus("mobile") }
msg("휴대번호를 확인해주세요.");
} else if (!isemail(val("PayDVR_email"))) {
if (!ismobile()) { focus("email1") }
msg("이메일을 확인해주세요.");
} else {
isvalid = true;
}
} else {
isvalid = true;
}
if (isvalid) {
cap("/fcommon/paystart", "mform", "cbsave");
}
}
function cbsave() {
if (capResult.code == 1000) {
if (capResult.obj == 0) {
msg(capResult.msg);
}
else {
if (capResult.obj.ptype == 6) {
location.href = "@Model.viewname4?payno=" + capResult.obj.payno + "&absptype=" + capResult.obj.ptype;
}
else {
setv("oid", capResult.obj.oid2 + capResult.obj.payno);
setv("oid2", capResult.obj.oid2 + capResult.obj.payno);
setv("price", capResult.obj.payamt);
setv("price2", capResult.obj.payamt);
if ('@(Model.ispayexam?1:0)' == '1') {
setv("tax", capResult.obj.payamt);
setv("tax2", capResult.obj.payamt);
setv("taxfree", 0);
setv("taxfree2", 0);
} else {
setv("tax", 0);
setv("tax2", 0);
setv("taxfree", capResult.obj.payamt);
setv("taxfree2", capResult.obj.payamt);
}
setv("timestamp", capResult.obj.timestamp);
setv("signature", capResult.obj.signature);
setv("gopaymethod", capResult.obj.ptype == 1 ? "Card" : capResult.obj.ptype == 2 ? "DirectBank" : capResult.obj.ptype == 3 ? "VBank" : "-");
setv("acceptmethod", capResult.obj.acceptmethod);
setv("paylimit", capResult.obj.paylimitymd);
if (ismobile()) {
if (capResult.obj.ptype == 1) {
setv("preserved", "below1000=Y&twotrs_isp=Y&block_isp=Y&twotrs_isp_noti=N&apprun_check=Y");
} else if (capResult.obj.ptype == 2) {
setv("preserved", "below1000=Y&twotrs_bank=Y&apprun_check=Y");
} else {
setv("preserved", "below1000=Y&");
}
setv("pnoti", "MOBILE|@(Model.previewname)|" + capResult.obj.payno);
$("#mform").attr("accept-charset", "euc-kr");
$("#mform").attr("action", "https://mobile.inicis.com/smart/" + ($("input[name='ptype']:checked").attr("data-paycontext"))).submit();
} else {
$("#mform").removeAttr("accept-charset");
INIStdPay.pay('mform');
}
}
}
} else {
msgadmin();
}
}
</script>