Skip to content
This repository has been archived by the owner on Jun 24, 2021. It is now read-only.

Commit

Permalink
NHN_KCP 간편결제-네이버페이,카카오페이 적용
Browse files Browse the repository at this point in the history
  • Loading branch information
thisgun committed Sep 16, 2020
1 parent 6a73cec commit 752ab6c
Show file tree
Hide file tree
Showing 38 changed files with 1,074 additions and 203 deletions.
8 changes: 8 additions & 0 deletions adm/shop_admin/admin.shop.lib.php
Expand Up @@ -136,6 +136,14 @@ function pg_setting_check($is_print=false){
}
}

if( function_exists('is_use_easypay') && is_use_easypay('global_nhnkcp') ){
if(!extension_loaded('soap') || !class_exists('SOAPClient')) {
$msg .= '<script>'.PHP_EOL;
$msg .= 'alert("PHP SOAP 확장모듈이 설치되어 있지 않습니다.\n모바일 쇼핑몰 결제 때 사용되오니 SOAP 확장 모듈을 설치하여 주십시오.\nNHN_KCP (네이버페이) 모바일결제가 되지 않습니다.");'.PHP_EOL;
$msg .= '</script>'.PHP_EOL;
}
}

if( $pg_msg ){
$pg_test_conf_link = G5_ADMIN_URL.'/shop_admin/configform.php#de_card_test1';
$msg .= '<div class="admin_pg_notice od_test_caution">(주의!) '.$pg_msg.' 결제의 결제 설정이 현재 테스트결제 로 되어 있습니다.<br>테스트결제시 실제 결제가 되지 않으므로, 쇼핑몰 운영중이면 반드시 실결제로 설정하여 운영하셔야 합니다.<br>아래 링크를 클릭하여 실결제로 설정하여 운영해 주세요.<br><a href="'.$pg_test_conf_link.'" class="pg_test_conf_link">'.$pg_test_conf_link.'</a></div>';
Expand Down
187 changes: 108 additions & 79 deletions adm/shop_admin/configform.php
Expand Up @@ -193,8 +193,15 @@
sql_query($sql, false);
}

// PG 간편결제 추가 ( NHN_KCP 네이버페이, 카카오페이 )
if( ! isset($default['de_easy_pay_services']) ){
$sql = "ALTER TABLE `{$g5['g5_shop_default_table']}`
ADD COLUMN `de_easy_pay_services` VARCHAR(255) NOT NULL DEFAULT '' AFTER `de_easy_pay_use`; ";
sql_query($sql, false);
}

if( function_exists('pg_setting_check') ){
pg_setting_check(true);
pg_setting_check(true);
}

if(!$default['de_kakaopay_cancelpwd']){
Expand Down Expand Up @@ -669,26 +676,26 @@
</select>
</td>
</tr>
<?php
$account_checked = $vbank_checked = $transfer_checked = '';
<?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"';
}
?>
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>
<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>
Expand Down Expand Up @@ -769,6 +776,22 @@
<input type="text" name="de_kcp_site_key" value="<?php echo $default['de_kcp_site_key']; ?>" id="de_kcp_site_key" class="frm_input" size="36" maxlength="25">
</td>
</tr>
<tr class="pg_info_fld kcp_info_fld">
<th scope="row"><label for="de_kcp_easy_pays">NHN KCP 간편결제</label></th>
<td>
<?php echo help("체크시 NHN KCP 간편결제들을 활성화 합니다.\nNHN_KCP > 네이버페이, 카카오페이는 테스트결제가 되지 않습니다."); ?>
<input type="checkbox" id="de_easy_nhnkcp_payco" name="de_easy_pays[]" value="nhnkcp_payco" <?php if(stripos($default['de_easy_pay_services'], 'nhnkcp_payco') !== false){ echo 'checked="checked"'; } ?> > <label for="de_easy_nhnkcp_payco" disabled>PAYCO (페이코)</label><br>
<input type="checkbox" id="de_easy_nhnkcp_naverpay" name="de_easy_pays[]" value="nhnkcp_naverpay" <?php if(stripos($default['de_easy_pay_services'], 'nhnkcp_naverpay') !== false){ echo 'checked="checked"'; } ?> > <label for="de_easy_nhnkcp_naverpay">NAVERPAY (네이버페이)</label><br>
<input type="checkbox" id="de_easy_nhnkcp_kakaopay" name="de_easy_pays[]" value="nhnkcp_kakaopay" <?php if(stripos($default['de_easy_pay_services'], 'nhnkcp_kakaopay') !== false){ echo 'checked="checked"'; } ?> > <label for="de_easy_nhnkcp_kakaopay">KAKAOPAY (카카오페이)</label>
</td>
</tr>
<tr class="pg_info_fld kcp_info_fld">
<th scope="row"><label for="de_global_nhnkcp_naverpay">NHN KCP 네이버페이 사용</label></th>
<td>
<?php echo help("체크시 타 PG (토스페이먼츠, KG 이니시스) 사용중일때도 NHN_KCP 를 통한 네이버페이 간편결제를 사용할수 있습니다.\n실결제시 반드시 결제대행사 NHN_KCP 항목에 KCP SITE CODE와 NHN KCP SITE KEY를 입력해야 합니다."); ?>
<input type="checkbox" id="de_global_nhnkcp_naverpay" name="de_easy_pays[]" value="global_nhnkcp_naverpay" <?php if(stripos($default['de_easy_pay_services'], 'global_nhnkcp_naverpay') !== false){ echo 'checked="checked"'; } ?> > <label for="de_global_nhnkcp_naverpay">NAVERPAY (네이버페이)</label><br>
</td>
</tr>
<tr class="pg_info_fld lg_info_fld" id="lg_info_anchor">
<th scope="row">
<label for="cf_lg_mid">토스페이먼츠 상점아이디</label><br>
Expand Down Expand Up @@ -1672,67 +1695,73 @@ function fconfig_check(f)
<?php echo get_editor_js('de_baesong_content'); ?>
<?php echo get_editor_js('de_change_content'); ?>
<?php echo get_editor_js('de_guest_privacy'); ?>
var msg = "",
pg_msg = "";

if( f.de_pg_service.value == "kcp" ){
if( f.de_kcp_mid.value && f.de_kcp_site_key.value && parseInt(f.de_card_test.value) > 0 ){
pg_msg = "NHN KCP";
}
} else if ( f.de_pg_service.value == "lg" ) {
if( f.cf_lg_mid.value && f.cf_lg_mert_key.value && parseInt(f.de_card_test.value) > 0 ){
pg_msg = "토스페이먼츠";
}
} else if ( f.de_pg_service.value == "inicis" ) {
if( f.de_inicis_mid.value && f.de_inicis_sign_key.value && parseInt(f.de_card_test.value) > 0 ){
pg_msg = "KG이니시스";
}
}

if( pg_msg ){
msg += "(주의!) "+pg_msg+" 결제의 결제 설정이 현재 테스트결제 로 되어 있습니다.\n쇼핑몰 운영중이면 반드시 실결제로 설정하여 운영하셔야 합니다.\n실결제로 변경하려면 결제설정 탭 -> 결제 테스트에서 실결제를 선택해 주세요.\n정말로 테스트결제로 설정하시겠습니까?";
}

if( msg ){
if (confirm(msg)){
return true;
} else {
return false;
}
} else {
return true;
}
var msg = "",
pg_msg = "";

if( f.de_pg_service.value == "kcp" ){
if( f.de_kcp_mid.value && f.de_kcp_site_key.value && parseInt(f.de_card_test.value) > 0 ){
pg_msg = "NHN KCP";
}
} else if ( f.de_pg_service.value == "lg" ) {
if( f.cf_lg_mid.value && f.cf_lg_mert_key.value && parseInt(f.de_card_test.value) > 0 ){
pg_msg = "토스페이먼츠";
}
} else if ( f.de_pg_service.value == "inicis" ) {
if( f.de_inicis_mid.value && f.de_inicis_sign_key.value && parseInt(f.de_card_test.value) > 0 ){
pg_msg = "KG이니시스";
}
}

if( pg_msg ){
msg += "(주의!) "+pg_msg+" 결제의 결제 설정이 현재 테스트결제 로 되어 있습니다.\n쇼핑몰 운영중이면 반드시 실결제로 설정하여 운영하셔야 합니다.\n실결제로 변경하려면 결제설정 탭 -> 결제 테스트에서 실결제를 선택해 주세요.\n정말로 테스트결제로 설정하시겠습니까?";
}

if( msg ){
if (confirm(msg)){
return true;
} else {
return false;
}
} else {
return true;
}
}

$(function() {

$(document).ready(function () {
$(document).ready(function () {

$("#de_global_nhnkcp_naverpay").on("click", function(e){
if ( $(this).prop('checked') ) {
$("#de_easy_nhnkcp_naverpay").prop('checked', true);
}
});

function hash_goto_scroll(hash=""){
var $elem = hash ? $("#"+hash) : $('#' + window.location.hash.replace('#', ''));
if($elem.length) {
function hash_goto_scroll(hash=""){
var $elem = hash ? $("#"+hash) : $('#' + window.location.hash.replace('#', ''));
if($elem.length) {

var admin_head_height = $("#hd_top").height() + $("#container_title").height() + 30;
var admin_head_height = $("#hd_top").height() + $("#container_title").height() + 30;

$('html, body').animate({
scrollTop: ($elem.offset().top - admin_head_height) + 'px'
}, 500, 'swing');
}
}
$('html, body').animate({
scrollTop: ($elem.offset().top - admin_head_height) + 'px'
}, 500, 'swing');
}
}

hash_goto_scroll();
$(document).on("click", ".pg_test_conf_link", function(e){
e.preventDefault();
hash_goto_scroll();
$(document).on("click", ".pg_test_conf_link", function(e){
e.preventDefault();

var str_hash = this.href.split("#")[1];
var str_hash = this.href.split("#")[1];

if( str_hash ){
hash_goto_scroll(str_hash);
}
});
});
if( str_hash ){
hash_goto_scroll(str_hash);
}
});
});

//$(".pg_info_fld").hide();
$(".pg_vbank_url").hide();
Expand Down Expand Up @@ -1853,19 +1882,19 @@ class_name = "tab-current";
});
});

$(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;
$(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>

Expand Down
11 changes: 11 additions & 0 deletions adm/shop_admin/configformupdate.php
Expand Up @@ -82,6 +82,16 @@
$de_taxsave_types .= ',transfer';
}

// NHN_KCP 간편결제 체크
$de_easy_pay_services = '';
if(isset($_POST['de_easy_pays'])){
$tmps = array();
foreach( (array) $_POST['de_easy_pays'] as $v ){
$tmps[] = preg_replace('/[^0-9a-z_\-]/i', '', $v);
}
$de_easy_pay_services = implode(",", $tmps);
}

//KVE-2019-0689, KVE-2019-0691, KVE-2019-0694
$check_sanitize_keys = array(
'de_admin_company_name', //회사명
Expand Down Expand Up @@ -356,6 +366,7 @@
de_card_test = '{$de_card_test}',
de_card_use = '{$de_card_use}',
de_easy_pay_use = '{$de_easy_pay_use}',
de_easy_pay_services = '{$de_easy_pay_services}',
de_samsung_pay_use = '{$de_samsung_pay_use}',
de_inicis_lpay_use = '{$de_inicis_lpay_use}',
de_inicis_kakaopay_use = '{$de_inicis_kakaopay_use}',
Expand Down
17 changes: 0 additions & 17 deletions adm/shop_admin/orderform.php
Expand Up @@ -312,23 +312,6 @@
// 결제방법
$s_receipt_way = check_pay_name_replace($od['od_settle_case'], $od);

if($od['od_settle_case'] == '간편결제') {
switch($od['od_pg']) {
case 'lg':
$s_receipt_way = 'PAYNOW';
break;
case 'inicis':
$s_receipt_way = 'KPAY';
break;
case 'kcp':
$s_receipt_way = 'PAYCO';
break;
default:
$s_receipt_way = check_pay_name_replace($row['od_settle_case'], $od);
break;
}
}

if ($od['od_receipt_point'] > 0)
$s_receipt_way .= "+포인트";
?>
Expand Down
20 changes: 1 addition & 19 deletions adm/shop_admin/orderlist.php
Expand Up @@ -221,7 +221,7 @@
<input type="radio" name="od_settle_case" value="신용카드" id="od_settle_case06" <?php echo get_checked($od_settle_case, '신용카드'); ?>>
<label for="od_settle_case06">신용카드</label>
<input type="radio" name="od_settle_case" value="간편결제" id="od_settle_case07" <?php echo get_checked($od_settle_case, '간편결제'); ?>>
<label for="od_settle_case07" data-tooltip-text="NHN_KCP 간편결제 : PAYCO &#xa;LG유플러스 간편결제 : PAYNOW &#xa;KG 이니시스 간편결제 : KPAY, 삼성페이, LPAY, 카카오페이(KG이니시스)">PG간편결제</label>
<label for="od_settle_case07" data-tooltip-text="NHN_KCP 간편결제 : PAYCO, 네이버페이, 카카오페이(NHN_KCP) &#xa;LG유플러스 간편결제 : PAYNOW &#xa;KG 이니시스 간편결제 : KPAY, 삼성페이, LPAY, 카카오페이(KG이니시스)">PG간편결제</label>
<input type="radio" name="od_settle_case" value="KAKAOPAY" id="od_settle_case08" <?php echo get_checked($od_settle_case, 'KAKAOPAY'); ?>>
<label for="od_settle_case08">KAKAOPAY</label>
</div>
Expand Down Expand Up @@ -305,24 +305,6 @@
{
$s_receipt_way = check_pay_name_replace($row['od_settle_case'], $row);
$s_br = '<br />';

// 간편결제
if($row['od_settle_case'] == '간편결제') {
switch($row['od_pg']) {
case 'lg':
$s_receipt_way = 'PAYNOW';
break;
case 'inicis':
$s_receipt_way = 'KPAY';
break;
case 'kcp':
$s_receipt_way = 'PAYCO';
break;
default:
$s_receipt_way = check_pay_name_replace($row['od_settle_case'], $row);
break;
}
}
}
else
{
Expand Down
10 changes: 9 additions & 1 deletion adm/shop_admin/sale1date.php
Expand Up @@ -27,6 +27,7 @@ function print_line($save)
<td class="td_numincome"><?php echo number_format($save['receiptvbank']); ?></td>
<td class="td_numincome"><?php echo number_format($save['receiptiche']); ?></td>
<td class="td_numincome"><?php echo number_format($save['receiptcard']); ?></td>
<td class="td_numincome"><?php echo number_format($save['receipteasy']); ?></td>
<td class="td_numincome"><?php echo number_format($save['receipthp']); ?></td>
<td class="td_numincome"><?php echo number_format($save['receiptpoint']); ?></td>
<td class="td_numcancel1"><?php echo number_format($save['ordercancel']); ?></td>
Expand Down Expand Up @@ -65,6 +66,7 @@ function print_line($save)
<th scope="col">가상계좌</th>
<th scope="col">계좌이체</th>
<th scope="col">카드입금</th>
<th scope="col">간편결제</th>
<th scope="col">휴대폰</th>
<th scope="col">포인트입금</th>
<th scope="col">주문취소</th>
Expand Down Expand Up @@ -119,10 +121,15 @@ function print_line($save)
$tot['receiptcard'] += $row['od_receipt_price'];
$tot['receiptpoint'] += $row['od_receipt_point'];
$tot['misu'] += $row['od_misu'];

if(in_array($row['od_settle_case'], array('간편결제', 'KAKAOPAY', 'lpay', 'inicis_payco', 'inicis_kakaopay', '삼성페이'))) {
$save['receipteasy'] += $row['od_receipt_price'];
$tot['receipteasy'] += $row['od_receipt_price'];
}
}

if ($i == 0) {
echo '<tr><td colspan="12" class="empty_table">자료가 없습니다.</td></tr>';
echo '<tr><td colspan="13" class="empty_table">자료가 없습니다.</td></tr>';
} else {
print_line($save);
}
Expand All @@ -138,6 +145,7 @@ function print_line($save)
<td class="td_num_right"><?php echo number_format($tot['receiptvbank']); ?></td>
<td class="td_num_right"><?php echo number_format($tot['receiptiche']); ?></td>
<td class="td_num_right"><?php echo number_format($tot['receiptcard']); ?></td>
<td class="td_num_right"><?php echo number_format($tot['receipteasy']); ?></td>
<td class="td_num_right"><?php echo number_format($tot['receipthp']); ?></td>
<td class="td_num_right"><?php echo number_format($tot['receiptpoint']); ?></td>
<td class="td_num_right"><?php echo number_format($tot['ordercancel']); ?></td>
Expand Down

0 comments on commit 752ab6c

Please sign in to comment.