292 lines
15 KiB
Plaintext
292 lines
15 KiB
Plaintext
@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>
|
|
<td>직접수령을 원하실 경우, 아래 주소에서 직접 받아가셔야 합니다.<br /><b>경북 영천시 고경면 호국로 791 영남건설기술교육원</b></td>
|
|
</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>
|
|
<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> |