NHN_KCP 간편결제-네이버페이,카카오페이 적용
This commit is contained in:
100
mobile/shop/kcp/easypay_form.1.php
Normal file
100
mobile/shop/kcp/easypay_form.1.php
Normal file
@ -0,0 +1,100 @@
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// 타 PG 사용시 NHN KCP 네이버페이 사용이 설정되어 있는지 체크, 그렇지 않다면 return;
|
||||
if( !(function_exists('is_use_easypay') && is_use_easypay('global_nhnkcp')) ){
|
||||
return;
|
||||
}
|
||||
?>
|
||||
|
||||
<!-- 거래등록 하는 kcp 서버와 통신을 위한 스크립트-->
|
||||
<script src="<?php echo G5_MSHOP_URL; ?>/kcp/approval_key.js"></script>
|
||||
|
||||
<form name="nhnkcp_pay_form" method="POST" action="<?php echo G5_MSHOP_URL; ?>/kcp/order_approval_form.php">
|
||||
<input type="hidden" name="good_name" value="<?php echo $goods; ?>">
|
||||
<input type="hidden" name="good_mny" value="<?php echo $tot_price ?>" >
|
||||
<input type="hidden" name="buyr_name" value="">
|
||||
<input type="hidden" name="buyr_tel1" value="">
|
||||
<input type="hidden" name="buyr_tel2" value="">
|
||||
<input type="hidden" name="buyr_mail" value="">
|
||||
<input type="hidden" name="settle_method" value="">
|
||||
<input type="hidden" name="nhnkcp_pay_case" value="">
|
||||
<input type="hidden" name="payco_direct" value=""> <!-- PAYCO 결제창 호출 -->
|
||||
<input type="hidden" name="naverpay_direct" value="A" > <!-- NAVERPAY 결제창 호출 -->
|
||||
<input type="hidden" name="kakaopay_direct" value="A" > <!-- KAKAOPAY 결제창 호출 -->
|
||||
<!-- 주문번호 -->
|
||||
<input type="hidden" name="ordr_idxx" value="<?php echo $od_id; ?>">
|
||||
<!-- 인증수단(영문 소문자) * 반드시 대소문자 구분 -->
|
||||
<input type="hidden" name="ActionResult" value="CARD">
|
||||
<!-- 결제등록 키 -->
|
||||
<input type="hidden" name="approval_key" id="approval">
|
||||
<!-- 수취인이름 -->
|
||||
<input type="hidden" name="rcvr_name" value="">
|
||||
<!-- 수취인 연락처 -->
|
||||
<input type="hidden" name="rcvr_tel1" value="">
|
||||
<!-- 수취인 휴대폰 번호 -->
|
||||
<input type="hidden" name="rcvr_tel2" value="">
|
||||
<!-- 수취인 E-MAIL -->
|
||||
<input type="hidden" name="rcvr_add1" value="">
|
||||
<!-- 수취인 우편번호 -->
|
||||
<input type="hidden" name="rcvr_add2" value="">
|
||||
<!-- 수취인 주소 -->
|
||||
<input type="hidden" name="rcvr_mail" value="">
|
||||
<!-- 수취인 상세 주소 -->
|
||||
<input type="hidden" name="rcvr_zipx" value="">
|
||||
<!-- 장바구니 상품 개수 -->
|
||||
<input type="hidden" name="bask_cntx" value="<?php echo (int)$goods_count + 1; ?>">
|
||||
<!-- 장바구니 정보(상단 스크립트 참조) -->
|
||||
<input type="hidden" name="good_info" value="<?php echo $good_info; ?>">
|
||||
<!-- 배송소요기간 -->
|
||||
<input type="hidden" name="deli_term" value="03">
|
||||
<!-- 기타 파라메터 추가 부분 - Start - -->
|
||||
<input type="hidden" name="param_opt_1" value="<?php echo $param_opt_1; ?>"/>
|
||||
<input type="hidden" name="param_opt_2" value="<?php echo $param_opt_2; ?>"/>
|
||||
<input type="hidden" name="param_opt_3" value="<?php echo $param_opt_3; ?>"/>
|
||||
<input type="hidden" name="disp_tax_yn" value="N">
|
||||
<!-- 기타 파라메터 추가 부분 - End - -->
|
||||
<!-- 화면 크기조정 부분 - Start - -->
|
||||
<input type="hidden" name="tablet_size" value="<?php echo $tablet_size; ?>"/>
|
||||
<!-- 화면 크기조정 부분 - End - -->
|
||||
<!--
|
||||
사용 카드 설정
|
||||
<input type="hidden" name='used_card' value="CClg:ccDI">
|
||||
/* 무이자 옵션
|
||||
※ 설정할부 (가맹점 관리자 페이지에 설정 된 무이자 설정을 따른다) - "" 로 설정
|
||||
※ 일반할부 (KCP 이벤트 이외에 설정 된 모든 무이자 설정을 무시한다) - "N" 로 설정
|
||||
※ 무이자 할부 (가맹점 관리자 페이지에 설정 된 무이자 이벤트 중 원하는 무이자 설정을 세팅한다) - "Y" 로 설정
|
||||
<input type="hidden" name="kcp_noint" value=""/> */
|
||||
|
||||
/* 무이자 설정
|
||||
※ 주의 1 : 할부는 결제금액이 50,000 원 이상일 경우에만 가능
|
||||
※ 주의 2 : 무이자 설정값은 무이자 옵션이 Y일 경우에만 결제 창에 적용
|
||||
예) 전 카드 2,3,6개월 무이자(국민,비씨,엘지,삼성,신한,현대,롯데,외환) : ALL-02:03:04
|
||||
BC 2,3,6개월, 국민 3,6개월, 삼성 6,9개월 무이자 : CCBC-02:03:06,CCKM-03:06,CCSS-03:06:04
|
||||
<input type="hidden" name="kcp_noint_quota" value="CCBC-02:03:06,CCKM-03:06,CCSS-03:06:09"/> */
|
||||
-->
|
||||
<input type="hidden" name="kcp_noint" value="<?php echo ($default['de_card_noint_use'] ? '' : 'N'); ?>">
|
||||
<?php
|
||||
if($default['de_tax_flag_use']) {
|
||||
/* KCP는 과세상품과 비과세상품을 동시에 판매하는 업체들의 결제관리에 대한 편의성을 제공해드리고자,
|
||||
복합과세 전용 사이트코드를 지원해 드리며 총 금액에 대해 복합과세 처리가 가능하도록 제공하고 있습니다
|
||||
|
||||
복합과세 전용 사이트 코드로 계약하신 가맹점에만 해당이 됩니다
|
||||
|
||||
상품별이 아니라 금액으로 구분하여 요청하셔야 합니다
|
||||
|
||||
총결제 금액은 과세금액 + 부과세 + 비과세금액의 합과 같아야 합니다.
|
||||
(good_mny = comm_tax_mny + comm_vat_mny + comm_free_mny)
|
||||
|
||||
복합과세는 order_approval_form.php 파일의 의해 적용됨
|
||||
아래 필드는 order_approval_form.php 파일로 전송하는 것
|
||||
*/
|
||||
?>
|
||||
<input type="hidden" name="tax_flag" value="TG03"> <!-- 변경불가 -->
|
||||
<input type="hidden" name="comm_tax_mny" value="<?php echo $comm_tax_mny; ?>"> <!-- 과세금액 -->
|
||||
<input type="hidden" name="comm_vat_mny" value="<?php echo $comm_vat_mny; ?>"> <!-- 부가세 -->
|
||||
<input type="hidden" name="comm_free_mny" value="<?php echo $comm_free_mny; ?>"> <!-- 비과세 금액 -->
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</form>
|
||||
35
mobile/shop/kcp/easypay_form.2.php
Normal file
35
mobile/shop/kcp/easypay_form.2.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
?>
|
||||
|
||||
<input type="hidden" name="req_tx" value=""> <!-- 요청 구분 -->
|
||||
<input type="hidden" name="res_cd" value=""> <!-- 결과 코드 -->
|
||||
<input type="hidden" name="tran_cd" value=""> <!-- 트랜잭션 코드 -->
|
||||
<input type="hidden" name="ordr_idxx" value=""> <!-- 주문번호 -->
|
||||
<input type="hidden" name="good_mny" value=""> <!-- 결제금액 -->
|
||||
<input type="hidden" name="good_name" value=""> <!-- 상품명 -->
|
||||
<input type="hidden" name="buyr_name" value=""> <!-- 주문자명 -->
|
||||
<input type="hidden" name="buyr_tel1" value=""> <!-- 주문자 전화번호 -->
|
||||
<input type="hidden" name="buyr_tel2" value=""> <!-- 주문자 휴대폰번호 -->
|
||||
<input type="hidden" name="buyr_mail" value=""> <!-- 주문자 E-mail -->
|
||||
<input type="hidden" name="enc_info" value=""> <!-- 암호화 정보 -->
|
||||
<input type="hidden" name="enc_data" value=""> <!-- 암호화 데이터 -->
|
||||
<input type="hidden" name="use_pay_method" value=""> <!-- 요청된 결제 수단 -->
|
||||
<input type="hidden" name="rcvr_name" value=""> <!-- 수취인 이름 -->
|
||||
<input type="hidden" name="rcvr_tel1" value=""> <!-- 수취인 전화번호 -->
|
||||
<input type="hidden" name="rcvr_tel2" value=""> <!-- 수취인 휴대폰번호 -->
|
||||
<input type="hidden" name="rcvr_mail" value=""> <!-- 수취인 E-Mail -->
|
||||
<input type="hidden" name="rcvr_zipx" value=""> <!-- 수취인 우편번호 -->
|
||||
<input type="hidden" name="rcvr_add1" value=""> <!-- 수취인 주소 -->
|
||||
<input type="hidden" name="rcvr_add2" value=""> <!-- 수취인 상세 주소 -->
|
||||
<input type="hidden" name="param_opt_1" value="">
|
||||
<input type="hidden" name="param_opt_2" value="">
|
||||
<input type="hidden" name="param_opt_3" value="">
|
||||
<input type="hidden" name="disp_tax_yn" value="N">
|
||||
<input type="hidden" name="nhnkcp_pay_case" value="">
|
||||
<?php if($default['de_tax_flag_use']) { ?>
|
||||
<input type="hidden" name="tax_flag" value="TG03"> <!-- 변경불가 -->
|
||||
<input type="hidden" name="comm_tax_mny" value="<?php echo $comm_tax_mny; ?>"> <!-- 과세금액 -->
|
||||
<input type="hidden" name="comm_vat_mny" value="<?php echo $comm_vat_mny; ?>"> <!-- 부가세 -->
|
||||
<input type="hidden" name="comm_free_mny" value="<?php echo $comm_free_mny; ?>"> <!-- 비과세 금액 -->
|
||||
<?php } ?>
|
||||
10
mobile/shop/kcp/global_m_nhn_kcp.php
Normal file
10
mobile/shop/kcp/global_m_nhn_kcp.php
Normal file
@ -0,0 +1,10 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// 타 PG 사용시 NHN KCP 네이버페이 사용이 설정되어 있는지 체크, 그렇지 않다면 return;
|
||||
if( !(function_exists('is_use_easypay') && is_use_easypay('global_nhnkcp')) ){
|
||||
return;
|
||||
}
|
||||
|
||||
include_once(G5_MSHOP_PATH.'/settle_kcp.inc.php');
|
||||
?>
|
||||
83
mobile/shop/kcp/m_order.script.php
Normal file
83
mobile/shop/kcp/m_order.script.php
Normal file
@ -0,0 +1,83 @@
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// 타 PG 사용시 NHN KCP 네이버페이 사용이 설정되어 있는지 체크, 그렇지 않다면 return;
|
||||
if( !(function_exists('is_use_easypay') && is_use_easypay('global_nhnkcp')) ){
|
||||
return;
|
||||
}
|
||||
?>
|
||||
<script>
|
||||
jQuery(function($){
|
||||
$( document ).ready(function() {
|
||||
var pf = document.forderform;
|
||||
|
||||
// NHN_KCP를 통한 네이버페이가 실행됨
|
||||
$(pf).on("form_sumbit_order_nhnkcp_naverpay", nhnkcp_naverpay_form_submit);
|
||||
|
||||
function nhnkcp_naverpay_form_submit(){
|
||||
var $form = $(this),
|
||||
pf = $form[0],
|
||||
nhnkcp_pay_form = document.nhnkcp_pay_form,
|
||||
nhnkcp_settle_case = jQuery("input[name='od_settle_case']:checked").attr("data-pay"),
|
||||
od_settle_case = jQuery("input[name='od_settle_case']:checked").val();
|
||||
|
||||
if( nhnkcp_settle_case == "naverpay" ){
|
||||
if(typeof nhnkcp_pay_form.naverpay_direct !== "undefined") nhnkcp_pay_form.naverpay_direct.value = "Y";
|
||||
}
|
||||
|
||||
if( ! jQuery("form[name='sm_form']").length ){
|
||||
alert("해당 폼이 존재 하지 않는 결제오류입니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (document.sm_form.good_mny.value < 1000) {
|
||||
<?php // 간편결제수단은 신용카드처럼 취급하며 금액은 1000원 이상이므로, 1000원 이상이 아니면 PG사에서 승인하지 않는다. ?>
|
||||
alert("간편결제는 1000원 이상 결제가 가능합니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
nhnkcp_pay_form.good_mny.value = document.sm_form.good_mny.value;
|
||||
nhnkcp_pay_form.good_info.value = "<?php echo $good_info; ?>";
|
||||
nhnkcp_pay_form.settle_method.value = od_settle_case;
|
||||
nhnkcp_pay_form.nhnkcp_pay_case.value = nhnkcp_settle_case;
|
||||
|
||||
if(typeof pf.nhnkcp_pay_case !== "undefined") pf.nhnkcp_pay_case.value = nhnkcp_settle_case;
|
||||
|
||||
nhnkcp_pay_form.buyr_name.value = pf.od_name.value;
|
||||
nhnkcp_pay_form.buyr_mail.value = pf.od_email.value;
|
||||
nhnkcp_pay_form.buyr_tel1.value = pf.od_tel.value;
|
||||
nhnkcp_pay_form.buyr_tel2.value = pf.od_hp.value;
|
||||
nhnkcp_pay_form.rcvr_name.value = pf.od_b_name.value;
|
||||
nhnkcp_pay_form.rcvr_tel1.value = pf.od_b_tel.value;
|
||||
nhnkcp_pay_form.rcvr_tel2.value = pf.od_b_hp.value;
|
||||
nhnkcp_pay_form.rcvr_mail.value = pf.od_email.value;
|
||||
nhnkcp_pay_form.rcvr_zipx.value = pf.od_b_zip.value;
|
||||
nhnkcp_pay_form.rcvr_add1.value = pf.od_b_addr1.value;
|
||||
nhnkcp_pay_form.rcvr_add2.value = pf.od_b_addr2.value;
|
||||
|
||||
// 주문 정보 임시저장
|
||||
var order_data = $(pf).serialize();
|
||||
var save_result = "";
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
data: order_data,
|
||||
url: g5_url+"/shop/ajax.orderdatasave.php",
|
||||
cache: false,
|
||||
async: false,
|
||||
success: function(data) {
|
||||
save_result = data;
|
||||
}
|
||||
});
|
||||
|
||||
if(save_result) {
|
||||
alert(save_result);
|
||||
return false;
|
||||
}
|
||||
|
||||
nhnkcp_pay_form.submit();
|
||||
|
||||
return false;
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@ -1,5 +1,10 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
|
||||
@header('Cache-Control: no-cache, no-store, must-revalidate'); // HTTP 1.1.
|
||||
@header('Pragma: no-cache'); // HTTP 1.0.
|
||||
@header('Expires: 0'); // Proxies.
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = PAGE : 결제 요청 PAGE = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
@ -63,6 +68,8 @@
|
||||
$comm_free_mny = $_POST["comm_free_mny" ]; // 비과세금액
|
||||
|
||||
$payco_direct = $_POST["payco_direct" ]; // PAYCO 결제창 호출
|
||||
$naverpay_direct = $_POST["naverpay_direct"]; // NAVERPAY 결제창 호출
|
||||
$kakaopay_direct = $_POST["kakaopay_direct"]; // KAKAOPAY 결제창 호출
|
||||
|
||||
/*
|
||||
* 기타 파라메터 추가 부분 - Start -
|
||||
@ -82,6 +89,9 @@
|
||||
$rcvr_add1 = iconv('euc-kr', 'utf-8', $rcvr_add1);
|
||||
$rcvr_add2 = iconv('euc-kr', 'utf-8', $rcvr_add2);
|
||||
}
|
||||
|
||||
// 에스크로 변수 ( 간편결제의 경우 N 으로 변경 )
|
||||
$escw_used = 'Y';
|
||||
|
||||
switch($settle_method)
|
||||
{
|
||||
@ -104,6 +114,7 @@
|
||||
case '간편결제':
|
||||
$pay_method = 'CARD';
|
||||
$ActionResult = 'card';
|
||||
$escw_used = 'N';
|
||||
break;
|
||||
default:
|
||||
$pay_method = '';
|
||||
@ -155,8 +166,11 @@
|
||||
|
||||
layer_cont_obj.style.display = "none";
|
||||
layer_receipt_obj.style.display = "block";
|
||||
|
||||
v_frm.target = "frm_receipt";
|
||||
|
||||
// 네이버페이면 반드시 페이지전환 방식이어야 하며, 그 외에는 iframe 방식으로 한다.
|
||||
if(!(typeof v_frm.naverpay_direct !== "undefined" && v_frm.naverpay_direct.value === 1)) { // 네이버페이가 아니면
|
||||
v_frm.target = "frm_receipt";
|
||||
}
|
||||
v_frm.action = PayUrl;
|
||||
|
||||
if(v_frm.Ret_URL.value == "")
|
||||
@ -252,7 +266,15 @@ if($enc_data != '' && $enc_info != '' && $tran_cd != '') {
|
||||
//echo '<input type="hidden" name="ipgm_date" value="'.$ipgm_date.'">';
|
||||
?>
|
||||
|
||||
<?php if($payco_direct){ ?>
|
||||
<input type="hidden" name="payco_direct" value="<?php echo $payco_direct; ?>"> <!-- PAYCO 결제창 호출 -->
|
||||
<?php } ?>
|
||||
<?php if($naverpay_direct){ ?>
|
||||
<input type="hidden" name="naverpay_direct" value="<?php echo $naverpay_direct; ?>"> <!-- 네이버페이 결제창 호출 -->
|
||||
<?php } ?>
|
||||
<?php if($kakaopay_direct){ ?>
|
||||
<input type="hidden" name="kakaopay_direct" value="<?php echo $kakaopay_direct; ?>"> <!-- 카카오페이 결제창 호출 -->
|
||||
<?php } ?>
|
||||
|
||||
<!-- 필수 사항 -->
|
||||
|
||||
@ -278,7 +300,7 @@ if($enc_data != '' && $enc_info != '' && $tran_cd != '') {
|
||||
<!-- 인증시 필요한 파라미터(변경불가)-->
|
||||
<input type="hidden" name="ActionResult" value="<?php echo $ActionResult; ?>">
|
||||
<!-- 에스크로 사용유무 에스크로 사용 업체(가상계좌만 해당)는 Y로 세팅 해주시기 바랍니다.-->
|
||||
<input type="hidden" name="escw_used" value="Y">
|
||||
<input type="hidden" name="escw_used" value="<?php echo $escw_used; ?>">
|
||||
<!-- 에스크로 결제처리모드 -->
|
||||
<input type="hidden" name="pay_mod" value="<?php echo ($default['de_escrow_use']?'O':'N'); ?>">
|
||||
<!-- 수취인이름 -->
|
||||
|
||||
@ -18,8 +18,12 @@ if(!($default['de_iche_use'] || $default['de_vbank_use'] || $default['de_hp_use'
|
||||
<input type="hidden" name="buyr_mail" value="">
|
||||
<input type="hidden" name="settle_method" value="">
|
||||
<input type="hidden" name="payco_direct" value=""> <!-- PAYCO 결제창 호출 -->
|
||||
<input type="hidden" name="naverpay_direct" value="A" > <!-- NAVERPAY 결제창 호출 -->
|
||||
<input type="hidden" name="kakaopay_direct" value="A" > <!-- KAKAOPAY 결제창 호출 -->
|
||||
<!-- 주문번호 -->
|
||||
<input type="hidden" name="ordr_idxx" value="<?php echo $od_id; ?>">
|
||||
<!-- 인증수단(영문 소문자) * 반드시 대소문자 구분 -->
|
||||
<input type="hidden" name="ActionResult" value="">
|
||||
<!-- 결제등록 키 -->
|
||||
<input type="hidden" name="approval_key" id="approval">
|
||||
<!-- 수취인이름 -->
|
||||
|
||||
@ -201,6 +201,16 @@
|
||||
$app_no = $c_PayPlus->mf_get_res_data( "app_no" ); // 승인 번호
|
||||
$noinf = $c_PayPlus->mf_get_res_data( "noinf" ); // 무이자 여부 ( 'Y' : 무이자 )
|
||||
$quota = $c_PayPlus->mf_get_res_data( "quota" ); // 할부 개월 수
|
||||
$od_other_pay_type = $c_PayPlus->mf_get_res_data( "card_other_pay_type" ); // 간편결제유형
|
||||
|
||||
$kcp_pay_method = $c_PayPlus->mf_get_res_data( "pay_method" ); // 카카오페이 결제수단
|
||||
// 카드 코드는 PACA, 카카오머니 코드는 PAKM
|
||||
|
||||
if( $kcp_pay_method == "PAKM" ){ // 카카오머니
|
||||
$card_mny = $kakaomny_mny = $c_PayPlus->mf_get_res_data( "kakaomny_mny" );
|
||||
$app_time = $app_kakaomny_time = $c_PayPlus->mf_get_res_data( "app_kakaomny_time" );
|
||||
$od_other_pay_type = 'NHNKCP_KAKAOMONEY';
|
||||
}
|
||||
}
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
|
||||
@ -8,6 +8,10 @@ if( is_inicis_simple_pay() ){ //이니시스 삼성페이 또는 Lpay 사용
|
||||
require_once(G5_MSHOP_PATH.'/samsungpay/incSamsungpayCommon.php');
|
||||
}
|
||||
|
||||
if(function_exists('is_use_easypay') && is_use_easypay('global_nhnkcp')){ // 타 PG 사용시 NHN KCP 네이버페이 사용이 설정되어 있다면
|
||||
require_once(G5_MSHOP_PATH.'/kcp/global_m_nhn_kcp.php');
|
||||
}
|
||||
|
||||
$tablet_size = "1.0"; // 화면 사이즈 조정 - 기기화면에 맞게 수정(갤럭시탭,아이패드 - 1.85, 스마트폰 - 1.0)
|
||||
|
||||
// 개인결제번호제거
|
||||
@ -252,6 +256,10 @@ require_once(G5_MSHOP_PATH.'/'.$default['de_pg_service'].'/orderform.1.php');
|
||||
if( is_inicis_simple_pay() ){ //이니시스 삼성페이 또는 lpay 사용시
|
||||
require_once(G5_MSHOP_PATH.'/samsungpay/orderform.1.php');
|
||||
}
|
||||
|
||||
if(function_exists('is_use_easypay') && is_use_easypay('global_nhnkcp')){ // 타 PG 사용시 NHN KCP 네이버페이 사용이 설정되어 있다면
|
||||
require_once(G5_MSHOP_PATH.'/kcp/easypay_form.1.php');
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
@ -586,6 +594,8 @@ if($is_kakaopay_use) {
|
||||
echo '<li><input type="radio" id="od_settle_card" name="od_settle_case" value="신용카드" '.$checked.'> <label for="od_settle_card" class="lb_icon card_icon">신용카드</label></li>'.PHP_EOL;
|
||||
$checked = '';
|
||||
}
|
||||
|
||||
$easypay_prints = array();
|
||||
|
||||
// PG 간편결제
|
||||
if($default['de_easy_pay_use']) {
|
||||
@ -602,8 +612,30 @@ if($is_kakaopay_use) {
|
||||
}
|
||||
|
||||
$multi_settle++;
|
||||
echo '<li><input type="radio" id="od_settle_easy_pay" name="od_settle_case" value="간편결제" '.$checked.'> <label for="od_settle_easy_pay" class="'.$pg_easy_pay_name.' lb_icon">'.$pg_easy_pay_name.'</label></li>'.PHP_EOL;
|
||||
$checked = '';
|
||||
|
||||
if($default['de_pg_service'] === 'kcp' && isset($default['de_easy_pay_services']) && $default['de_easy_pay_services']){
|
||||
$de_easy_pay_service_array = explode(',', $default['de_easy_pay_services']);
|
||||
if( in_array('nhnkcp_payco', $de_easy_pay_service_array) ){
|
||||
$easypay_prints['nhnkcp_payco'] = '<li><input type="radio" id="od_settle_nhnkcp_payco" name="od_settle_case" data-pay="payco" value="간편결제"> <label for="od_settle_nhnkcp_payco" class="PAYCO nhnkcp_payco lb_icon" title="NHN_KCP - PAYCO">PAYCO</label></li>';
|
||||
}
|
||||
if( in_array('nhnkcp_naverpay', $de_easy_pay_service_array) ){
|
||||
$easypay_prints['nhnkcp_naverpay'] = '<li><input type="radio" id="od_settle_nhnkcp_naverpay" name="od_settle_case" data-pay="naverpay" value="간편결제" > <label for="od_settle_nhnkcp_naverpay" class="naverpay_icon nhnkcp_naverpay lb_icon" title="NHN_KCP - 네이버페이">네이버페이</label></li>';
|
||||
}
|
||||
if( in_array('nhnkcp_kakaopay', $de_easy_pay_service_array) ){
|
||||
$easypay_prints['nhnkcp_kakaopay'] = '<li><input type="radio" id="od_settle_nhnkcp_kakaopay" name="od_settle_case" data-pay="kakaopay" value="간편결제" > <label for="od_settle_nhnkcp_kakaopay" class="kakaopay_icon nhnkcp_kakaopay lb_icon" title="NHN_KCP - 카카오페이">카카오페이</label></li>';
|
||||
}
|
||||
} else {
|
||||
$easypay_prints[strtolower($pg_easy_pay_name)] = '<li><input type="radio" id="od_settle_easy_pay" name="od_settle_case" value="간편결제" '.$checked.'> <label for="od_settle_easy_pay" class="'.$pg_easy_pay_name.' lb_icon">'.$pg_easy_pay_name.'</label></li>';
|
||||
}
|
||||
}
|
||||
|
||||
if( ! isset($easypay_prints['nhnkcp_naverpay']) && function_exists('is_use_easypay') && is_use_easypay('global_nhnkcp') ){
|
||||
$easypay_prints['nhnkcp_naverpay'] = '<li><input type="radio" id="od_settle_nhnkcp_naverpay" name="od_settle_case" data-pay="naverpay" value="간편결제" > <label for="od_settle_nhnkcp_naverpay" class="naverpay_icon nhnkcp_naverpay lb_icon" title="NHN_KCP - 네이버페이">네이버페이</label></li>';
|
||||
}
|
||||
|
||||
if($easypay_prints) {
|
||||
$multi_settle++;
|
||||
echo run_replace('shop_orderform_easypay_buttons', implode(PHP_EOL, $easypay_prints), $easypay_prints, $multi_settle);
|
||||
}
|
||||
|
||||
//이니시스 삼성페이
|
||||
@ -696,6 +728,10 @@ if($is_kakaopay_use) {
|
||||
require_once(G5_MSHOP_PATH.'/samsungpay/orderform.2.php');
|
||||
}
|
||||
|
||||
if(function_exists('is_use_easypay') && is_use_easypay('global_nhnkcp')){ // 타 PG 사용시 NHN KCP 네이버페이 사용이 설정되어 있다면
|
||||
require_once(G5_MSHOP_PATH.'/kcp/easypay_form.2.php');
|
||||
}
|
||||
|
||||
if($is_kakaopay_use) {
|
||||
require_once(G5_SHOP_PATH.'/kakaopay/orderform.2.php');
|
||||
}
|
||||
@ -730,6 +766,10 @@ if($is_kakaopay_use) {
|
||||
if( is_inicis_simple_pay() ){ //삼성페이 사용시
|
||||
require_once(G5_MSHOP_PATH.'/samsungpay/order.script.php');
|
||||
}
|
||||
|
||||
if(function_exists('is_use_easypay') && is_use_easypay('global_nhnkcp')){ // 타 PG 사용시 NHN KCP 네이버페이 사용이 설정되어 있다면
|
||||
require_once(G5_MSHOP_PATH.'/kcp/m_order.script.php');
|
||||
}
|
||||
?>
|
||||
<script>
|
||||
var zipcode = "";
|
||||
@ -1160,7 +1200,7 @@ function calculate_tax()
|
||||
});
|
||||
|
||||
if($("input[name=od_temp_point]").size())
|
||||
temp_point = parseInt($("input[name=od_temp_point]").val());
|
||||
temp_point = parseInt($("input[name=od_temp_point]").val()) || 0;
|
||||
|
||||
tot_mny += (send_cost + send_cost2 - od_coupon - send_coupon - temp_point);
|
||||
if(tot_mny < 0) {
|
||||
@ -1223,6 +1263,10 @@ function pay_approval()
|
||||
|
||||
if( settle_method == "삼성페이" || settle_method == "lpay" || settle_method == "inicis_kakaopay" ){
|
||||
form_order_method = 'samsungpay';
|
||||
} else if(settle_method == "간편결제") {
|
||||
if(jQuery("input[name='od_settle_case']:checked" ).attr("data-pay") === "naverpay"){
|
||||
form_order_method = 'nhnkcp_naverpay';
|
||||
}
|
||||
}
|
||||
|
||||
if( jQuery(pf).triggerHandler("form_sumbit_order_"+form_order_method) !== false ) {
|
||||
@ -1239,10 +1283,31 @@ function pay_approval()
|
||||
f.rcvr_add1.value = pf.od_b_addr1.value;
|
||||
f.rcvr_add2.value = pf.od_b_addr2.value;
|
||||
f.settle_method.value = settle_method;
|
||||
if(settle_method == "간편결제")
|
||||
f.payco_direct.value = "Y";
|
||||
else
|
||||
f.payco_direct.value = "";
|
||||
|
||||
if(typeof f.payco_direct !== "undefined") f.payco_direct.value = "";
|
||||
if(typeof f.naverpay_direct !== "undefined") f.naverpay_direct.value = "A";
|
||||
if(typeof f.kakaopay_direct !== "undefined") f.kakaopay_direct.value = "A";
|
||||
if(typeof f.ActionResult !== "undefined") f.ActionResult.value = "";
|
||||
if(typeof f.pay_method !== "undefined") f.pay_method.value = "";
|
||||
|
||||
if(settle_method == "간편결제"){
|
||||
var nhnkcp_easy_pay = jQuery("input[name='od_settle_case']:checked" ).attr("data-pay");
|
||||
|
||||
if(nhnkcp_easy_pay === "naverpay"){
|
||||
if(typeof f.naverpay_direct !== "undefined"){
|
||||
f.naverpay_direct.value = "Y";
|
||||
}
|
||||
} else if(nhnkcp_easy_pay === "kakaopay"){
|
||||
if(typeof f.kakaopay_direct !== "undefined") f.kakaopay_direct.value = "Y";
|
||||
} else {
|
||||
if(typeof f.payco_direct !== "undefined") f.payco_direct.value = "Y";
|
||||
}
|
||||
|
||||
if(typeof f.ActionResult !== "undefined") f.ActionResult.value = "CARD"; // 대소문자 구분
|
||||
if(typeof f.pay_method !== "undefined") f.pay_method.value = "card"; // 대소문자 구분
|
||||
|
||||
}
|
||||
|
||||
<?php } else if($default['de_pg_service'] == 'lg') { ?>
|
||||
var pay_method = "";
|
||||
var easy_pay = "";
|
||||
@ -1472,7 +1537,7 @@ function payment_check(f)
|
||||
if (f.od_temp_point.value)
|
||||
{
|
||||
var point_unit = parseInt(<?php echo $default['de_settle_point_unit']; ?>);
|
||||
temp_point = parseInt(f.od_temp_point.value);
|
||||
temp_point = parseInt(f.od_temp_point.value) || 0;
|
||||
|
||||
if (temp_point < 0) {
|
||||
alert("포인트를 0 이상 입력하세요.");
|
||||
|
||||
@ -7,6 +7,11 @@ if( is_inicis_order_pay($od_settle_case) && !empty($_POST['P_HASH']) ){
|
||||
$default['de_pg_service'] = 'inicis';
|
||||
}
|
||||
|
||||
// 타 PG 사용시 NHN KCP 네이버페이로 결제 요청이 왔다면 $default['de_pg_service'] 값을 kcp 로 변경합니다.
|
||||
if(function_exists('is_use_easypay') && is_use_easypay('global_nhnkcp') && isset($_POST['enc_data']) && $_POST['enc_data'] && isset($_POST['site_cd']) && isset($_POST['nhnkcp_pay_case']) && $_POST['nhnkcp_pay_case'] === "naverpay"){
|
||||
$default['de_pg_service'] = 'kcp';
|
||||
}
|
||||
|
||||
if( $default['de_pg_service'] == 'inicis' && get_session('ss_order_id') ){
|
||||
if( $exist_order = get_shop_order_data(get_session('ss_order_id')) ){ //이미 상품이 주문되었다면 리다이렉트
|
||||
if($exist_order['od_tno']){
|
||||
@ -45,6 +50,18 @@ if (get_cart_count($tmp_cart_id) == 0) { // 장바구니에 담기
|
||||
alert('장바구니가 비어 있습니다.\\n\\n이미 주문하셨거나 장바구니에 담긴 상품이 없는 경우입니다.', G5_SHOP_URL.'/cart.php');
|
||||
}
|
||||
|
||||
$sql = "select * from {$g5['g5_shop_order_table']} limit 1";
|
||||
$check_tmp = sql_fetch($sql);
|
||||
|
||||
if(!isset($check_tmp['od_other_pay_type'])){
|
||||
$sql = "ALTER TABLE `{$g5['g5_shop_order_table']}`
|
||||
ADD COLUMN `od_other_pay_type` VARCHAR(100) NOT NULL DEFAULT '' AFTER `od_settle_case`; ";
|
||||
sql_query($sql, false);
|
||||
}
|
||||
|
||||
// 변수 초기화
|
||||
$od_other_pay_type = '';
|
||||
|
||||
$error = "";
|
||||
// 장바구니 상품 재고 검사
|
||||
$sql = " select it_id,
|
||||
@ -616,6 +633,7 @@ $sql = " insert {$g5['g5_shop_order_table']}
|
||||
od_mobile = '1',
|
||||
od_ip = '$REMOTE_ADDR',
|
||||
od_settle_case = '$od_settle_case',
|
||||
od_other_pay_type = '$od_other_pay_type',
|
||||
od_test = '{$default['de_card_test']}'
|
||||
";
|
||||
$result = sql_query($sql, false);
|
||||
|
||||
@ -237,7 +237,6 @@ if($od['od_pg'] == 'lg') {
|
||||
$app_no_subj = '';
|
||||
$disp_bank = true;
|
||||
$disp_receipt = false;
|
||||
$easy_pay_name = '';
|
||||
if($od['od_settle_case'] == '신용카드' || $od['od_settle_case'] == 'KAKAOPAY' || is_inicis_order_pay($od['od_settle_case']) ) {
|
||||
$app_no_subj = '승인번호';
|
||||
$app_no = $od['od_app_no'];
|
||||
@ -247,19 +246,6 @@ if($od['od_pg'] == 'lg') {
|
||||
$app_no_subj = '승인번호';
|
||||
$app_no = $od['od_app_no'];
|
||||
$disp_bank = false;
|
||||
switch($od['od_pg']) {
|
||||
case 'lg':
|
||||
$easy_pay_name = 'PAYNOW';
|
||||
break;
|
||||
case 'inicis':
|
||||
$easy_pay_name = 'KPAY';
|
||||
break;
|
||||
case 'kcp':
|
||||
$easy_pay_name = 'PAYCO';
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else if($od['od_settle_case'] == '휴대폰') {
|
||||
$app_no_subj = '휴대폰번호';
|
||||
$app_no = $od['od_bank_account'];
|
||||
@ -291,7 +277,7 @@ if($od['od_pg'] == 'lg') {
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">결제방식</th>
|
||||
<td><?php echo ($easy_pay_name ? $easy_pay_name.'('.$od['od_settle_case'].')' : check_pay_name_replace($od['od_settle_case'])); ?></td>
|
||||
<td><?php echo check_pay_name_replace($od['od_settle_case'], $od, 1); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">결제금액</th>
|
||||
@ -309,7 +295,7 @@ if($od['od_pg'] == 'lg') {
|
||||
}
|
||||
|
||||
// 승인번호, 휴대폰번호, 거래번호
|
||||
if($app_no_subj)
|
||||
if($app_no_subj && $app_no)
|
||||
{
|
||||
?>
|
||||
<tr>
|
||||
|
||||
@ -47,7 +47,7 @@ $g_conf_site_cd = $default['de_kcp_mid'];
|
||||
$g_conf_site_key = $default['de_kcp_site_key'];
|
||||
|
||||
// 테스트 결제 때 PAYCO site_cd, site_key 재설정
|
||||
if($default['de_card_test'] && ($_POST['settle_method'] == '간편결제' || $_POST['od_settle_case'] == '간편결제')) {
|
||||
if($default['de_card_test'] && (($_POST['settle_method'] == '간편결제' || $_POST['od_settle_case'] == '간편결제') && (isset($_POST['payco_direct']) && $_POST['payco_direct'] === 'Y') )) {
|
||||
$g_conf_site_cd = 'S6729';
|
||||
$g_conf_site_key = '';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user