현금 영수증을 발급할수 있는 결제수단 조건 코드 추가
This commit is contained in:
@ -156,6 +156,12 @@ if(!isset($default['de_listtype_list_skin'])) {
|
||||
ADD `de_mobile_listtype_img_width` int(11) NOT NULL DEFAULT '0' AFTER `de_mobile_listtype_list_row`,
|
||||
ADD `de_mobile_listtype_img_height` int(11) NOT NULL DEFAULT '0' AFTER `de_mobile_listtype_img_width` ", true);
|
||||
}
|
||||
|
||||
// 현금영수증 발급 조건 추가
|
||||
if(!isset($default['de_taxsave_types'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}`
|
||||
ADD `de_taxsave_types` set('account','vbank','transfer') NOT NULL DEFAULT 'account' AFTER `de_taxsave_use` ", true);
|
||||
}
|
||||
?>
|
||||
|
||||
<form name="fconfig" action="./configformupdate.php" onsubmit="return fconfig_check(this)" method="post" enctype="MULTIPART/FORM-DATA">
|
||||
@ -616,6 +622,28 @@ if(!isset($default['de_listtype_list_skin'])) {
|
||||
<option value="1" <?php echo get_selected($default['de_taxsave_use'], 1); ?>>사용</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
$account_checked = $vbank_checked = $transfer_checked = '';
|
||||
|
||||
if (strstr($default['de_taxsave_types'], 'account')) {
|
||||
$account_checked = 'checked="checked"';
|
||||
}
|
||||
if (strstr($default['de_taxsave_types'], 'vbank')) {
|
||||
$vbank_checked = 'checked="checked"';
|
||||
}
|
||||
if (strstr($default['de_taxsave_types'], 'transfer')) {
|
||||
$transfer_checked = 'checked="checked"';
|
||||
}
|
||||
?>
|
||||
<tr id="de_taxsave_types" class="de_taxsave_types">
|
||||
<th scope="row">현금영수증<br>적용수단</th>
|
||||
<td>
|
||||
<?php echo help("현금영수증 발급 사용일 경우 해당됩니다.<br>현금 영수증 발급은 무통장입금, 가상계좌, 실시간계좌에만 적용됩니다.<br>아래 체크된 수단에 한해서 회원이 직접 주문 보기 페이지에서 현금영수증을 발급 받을수 있습니다.<br>!!! 만약 PG사 상점관리자에서 가상계좌 또는 실시간계좌이체가 자동으로 현금영수증이 발급되는 경우이면, 아래 가상계좌와 실시간계좌이체 체크박스를 해제하여 사용해 주세요.( 중복으로 발급되는 것을 막기 위함입니다. )", 50); ?>
|
||||
<input type="checkbox" id="de_taxsave_types_account" name="de_taxsave_types_account" value="account" <?php echo $account_checked; ?> > <label for="de_taxsave_types_account" disabled>무통장입금</label><br>
|
||||
<input type="checkbox" id="de_taxsave_types_vbank" name="de_taxsave_types_vbank" value="vbank" <?php echo $vbank_checked; ?> > <label for="de_taxsave_types_vbank">가상계좌</label><br>
|
||||
<input type="checkbox" id="de_taxsave_types_transfer" name="de_taxsave_types_transfer" value="transfer" <?php echo $transfer_checked; ?> > <label for="de_taxsave_types_transfer">실시간계좌이체</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_use_point">포인트 사용</label></th>
|
||||
@ -1696,6 +1724,20 @@ $(function() {
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$(document).on("change", "#de_taxsave_use", function(e){
|
||||
var $val = $(this).val();
|
||||
|
||||
if( parseInt($val) > 0 ){
|
||||
$("#de_taxsave_types").show();
|
||||
} else {
|
||||
$("#de_taxsave_types").hide();
|
||||
}
|
||||
});
|
||||
|
||||
// 현금영수증 발급수단 중 무통장입금은 무조건 체크처리
|
||||
document.getElementById("de_taxsave_types_account").checked = true;
|
||||
document.getElementById("de_taxsave_types_account").disabled = true;
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
@ -71,6 +71,16 @@ foreach($check_skin_keys as $key){
|
||||
}
|
||||
}
|
||||
|
||||
// 현금영수증 발급수단
|
||||
$de_taxsave_types = 'account'; // 무통장
|
||||
|
||||
if(isset($_POST['de_taxsave_types_vbank']) && $_POST['de_taxsave_types_vbank']){ //가상계좌
|
||||
$de_taxsave_types .= ',vbank';
|
||||
}
|
||||
if(isset($_POST['de_taxsave_types_transfer']) && $_POST['de_taxsave_types_transfer']){ //실시간계좌이체
|
||||
$de_taxsave_types .= ',transfer';
|
||||
}
|
||||
|
||||
//KVE-2019-0689, KVE-2019-0691, KVE-2019-0694
|
||||
$check_sanitize_keys = array(
|
||||
'de_admin_company_name', //회사명
|
||||
@ -132,7 +142,7 @@ $check_sanitize_keys = array(
|
||||
'de_card_use', //신용카드 결제사용
|
||||
'de_card_noint_use', //신용카드 무이자할부사용
|
||||
'de_easy_pay_use', //PG사 간편결제 버튼 사용
|
||||
'de_taxsave_use', //현금영수증 발끕사용
|
||||
'de_taxsave_use', //현금영수증 발급사용
|
||||
'cf_use_point', //포인트 사용
|
||||
'de_settle_min_point', //결제 최소포인트
|
||||
'de_settle_max_point', //최대 결제포인트
|
||||
@ -384,6 +394,7 @@ $sql = " update {$g5['g5_shop_default_table']}
|
||||
de_admin_buga_no = '{$de_admin_buga_no}',
|
||||
de_vbank_use = '{$de_vbank_use}',
|
||||
de_taxsave_use = '{$de_taxsave_use}',
|
||||
de_taxsave_types = '{$de_taxsave_types}',
|
||||
de_guest_privacy = '{$_POST['de_guest_privacy']}',
|
||||
de_hp_use = '{$de_hp_use}',
|
||||
de_escrow_use = '{$de_escrow_use}',
|
||||
|
||||
@ -364,6 +364,7 @@ CREATE TABLE IF NOT EXISTS `g5_shop_default` (
|
||||
`de_admin_buga_no` varchar(255) NOT NULL DEFAULT '',
|
||||
`de_vbank_use` varchar(255) NOT NULL DEFAULT '',
|
||||
`de_taxsave_use` tinyint(4) NOT NULL,
|
||||
`de_taxsave_types` set('account','vbank','transfer') NOT NULL DEFAULT 'account',
|
||||
`de_guest_privacy` text NOT NULL,
|
||||
`de_hp_use` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`de_escrow_use` tinyint(4) NOT NULL DEFAULT '0',
|
||||
|
||||
@ -2392,6 +2392,31 @@ function get_itemuselist_thumbnail($it_id, $contents, $thumb_width, $thumb_heigh
|
||||
return $img;
|
||||
}
|
||||
|
||||
function shop_is_taxsave($od, $is_view_receipt=false){
|
||||
global $default, $is_memeber;
|
||||
|
||||
$od_pay_type = '';
|
||||
|
||||
if( $od['od_settle_case'] == '무통장' ){
|
||||
$od_pay_type = 'account';
|
||||
} else if ( $od['od_settle_case'] == '계좌이체' ) {
|
||||
$od_pay_type = 'vbank';
|
||||
} else if ( $od['od_settle_case'] == '가상계좌' ) {
|
||||
$od_pay_type = 'transfer';
|
||||
}
|
||||
|
||||
// 아직 현금영수증 받기전 상태일때만
|
||||
if( $default['de_taxsave_use'] && ! $od['od_cash'] && strstr( $default['de_taxsave_types'], $od_pay_type ) ){
|
||||
return 1;
|
||||
}
|
||||
|
||||
if( $is_view_receipt && ! $od['od_cash'] && in_array($od['od_settle_case'], array('계좌이체', '가상계좌')) && ! strstr( $default['de_taxsave_types'], $od_pay_type ) ){
|
||||
return 2;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// 장바구니 상품삭제
|
||||
function cart_item_clean()
|
||||
{
|
||||
|
||||
@ -267,6 +267,10 @@ if($od['od_pg'] == 'lg') {
|
||||
} else if($od['od_settle_case'] == '가상계좌' || $od['od_settle_case'] == '계좌이체') {
|
||||
$app_no_subj = '거래번호';
|
||||
$app_no = $od['od_tno'];
|
||||
|
||||
if( function_exists('shop_is_taxsave') && $misu_price == 0 && shop_is_taxsave($od, true) === 2 ){
|
||||
$disp_receipt = true;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@ -358,7 +362,7 @@ if($od['od_pg'] == 'lg') {
|
||||
<?php
|
||||
}
|
||||
|
||||
if($od['od_settle_case'] == '신용카드' || is_inicis_order_pay($od['od_settle_case']) )
|
||||
if($od['od_settle_case'] == '신용카드' || is_inicis_order_pay($od['od_settle_case']) || (shop_is_taxsave($od, true) && $misu_price == 0) )
|
||||
{
|
||||
if($od['od_pg'] == 'lg') {
|
||||
require_once G5_SHOP_PATH.'/settle_lg.inc.php';
|
||||
@ -412,7 +416,7 @@ if($od['od_pg'] == 'lg') {
|
||||
}
|
||||
|
||||
// 현금영수증 발급을 사용하는 경우에만
|
||||
if ($default['de_taxsave_use']) {
|
||||
if (function_exists('shop_is_taxsave') && shop_is_taxsave($od)) {
|
||||
// 미수금이 없고 현금일 경우에만 현금영수증을 발급 할 수 있습니다.
|
||||
if ($misu_price == 0 && $od['od_receipt_price'] && ($od['od_settle_case'] == '무통장' || $od['od_settle_case'] == '계좌이체' || $od['od_settle_case'] == '가상계좌')) {
|
||||
?>
|
||||
|
||||
@ -260,6 +260,10 @@ if($od['od_pg'] == 'lg') {
|
||||
} else if($od['od_settle_case'] == '가상계좌' || $od['od_settle_case'] == '계좌이체') {
|
||||
$app_no_subj = '거래번호';
|
||||
$app_no = $od['od_tno'];
|
||||
|
||||
if( function_exists('shop_is_taxsave') && $misu_price == 0 && shop_is_taxsave($od, true) === 2 ){
|
||||
$disp_receipt = true;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@ -347,7 +351,7 @@ if($od['od_pg'] == 'lg') {
|
||||
<?php
|
||||
}
|
||||
|
||||
if($od['od_settle_case'] == '신용카드' || is_inicis_order_pay($od['od_settle_case']) )
|
||||
if($od['od_settle_case'] == '신용카드' || is_inicis_order_pay($od['od_settle_case']) || (shop_is_taxsave($od, true) && $misu_price == 0) )
|
||||
{
|
||||
if($od['od_pg'] == 'lg') {
|
||||
require_once G5_SHOP_PATH.'/settle_lg.inc.php';
|
||||
@ -401,7 +405,7 @@ if($od['od_pg'] == 'lg') {
|
||||
}
|
||||
|
||||
// 현금영수증 발급을 사용하는 경우에만
|
||||
if ($default['de_taxsave_use']) {
|
||||
if (function_exists('shop_is_taxsave') && shop_is_taxsave($od)) {
|
||||
// 미수금이 없고 현금일 경우에만 현금영수증을 발급 할 수 있습니다.
|
||||
if ($misu_price == 0 && $od['od_receipt_price'] && ($od['od_settle_case'] == '무통장' || $od['od_settle_case'] == '계좌이체' || $od['od_settle_case'] == '가상계좌')) {
|
||||
?>
|
||||
|
||||
@ -31,6 +31,10 @@ if($tx == 'personalpay') {
|
||||
if (!$od)
|
||||
die('<p id="scash_empty">주문서가 존재하지 않습니다.</p>');
|
||||
|
||||
if ( ! $is_admin && ! (shop_is_taxsave($od)) ){
|
||||
die('해당 주문은 현금영수증을 발급할수 없습니다.');
|
||||
}
|
||||
|
||||
$goods = get_goods($od['od_id']);
|
||||
$goods_name = $goods['full_name'];
|
||||
$amt_tot = (int)($od['od_receipt_price'] - $od['od_refund_price']);
|
||||
|
||||
Reference in New Issue
Block a user