lg 모듈 현금영수증 작업 중

This commit is contained in:
chicpro
2014-04-07 18:19:11 +09:00
parent 24f9a8d81f
commit f2b900540b
11 changed files with 112 additions and 262 deletions

View File

@ -81,7 +81,8 @@ if(!sql_query(" select ad_addr3 from {$g5['g5_shop_order_address_table']} limit
// 결제 PG 필드 추가
if(!sql_query(" select od_pg from {$g5['g5_shop_order_table']} limit 1 ", false)) {
sql_query(" ALTER TABLE `{$g5['g5_shop_order_table']}`
ADD `od_pg` varchar(255) NOT NULL DEFAULT '' AFTER `od_mobile` ", true);
ADD `od_pg` varchar(255) NOT NULL DEFAULT '' AFTER `od_mobile`,
ADD `od_casseqno` varchar(255) NOT NULL DEFAULT '' AFTER `od_escrow` ", true);
}
?>

View File

@ -600,6 +600,7 @@ CREATE TABLE IF NOT EXISTS `g5_shop_order` (
`od_tno` varchar(255) NOT NULL DEFAULT '',
`od_app_no` varchar(20) NOT NULL DEFAULT '',
`od_escrow` tinyint(4) NOT NULL DEFAULT '0',
`od_casseqno` varchar(255) NOT NULL DEFAULT '',
`od_tax_flag` tinyint(4) NOT NULL DEFAULT '0',
`od_tax_mny` int(11) NOT NULL DEFAULT '0',
`od_vat_mny` int(11) NOT NULL DEFAULT '0',

View File

@ -482,7 +482,7 @@ if(!$result) {
$error = 'order';
include G5_SHOP_PATH.'/ordererrormail.php';
die_utf8('<p>고객님의 주문 정보를 처리하는 중 오류가 발생해서 주문이 완료되지 않았습니다.</p><p>'.strtoupper($default['de_pg_service']).'를 이용한 전자결제(신용카드, 계좌이체, 가상계좌 등)은 자동 취소되었습니다.');
die('<p>고객님의 주문 정보를 처리하는 중 오류가 발생해서 주문이 완료되지 않았습니다.</p><p>'.strtoupper($default['de_pg_service']).'를 이용한 전자결제(신용카드, 계좌이체, 가상계좌 등)은 자동 취소되었습니다.');
}
// 장바구니 상태변경
@ -521,7 +521,7 @@ if(!$result) {
// 주문삭제
sql_query(" delete from {$g5['g5_shop_order_table']} where od_id = '$od_id' ");
die_utf8('<p>고객님의 주문 정보를 처리하는 중 오류가 발생해서 주문이 완료되지 않았습니다.</p><p>'.strtoupper($default['de_pg_service']).'를 이용한 전자결제(신용카드, 계좌이체, 가상계좌 등)은 자동 취소되었습니다.');
die('<p>고객님의 주문 정보를 처리하는 중 오류가 발생해서 주문이 완료되지 않았습니다.</p><p>'.strtoupper($default['de_pg_service']).'를 이용한 전자결제(신용카드, 계좌이체, 가상계좌 등)은 자동 취소되었습니다.');
}
// 회원이면서 포인트를 사용했다면 포인트 테이블에 사용을 추가

View File

@ -170,6 +170,7 @@ function pay_approval()
if(!payment_check(pf))
return false;
<?php if($default['de_pg_service'] == 'kcp') { ?>
f.buyr_name.value = pf.pp_name.value;
f.buyr_mail.value = pf.pp_email.value;
f.buyr_tel1.value = pf.pp_hp.value;
@ -179,6 +180,31 @@ function pay_approval()
f.rcvr_tel2.value = pf.pp_hp.value;
f.rcvr_mail.value = pf.pp_email.value;
f.settle_method.value = settle_method;
<?php } else if($default['de_pg_service'] == 'lg') { ?>
var pay_method = "";
switch(settle_method) {
case "계좌이체":
pay_method = "SC0030";
break;
case "가상계좌":
pay_method = "SC0040";
break;
case "휴대폰":
pay_method = "SC0060";
break;
case "신용카드":
pay_method = "SC0010";
break;
}
f.LGD_CUSTOM_FIRSTPAY.value = pay_method;
f.LGD_BUYER.value = pf.pp_name.value;
f.LGD_BUYEREMAIL.value = pf.pp_email.value;
f.LGD_BUYERPHONE.value = pf.pp_hp.value;
f.LGD_AMOUNT.value = f.good_mny.value;
<?php if($default['de_tax_flag_use']) { ?>
f.LGD_TAXFREEAMOUNT.value = pf.comm_free_mny.value;
<?php } ?>
<?php } ?>
var new_win = window.open("about:blank", "tar_opener", "scrollbars=yes,resizable=yes");
f.target = "tar_opener";

View File

@ -2,7 +2,10 @@
include_once('./_common.php');
// 결제등록 완료 체크
if($_POST['tran_cd'] == '' || $_POST['enc_info'] == '' || $_POST['enc_data'] == '')
if($default['de_pg_service'] == 'kcp' && ($_POST['tran_cd'] == '' || $_POST['enc_info'] == '' || $_POST['enc_data'] == ''))
alert('결제등록 요청 후 주문해 주십시오.');
if($default['de_pg_service'] == 'lg' && !$_POST['LGD_PAYKEY'])
alert('결제등록 요청 후 주문해 주십시오.');
// 개인결제 정보
@ -21,31 +24,52 @@ if($_POST['pp_id'] != get_session('ss_personalpay_id') || $hash_data != get_sess
if ($pp_settle_case == "계좌이체")
{
include G5_MSHOP_PATH.'/kcp/pp_ax_hub.php';
switch($default['de_pg_service']) {
case 'lg':
include G5_SHOP_PATH.'/lg/xpay_result.php';
break;
default:
include G5_MSHOP_PATH.'/kcp/pp_ax_hub.php';
$bank_name = iconv("cp949", "utf-8", $bank_name);
break;
}
$pp_tno = $tno;
$pp_receipt_price = $amount;
$pp_receipt_time = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/", "\\1-\\2-\\3 \\4:\\5:\\6", $app_time);
$pp_deposit_name = $pp_name;
$bank_name = iconv("cp949", "utf8", $bank_name);
$pp_bank_account = $bank_name;
$pg_price = $amount;
}
else if ($pp_settle_case == "가상계좌")
{
include G5_MSHOP_PATH.'/kcp/pp_ax_hub.php';
switch($default['de_pg_service']) {
case 'lg':
include G5_SHOP_PATH.'/lg/xpay_result.php';
break;
default:
include G5_SHOP_PATH.'/kcp/pp_ax_hub.php';
$bankname = iconv("cp949", "utf-8", $bankname);
$depositor = iconv("cp949", "utf-8", $depositor);
break;
}
$pp_tno = $tno;
$pp_receipt_price = 0;
$bankname = iconv("cp949", "utf8", $bankname);
$depositor = iconv("cp949", "utf8", $depositor);
$pp_bank_account = $bankname.' '.$account.' '.$depositor;
$pp_bank_account = $bankname.' '.$account;
$pp_deposit_name = $depositor;
$pg_price = $amount;
}
else if ($pp_settle_case == "휴대폰")
{
include G5_MSHOP_PATH.'/kcp/pp_ax_hub.php';
switch($default['de_pg_service']) {
case 'lg':
include G5_SHOP_PATH.'/lg/xpay_result.php';
break;
default:
include G5_SHOP_PATH.'/kcp/pp_ax_hub.php';
break;
}
$pp_tno = $tno;
$pp_receipt_price = $amount;
@ -55,12 +79,19 @@ else if ($pp_settle_case == "휴대폰")
}
else if ($pp_settle_case == "신용카드")
{
include G5_MSHOP_PATH.'/kcp/pp_ax_hub.php';
switch($default['de_pg_service']) {
case 'lg':
include G5_SHOP_PATH.'/lg/xpay_result.php';
break;
default:
include G5_SHOP_PATH.'/kcp/pp_ax_hub.php';
$card_name = iconv("cp949", "utf-8", $card_name);
break;
}
$pp_tno = $tno;
$pp_receipt_price = $amount;
$pp_receipt_time = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/", "\\1-\\2-\\3 \\4:\\5:\\6", $app_time);
$card_name = iconv("cp949", "utf8", $card_name);
$pp_bank_account = $card_name;
$pg_price = $amount;
}
@ -72,7 +103,14 @@ else
// 주문금액과 결제금액이 일치하는지 체크
if((int)$pp['pp_price'] !== (int)$pg_price) {
$cancel_msg = '결제금액 불일치';
include G5_MSHOP_PATH.'/kcp/pp_ax_hub_cancel.php'; // 결제취소처리
switch($default['de_pg_service']) {
case 'lg':
include G5_SHOP_PATH.'/lg/xpay_cancel.php';
break;
default:
include G5_SHOP_PATH.'/kcp/pp_ax_hub_cancel.php';
break;
}
die("Receipt Amount Error");
}
@ -95,11 +133,16 @@ $sql = " update {$g5['g5_shop_personalpay_table']}
where pp_id = '{$pp['pp_id']}' ";
$result = sql_query($sql, false);
// 결제정보 입력 오류시 kcp 결제 취소
// 결제정보 입력 오류시 결제 취소
if(!$result) {
if($tno) {
$cancel_msg = '결제정보 입력 오류';
include G5_MSHOP_PATH.'/kcp/pp_ax_hub_cancel.php'; // 결제취소처리
$cancel_msg = '결제정보 입력 오류';
switch($default['de_pg_service']) {
case 'lg':
include G5_SHOP_PATH.'/lg/xpay_cancel.php';
break;
default:
include G5_SHOP_PATH.'/kcp/pp_ax_hub_cancel.php';
break;
}
die("<p>$sql<p>" . mysql_errno() . " : " . mysql_error() . "<p>error file : {$_SERVER['PHP_SELF']}");
@ -126,9 +169,14 @@ if($pp_receipt_price > 0 && $pp['pp_id'] && $pp['od_id']) {
// 결제정보 입력 오류시 kcp 결제 취소
if(!$result) {
if($tno) {
$cancel_msg = '결제정보 입력 오류';
include G5_MSHOP_PATH.'/kcp/pp_ax_hub_cancel.php'; // 결제취소처리
$cancel_msg = '결제정보 입력 오류';
switch($default['de_pg_service']) {
case 'lg':
include G5_SHOP_PATH.'/lg/xpay_cancel.php';
break;
default:
include G5_SHOP_PATH.'/kcp/pp_ax_hub_cancel.php';
break;
}
die("<p>$sql<p>" . mysql_errno() . " : " . mysql_error() . "<p>error file : {$_SERVER['PHP_SELF']}");

View File

@ -3,7 +3,7 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<div id="display_pay_button" class="btn_confirm" style="display:none">
<input type="button" value="주문하기" onclick="forderform_check(this.form);"/>
<input type="button" value="주문하기" class="btn_submit" onclick="forderform_check(this.form);"/>
<a href="javascript:history.go(-1);" class="btn01">취소</a>
</div>
<div id="display_pay_process" style="display:none">

View File

@ -2,7 +2,7 @@
include_once('./_common.php');
if($is_guest)
die_utf8('회원 로그인 후 이용해 주십시오.');
die('회원 로그인 후 이용해 주십시오.');
$count = count($_POST['chk']);

View File

@ -2,6 +2,9 @@
include_once('./_common.php');
include_once(G5_LIB_PATH.'/mailer.lib.php');
if($default['de_pg_service'] == 'lg' && !$_POST['LGD_PAYKEY'])
alert('결제등록 요청 후 주문해 주십시오.');
// 장바구니가 비어있는가?
if (get_session("ss_direct"))
$tmp_cart_id = get_session('ss_cart_direct');
@ -477,7 +480,7 @@ if(!$result) {
$error = 'order';
include G5_SHOP_PATH.'/ordererrormail.php';
die_utf8('<p>고객님의 주문 정보를 처리하는 중 오류가 발생해서 주문이 완료되지 않았습니다.</p><p>'.strtoupper($default['de_pg_service']).'를 이용한 전자결제(신용카드, 계좌이체, 가상계좌 등)은 자동 취소되었습니다.');
die('<p>고객님의 주문 정보를 처리하는 중 오류가 발생해서 주문이 완료되지 않았습니다.</p><p>'.strtoupper($default['de_pg_service']).'를 이용한 전자결제(신용카드, 계좌이체, 가상계좌 등)은 자동 취소되었습니다.');
}
// 장바구니 상태변경
@ -516,7 +519,7 @@ if(!$result) {
// 주문삭제
sql_query(" delete from {$g5['g5_shop_order_table']} where od_id = '$od_id' ");
die_utf8('<p>고객님의 주문 정보를 처리하는 중 오류가 발생해서 주문이 완료되지 않았습니다.</p><p>'.strtoupper($default['de_pg_service']).'를 이용한 전자결제(신용카드, 계좌이체, 가상계좌 등)은 자동 취소되었습니다.');
die('<p>고객님의 주문 정보를 처리하는 중 오류가 발생해서 주문이 완료되지 않았습니다.</p><p>'.strtoupper($default['de_pg_service']).'를 이용한 전자결제(신용카드, 계좌이체, 가상계좌 등)은 자동 취소되었습니다.');
}
// 회원이면서 포인트를 사용했다면 테이블에 사용을 추가

View File

@ -1,6 +1,9 @@
<?php
include_once('./_common.php');
if($default['de_pg_service'] == 'lg' && !$_POST['LGD_PAYKEY'])
alert('결제등록 요청 후 주문해 주십시오.');
// 개인결제 정보
$pp_check = false;
$sql = " select * from {$g5['g5_shop_personalpay_table']} where pp_id = '{$_POST['pp_id']}' and pp_use = '1' ";

View File

@ -93,6 +93,7 @@ if ( $LGD_HASHDATA2 == $LGD_HASHDATA ) { //해쉬값 검증이 성공이면
$sql = " update {$g5['g5_shop_order_table']}
set od_receipt_price = od_receipt_price + '$LGD_AMOUNT',
od_receipt_time = '$LGD_PAYDATE',
od_casseqno = '$LGD_CASSEQNO',
od_shop_memo = concat(od_shop_memo, \"\\n개인결제 ".$row['pp_id']." 로 결제완료 - ".$receipt_time."\")
where od_id = '{$row['od_id']}' ";
$result = sql_query($sql, FALSE);
@ -101,7 +102,8 @@ if ( $LGD_HASHDATA2 == $LGD_HASHDATA ) { //해쉬값 검증이 성공이면
// 주문서 UPDATE
$sql = " update {$g5['g5_shop_order_table']}
set od_receipt_price = '$LGD_AMOUNT',
od_receipt_time = '$LGD_PAYDATE'
od_receipt_time = '$LGD_PAYDATE',
od_casseqno = '$LGD_CASSEQNO',
where od_id = '$LGD_OID'
and od_tno = '$LGD_TID' ";
$result = sql_query($sql, FALSE);

View File

@ -18,243 +18,9 @@ $amt_tot = (int)($od['od_receipt_price'] - $od['od_refund_price']);
$amt_sup = (int)round(($amt_tot * 10) / 11);
$amt_svc = 0;
$amt_tax = (int)($amt_tot - $amt_sup);
?>
<!--
/* ============================================================================== */
/* = PAGE : 등록 요청 PAGE = */
/* = -------------------------------------------------------------------------- = */
/* = Copyright (c) 2007 KCP Inc. All Rights Reserverd. = */
/* ============================================================================== */
//-->
<script>
// 현금영수증 MAIN FUNC
function jsf__pay_cash( form )
{
jsf__show_progress(true);
// 신청폼
include_once(G5_SHOP_PATH.'/'.$default['de_pg_service'].'/taxsave_form.php');
if ( jsf__chk_cash( form ) == false )
{
jsf__show_progress(false);
return;
}
form.ordr_idxx.value = "<?php echo $od['od_id']; ?>";
form.amt_tot.value = "<?php echo $amt_tot; ?>";
form.amt_sup.value = "<?php echo $amt_sup; ?>";
form.amt_svc.value = "<?php echo $amt_svc; ?>";
form.amt_tax.value = "<?php echo $amt_tax; ?>";
form.submit();
}
// 진행 바
function jsf__show_progress( show )
{
if ( show == true )
{
window.show_pay_btn.style.display = "none";
window.show_progress.style.display = "inline";
}
else
{
window.show_pay_btn.style.display = "inline";
window.show_progress.style.display = "none";
}
}
// 포맷 체크
function jsf__chk_cash( form )
{
if ( form.trad_time.value.length != 14 )
{
alert("원 거래 시각을 정확히 입력해 주시기 바랍니다.");
form.trad_time.select();
form.trad_time.focus();
return false;
}
if ( form.corp_type.value == "1" )
{
if ( form.corp_tax_no.value.length != 10 )
{
alert("발행 사업자번호를 정확히 입력해 주시기 바랍니다.");
form.corp_tax_no.select();
form.corp_tax_no.focus();
return false;
}
}
if ( form.tr_code[0].checked )
{
if ( form.id_info.value.length != 10 &&
form.id_info.value.length != 11 &&
form.id_info.value.length != 13 )
{
alert("주민번호 또는 휴대폰번호를 정확히 입력해 주시기 바랍니다.");
form.id_info.select();
form.id_info.focus();
return false;
}
}
else if ( form.tr_code[1].checked )
{
if ( form.id_info.value.length != 10 )
{
alert("사업자번호를 정확히 입력해 주시기 바랍니다.");
form.id_info.select();
form.id_info.focus();
return false;
}
}
return true;
}
function jsf__chk_tr_code( form )
{
var span_tr_code_0 = document.getElementById( "span_tr_code_0" );
var span_tr_code_1 = document.getElementById( "span_tr_code_1" );
if ( form.tr_code[0].checked )
{
span_tr_code_0.style.display = "block";
span_tr_code_1.style.display = "none";
}
else if (form.tr_code[1].checked )
{
span_tr_code_0.style.display = "none";
span_tr_code_1.style.display = "block";
}
}
</script>
</head>
<body>
<div id="scash" class="new_win">
<h1 id="win_title"><?php echo $g5['title']; ?></h1>
<section>
<h2>주문정보</h2>
<div class="tbl_head01 tbl_wrap">
<table>
<colgroup>
<col class="grid_3">
<col>
</colgroup>
<tbody>
<tr>
<th scope="row">주문 번호</th>
<td><?php echo $od['od_id']; ?></td>
</tr>
<tr>
<th scope="row">상품 정보</th>
<td><?php echo $goods_name; ?></td>
</tr>
<tr>
<th scope="row">주문자 이름</th>
<td><?php echo $od['od_name']; ?></td>
</tr>
<tr>
<th scope="row">주문자 E-Mail</th>
<td><?php echo $od['od_email']; ?></td>
</tr>
<tr>
<th scope="row">주문자 전화번호</th>
<td><?php echo $od['od_tel']; ?></td>
</tr>
</tbody>
</table>
</div>
</section>
<section>
<h2>현금영수증 발급 정보</h2>
<form name="cash_form" action="<?php echo G5_SHOP_URL; ?>/kcp/pp_cli_hub.php" method="post">
<input type="hidden" name="corp_type" value="0"> <!-- 사업자 구분 - 0:직접판매 , 1:입점몰판매 -->
<input type="hidden" name="ordr_idxx">
<input type="hidden" name="good_name" value="<?php echo addslashes($goods_name); ?>">
<input type="hidden" name="buyr_name" value="<?php echo $od['od_name']; ?>">
<input type="hidden" name="buyr_mail" value="<?php echo $od['od_email']; ?>">
<input type="hidden" name="buyr_tel1" value="<?php echo $od['od_tel']; ?>">
<input type="hidden" name="trad_time" value="<?php echo $trad_time; ?>">
<input type="hidden" name="amt_tot">
<input type="hidden" name="amt_sup">
<input type="hidden" name="amt_svc">
<input type="hidden" name="amt_tax">
<div class="tbl_head01 tbl_wrap">
<table>
<colgroup>
<col class="grid_3">
<col>
</colgroup>
<tbody>
<tr>
<th scope="row">원 거래 시각</th>
<td><?php echo $trad_time; ?></td>
</tr>
<tr>
<th scope="row">발행 용도</th>
<td>
<input type="radio" name="tr_code" value="0" id="tr_code1" onClick="jsf__chk_tr_code( this.form )" checked>
<label for="tr_code1">소득공제용</label>
<input type="radio" name="tr_code" value="1" id="tr_code2" onClick="jsf__chk_tr_code( this.form )">
<label for="tr_code2">지출증빙용</label>
</td>
</tr>
<tr>
<th scope="row">
<label for="id_info">
<span id="span_tr_code_0" style="display:inline">주민(휴대폰)번호</span>
<span id="span_tr_code_1" style="display:none">사업자번호</span>
</label>
</th>
<td>
<input type="text" name="id_info" id="id_info" class="frm_input" size="16" maxlength="13"> ("-" 생략)
</td>
</tr>
<tr>
<th scope="row">거래금액 총합</th>
<td><?php echo number_format($amt_tot); ?>원</td>
</tr>
<tr>
<th scope="row">공급가액</th>
<td><?php echo number_format($amt_sup); ?>원<!-- ((거래금액 총합 * 10) / 11) --></td>
</tr>
<tr>
<th scope="row">봉사료</th>
<td><?php echo number_format($amt_svc); ?>원</td>
</tr>
<tr>
<th scope="row">부가가치세</th>
<td><?php echo number_format($amt_tax); ?>원<!-- 거래금액 총합 - 공급가액 - 봉사료 --></td>
</tr>
</tbody>
</table>
</div>
<div id="scash_apply">
<span id="show_pay_btn">
<button type="button" onclick="jsf__pay_cash( this.form )">등록요청</button>
</span>
<span id="show_progress" style="display:none">
<b>등록 진행중입니다. 잠시만 기다려주십시오</b>
</span>
</div>
<!-- 요청종류 승인(pay)/변경(mod) 요청시 사용 -->
<input type="hidden" name="req_tx" value="pay">
</form>
</section>
<p id="scash_copy">ⓒ Copyright 2007. KCP Inc. All Rights Reserved.</p>
</div>
<?php
include_once(G5_PATH.'/tail.sub.php');
?>