first commit 2
@@ -0,0 +1,2 @@
|
||||
<?php
|
||||
include_once('../../common.php');
|
||||
@@ -0,0 +1,5 @@
|
||||
-----BEGIN RSA PUBLIC KEY-----
|
||||
MIGJAoGBAMEn9niy+ZB7GGn9JOA9csyJo2vTpd3/ieHW8nCfiDf77YJvEtUmudCU
|
||||
JXMNQ1uBuHq7+IzajoJhhvGXyOHVr9w+Oq/d8XZPPe7X2agh1WAMDV4mjQNaAncr
|
||||
DU1qxlTFuAdKRkK7qkqyWSHHtq0HaW/zmBmcIoGn4RwY9y7oKFBpAgMBAAE=
|
||||
-----END RSA PUBLIC KEY-----
|
||||
@@ -0,0 +1,122 @@
|
||||
BODY
|
||||
{
|
||||
}
|
||||
|
||||
td {font-family: "돋움", "돋움체", Arial, Verdana;font-size: 9pt;color: #000000;}
|
||||
|
||||
/*이미지*/
|
||||
.indexbox {background-image: url('../img/index_bg_box.jpg');padding-top: 58px;padding-right: 27px;padding-bottom: 27px;padding-left: 27px;}
|
||||
.indexgen {background-image: url(../img/index_gen.jpg);background-repeat: no-repeat;}
|
||||
.indexescrow {background-image: url(../img/index_escrow.jpg);}
|
||||
.indexcms {background-image: url(../img/index_cms.jpg);}
|
||||
.line1 {background-image: url(../img/line_dot1.gif);background-repeat: repeat;height:1px;}
|
||||
.bulgen {background-image: url(../img/bul_gen.gif);background-repeat: no-repeat;}
|
||||
.bulescrow {background-image: url(../img/bul_escrow.gif);background-repeat: no-repeat;}
|
||||
.bulcms {background-image: url(../img/bul_cms.gif);background-repeat: no-repeat;}
|
||||
.boxtop589 {background-image: url(../img/boxtop589.gif);background-repeat: no-repeat;}
|
||||
.boxbtm589 {background-image: url(../img/boxbtm589.gif);background-repeat: no-repeat;}
|
||||
.boxbg589 {background-image: url(../img/boxbg589.gif);background-repeat: repeat;}
|
||||
.ttbg551 {background-image: url(../img/ttbg551.gif);background-repeat: no-repeat;padding-left: 18px;}
|
||||
.ttbtm551 {background-image: url(../img/ttbg551.gif);background-repeat: no-repeat;padding-left: 18px;}
|
||||
.boxbg551 {background-image: url(../img/boxbg551.gif);background-repeat: repeat;padding:18 18 18 18;}
|
||||
.boxbtm551 {background-image: url(../img/boxbtm551.gif);background-repeat: no-repeat;}
|
||||
img { border: 0px; margin: 0px; padding: 0px;} /* img border 0 */
|
||||
|
||||
/*테이블*/
|
||||
.tbtop {background-color: #0f75ac;background-repeat: repeat;}
|
||||
.tbleft {background-repeat: no-repeat;background-image: url(../img/tb_left.gif);height: 27px;color: #003b7e;width: 139px;padding:3 0 0 25;}
|
||||
.tbline {background-color: #bbcbdb;background-repeat: repeat;}
|
||||
.tbline2 {background-color: #a3ccf3;background-repeat: repeat;}
|
||||
.padding12{padding-left: 12px;}
|
||||
|
||||
|
||||
/*폰트*/
|
||||
.bold {font-weight: bold;}
|
||||
.white {color: #ffffff;}
|
||||
.orange {color: orange;}
|
||||
.red {color: red;}
|
||||
.tt12{ font-size: 12pt; color: #ffffff;font-weight: bold;}
|
||||
|
||||
.linkb{ font-size: 9pt; color: #000000;font-weight: bold;text-decoration: none;}
|
||||
.linkb a:link{ font-size: 9pt; color: #000000;font-weight: bold;text-decoration: none;}
|
||||
.linkb a:visited{ font-size: 9pt; color: #000000;font-weight: bold;text-decoration: none;}
|
||||
.linkb a:hover{ font-size: 9pt; color: #000000;font-weight: bold;text-decoration: none;}
|
||||
|
||||
/*FORM*/
|
||||
.form { font-size: 9pt; background-color: #FFFFFF; color: #2c2c2c; border: 1 solid #7f9db9; padding:3 0 0 3; height: 20px}
|
||||
.formwon {font-size: 9pt;background-color: #FFFFFF;color: #2c2c2c; border: 1 solid #7f9db9; padding:3 0 0 3; height: 20px;text-align: right;}
|
||||
|
||||
/*
|
||||
##### title #####
|
||||
*/
|
||||
#main_link
|
||||
{
|
||||
|
||||
top:17%;
|
||||
left:50%;
|
||||
|
||||
margin-left:-130px;
|
||||
margin-top:20px;
|
||||
|
||||
position:absolute;
|
||||
}
|
||||
|
||||
#main_link ul
|
||||
{
|
||||
list-style-type:none;
|
||||
}
|
||||
|
||||
.title
|
||||
{
|
||||
font-family:"굴림";
|
||||
font-size: 12pt;
|
||||
font-weight: bold;
|
||||
|
||||
padding-left:20px;
|
||||
background: url(../img/bul_gen.gif) no-repeat 0 50%;
|
||||
}
|
||||
|
||||
.sub
|
||||
{
|
||||
font-family:"돋움";
|
||||
font-size: 9pt;
|
||||
color: #3f3f3f;
|
||||
padding-left:20px;
|
||||
}
|
||||
|
||||
/*
|
||||
##### background image #####
|
||||
*/
|
||||
#bg_image
|
||||
{
|
||||
position:absolute;
|
||||
|
||||
width: 602px;
|
||||
height:400px;
|
||||
|
||||
top:10%;
|
||||
left:50%;
|
||||
|
||||
margin-left: -301px;
|
||||
|
||||
}
|
||||
|
||||
#left_bg
|
||||
{
|
||||
float: left;
|
||||
|
||||
width:160px;
|
||||
height:400px;
|
||||
|
||||
background-image: url("../img/index_gen.jpg");
|
||||
list-style-type:none;
|
||||
}
|
||||
|
||||
#right_bg
|
||||
{
|
||||
float: left;
|
||||
width:432px;
|
||||
height:400px;
|
||||
background-image: url("../img/index_bg_box.jpg");
|
||||
list-style-type:none;
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
body {FONT-FAMILY: ±¼¸²;font-size:12px;}
|
||||
|
||||
/*base link*/
|
||||
a {FONT-FAMILY: "Arial", "±¼¸²"; font-size: 12px; TEXT-DECORATION: none}
|
||||
a:hover {FONT-FAMILY: "Arial",±¼¸²; FONT-SIZE: 12px; color: #4D82A2; TEXT-DECORATION:none}
|
||||
|
||||
img { border:0; }
|
||||
.bold {font-weight:bold;}
|
||||
.white {color:white;}
|
||||
.big {font-size:12pt;}
|
||||
.align_left {text-align: left;}
|
||||
.right {text-align: right;}
|
||||
.red { color:red;}
|
||||
.blue { color:blue;}
|
||||
.orange {color:orange;}
|
||||
.frmselect {font-size:12px;font-family:"Arial",±¼¸²;color:#2c2c2c;border:1 solid #7f9db9;height:20px;margin-left:10px;}
|
||||
.frminput {font-size:12px;font-family:"Arial",±¼¸²;color:#2c2c2c;border:1 solid #7f9db9;height:15px;margin-left:10px;}
|
||||
.width95 {width:95px;}
|
||||
.celpadd {padding: 3 0 3 3;}
|
||||
.celpadd1 {padding: 3 0 3 13;}
|
||||
|
||||
.line1 { width:1px; background-color:#bbcbdb; }
|
||||
.line2 { height:1px; background-color:#bbcbdb; }
|
||||
|
||||
.height_1px { height:1px; }
|
||||
.height_2px { height:2px; }
|
||||
|
||||
.margin_top_20 { margin-top:20px; }
|
||||
.margin_top_10 { margin-top:10px; }
|
||||
|
||||
.title
|
||||
{
|
||||
height:20px;
|
||||
font-family:"Arial";
|
||||
font-size: 9pt;
|
||||
font-weight: bold;
|
||||
|
||||
color:#003b7e;
|
||||
text-align:center;
|
||||
|
||||
border-bottom: 1px solid #0f75ac ;
|
||||
border-top: 1px solid #0f75ac ;
|
||||
}
|
||||
|
||||
.sub_title1 {
|
||||
width:150px;
|
||||
font-size:12px;
|
||||
height:20px;
|
||||
padding: 3 0 3 3;
|
||||
background-color:#e6f3f4;
|
||||
background-image:url("./img/bullet.gif") ;
|
||||
color:#003b7e;
|
||||
margin-left:10px;
|
||||
border-bottom: 1px solid #bbcbdb ;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.sub_input1 {
|
||||
font-size:12px;
|
||||
height:20px;
|
||||
padding: 3 0 3 3;
|
||||
text-align:left;
|
||||
border-bottom: 1px solid #bbcbdb ;
|
||||
}
|
||||
|
||||
.sub_content1 {
|
||||
font-size:12px;
|
||||
padding: 3 0 3 3;
|
||||
text-align:left;
|
||||
text-indent:10px;
|
||||
border-bottom: 1px solid #bbcbdb ;
|
||||
}
|
||||
|
||||
.sub_content1_center {
|
||||
font-size:12px;
|
||||
padding: 3 0 3 3;
|
||||
text-align:center;
|
||||
border-bottom: 1px solid #bbcbdb ;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
|
||||
if($od['od_pg'] != 'kcp') return;
|
||||
|
||||
include_once(G5_SHOP_PATH.'/settle_kcp.inc.php');
|
||||
include_once(G5_SHOP_PATH.'/kcp/pp_ax_hub_lib.php');
|
||||
|
||||
// locale ko_KR.euc-kr 로 설정
|
||||
setlocale(LC_CTYPE, 'ko_KR.euc-kr');
|
||||
|
||||
$req_tx = 'mod_escrow';
|
||||
$mod_type = 'STE1';
|
||||
$mod_desc = '에스크로 배송시작 등록';
|
||||
$cust_ip = getenv('REMOTE_ADDR');
|
||||
$ordr_idxx = isset($ordr_idxx) ? preg_replace('/[^a-z0-9_\-]/i', '', $ordr_idxx) : '';
|
||||
|
||||
$c_PayPlus = new C_PP_CLI_T;
|
||||
$c_PayPlus->mf_clear();
|
||||
|
||||
$tran_cd = "00200000";
|
||||
|
||||
// 에스크로 상태변경
|
||||
$c_PayPlus->mf_set_modx_data( "tno", $escrow_tno );
|
||||
$c_PayPlus->mf_set_modx_data( "mod_type", $mod_type );
|
||||
$c_PayPlus->mf_set_modx_data( "mod_ip", $cust_ip );
|
||||
$c_PayPlus->mf_set_modx_data( "mod_desc", $mod_desc );
|
||||
|
||||
$c_PayPlus->mf_set_modx_data( "deli_numb", $escrow_numb );
|
||||
$c_PayPlus->mf_set_modx_data( "deli_corp", $escrow_corp );
|
||||
|
||||
$c_PayPlus->mf_do_tx( '', $g_conf_home_dir, $g_conf_site_cd, $g_conf_site_key, $tran_cd, "",
|
||||
$g_conf_gw_url, $g_conf_gw_port, "payplus_cli_slib", $ordr_idxx,
|
||||
$cust_ip, "3" , 0, 0, $g_conf_key_dir, $g_conf_log_dir); // 응답 전문 처리
|
||||
|
||||
$res_cd = $c_PayPlus->m_res_cd; // 결과 코드
|
||||
$res_msg = $c_PayPlus->m_res_msg; // 결과 메시지
|
||||
|
||||
// locale 설정 초기화
|
||||
setlocale(LC_CTYPE, '');
|
||||
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// 타 PG 사용시 NHN KCP 네이버페이 사용이 설정되어 있는지 체크, 그렇지 않다면 return;
|
||||
if( !(function_exists('is_use_easypay') && is_use_easypay('global_nhnkcp')) ){
|
||||
return;
|
||||
}
|
||||
|
||||
include_once(G5_SHOP_PATH.'/settle_kcp.inc.php');
|
||||
@@ -0,0 +1,324 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// 타 PG 사용시 NHN KCP 네이버페이 사용이 설정되어 있는지 체크, 그렇지 않다면 return;
|
||||
if( !(function_exists('is_use_easypay') && is_use_easypay('global_nhnkcp')) ){
|
||||
return;
|
||||
}
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
/****************************************************************/
|
||||
/* m_Completepayment 설명 */
|
||||
/****************************************************************/
|
||||
/* 인증완료시 재귀 함수 */
|
||||
/* 해당 함수명은 절대 변경하면 안됩니다. */
|
||||
/* 해당 함수의 위치는 payplus.js 보다먼저 선언되어여 합니다. */
|
||||
/* Web 방식의 경우 리턴 값이 form 으로 넘어옴 */
|
||||
/* EXE 방식의 경우 리턴 값이 json 으로 넘어옴 */
|
||||
/****************************************************************/
|
||||
var kcp_close_eveng_ing = 0;
|
||||
|
||||
function m_Completepayment( FormOrJson, closeEvent )
|
||||
{
|
||||
var frm = document.nhnkcp_pay_form;
|
||||
|
||||
/********************************************************************/
|
||||
/* FormOrJson은 가맹점 임의 활용 금지 */
|
||||
/* frm 값에 FormOrJson 값이 설정 됨 frm 값으로 활용 하셔야 됩니다. */
|
||||
/* FormOrJson 값을 활용 하시려면 기술지원팀으로 문의바랍니다. */
|
||||
/********************************************************************/
|
||||
GetField( frm, FormOrJson );
|
||||
|
||||
if( frm.res_cd.value == "0000" )
|
||||
{
|
||||
document.getElementById("display_pay_button").style.display = "none" ;
|
||||
document.getElementById("display_pay_process").style.display = "" ;
|
||||
|
||||
frm.submit();
|
||||
}
|
||||
else
|
||||
{
|
||||
if( ! kcp_close_eveng_ing ){
|
||||
|
||||
kcp_close_eveng_ing = 1;
|
||||
alert( "[" + frm.res_cd.value + "] " + frm.res_msg.value );
|
||||
|
||||
setTimeout(function(){
|
||||
kcp_close_eveng_ing = 0;
|
||||
}, 500);
|
||||
|
||||
closeEvent();
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<script src="<?php echo $g_conf_js_url; ?>"></script>
|
||||
<script>
|
||||
/* Payplus Plug-in 실행 */
|
||||
function jsf__pay( form )
|
||||
{
|
||||
try
|
||||
{
|
||||
KCP_Pay_Execute( form );
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
/* IE 에서 결제 정상종료시 throw로 스크립트 종료 */
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<form name="nhnkcp_pay_form" id="nhnkcp_pay_form" method="POST" action="<?php echo $order_action_url; ?>" style="display:none">
|
||||
<?php
|
||||
/* ============================================================================== */
|
||||
/* = 2. 가맹점 필수 정보 설정 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = ※ 필수 - 결제에 반드시 필요한 정보입니다. = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
// 요청종류 : 승인(pay)/취소,매입(mod) 요청시 사용
|
||||
?>
|
||||
<input type="hidden" name="req_tx" value="pay">
|
||||
<input type="hidden" name="site_cd" value="<?php echo $default['de_kcp_mid']; ?>">
|
||||
<input type="hidden" name="site_name" value="<?php echo $g_conf_site_name; ?>">
|
||||
<input type="hidden" name="def_site_cd" value="<?php echo $default['de_kcp_mid']; ?>">
|
||||
<input type="hidden" name="od_settle_case" value="">
|
||||
<input type="hidden" name="nhnkcp_pay_case" value="">
|
||||
<?php
|
||||
/*
|
||||
할부옵션 : Payplus Plug-in에서 카드결제시 최대로 표시할 할부개월 수를 설정합니다.(0 ~ 18 까지 설정 가능)
|
||||
※ 주의 - 할부 선택은 결제금액이 50,000원 이상일 경우에만 가능, 50000원 미만의 금액은 일시불로만 표기됩니다
|
||||
예) value 값을 "5" 로 설정했을 경우 => 카드결제시 결제창에 일시불부터 5개월까지 선택가능
|
||||
*/
|
||||
?>
|
||||
<input type="hidden" name="pay_method" value="">
|
||||
<input type="hidden" name="ordr_idxx" value="<?php echo $od_id; ?>">
|
||||
<input type="hidden" name="good_name" value="<?php echo isset($goods) ? get_text($goods) : ''; ?>">
|
||||
<input type="hidden" name="good_mny" value="<?php echo $tot_price; ?>">
|
||||
<input type="hidden" name="buyr_name" value="">
|
||||
<input type="hidden" name="buyr_mail" value="">
|
||||
<input type="hidden" name="buyr_tel1" value="">
|
||||
<input type="hidden" name="buyr_tel2" 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="">
|
||||
<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="payco_direct" value=""> <!-- PAYCO 결제창 호출 -->
|
||||
<input type="hidden" name="naverpay_direct" value="A" > <!-- NAVERPAY 결제창 호출 -->
|
||||
<?php if(isset($default['de_easy_pay_services']) && in_array('used_nhnkcp_naverpay_point', explode(',', $default['de_easy_pay_services'])) ){ // 네이버페이 포인트 결제 옵션 ?>
|
||||
<input type="hidden" name="naverpay_point_direct" value="Y"> <!-- 네이버페이 포인트 결제를 하려면 naverpay_point_direct 를 Y -->
|
||||
<?php } ?>
|
||||
<input type="hidden" name="kakaopay_direct" value="A" > <!-- KAKAOPAY 결제창 호출 -->
|
||||
|
||||
<input type="hidden" name="quotaopt" value="12">
|
||||
|
||||
<!-- 필수 항목 : 결제 금액/화폐단위 -->
|
||||
<input type="hidden" name="currency" value="WON">
|
||||
|
||||
<?php
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 2. 가맹점 필수 정보 설정 END = */
|
||||
/* ============================================================================== */
|
||||
?>
|
||||
|
||||
<?php
|
||||
/* ============================================================================== */
|
||||
/* = 3. Payplus Plugin 필수 정보(변경 불가) = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 결제에 필요한 주문 정보를 입력 및 설정합니다. = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
?>
|
||||
<!-- PLUGIN 설정 정보입니다(변경 불가) -->
|
||||
<input type="hidden" name="module_type" value="01">
|
||||
<!-- 복합 포인트 결제시 넘어오는 포인트사 코드 : OK캐쉬백(SCSK), 베네피아 복지포인트(SCWB) -->
|
||||
<input type="hidden" name="epnt_issu" value="">
|
||||
<!--
|
||||
※ 필 수
|
||||
필수 항목 : Payplus Plugin에서 값을 설정하는 부분으로 반드시 포함되어야 합니다
|
||||
값을 설정하지 마십시오
|
||||
-->
|
||||
<input type="hidden" name="res_cd" value="">
|
||||
<input type="hidden" name="res_msg" value="">
|
||||
<input type="hidden" name="tno" value="">
|
||||
<input type="hidden" name="trace_no" value="">
|
||||
<input type="hidden" name="enc_info" value="">
|
||||
<input type="hidden" name="enc_data" value="">
|
||||
<input type="hidden" name="ret_pay_method" value="">
|
||||
<input type="hidden" name="tran_cd" value="">
|
||||
<input type="hidden" name="bank_name" value="">
|
||||
<input type="hidden" name="bank_issu" value="">
|
||||
<input type="hidden" name="use_pay_method" value="">
|
||||
|
||||
<!-- 현금영수증 관련 정보 : Payplus Plugin 에서 설정하는 정보입니다 -->
|
||||
<input type="hidden" name="cash_tsdtime" value="">
|
||||
<input type="hidden" name="cash_yn" value="">
|
||||
<input type="hidden" name="cash_authno" value="">
|
||||
<input type="hidden" name="cash_tr_code" value="">
|
||||
<input type="hidden" name="cash_id_info" value="">
|
||||
|
||||
<!-- 2012년 8월 18일 정자상거래법 개정 관련 설정 부분 -->
|
||||
<!-- 제공 기간 설정 0:일회성 1:기간설정(ex 1:2012010120120131) -->
|
||||
<!--
|
||||
2012.08.18 부터 개정 시행되는 '전자상거래 등에서의 소비자보호에 관한 법률'에 따른 코드 변경
|
||||
이용기간이 제한되는 컨텐츠 상품이나 정기 과금 상품 등에 한하여 '용역의 제공기간'을
|
||||
표기/적용하여야 하며 이와 무관한 실물 배송상품 등의 결제에는 해당되지 않습니다.
|
||||
0 : 일반결제
|
||||
good_expr의 나머지 적용 방식에 대해서는 KCP에서 제공하는 매뉴얼을 참고해 주세요.
|
||||
-->
|
||||
<input type="hidden" name="good_expr" value="0">
|
||||
|
||||
<!-- 가맹점에서 관리하는 고객 아이디 설정을 해야 합니다.(필수 설정) -->
|
||||
<input type="hidden" name="shop_user_id" value=""/>
|
||||
<!-- 복지포인트 결제시 가맹점에 할당되어진 코드 값을 입력해야합니다.(필수 설정) -->
|
||||
<input type="hidden" name="pt_memcorp_cd" value=""/>
|
||||
|
||||
<!-- 에스크로 항목 -->
|
||||
|
||||
<!-- 에스크로 사용 여부 : 반드시 Y 로 세팅 -->
|
||||
<input type="hidden" name="escw_used" value="Y">
|
||||
|
||||
<!-- 에스크로 결제처리 모드 : 에스크로: Y, 일반: N, KCP 설정 조건: O -->
|
||||
<input type="hidden" name="pay_mod" value="<?php echo ($default['de_escrow_use']?"O":"N"); ?>">
|
||||
|
||||
<!-- 배송 소요일 : 예상 배송 소요일을 입력 -->
|
||||
<input type="hidden" name="deli_term" value="03">
|
||||
|
||||
<!-- 장바구니 상품 개수 : 장바구니에 담겨있는 상품의 개수를 입력 -->
|
||||
<input type="hidden" name="bask_cntx" value="<?php echo isset($goods_count) ? ((int) $goods_count + 1) : 0; ?>">
|
||||
|
||||
<!-- 장바구니 상품 상세 정보 (자바 스크립트 샘플(create_goodInfo()) 참고) -->
|
||||
<input type="hidden" name="good_info" value="">
|
||||
|
||||
<?php
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 3. Payplus Plugin 필수 정보 END = */
|
||||
/* ============================================================================== */
|
||||
?>
|
||||
|
||||
<?php
|
||||
/* ============================================================================== */
|
||||
/* = 4. 옵션 정보 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = ※ 옵션 - 결제에 필요한 추가 옵션 정보를 입력 및 설정합니다. = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
|
||||
/* PayPlus에서 보이는 신용카드사 삭제 파라미터 입니다
|
||||
※ 해당 카드를 결제창에서 보이지 않게 하여 고객이 해당 카드로 결제할 수 없도록 합니다. (카드사 코드는 매뉴얼을 참고)
|
||||
<input type="hidden" name="not_used_card" value="CCPH:CCSS:CCKE:CCHM:CCSH:CCLO:CCLG:CCJB:CCHN:CCCH"> */
|
||||
|
||||
/* 신용카드 결제시 OK캐쉬백 적립 여부를 묻는 창을 설정하는 파라미터 입니다
|
||||
OK캐쉬백 포인트 가맹점의 경우에만 창이 보여집니다
|
||||
<input type="hidden" name="save_ocb" value="Y"> */
|
||||
|
||||
/* 고정 할부 개월 수 선택
|
||||
value값을 "7" 로 설정했을 경우 => 카드결제시 결제창에 할부 7개월만 선택가능
|
||||
<input type="hidden" name="fix_inst" value="07"> */
|
||||
|
||||
/* 무이자 옵션
|
||||
※ 설정할부 (가맹점 관리자 페이지에 설정 된 무이자 설정을 따른다) - "" 로 설정
|
||||
※ 일반할부 (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="used_card_YN" value="Y">
|
||||
/* 사용카드 설정 파라미터 입니다. (해당 카드만 결제창에 보이게 설정하는 파라미터입니다. used_card_YN 값이 Y일때 적용됩니다.
|
||||
/<input type="hidden" name="used_card" value="CCBC:CCKM:CCSS">
|
||||
|
||||
/* 해외카드 구분하는 파라미터 입니다.(해외비자, 해외마스터, 해외JCB로 구분하여 표시)
|
||||
<input type="hidden" name="used_card_CCXX" value="Y">
|
||||
|
||||
/* 가상계좌 은행 선택 파라미터
|
||||
※ 해당 은행을 결제창에서 보이게 합니다.(은행코드는 매뉴얼을 참조) */
|
||||
?>
|
||||
|
||||
<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) */
|
||||
?>
|
||||
<input type="hidden" name="tax_flag" value="TG03"> <!-- 변경불가 -->
|
||||
<input type="hidden" name="comm_tax_mny" value=""> <!-- 과세금액 -->
|
||||
<input type="hidden" name="comm_vat_mny" value=""> <!-- 부가세 -->
|
||||
<input type="hidden" name="comm_free_mny" value=""> <!-- 비과세 금액 -->
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<input type="hidden" name="wish_vbank_list" value="">
|
||||
<?php
|
||||
|
||||
|
||||
/* 가상계좌 입금 기한 설정하는 파라미터 - 발급일 + 3일
|
||||
<input type="hidden" name="vcnt_expire_term" value="3"> */
|
||||
|
||||
|
||||
/* 가상계좌 입금 시간 설정하는 파라미터
|
||||
HHMMSS형식으로 입력하시기 바랍니다
|
||||
설정을 안하시는경우 기본적으로 23시59분59초가 세팅이 됩니다
|
||||
<input type="hidden" name="vcnt_expire_term_time" value="120000"> */
|
||||
|
||||
|
||||
/* 포인트 결제시 복합 결제(신용카드+포인트) 여부를 결정할 수 있습니다.- N 일경우 복합결제 사용안함
|
||||
<input type="hidden" name="complex_pnt_yn" value="N"> */
|
||||
|
||||
|
||||
/* 문화상품권 결제시 가맹점 고객 아이디 설정을 해야 합니다.(필수 설정)
|
||||
<input type="hidden" name="tk_shop_id" value=""> */
|
||||
|
||||
|
||||
/* 현금영수증 등록 창을 출력 여부를 설정하는 파라미터 입니다
|
||||
※ Y : 현금영수증 등록 창 출력
|
||||
※ N : 현금영수증 등록 창 출력 안함
|
||||
※ 주의 : 현금영수증 사용 시 KCP 상점관리자 페이지에서 현금영수증 사용 동의를 하셔야 합니다 */
|
||||
?>
|
||||
<input type="hidden" name="disp_tax_yn" value="N">
|
||||
<?php
|
||||
/* 결제창에 가맹점 사이트의 로고를 플러그인 좌측 상단에 출력하는 파라미터 입니다
|
||||
업체의 로고가 있는 URL을 정확히 입력하셔야 하며, 최대 150 X 50 미만 크기 지원
|
||||
|
||||
※ 주의 : 로고 용량이 150 X 50 이상일 경우 site_name 값이 표시됩니다. */
|
||||
?>
|
||||
<input type="hidden" name="site_logo" value="">
|
||||
<?php
|
||||
/* 결제창 영문 표시 파라미터 입니다. 영문을 기본으로 사용하시려면 Y로 세팅하시기 바랍니다
|
||||
2010-06월 현재 신용카드와 가상계좌만 지원됩니다
|
||||
<input type="hidden" name="eng_flag" value="Y"> */
|
||||
?>
|
||||
|
||||
<?php
|
||||
/* skin_indx 값은 스킨을 변경할 수 있는 파라미터이며 총 7가지가 지원됩니다.
|
||||
변경을 원하시면 1부터 7까지 값을 넣어주시기 바랍니다. */
|
||||
?>
|
||||
<input type="hidden" name="skin_indx" value="1">
|
||||
|
||||
<?php
|
||||
/* 상품코드 설정 파라미터 입니다.(상품권을 따로 구분하여 처리할 수 있는 옵션기능입니다.)
|
||||
<input type="hidden" name="good_cd" value=""> */
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 4. 옵션 정보 END = */
|
||||
/* ============================================================================== */
|
||||
?>
|
||||
</form>
|
||||
@@ -0,0 +1,81 @@
|
||||
<?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;
|
||||
|
||||
$(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 (pf.good_mny.value < 1000) {
|
||||
<?php // 간편결제수단은 신용카드처럼 취급하며 금액은 1000원 이상이므로, 1000원 이상이 아니면 PG사에서 승인하지 않는다. ?>
|
||||
alert("간편결제는 1000원 이상 결제가 가능합니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if( nhnkcp_settle_case == "naverpay" ){
|
||||
if(typeof nhnkcp_pay_form.naverpay_direct !== "undefined") nhnkcp_pay_form.naverpay_direct.value = "Y";
|
||||
}
|
||||
|
||||
nhnkcp_pay_form.pay_method.value = "100000000000";
|
||||
nhnkcp_pay_form.good_mny.value = pf.good_mny.value;
|
||||
nhnkcp_pay_form.good_name.value = pf.od_goods_name.value;
|
||||
nhnkcp_pay_form.good_info.value = "<?php echo $good_info; ?>";
|
||||
nhnkcp_pay_form.od_settle_case.value = od_settle_case;
|
||||
nhnkcp_pay_form.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;
|
||||
|
||||
$("input,select,textarea", this).each(
|
||||
function(index){
|
||||
var $clone_el = $(this).clone(),
|
||||
clone_el_name = $clone_el.attr("name"),
|
||||
clone_name_attr = "[name='"+clone_el_name+"']";
|
||||
|
||||
if( $clone_el.prop("type") == "radio" || $clone_el.prop("type") == "checkbox" ){
|
||||
if( $clone_el.attr("checked") != "checked" ){
|
||||
clone_el_name = "";
|
||||
}
|
||||
}
|
||||
|
||||
if( clone_el_name && ! (/^(LGD_|CST_|it_price|cp_price|requestByJs|timestamp|signature|returnUrl|mKey|charset|payViewType|closeUrl|popupUrl|quotabase|tax|od_settle_case)/i.test(clone_el_name)) ){
|
||||
if( $(nhnkcp_pay_form).find(clone_name_attr).length ){
|
||||
$(nhnkcp_pay_form).find(clone_name_attr).val( $clone_el.val() );
|
||||
} else {
|
||||
$(nhnkcp_pay_form).append($clone_el);
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
jsf__pay( nhnkcp_pay_form );
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 70 B |
|
After Width: | Height: | Size: 68 B |
|
After Width: | Height: | Size: 432 B |
|
After Width: | Height: | Size: 1022 B |
|
After Width: | Height: | Size: 454 B |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 144 B |
|
After Width: | Height: | Size: 144 B |
|
After Width: | Height: | Size: 144 B |
|
After Width: | Height: | Size: 57 B |
|
After Width: | Height: | Size: 73 B |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 70 B |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 188 B |
|
After Width: | Height: | Size: 4.7 KiB |
|
After Width: | Height: | Size: 213 B |
|
After Width: | Height: | Size: 508 B |
|
After Width: | Height: | Size: 44 B |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 161 B |
|
After Width: | Height: | Size: 496 B |
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// kcp 전자결제를 사용할 때만 실행
|
||||
if($default['de_iche_use'] || $default['de_vbank_use'] || $default['de_hp_use'] || $default['de_card_use'] || $default['de_easy_pay_use']) {
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
/****************************************************************/
|
||||
/* m_Completepayment 설명 */
|
||||
/****************************************************************/
|
||||
/* 인증완료시 재귀 함수 */
|
||||
/* 해당 함수명은 절대 변경하면 안됩니다. */
|
||||
/* 해당 함수의 위치는 payplus.js 보다먼저 선언되어여 합니다. */
|
||||
/* Web 방식의 경우 리턴 값이 form 으로 넘어옴 */
|
||||
/* EXE 방식의 경우 리턴 값이 json 으로 넘어옴 */
|
||||
/****************************************************************/
|
||||
function m_Completepayment( FormOrJson, closeEvent )
|
||||
{
|
||||
var frm = document.forderform;
|
||||
|
||||
/********************************************************************/
|
||||
/* FormOrJson은 가맹점 임의 활용 금지 */
|
||||
/* frm 값에 FormOrJson 값이 설정 됨 frm 값으로 활용 하셔야 됩니다. */
|
||||
/* FormOrJson 값을 활용 하시려면 기술지원팀으로 문의바랍니다. */
|
||||
/********************************************************************/
|
||||
GetField( frm, FormOrJson );
|
||||
|
||||
$("body").css({
|
||||
"position": "",
|
||||
"width": "",
|
||||
"top" : ""
|
||||
});
|
||||
|
||||
if( frm.res_cd.value == "0000" )
|
||||
{
|
||||
document.getElementById("display_pay_button").style.display = "none" ;
|
||||
document.getElementById("display_pay_process").style.display = "" ;
|
||||
|
||||
frm.submit();
|
||||
}
|
||||
else
|
||||
{
|
||||
alert( "[" + frm.res_cd.value + "] " + frm.res_msg.value );
|
||||
|
||||
closeEvent();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<script src="<?php echo $g_conf_js_url; ?>"></script>
|
||||
<script>
|
||||
/* Payplus Plug-in 실행 */
|
||||
function jsf__pay( form )
|
||||
{
|
||||
try
|
||||
{
|
||||
KCP_Pay_Execute( form );
|
||||
$("body").css({
|
||||
"position": "fixed",
|
||||
"width": "100%",
|
||||
"top" : "0"
|
||||
});
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
/* IE 에서 결제 정상종료시 throw로 스크립트 종료 */
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<?php }
|
||||
@@ -0,0 +1,252 @@
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = 2. 가맹점 필수 정보 설정 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = ※ 필수 - 결제에 반드시 필요한 정보입니다. = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
// 요청종류 : 승인(pay)/취소,매입(mod) 요청시 사용
|
||||
?>
|
||||
<input type="hidden" name="req_tx" value="pay">
|
||||
<input type="hidden" name="site_cd" value="<?php echo $default['de_kcp_mid']; ?>">
|
||||
<input type="hidden" name="site_name" value="<?php echo $g_conf_site_name; ?>">
|
||||
<input type="hidden" name="def_site_cd" value="<?php echo $default['de_kcp_mid']; ?>">
|
||||
|
||||
<!-- <input type="hidden" name="KCP_PAY_MODULE" value="kcp_web" > -->
|
||||
<?php
|
||||
/*
|
||||
할부옵션 : Payplus Plug-in에서 카드결제시 최대로 표시할 할부개월 수를 설정합니다.(0 ~ 18 까지 설정 가능)
|
||||
※ 주의 - 할부 선택은 결제금액이 50,000원 이상일 경우에만 가능, 50000원 미만의 금액은 일시불로만 표기됩니다
|
||||
예) value 값을 "5" 로 설정했을 경우 => 카드결제시 결제창에 일시불부터 5개월까지 선택가능
|
||||
*/
|
||||
?>
|
||||
<input type="hidden" name="pay_method" value="">
|
||||
<input type="hidden" name="ordr_idxx" value="<?php echo $od_id; ?>">
|
||||
<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_mail" value="">
|
||||
<input type="hidden" name="buyr_tel1" value="">
|
||||
<input type="hidden" name="buyr_tel2" 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="">
|
||||
<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="payco_direct" value=""> <!-- PAYCO 결제창 호출 -->
|
||||
<input type="hidden" name="naverpay_direct" value="A" > <!-- NAVERPAY 결제창 호출 -->
|
||||
<?php if(isset($default['de_easy_pay_services']) && in_array('used_nhnkcp_naverpay_point', explode(',', $default['de_easy_pay_services'])) ){ // 네이버페이 포인트 결제 옵션 ?>
|
||||
<input type="hidden" name="naverpay_point_direct" value="Y"> <!-- 네이버페이 포인트 결제를 하려면 naverpay_point_direct 를 Y -->
|
||||
<?php } ?>
|
||||
<input type="hidden" name="kakaopay_direct" value="A" > <!-- KAKAOPAY 결제창 호출 -->
|
||||
|
||||
<input type="hidden" name="quotaopt" value="12">
|
||||
|
||||
<!-- 필수 항목 : 결제 금액/화폐단위 -->
|
||||
<input type="hidden" name="currency" value="WON">
|
||||
|
||||
<?php
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 2. 가맹점 필수 정보 설정 END = */
|
||||
/* ============================================================================== */
|
||||
?>
|
||||
|
||||
<?php
|
||||
/* ============================================================================== */
|
||||
/* = 3. Payplus Plugin 필수 정보(변경 불가) = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 결제에 필요한 주문 정보를 입력 및 설정합니다. = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
?>
|
||||
<!-- PLUGIN 설정 정보입니다(변경 불가) -->
|
||||
<input type="hidden" name="module_type" value="01">
|
||||
<!-- 복합 포인트 결제시 넘어오는 포인트사 코드 : OK캐쉬백(SCSK), 베네피아 복지포인트(SCWB) -->
|
||||
<input type="hidden" name="epnt_issu" value="">
|
||||
<!--
|
||||
※ 필 수
|
||||
필수 항목 : Payplus Plugin에서 값을 설정하는 부분으로 반드시 포함되어야 합니다
|
||||
값을 설정하지 마십시오
|
||||
-->
|
||||
<input type="hidden" name="res_cd" value="">
|
||||
<input type="hidden" name="res_msg" value="">
|
||||
<input type="hidden" name="tno" value="">
|
||||
<input type="hidden" name="trace_no" value="">
|
||||
<input type="hidden" name="enc_info" value="">
|
||||
<input type="hidden" name="enc_data" value="">
|
||||
<input type="hidden" name="ret_pay_method" value="">
|
||||
<input type="hidden" name="tran_cd" value="">
|
||||
<input type="hidden" name="bank_name" value="">
|
||||
<input type="hidden" name="bank_issu" value="">
|
||||
<input type="hidden" name="use_pay_method" value="">
|
||||
|
||||
<!-- 현금영수증 관련 정보 : Payplus Plugin 에서 설정하는 정보입니다 -->
|
||||
<input type="hidden" name="cash_tsdtime" value="">
|
||||
<input type="hidden" name="cash_yn" value="">
|
||||
<input type="hidden" name="cash_authno" value="">
|
||||
<input type="hidden" name="cash_tr_code" value="">
|
||||
<input type="hidden" name="cash_id_info" value="">
|
||||
|
||||
<!-- 2012년 8월 18일 정자상거래법 개정 관련 설정 부분 -->
|
||||
<!-- 제공 기간 설정 0:일회성 1:기간설정(ex 1:2012010120120131) -->
|
||||
<!--
|
||||
2012.08.18 부터 개정 시행되는 '전자상거래 등에서의 소비자보호에 관한 법률'에 따른 코드 변경
|
||||
이용기간이 제한되는 컨텐츠 상품이나 정기 과금 상품 등에 한하여 '용역의 제공기간'을
|
||||
표기/적용하여야 하며 이와 무관한 실물 배송상품 등의 결제에는 해당되지 않습니다.
|
||||
0 : 일반결제
|
||||
good_expr의 나머지 적용 방식에 대해서는 KCP에서 제공하는 매뉴얼을 참고해 주세요.
|
||||
-->
|
||||
<input type="hidden" name="good_expr" value="0">
|
||||
|
||||
<!-- 가맹점에서 관리하는 고객 아이디 설정을 해야 합니다.(필수 설정) -->
|
||||
<input type="hidden" name="shop_user_id" value=""/>
|
||||
<!-- 복지포인트 결제시 가맹점에 할당되어진 코드 값을 입력해야합니다.(필수 설정) -->
|
||||
<input type="hidden" name="pt_memcorp_cd" value=""/>
|
||||
|
||||
<!-- 에스크로 항목 -->
|
||||
|
||||
<!-- 에스크로 사용 여부 : 반드시 Y 로 세팅 -->
|
||||
<input type="hidden" name="escw_used" value="Y">
|
||||
|
||||
<!-- 에스크로 결제처리 모드 : 에스크로: Y, 일반: N, KCP 설정 조건: O -->
|
||||
<input type="hidden" name="pay_mod" value="<?php echo ($default['de_escrow_use']?"O":"N"); ?>">
|
||||
|
||||
<!-- 배송 소요일 : 예상 배송 소요일을 입력 -->
|
||||
<input type="hidden" name="deli_term" value="03">
|
||||
|
||||
<!-- 장바구니 상품 개수 : 장바구니에 담겨있는 상품의 개수를 입력 -->
|
||||
<input type="hidden" name="bask_cntx" value="<?php echo (int)$goods_count + 1; ?>">
|
||||
|
||||
<!-- 장바구니 상품 상세 정보 (자바 스크립트 샘플(create_goodInfo()) 참고) -->
|
||||
<input type="hidden" name="good_info" value="<?php echo $good_info; ?>">
|
||||
|
||||
<?php
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 3. Payplus Plugin 필수 정보 END = */
|
||||
/* ============================================================================== */
|
||||
?>
|
||||
|
||||
<?php
|
||||
/* ============================================================================== */
|
||||
/* = 4. 옵션 정보 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = ※ 옵션 - 결제에 필요한 추가 옵션 정보를 입력 및 설정합니다. = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
|
||||
/* PayPlus에서 보이는 신용카드사 삭제 파라미터 입니다
|
||||
※ 해당 카드를 결제창에서 보이지 않게 하여 고객이 해당 카드로 결제할 수 없도록 합니다. (카드사 코드는 매뉴얼을 참고)
|
||||
<input type="hidden" name="not_used_card" value="CCPH:CCSS:CCKE:CCHM:CCSH:CCLO:CCLG:CCJB:CCHN:CCCH"> */
|
||||
|
||||
/* 신용카드 결제시 OK캐쉬백 적립 여부를 묻는 창을 설정하는 파라미터 입니다
|
||||
OK캐쉬백 포인트 가맹점의 경우에만 창이 보여집니다
|
||||
<input type="hidden" name="save_ocb" value="Y"> */
|
||||
|
||||
/* 고정 할부 개월 수 선택
|
||||
value값을 "7" 로 설정했을 경우 => 카드결제시 결제창에 할부 7개월만 선택가능
|
||||
<input type="hidden" name="fix_inst" value="07"> */
|
||||
|
||||
/* 무이자 옵션
|
||||
※ 설정할부 (가맹점 관리자 페이지에 설정 된 무이자 설정을 따른다) - "" 로 설정
|
||||
※ 일반할부 (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="used_card_YN" value="Y">
|
||||
/* 사용카드 설정 파라미터 입니다. (해당 카드만 결제창에 보이게 설정하는 파라미터입니다. used_card_YN 값이 Y일때 적용됩니다.
|
||||
/<input type="hidden" name="used_card" value="CCBC:CCKM:CCSS">
|
||||
|
||||
/* 해외카드 구분하는 파라미터 입니다.(해외비자, 해외마스터, 해외JCB로 구분하여 표시)
|
||||
<input type="hidden" name="used_card_CCXX" value="Y">
|
||||
|
||||
/* 가상계좌 은행 선택 파라미터
|
||||
※ 해당 은행을 결제창에서 보이게 합니다.(은행코드는 매뉴얼을 참조) */
|
||||
?>
|
||||
|
||||
<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) */
|
||||
?>
|
||||
<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
|
||||
}
|
||||
?>
|
||||
<input type="hidden" name="wish_vbank_list" value="">
|
||||
<?php
|
||||
|
||||
|
||||
/* 가상계좌 입금 기한 설정하는 파라미터 - 발급일 + 3일
|
||||
<input type="hidden" name="vcnt_expire_term" value="3"> */
|
||||
|
||||
|
||||
/* 가상계좌 입금 시간 설정하는 파라미터
|
||||
HHMMSS형식으로 입력하시기 바랍니다
|
||||
설정을 안하시는경우 기본적으로 23시59분59초가 세팅이 됩니다
|
||||
<input type="hidden" name="vcnt_expire_term_time" value="120000"> */
|
||||
|
||||
|
||||
/* 포인트 결제시 복합 결제(신용카드+포인트) 여부를 결정할 수 있습니다.- N 일경우 복합결제 사용안함
|
||||
<input type="hidden" name="complex_pnt_yn" value="N"> */
|
||||
|
||||
|
||||
/* 문화상품권 결제시 가맹점 고객 아이디 설정을 해야 합니다.(필수 설정)
|
||||
<input type="hidden" name="tk_shop_id" value=""> */
|
||||
|
||||
|
||||
/* 현금영수증 등록 창을 출력 여부를 설정하는 파라미터 입니다
|
||||
※ Y : 현금영수증 등록 창 출력
|
||||
※ N : 현금영수증 등록 창 출력 안함
|
||||
※ 주의 : 현금영수증 사용 시 KCP 상점관리자 페이지에서 현금영수증 사용 동의를 하셔야 합니다 */
|
||||
?>
|
||||
<input type="hidden" name="disp_tax_yn" value="N">
|
||||
<?php
|
||||
/* 결제창에 가맹점 사이트의 로고를 플러그인 좌측 상단에 출력하는 파라미터 입니다
|
||||
업체의 로고가 있는 URL을 정확히 입력하셔야 하며, 최대 150 X 50 미만 크기 지원
|
||||
|
||||
※ 주의 : 로고 용량이 150 X 50 이상일 경우 site_name 값이 표시됩니다. */
|
||||
?>
|
||||
<input type="hidden" name="site_logo" value="">
|
||||
<?php
|
||||
/* 결제창 영문 표시 파라미터 입니다. 영문을 기본으로 사용하시려면 Y로 세팅하시기 바랍니다
|
||||
2010-06월 현재 신용카드와 가상계좌만 지원됩니다
|
||||
<input type="hidden" name="eng_flag" value="Y"> */
|
||||
?>
|
||||
|
||||
<?php
|
||||
/* skin_indx 값은 스킨을 변경할 수 있는 파라미터이며 총 7가지가 지원됩니다.
|
||||
변경을 원하시면 1부터 7까지 값을 넣어주시기 바랍니다. */
|
||||
?>
|
||||
<input type="hidden" name="skin_indx" value="1">
|
||||
|
||||
<?php
|
||||
/* 상품코드 설정 파라미터 입니다.(상품권을 따로 구분하여 처리할 수 있는 옵션기능입니다.)
|
||||
<input type="hidden" name="good_cd" value=""> */
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 4. 옵션 정보 END = */
|
||||
/* ============================================================================== */;
|
||||
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
?>
|
||||
|
||||
<div id="display_pay_button" class="btn_confirm">
|
||||
<input type="button" value="주문하기" onclick="forderform_check(this.form);" class="btn_submit">
|
||||
<a href="javascript:history.go(-1);" class="btn01">취소</a>
|
||||
</div>
|
||||
<div id="display_pay_process" style="display:none">
|
||||
<img src="<?php echo G5_URL; ?>/shop/img/loading.gif" alt="">
|
||||
<span>주문완료 중입니다. 잠시만 기다려 주십시오.</span>
|
||||
</div>
|
||||
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
?>
|
||||
|
||||
<!-- 에스크로 안내 시작 { -->
|
||||
<section id="sod_frm_escrow">
|
||||
<h2>에스크로 안내</h2>
|
||||
<table>
|
||||
<tr>
|
||||
<td><a href="http://admin.kcp.co.kr/Modules/escrow/kcp_pop.jsp?site_cd=<?php echo $default['de_kcp_mid']; ?>" class="nhnkcp_escrow_popup" data-sitecd="<?php echo $default['de_kcp_mid']; ?>" target="_blank"><img src="<?php echo G5_SHOP_URL; ?>/img/marks_escrow/escrow_foot.gif" width="290" height="92" border="0" usemap="#Map"></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<strong>에스크로(escrow) 제도란?</strong>
|
||||
<p>
|
||||
상거래 시에, 판매자와 구매자의 사이에 신뢰할 수 있는 중립적인 제삼자(여기서는 <a href='http://kcp.co.kr' target='_blank'>KCP</a>)가 중개하여
|
||||
금전 또는 물품을 거래를 하도록 하는 것, 또는 그러한 서비스를 말한다. 거래의 안전성을 확보하기 위해 이용된다.
|
||||
(2006.4.1 전자상거래 소비자보호법에 따른 의무 시행)
|
||||
</p>
|
||||
<p>
|
||||
현금 거래에만 해당(에스크로 결제를 선택했을 경우에만 해당)되며,
|
||||
신용카드로 구매하는 거래, 배송이 필요하지 않은 재화 등을 구매하는 거래(컨텐츠 등)에는 해당되지 않는다.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<map name="Map" id="Map">
|
||||
<area shape="rect" coords="5,62,74,83" href="javascript:escrow_foot_check()" alt="가입사실확인">
|
||||
</map>
|
||||
</section>
|
||||
|
||||
<script>
|
||||
jQuery("#sod_frm_escrow .nhnkcp_escrow_popup").on("click", function(e){
|
||||
e.preventDefault();
|
||||
escrow_foot_check();
|
||||
});
|
||||
|
||||
function escrow_foot_check()
|
||||
{
|
||||
var status = "width=500 height=450 menubar=no,scrollbars=no,resizable=no,status=no";
|
||||
var obj = window.open("", "escrow_foot_pop", status);
|
||||
|
||||
var newForm = jQuery("<form>", {
|
||||
"id": "nhnkcp_escrow_form_popup",
|
||||
"action": "http://admin.kcp.co.kr/Modules/escrow/kcp_pop.jsp?site_cd="+jQuery("#sod_frm_escrow .nhnkcp_escrow_popup").attr("data-sitecd"),
|
||||
"target": "escrow_foot_pop",
|
||||
"method": "post"
|
||||
}).append(jQuery("<input>", {
|
||||
"name": "site_cd",
|
||||
"value": jQuery("#sod_frm_escrow .nhnkcp_escrow_popup").attr("data-sitecd"),
|
||||
"type": "hidden"
|
||||
}));
|
||||
|
||||
if( ! jQuery("#nhnkcp_escrow_form_popup").length ){
|
||||
newForm.hide().appendTo("body").submit();
|
||||
} else {
|
||||
jQuery("#nhnkcp_escrow_form_popup").submit();
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
<!-- } 에스크로 안내 끝 -->
|
||||
|
||||
<!-- <?php if ($default['de_card_use'] || $default['de_iche_use']) { echo "결제대행사 : KCP"; } ?> -->
|
||||
@@ -0,0 +1,143 @@
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
|
||||
if($od['od_pg'] != 'kcp') return;
|
||||
|
||||
include_once(G5_SHOP_PATH.'/settle_kcp.inc.php');
|
||||
|
||||
// locale ko_KR.euc-kr 로 설정
|
||||
setlocale(LC_CTYPE, 'ko_KR.euc-kr');
|
||||
|
||||
// 부분취소 실행
|
||||
$g_conf_site_cd = $default['de_kcp_mid'];
|
||||
$g_conf_site_key = $default['de_kcp_site_key'];
|
||||
$g_conf_home_dir = G5_SHOP_PATH.'/kcp';
|
||||
$g_conf_key_dir = '';
|
||||
$g_conf_log_dir = '';
|
||||
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
|
||||
{
|
||||
$g_conf_key_dir = G5_SHOP_PATH.'/kcp/bin/pub.key';
|
||||
$g_conf_log_dir = G5_SHOP_PATH.'/kcp/log';
|
||||
}
|
||||
|
||||
if (preg_match("/^T000/", $g_conf_site_cd) || $default['de_card_test']) {
|
||||
$g_conf_gw_url = "testpaygw.kcp.co.kr";
|
||||
}
|
||||
else {
|
||||
$g_conf_gw_url = "paygw.kcp.co.kr";
|
||||
if (!preg_match("/^SR/", $g_conf_site_cd)) {
|
||||
alert("SR 로 시작하지 않는 KCP SITE CODE 는 지원하지 않습니다.");
|
||||
}
|
||||
}
|
||||
|
||||
include_once(G5_SHOP_PATH.'/kcp/pp_cli_hub_lib.php');
|
||||
|
||||
$tno = $od['od_tno'];
|
||||
$req_tx = 'mod';
|
||||
$mod_desc = iconv_euckr($mod_memo);
|
||||
$cust_ip = getenv('REMOTE_ADDR');
|
||||
$rem_mny = (int)$od['od_receipt_price'] - (int)$od['od_refund_price'];
|
||||
$mod_mny = (int)$tax_mny;
|
||||
$mod_free_mny = (int)$free_mny;
|
||||
$mod_type = 'RN07';
|
||||
if($od['od_settle_case'] == '계좌이체')
|
||||
$mod_type = 'STPA';
|
||||
|
||||
if($od['od_tax_flag']) {
|
||||
$mod_mny = $tax_mny + $free_mny;
|
||||
}
|
||||
|
||||
$c_PayPlus = new C_PAYPLUS_CLI_T;
|
||||
$c_PayPlus->mf_clear();
|
||||
|
||||
if ( $req_tx == "mod" )
|
||||
{
|
||||
$tran_cd = "00200000";
|
||||
|
||||
$c_PayPlus->mf_set_modx_data( "tno" , $tno ); // KCP 원거래 거래번호
|
||||
$c_PayPlus->mf_set_modx_data( "mod_type" , $mod_type ); // 원거래 변경 요청 종류
|
||||
$c_PayPlus->mf_set_modx_data( "mod_ip" , $cust_ip ); // 변경 요청자 IP
|
||||
$c_PayPlus->mf_set_modx_data( "mod_desc" , $mod_desc ); // 변경 사유
|
||||
$c_PayPlus->mf_set_modx_data( "rem_mny" , strval($rem_mny) ); // 취소 가능 잔액
|
||||
$c_PayPlus->mf_set_modx_data( "mod_mny" , strval($mod_mny) ); // 취소 요청 금액
|
||||
|
||||
if($od['od_tax_flag'])
|
||||
{
|
||||
$mod_tax_mny = round((int)$tax_mny / 1.1);
|
||||
$mod_vat_mny = (int)$tax_mny - $mod_tax_mny;
|
||||
|
||||
$c_PayPlus->mf_set_modx_data( "tax_flag" , "TG03" ); // 복합과세 구분
|
||||
$c_PayPlus->mf_set_modx_data( "mod_tax_mny" , strval($mod_tax_mny) ); // 공급가 부분 취소 요청 금액
|
||||
$c_PayPlus->mf_set_modx_data( "mod_vat_mny" , strval($mod_vat_mny) ); // 부과세 부분 취소 요청 금액
|
||||
$c_PayPlus->mf_set_modx_data( "mod_free_mny" , strval($mod_free_mny) ); // 비관세 부분 취소 요청 금액
|
||||
}
|
||||
}
|
||||
|
||||
if ( $tran_cd != "" )
|
||||
{
|
||||
$c_PayPlus->mf_do_tx( "", $g_conf_home_dir, $g_conf_site_cd,
|
||||
$g_conf_site_key, $tran_cd, "",
|
||||
$g_conf_gw_url, $g_conf_gw_port, "payplus_cli_slib",
|
||||
$ordr_idxx, $cust_ip, $g_conf_log_level,
|
||||
"", 0, $g_conf_key_dir,
|
||||
$g_conf_log_dir );
|
||||
|
||||
$res_cd = $c_PayPlus->m_res_cd; // 결과 코드
|
||||
$res_msg = $c_PayPlus->m_res_msg; // 결과 메시지
|
||||
/* $res_en_msg = $c_PayPlus->mf_get_res_data( "res_en_msg" ); // 결과 영문 메세지 */
|
||||
}
|
||||
else
|
||||
{
|
||||
$c_PayPlus->m_res_cd = "9562";
|
||||
$c_PayPlus->m_res_msg = "연동 오류|Payplus Plugin이 설치되지 않았거나 tran_cd값이 설정되지 않았습니다.";
|
||||
}
|
||||
|
||||
if ($res_cd != '0000')
|
||||
{
|
||||
$res_msg = iconv("euc-kr", "utf-8", $res_msg);
|
||||
|
||||
alert("$res_cd : $res_msg");
|
||||
}
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = 취소 결과 처리 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
if ( $req_tx == "mod" )
|
||||
{
|
||||
if ( $res_cd == "0000" )
|
||||
{
|
||||
$tno = $c_PayPlus->mf_get_res_data( "tno" ); // KCP 거래 고유 번호
|
||||
$amount = $c_PayPlus->mf_get_res_data( "amount" ); // 원 거래금액
|
||||
$mod_mny = $c_PayPlus->mf_get_res_data( "panc_mod_mny" ); // 취소요청된 금액
|
||||
$rem_mny = $c_PayPlus->mf_get_res_data( "panc_rem_mny" ); // 취소요청후 잔액
|
||||
|
||||
// 환불금액기록
|
||||
$sql = " update {$g5['g5_shop_order_table']}
|
||||
set od_refund_price = od_refund_price + '$mod_mny',
|
||||
od_shop_memo = concat(od_shop_memo, \"$mod_memo\")
|
||||
where od_id = '{$od['od_id']}'
|
||||
and od_tno = '$tno' ";
|
||||
sql_query($sql);
|
||||
|
||||
// 미수금 등의 정보 업데이트
|
||||
$info = get_order_info($od_id);
|
||||
|
||||
$sql = " update {$g5['g5_shop_order_table']}
|
||||
set od_misu = '{$info['od_misu']}',
|
||||
od_tax_mny = '{$info['od_tax_mny']}',
|
||||
od_vat_mny = '{$info['od_vat_mny']}',
|
||||
od_free_mny = '{$info['od_free_mny']}'
|
||||
where od_id = '$od_id' ";
|
||||
sql_query($sql);
|
||||
} // End of [res_cd = "0000"]
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 취소 실패 결과 처리 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
else
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// locale 설정 초기화
|
||||
setlocale(LC_CTYPE, '');
|
||||
@@ -0,0 +1,391 @@
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = PAGE : 지불 요청 및 결과 처리 PAGE = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 연동시 오류가 발생하는 경우 아래의 주소로 접속하셔서 확인하시기 바랍니다.= */
|
||||
/* = 접속 주소 : http://testpay.kcp.co.kr/pgsample/FAQ/search_error.jsp = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = Copyright (c) 2010.02 KCP Inc. All Rights Reserved. = */
|
||||
/* ============================================================================== */
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = 환경 설정 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
|
||||
include_once(G5_SHOP_PATH.'/settle_kcp.inc.php');
|
||||
require "pp_ax_hub_lib.php"; // library [수정불가]
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 환경 설정 파일 Include END = */
|
||||
/* ============================================================================== */
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = POST 형식 체크부분 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
if ( $_SERVER['REQUEST_METHOD'] != 'POST' )
|
||||
{
|
||||
echo('잘못된 경로로 접속하였습니다.');
|
||||
exit;
|
||||
}
|
||||
/* ============================================================================== */
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = 01. 지불 요청 정보 설정 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$req_tx = isset($_POST['req_tx']) ? $_POST['req_tx'] : ''; // 요청 종류
|
||||
$tran_cd = isset($_POST['tran_cd']) ? preg_replace('/[^0-9A-Za-z_\-\.]/i', '', $_POST['tran_cd']) : ''; // 처리 종류
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$cust_ip = getenv( "REMOTE_ADDR" ); // 요청 IP
|
||||
$ordr_idxx = isset($_POST['ordr_idxx']) ? preg_replace('/[^0-9A-Za-z_\-\.]/i', '', $_POST['ordr_idxx']) : ''; // 쇼핑몰 주문번호
|
||||
$good_name = isset($_POST['good_name']) ? addslashes($_POST['good_name']) : ''; // 상품명
|
||||
$good_mny = isset($_POST['good_mny']) ? (int) $_POST['good_mny'] : 0; // 결제 총금액
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$res_cd = ""; // 응답코드
|
||||
$res_msg = ""; // 응답메시지
|
||||
$res_en_msg = ""; // 응답 영문 메세지
|
||||
$tno = isset($_POST['tno']) ? $_POST['tno'] : ''; // KCP 거래 고유 번호
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$buyr_name = isset($_POST['buyr_name']) ? addslashes($_POST['buyr_name']) : ''; // 주문자명
|
||||
$buyr_tel1 = isset($_POST['buyr_tel1']) ? $_POST['buyr_tel1'] : ''; // 주문자 전화번호
|
||||
$buyr_tel2 = isset($_POST['buyr_tel2']) ? $_POST['buyr_tel2'] : ''; // 주문자 핸드폰 번호
|
||||
$buyr_mail = isset($_POST['buyr_mail']) ? $_POST['buyr_mail'] : ''; // 주문자 E-mail 주소
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$mod_type = isset($_POST['mod_type']) ? $_POST['mod_type'] : ''; // 변경TYPE VALUE 승인취소시 필요
|
||||
$mod_desc = isset($_POST['mod_desc']) ? $_POST['mod_desc'] : ''; // 변경사유
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$use_pay_method = isset($_POST['use_pay_method']) ? $_POST['use_pay_method'] : ''; // 결제 방법
|
||||
$bSucc = ""; // 업체 DB 처리 성공 여부
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$app_time = ""; // 승인시간 (모든 결제 수단 공통)
|
||||
$amount = ""; // KCP 실제 거래 금액
|
||||
$total_amount = 0; // 복합결제시 총 거래금액
|
||||
$coupon_mny = ""; // 쿠폰금액
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$card_cd = ""; // 신용카드 코드
|
||||
$card_name = ""; // 신용카드 명
|
||||
$app_no = ""; // 신용카드 승인번호
|
||||
$noinf = ""; // 신용카드 무이자 여부
|
||||
$quota = ""; // 신용카드 할부개월
|
||||
$partcanc_yn = ""; // 부분취소 가능유무
|
||||
$card_bin_type_01 = ""; // 카드구분1
|
||||
$card_bin_type_01 = ""; // 카드구분2
|
||||
$card_mny = ""; // 카드결제금액
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$bank_name = ""; // 은행명
|
||||
$bank_code = ""; // 은행코드
|
||||
$bk_mny = ""; // 계좌이체결제금액
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$bankname = ""; // 입금할 은행명
|
||||
$depositor = ""; // 입금할 계좌 예금주 성명
|
||||
$account = ""; // 입금할 계좌 번호
|
||||
$va_date = ""; // 가상계좌 입금마감시간
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$pnt_issue = ""; // 결제 포인트사 코드
|
||||
$pt_idno = ""; // 결제 및 인증 아이디
|
||||
$pnt_amount = ""; // 적립금액 or 사용금액
|
||||
$pnt_app_time = ""; // 승인시간
|
||||
$pnt_app_no = ""; // 승인번호
|
||||
$add_pnt = ""; // 발생 포인트
|
||||
$use_pnt = ""; // 사용가능 포인트
|
||||
$rsv_pnt = ""; // 총 누적 포인트
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$commid = ""; // 통신사 코드
|
||||
$mobile_no = ""; // 휴대폰 번호
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$shop_user_id = isset($_POST['shop_user_id']) ? $_POST['shop_user_id'] : ''; // 가맹점 고객 아이디
|
||||
$tk_van_code = ""; // 발급사 코드
|
||||
$tk_app_no = ""; // 상품권 승인 번호
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$cash_yn = isset($_POST['cash_yn']) ? $_POST['cash_yn'] : ''; // 현금영수증 등록 여부
|
||||
$cash_authno = ""; // 현금 영수증 승인 번호
|
||||
$cash_tr_code = isset($_POST['cash_tr_code']) ? $_POST['cash_tr_code'] : ''; // 현금 영수증 발행 구분
|
||||
$cash_id_info = isset($_POST['cash_id_info']) ? $_POST['cash_id_info'] : ''; // 현금 영수증 등록 번호
|
||||
/* ============================================================================== */
|
||||
/* = 01-1. 에스크로 지불 요청 정보 설정 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$escw_used = isset($_POST['escw_used']) ? $_POST['escw_used'] : ''; // 에스크로 사용 여부
|
||||
$pay_mod = isset($_POST['pay_mod']) ? $_POST['pay_mod'] : ''; // 에스크로 결제처리 모드
|
||||
$deli_term = isset($_POST['deli_term']) ? $_POST['deli_term'] : ''; // 배송 소요일
|
||||
$bask_cntx = isset($_POST['bask_cntx']) ? $_POST['bask_cntx'] : 0; // 장바구니 상품 개수
|
||||
$good_info = isset($_POST['good_info']) ? $_POST['good_info'] : ''; // 장바구니 상품 상세 정보
|
||||
$rcvr_name = isset($_POST['rcvr_name']) ? addslashes($_POST['rcvr_name']) : ''; // 수취인 이름
|
||||
$rcvr_tel1 = isset($_POST['rcvr_tel1']) ? $_POST['rcvr_tel1'] : ''; // 수취인 전화번호
|
||||
$rcvr_tel2 = isset($_POST['rcvr_tel2']) ? $_POST['rcvr_tel2'] : ''; // 수취인 휴대폰번호
|
||||
$rcvr_mail = isset($_POST['rcvr_mail']) ? $_POST['rcvr_mail'] : ''; // 수취인 E-Mail
|
||||
$rcvr_zipx = isset($_POST['rcvr_zipx']) ? $_POST['rcvr_zipx'] : ''; // 수취인 우편번호
|
||||
$rcvr_add1 = isset($_POST['rcvr_add1']) ? addslashes($_POST['rcvr_add1']) : ''; // 수취인 주소
|
||||
$rcvr_add2 = isset($_POST['rcvr_add2']) ? addslashes($_POST['rcvr_add2']) : ''; // 수취인 상세주소
|
||||
$escw_yn = ""; // 에스크로 여부
|
||||
|
||||
/* ============================================================================== */
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = 02. 인스턴스 생성 및 초기화 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 결제에 필요한 인스턴스를 생성하고 초기화 합니다. = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$c_PayPlus = new C_PP_CLI_T;
|
||||
|
||||
$c_PayPlus->mf_clear();
|
||||
/* ------------------------------------------------------------------------------ */
|
||||
/* = 02. 인스턴스 생성 및 초기화 END = */
|
||||
/* ============================================================================== */
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = 03. 처리 요청 정보 설정 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 03-1. 승인 요청 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
if ( $req_tx == "pay" )
|
||||
{
|
||||
/* 1004원은 실제로 업체에서 결제하셔야 될 원 금액을 넣어주셔야 합니다. 결제금액 유효성 검증 */
|
||||
$c_PayPlus->mf_set_ordr_data( "ordr_mony", $good_mny );
|
||||
|
||||
$kcp_pay_type = ''; // 결제수단 검증 파라미터 pay_type (신용카드 : PACA, 계좌이체 : PABK, 가상계좌 : PAVC, 휴대폰 : PAMC)
|
||||
|
||||
if ($use_pay_method == "100000000000" && (in_array($od_settle_case, array('신용카드', '간편결제')))) { // 신용카드
|
||||
$kcp_pay_type = 'PACA';
|
||||
} else if ($use_pay_method == "010000000000" && $od_settle_case === '계좌이체') { // 계좌이체
|
||||
$kcp_pay_type = 'PABK';
|
||||
} else if ($use_pay_method == "001000000000" && $od_settle_case === '가상계좌') { // 가상계좌
|
||||
$kcp_pay_type = 'PAVC';
|
||||
} else if ($use_pay_method == "000010000000" && $od_settle_case === '휴대폰') { // 휴대폰
|
||||
$kcp_pay_type = 'PAMC';
|
||||
}
|
||||
|
||||
$c_PayPlus->mf_set_ordr_data( "pay_type", $kcp_pay_type );
|
||||
$c_PayPlus->mf_set_ordr_data( "ordr_no", $ordr_idxx );
|
||||
|
||||
$post_enc_data = isset($_POST['enc_data']) ? $_POST['enc_data'] : '';
|
||||
$post_enc_info = isset($_POST['enc_info']) ? $_POST['enc_info'] : '';
|
||||
|
||||
$c_PayPlus->mf_set_encx_data( $post_enc_data, $post_enc_info );
|
||||
}
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 03-2. 취소/매입 요청 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
else if ( $req_tx == "mod" )
|
||||
{
|
||||
$tran_cd = "00200000";
|
||||
|
||||
$c_PayPlus->mf_set_modx_data( "tno", $tno ); // KCP 원거래 거래번호
|
||||
$c_PayPlus->mf_set_modx_data( "mod_type", $mod_type ); // 원거래 변경 요청 종류
|
||||
$c_PayPlus->mf_set_modx_data( "mod_ip", $cust_ip ); // 변경 요청자 IP
|
||||
$c_PayPlus->mf_set_modx_data( "mod_desc", $mod_desc ); // 변경 사유
|
||||
}
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 03-3. 에스크로 상태변경 요청 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
else if ($req_tx = "mod_escrow")
|
||||
{
|
||||
$tran_cd = "00200000";
|
||||
|
||||
$c_PayPlus->mf_set_modx_data( "tno", $tno ); // KCP 원거래 거래번호
|
||||
$c_PayPlus->mf_set_modx_data( "mod_type", $mod_type ); // 원거래 변경 요청 종류
|
||||
$c_PayPlus->mf_set_modx_data( "mod_ip", $cust_ip ); // 변경 요청자 IP
|
||||
$c_PayPlus->mf_set_modx_data( "mod_desc", $mod_desc ); // 변경 사유
|
||||
|
||||
if ($mod_type == "STE1") // 상태변경 타입이 [배송요청]인 경우
|
||||
{
|
||||
$post_deli_numb = isset($_POST['deli_numb']) ? $_POST['deli_numb'] : '';
|
||||
$post_deli_corp = isset($_POST['deli_corp']) ? $_POST['deli_corp'] : '';
|
||||
|
||||
$c_PayPlus->mf_set_modx_data( "deli_numb", $post_deli_numb ); // 운송장 번호
|
||||
$c_PayPlus->mf_set_modx_data( "deli_corp", $post_deli_corp ); // 택배 업체명
|
||||
}
|
||||
else if ($mod_type == "STE2" || $mod_type == "STE4") // 상태변경 타입이 [즉시취소] 또는 [취소]인 계좌이체, 가상계좌의 경우
|
||||
{
|
||||
if ($vcnt_yn == "Y")
|
||||
{
|
||||
$post_refund_account = isset($_POST['refund_account']) ? $_POST['refund_account'] : '';
|
||||
$post_refund_nm = isset($_POST['refund_nm']) ? $_POST['refund_nm'] : '';
|
||||
$post_bank_code = isset($_POST['bank_code']) ? $_POST['bank_code'] : '';
|
||||
$c_PayPlus->mf_set_modx_data( "refund_account", $post_refund_account ); // 환불수취계좌번호
|
||||
$c_PayPlus->mf_set_modx_data( "refund_nm", $post_refund_nm ); // 환불수취계좌주명
|
||||
$c_PayPlus->mf_set_modx_data( "bank_code", $post_bank_code ); // 환불수취은행코드
|
||||
}
|
||||
}
|
||||
}
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 03-3. 에스크로 상태변경 요청 END = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
|
||||
/* ------------------------------------------------------------------------------ */
|
||||
/* = 03. 처리 요청 정보 설정 END = */
|
||||
/* ============================================================================== */
|
||||
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = 04. 실행 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
if ( $tran_cd != "" )
|
||||
{
|
||||
$c_PayPlus->mf_do_tx( $trace_no, $g_conf_home_dir, $g_conf_site_cd, $g_conf_site_key, $tran_cd, "",
|
||||
$g_conf_gw_url, $g_conf_gw_port, "payplus_cli_slib", $ordr_idxx,
|
||||
$cust_ip, $g_conf_log_level , 0, 0, $g_conf_key_dir, $g_conf_log_dir); // 응답 전문 처리
|
||||
|
||||
$res_cd = $c_PayPlus->m_res_cd; // 결과 코드
|
||||
$res_msg = $c_PayPlus->m_res_msg; // 결과 메시지
|
||||
/* $res_en_msg = $c_PayPlus->mf_get_res_data( "res_en_msg" ); // 결과 영문 메세지 */
|
||||
}
|
||||
else
|
||||
{
|
||||
$c_PayPlus->m_res_cd = "9562";
|
||||
$c_PayPlus->m_res_msg = "연동 오류|Payplus Plugin이 설치되지 않았거나 tran_cd값이 설정되지 않았습니다.";
|
||||
}
|
||||
|
||||
if ($res_cd != '0000')
|
||||
{
|
||||
$res_msg = iconv("euc-kr", "utf-8", $res_msg);
|
||||
|
||||
/*
|
||||
echo "<script>
|
||||
var openwin = window.open( './kcp/proc_win.php', 'proc_win', '' );
|
||||
openwin.close();
|
||||
</script>";
|
||||
*/
|
||||
alert("$res_cd : $res_msg");
|
||||
exit;
|
||||
}
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 04. 실행 END = */
|
||||
/* ============================================================================== */
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = 05. 승인 결과 값 추출 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
if ( $req_tx == "pay" )
|
||||
{
|
||||
if( $res_cd == "0000" )
|
||||
{
|
||||
$tno = $c_PayPlus->mf_get_res_data( "tno" ); // KCP 거래 고유 번호
|
||||
$amount = $c_PayPlus->mf_get_res_data( "amount" ); // KCP 실제 거래 금액
|
||||
$pnt_issue = $c_PayPlus->mf_get_res_data( "pnt_issue" ); // 결제 포인트사 코드
|
||||
$coupon_mny = $c_PayPlus->mf_get_res_data( "coupon_mny" ); // 쿠폰금액
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 05-1. 신용카드 승인 결과 처리 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
if ( $use_pay_method == "100000000000" )
|
||||
{
|
||||
$card_cd = $c_PayPlus->mf_get_res_data( "card_cd" ); // 카드사 코드
|
||||
$card_name = $c_PayPlus->mf_get_res_data( "card_name" ); // 카드 종류
|
||||
$app_time = $c_PayPlus->mf_get_res_data( "app_time" ); // 승인 시간
|
||||
$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" ); // 할부 개월 수
|
||||
$partcanc_yn = $c_PayPlus->mf_get_res_data( "partcanc_yn" ); // 부분취소 가능유무
|
||||
$card_bin_type_01 = $c_PayPlus->mf_get_res_data( "card_bin_type_01" ); // 카드구분1
|
||||
$card_bin_type_02 = $c_PayPlus->mf_get_res_data( "card_bin_type_02" ); // 카드구분2
|
||||
$card_mny = $c_PayPlus->mf_get_res_data( "card_mny" ); // 카드결제금액
|
||||
$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';
|
||||
}
|
||||
|
||||
/* = -------------------------------------------------------------- = */
|
||||
/* = 05-1.1. 복합결제(포인트+신용카드) 승인 결과 처리 = */
|
||||
/* = -------------------------------------------------------------- = */
|
||||
if ( $pnt_issue == "SCSK" || $pnt_issue == "SCWB" )
|
||||
{
|
||||
$pt_idno = $c_PayPlus->mf_get_res_data ( "pt_idno" ); // 결제 및 인증 아이디
|
||||
$pnt_amount = $c_PayPlus->mf_get_res_data ( "pnt_amount" ); // 적립금액 or 사용금액
|
||||
$pnt_app_time = $c_PayPlus->mf_get_res_data ( "pnt_app_time" ); // 승인시간
|
||||
$pnt_app_no = $c_PayPlus->mf_get_res_data ( "pnt_app_no" ); // 승인번호
|
||||
$add_pnt = $c_PayPlus->mf_get_res_data ( "add_pnt" ); // 발생 포인트
|
||||
$use_pnt = $c_PayPlus->mf_get_res_data ( "use_pnt" ); // 사용가능 포인트
|
||||
$rsv_pnt = $c_PayPlus->mf_get_res_data ( "rsv_pnt" ); // 총 누적 포인트
|
||||
$total_amount = $amount + $pnt_amount; // 복합결제시 총 거래금액
|
||||
}
|
||||
}
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 05-2. 계좌이체 승인 결과 처리 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
if ( $use_pay_method == "010000000000" )
|
||||
{
|
||||
$app_time = $c_PayPlus->mf_get_res_data( "app_time" ); // 승인 시간
|
||||
$bank_name = $c_PayPlus->mf_get_res_data( "bank_name" ); // 은행명
|
||||
$bank_code = $c_PayPlus->mf_get_res_data( "bank_code" ); // 은행코드
|
||||
$bk_mny = $c_PayPlus->mf_get_res_data( "bk_mny" ); // 계좌이체결제금액
|
||||
}
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 05-3. 가상계좌 승인 결과 처리 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
if ( $use_pay_method == "001000000000" )
|
||||
{
|
||||
$bankname = $c_PayPlus->mf_get_res_data( "bankname" ); // 입금할 은행 이름
|
||||
$depositor = $c_PayPlus->mf_get_res_data( "depositor" ); // 입금할 계좌 예금주
|
||||
$account = $c_PayPlus->mf_get_res_data( "account" ); // 입금할 계좌 번호
|
||||
$va_date = $c_PayPlus->mf_get_res_data( "va_date" ); // 가상계좌 입금마감시간
|
||||
}
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 05-4. 포인트 승인 결과 처리 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
if ( $use_pay_method == "000100000000" )
|
||||
{
|
||||
$pt_idno = $c_PayPlus->mf_get_res_data( "pt_idno" ); // 결제 및 인증 아이디
|
||||
$pnt_amount = $c_PayPlus->mf_get_res_data( "pnt_amount" ); // 적립금액 or 사용금액
|
||||
$pnt_app_time = $c_PayPlus->mf_get_res_data( "pnt_app_time" ); // 승인시간
|
||||
$pnt_app_no = $c_PayPlus->mf_get_res_data( "pnt_app_no" ); // 승인번호
|
||||
$add_pnt = $c_PayPlus->mf_get_res_data( "add_pnt" ); // 발생 포인트
|
||||
$use_pnt = $c_PayPlus->mf_get_res_data( "use_pnt" ); // 사용가능 포인트
|
||||
$rsv_pnt = $c_PayPlus->mf_get_res_data( "rsv_pnt" ); // 적립 포인트
|
||||
}
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 05-5. 휴대폰 승인 결과 처리 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
if ( $use_pay_method == "000010000000" )
|
||||
{
|
||||
$app_time = $c_PayPlus->mf_get_res_data( "hp_app_time" ); // 승인 시간
|
||||
$commid = $c_PayPlus->mf_get_res_data( "commid" ); // 통신사 코드
|
||||
$mobile_no = $c_PayPlus->mf_get_res_data( "mobile_no" ); // 휴대폰 번호
|
||||
}
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 05-6. 상품권 승인 결과 처리 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
if ( $use_pay_method == "000000001000" )
|
||||
{
|
||||
$app_time = $c_PayPlus->mf_get_res_data( "tk_app_time" ); // 승인 시간
|
||||
$tk_van_code = $c_PayPlus->mf_get_res_data( "tk_van_code" ); // 발급사 코드
|
||||
$tk_app_no = $c_PayPlus->mf_get_res_data( "tk_app_no" ); // 승인 번호
|
||||
}
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 05-7. 현금영수증 결과 처리 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$cash_yn = $c_PayPlus->mf_get_res_data( "cash_yn" ); // 현금영수증 등록여부
|
||||
$cash_authno = $c_PayPlus->mf_get_res_data( "cash_authno" ); // 현금 영수증 승인 번호
|
||||
$cash_tr_code = $c_PayPlus->mf_get_res_data( "cash_tr_code" ); // 현금영수증 등록구분
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 05-8. 에스크로 여부 결과 처리 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$escw_yn = $c_PayPlus->mf_get_res_data( "escw_yn" ); // 에스크로 여부
|
||||
}
|
||||
}
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 05. 승인 결과 처리 END = */
|
||||
/* ============================================================================== */;
|
||||
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// locale ko_KR.euc-kr 로 설정
|
||||
setlocale(LC_CTYPE, 'ko_KR.euc-kr');
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = 07. 승인 결과 DB처리 실패시 : 자동취소 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 승인 결과를 DB 작업 하는 과정에서 정상적으로 승인된 건에 대해 = */
|
||||
/* = DB 작업을 실패하여 DB update 가 완료되지 않은 경우, 자동으로 = */
|
||||
/* = 승인 취소 요청을 하는 프로세스가 구성되어 있습니다. = */
|
||||
/* = = */
|
||||
/* = DB 작업이 실패 한 경우, bSucc 라는 변수(String)의 값을 "false" = */
|
||||
/* = 로 설정해 주시기 바랍니다. (DB 작업 성공의 경우에는 "false" 이외의 = */
|
||||
/* = 값을 설정하시면 됩니다.) = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
|
||||
$bSucc = "false"; // DB 작업 실패 또는 금액 불일치의 경우 "false" 로 세팅
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 07-1. DB 작업 실패일 경우 자동 승인 취소 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
if ( $req_tx == "pay" )
|
||||
{
|
||||
if( $res_cd == "0000" )
|
||||
{
|
||||
if ( $bSucc == "false" )
|
||||
{
|
||||
$c_PayPlus->mf_clear();
|
||||
|
||||
$tran_cd = "00200000";
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = 07-1.자동취소시 에스크로 거래인 경우 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
// 취소시 사용하는 mod_type
|
||||
$bSucc_mod_type = "";
|
||||
|
||||
// 에스크로 가상계좌 건의 경우 가상계좌 발급취소(STE5)
|
||||
if ( $escw_yn == "Y" && $use_pay_method == "001000000000" )
|
||||
{
|
||||
$bSucc_mod_type = "STE5";
|
||||
}
|
||||
// 에스크로 가상계좌 이외 건은 즉시취소(STE2)
|
||||
else if ( $escw_yn == "Y" )
|
||||
{
|
||||
$bSucc_mod_type = "STE2";
|
||||
}
|
||||
// 에스크로 거래 건이 아닌 경우(일반건)(STSC)
|
||||
else
|
||||
{
|
||||
$bSucc_mod_type = "STSC";
|
||||
}
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 07-1. 자동취소시 에스크로 거래인 경우 처리 END = */
|
||||
/* = ========================================================================== = */
|
||||
|
||||
$c_PayPlus->mf_set_modx_data( "tno", $tno ); // KCP 원거래 거래번호
|
||||
$c_PayPlus->mf_set_modx_data( "mod_type", $bSucc_mod_type ); // 원거래 변경 요청 종류
|
||||
$c_PayPlus->mf_set_modx_data( "mod_ip", $cust_ip ); // 변경 요청자 IP
|
||||
$c_PayPlus->mf_set_modx_data( "mod_desc", iconv_euckr($cancel_msg) ); // 변경 사유
|
||||
|
||||
$c_PayPlus->mf_do_tx( $tno, $g_conf_home_dir, $g_conf_site_cd,
|
||||
$g_conf_site_key, $tran_cd, "",
|
||||
$g_conf_gw_url, $g_conf_gw_port, "payplus_cli_slib",
|
||||
$ordr_idxx, $cust_ip, $g_conf_log_level ,
|
||||
0, 0, $g_conf_key_dir, $g_conf_log_dir);
|
||||
|
||||
$res_cd = $c_PayPlus->m_res_cd;
|
||||
$res_msg = $c_PayPlus->m_res_msg;
|
||||
}
|
||||
}
|
||||
} // End of [res_cd = "0000"]
|
||||
/* ============================================================================== */
|
||||
|
||||
// locale 설정 초기화
|
||||
setlocale(LC_CTYPE, '');
|
||||
@@ -0,0 +1,296 @@
|
||||
<?php
|
||||
/* ============================================================================== */
|
||||
/* = PAGE : 라이브버리 PAGE = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = Copyright (c) 2010.02 KCP Inc. All Rights Reserved. = */
|
||||
/* ============================================================================== */
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = 지불 연동 CLASS = */
|
||||
/* ============================================================================== */
|
||||
class C_PP_CLI_T
|
||||
{
|
||||
public $m_payx_common;
|
||||
public $m_payx_card;
|
||||
public $m_ordr_data;
|
||||
public $m_rcvr_data;
|
||||
public $m_escw_data;
|
||||
public $m_modx_data;
|
||||
public $m_encx_data;
|
||||
public $m_encx_info;
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* - 처리 결과 값 - */
|
||||
/* -------------------------------------------------------------------- */
|
||||
public $m_res_data;
|
||||
public $m_res_cd;
|
||||
public $m_res_msg;
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* - 생성자 - */
|
||||
/* -------------------------------------------------------------------- */
|
||||
function C_PP_CLI()
|
||||
{
|
||||
$this->m_payx_common = "";
|
||||
$this->m_payx_card = "";
|
||||
$this->m_ordr_data = "";
|
||||
$this->m_rcvr_data = "";
|
||||
$this->m_escw_data = "";
|
||||
$this->m_modx_data = "";
|
||||
$this->m_encx_data = "";
|
||||
$this->m_encx_info = "";
|
||||
}
|
||||
|
||||
function mf_init( $mode )
|
||||
{
|
||||
if ( $mode == "1" )
|
||||
{
|
||||
if ( !extension_loaded( 'pp_cli_dl_php' ) )
|
||||
{
|
||||
dl( "pp_cli_dl_php.so" );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function mf_clear()
|
||||
{
|
||||
$this->m_payx_common = "";
|
||||
$this->m_payx_card = "";
|
||||
$this->m_ordr_data = "";
|
||||
$this->m_rcvr_data = "";
|
||||
$this->m_escw_data = "";
|
||||
$this->m_modx_data = "";
|
||||
$this->m_encx_data = "";
|
||||
$this->m_encx_info = "";
|
||||
}
|
||||
|
||||
function mf_gen_trace_no( $site_cd, $ip, $mode )
|
||||
{
|
||||
if ( $mode == "1" )
|
||||
{
|
||||
$trace_no = lfPP_CLI_DL__gen_trace_no( $site_cd, $ip );
|
||||
}
|
||||
else
|
||||
{
|
||||
$trace_no = "";
|
||||
}
|
||||
|
||||
return $trace_no;
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* - FUNC : ENC DATA 정보 설정 함수 - */
|
||||
/* -------------------------------------------------------------------- */
|
||||
function mf_set_payx_common_data( $name, $val )
|
||||
{
|
||||
if ( $val != "" )
|
||||
{
|
||||
$this->m_payx_common .= ( $name . '=' . $val . chr( 31 ) );
|
||||
}
|
||||
}
|
||||
|
||||
function mf_set_payx_card_data( $name, $val )
|
||||
{
|
||||
if ( $val != "" )
|
||||
{
|
||||
$this->m_payx_card .= ( $name . '=' . $val . chr( 31 ) );
|
||||
}
|
||||
}
|
||||
|
||||
function mf_set_ordr_data( $name, $val )
|
||||
{
|
||||
if ( $val != "" )
|
||||
{
|
||||
$this->m_ordr_data .= ( $name . '=' . $val . chr( 31 ) );
|
||||
}
|
||||
}
|
||||
|
||||
function mf_set_rcvr_data( $name, $val )
|
||||
{
|
||||
if ( $val != "" )
|
||||
{
|
||||
$this->m_rcvr_data .= ( $name . '=' . $val . chr( 31 ) );
|
||||
}
|
||||
}
|
||||
|
||||
function mf_set_escw_data( $name, $val )
|
||||
{
|
||||
if ( $val != "" )
|
||||
{
|
||||
$this->m_escw_data .= ( $name . '=' . $val . chr( 29 ) );
|
||||
}
|
||||
}
|
||||
|
||||
function mf_set_modx_data( $name, $val )
|
||||
{
|
||||
if ( $val != "" )
|
||||
{
|
||||
$this->m_modx_data .= ( $name . '=' . $val . chr( 31 ) );
|
||||
}
|
||||
}
|
||||
|
||||
function mf_set_encx_data( $encx_data, $encx_info )
|
||||
{
|
||||
$this->m_encx_data = $encx_data;
|
||||
$this->m_encx_info = $encx_info;
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* - FUNC : 지불 처리 함수 - */
|
||||
/* -------------------------------------------------------------------- */
|
||||
function mf_do_tx( $trace_no, $home_dir, $site_cd,
|
||||
$site_key, $tx_cd, $pub_key_str,
|
||||
$pa_url, $pa_port, $user_agent,
|
||||
$ordr_idxx, $cust_ip,
|
||||
$log_level, $opt, $mode,
|
||||
$key_dir, $log_dir)
|
||||
{
|
||||
$payx_data = $this->mf_get_payx_data();
|
||||
|
||||
$ordr_data = $this->mf_get_data( "ordr_data", $this->m_ordr_data );
|
||||
$rcvr_data = $this->mf_get_data( "rcvr_data", $this->m_rcvr_data );
|
||||
$escw_data = $this->mf_get_data( "escw_data", $this->m_escw_data );
|
||||
$modx_data = $this->mf_get_data( "mod_data", $this->m_modx_data );
|
||||
|
||||
if ( $mode == "1" )
|
||||
{
|
||||
$res_data = lfPP_CLI_DL__do_tx_2( $trace_no, $home_dir, $site_cd,
|
||||
$site_key, $tx_cd, $pub_key_str,
|
||||
$pa_url, $pa_port, $user_agent,
|
||||
$ordr_idxx,
|
||||
$payx_data, $ordr_data,
|
||||
$rcvr_data, $escw_data,
|
||||
$modx_data,
|
||||
$this->m_encx_data, $this->m_encx_info,
|
||||
$log_level, $opt );
|
||||
}
|
||||
else
|
||||
{
|
||||
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
|
||||
{
|
||||
$bin_exe = $home_dir.'/bin/pp_cli_exe ';
|
||||
|
||||
$res_data = $this->mf_exec($bin_exe . "\"".
|
||||
"site_cd=" . $site_cd . "," .
|
||||
"site_key=" . $site_key . "," .
|
||||
"tx_cd=" . $tx_cd . "," .
|
||||
"pa_url=" . $pa_url . "," .
|
||||
"pa_port=" . $pa_port . "," .
|
||||
"ordr_idxx=" . $ordr_idxx . "," .
|
||||
"enc_data=" . $this->m_encx_data . "," .
|
||||
"enc_info=" . $this->m_encx_info . "," .
|
||||
"trace_no=" . $trace_no . "," .
|
||||
"cust_ip=" . $cust_ip . "," .
|
||||
"key_path=" . $key_dir . "," .
|
||||
"log_path=" . $log_dir . "," .
|
||||
"log_level=" . $log_level . "," .
|
||||
"plan_data=" . $payx_data .
|
||||
$ordr_data .
|
||||
$rcvr_data .
|
||||
$escw_data .
|
||||
$modx_data .
|
||||
"\"") ;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(PHP_INT_MAX == 2147483647) // 32-bit
|
||||
$bin_exe = $home_dir.'/bin/pp_cli';
|
||||
else
|
||||
$bin_exe = $home_dir.'/bin/pp_cli_x64';
|
||||
|
||||
$res_data = $this->mf_exec( $bin_exe,
|
||||
"-h",
|
||||
"home=" . $home_dir . "," .
|
||||
"site_cd=" . $site_cd . "," .
|
||||
"site_key=" . $site_key . "," .
|
||||
"tx_cd=" . $tx_cd . "," .
|
||||
"pa_url=" . $pa_url . "," .
|
||||
"pa_port=" . $pa_port . "," .
|
||||
"ordr_idxx=" . $ordr_idxx . "," .
|
||||
"payx_data=" . $payx_data . "," .
|
||||
"ordr_data=" . $ordr_data . "," .
|
||||
"rcvr_data=" . $rcvr_data . "," .
|
||||
"escw_data=" . $escw_data . "," .
|
||||
"modx_data=" . $modx_data . "," .
|
||||
"enc_data=" . $this->m_encx_data . "," .
|
||||
"enc_info=" . $this->m_encx_info . "," .
|
||||
"trace_no=" . $trace_no . "," .
|
||||
"cust_ip=" . $cust_ip . "," .
|
||||
"log_path=" . $log_dir . "," .
|
||||
"log_level=" . $log_level . "," .
|
||||
"opt=" . $opt . "" );
|
||||
}
|
||||
|
||||
if ( $res_data == "" )
|
||||
{
|
||||
$res_data = "res_cd=9502" . chr( 31 ) . "res_msg=연동 모듈 호출 오류";
|
||||
}
|
||||
}
|
||||
|
||||
parse_str( str_replace( chr( 31 ), "&", $res_data ), $this->m_res_data );
|
||||
|
||||
$this->m_res_cd = $this->m_res_data[ "res_cd" ];
|
||||
$this->m_res_msg = $this->m_res_data[ "res_msg" ];
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* - FUNC : 처리 결과 값을 리턴하는 함수 - */
|
||||
/* -------------------------------------------------------------------- */
|
||||
function mf_get_res_data( $name )
|
||||
{
|
||||
return isset($this->m_res_data[ $name ]) ? $this->m_res_data[ $name ] : '';
|
||||
}
|
||||
|
||||
function mf_get_payx_data()
|
||||
{
|
||||
$my_data = '';
|
||||
if ( $this->m_payx_common != "" || $this->m_payx_card != "" )
|
||||
{
|
||||
$my_data = "payx_data=";
|
||||
}
|
||||
|
||||
if ( $this->m_payx_common != "" )
|
||||
{
|
||||
$my_data .= "common=" . $this->m_payx_common . chr( 30 );
|
||||
}
|
||||
|
||||
if ( $this->m_payx_card != "" )
|
||||
{
|
||||
$my_data .= ( "card=" . $this->m_payx_card . chr( 30 ) );
|
||||
}
|
||||
|
||||
return $my_data;
|
||||
}
|
||||
|
||||
function mf_get_data( $data_name, $data )
|
||||
{
|
||||
if ( $data != "" )
|
||||
{
|
||||
$my_data = $data_name . "=" . $data;
|
||||
}
|
||||
else
|
||||
{
|
||||
$my_data = "";
|
||||
}
|
||||
|
||||
return $my_data;
|
||||
}
|
||||
|
||||
function mf_exec()
|
||||
{
|
||||
$arg = func_get_args();
|
||||
|
||||
if ( is_array( $arg[0] ) ) $arg = $arg[0];
|
||||
|
||||
$exec_cmd = array_shift( $arg );
|
||||
|
||||
foreach((array) $arg as $key=>$i)
|
||||
{
|
||||
$exec_cmd .= " " . escapeshellarg( $i );
|
||||
}
|
||||
|
||||
$rt = exec( $exec_cmd );
|
||||
|
||||
return $rt;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,390 @@
|
||||
<?php
|
||||
include_once './_common.php';
|
||||
include_once G5_LIB_PATH.'/etc.lib.php';
|
||||
|
||||
if($tx == 'personalpay')
|
||||
$sql = " select count(*) as cnt from {$g5['g5_shop_personalpay_table']} where pp_id = '{$_POST['ordr_idxx']}' and pp_cash = 1 ";
|
||||
else
|
||||
$sql = " select count(*) as cnt from {$g5['g5_shop_order_table']} where od_id = '{$_POST['ordr_idxx']}' and od_cash = 1 ";
|
||||
|
||||
$row = sql_fetch($sql);
|
||||
if ($row['cnt']) {
|
||||
alert('이미 등록된 현금영수증 입니다.');
|
||||
}
|
||||
|
||||
// locale ko_KR.euc-kr 로 설정
|
||||
setlocale(LC_CTYPE, 'ko_KR.euc-kr');
|
||||
|
||||
//write_log("$g5[path]/data/log/cash.log", $_POST);
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = PAGE : 등록/변경 처리 PAGE = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = Copyright (c) 2007 KCP Inc. All Rights Reserverd. = */
|
||||
/* ============================================================================== */
|
||||
?>
|
||||
<?php
|
||||
/* ============================================================================== */
|
||||
/* = 라이브러리 및 사이트 정보 include = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
include_once(G5_SHOP_PATH.'/settle_kcp.inc.php');
|
||||
require_once(G5_SHOP_PATH.'/kcp/pp_cli_hub_lib.php');
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = 01. KCP 지불 서버 정보 설정 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
if ($default['de_card_test']) {
|
||||
$g_conf_pa_url = "testpaygw.kcp.co.kr"; // ※ 테스트: testpaygw.kcp.co.kr, 리얼: paygw.kcp.co.kr
|
||||
$g_conf_pa_port = "8090"; // ※ 테스트: 8090, 리얼: 8090
|
||||
}
|
||||
else {
|
||||
$g_conf_pa_url = "paygw.kcp.co.kr";
|
||||
$g_conf_pa_port = "8090";
|
||||
}
|
||||
|
||||
$g_conf_tx_mode = 0;
|
||||
/* ============================================================================== */
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = 02. 쇼핑몰 지불 정보 설정 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
// ※ V6 가맹점의 경우
|
||||
$g_conf_user_type = "PGNW"; // 변경 불가
|
||||
//$g_conf_site_id = $default[de_kcp_mid]; // 리얼 반영시 KCP에 발급된 site_cd 사용 ex) T0000
|
||||
$g_conf_site_id = strlen($default['de_kcp_mid']) == 3 ? "SR".$default['de_kcp_mid'] : $default['de_kcp_mid']; // 리얼 반영시 KCP에 발급된 site_cd 사용 ex) T0000
|
||||
$g_conf_site_key = $default['de_kcp_site_key'];
|
||||
/* ============================================================================== */
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = 01. 요청 정보 설정 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$req_tx = isset($_POST["req_tx"]) ? $_POST["req_tx"] : ''; // 요청 종류
|
||||
$trad_time = isset($_POST["trad_time"]) ? $_POST["trad_time"] : ''; // 원거래 시각
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$ordr_idxx = isset($_POST["ordr_idxx"]) ? preg_replace('/[^0-9A-Za-z_\-\.]/i', '', $_POST[ "ordr_idxx" ]) : ''; // 주문 번호
|
||||
$buyr_name = isset($_POST["buyr_name"]) ? $_POST["buyr_name"] : ''; // 주문자 이름
|
||||
$buyr_tel1 = isset($_POST["buyr_tel1"]) ? $_POST["buyr_tel1"] : ''; // 주문자 전화번호
|
||||
$buyr_mail = isset($_POST["buyr_mail"]) ? $_POST["buyr_mail"] : ''; // 주문자 E-Mail
|
||||
$good_name = isset($_POST["good_name"]) ? $_POST["good_name"] : ''; // 상품 정보
|
||||
$comment = isset($_POST["comment"]) ? $_POST["comment"] : ''; // 비고
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$corp_type = isset($_POST["corp_type"]) ? $_POST["corp_type"] : ''; // 사업장 구분
|
||||
$corp_tax_type = isset($_POST["corp_tax_type"]) ? $_POST["corp_tax_type"] : ''; // 과세/면세 구분
|
||||
$corp_tax_no = isset($_POST["corp_tax_no"]) ? $_POST["corp_tax_no"] : ''; // 발행 사업자 번호
|
||||
$corp_nm = isset($_POST["corp_nm"]) ? $_POST["corp_nm"] : ''; // 상호
|
||||
$corp_owner_nm = isset($_POST["corp_owner_nm"]) ? $_POST["corp_owner_nm"] : ''; // 대표자명
|
||||
$corp_addr = isset($_POST["corp_addr"]) ? $_POST["corp_addr"] : ''; // 사업장 주소
|
||||
$corp_telno = isset($_POST["corp_telno"]) ? $_POST["corp_telno"] : ''; // 사업장 대표 연락처
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$tr_code = isset($_POST["tr_code"]) ? $_POST["tr_code"] : ''; // 발행용도
|
||||
$id_info = isset($_POST["id_info"]) ? $_POST["id_info"] : ''; // 신분확인 ID
|
||||
$amt_tot = isset($_POST["amt_tot"]) ? $_POST["amt_tot"] : ''; // 거래금액 총 합
|
||||
$amt_sup = isset($_POST["amt_sup"]) ? $_POST["amt_sup"] : ''; // 공급가액
|
||||
$amt_svc = isset($_POST["amt_svc"]) ? $_POST["amt_svc"] : ''; // 봉사료
|
||||
$amt_tax = isset($_POST["amt_tax"]) ? $_POST["amt_tax"] : ''; // 부가가치세
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$mod_type = isset($_POST["mod_type"]) ? $_POST["mod_type"] : ''; // 변경 타입
|
||||
$mod_value = isset($_POST["mod_value"]) ? $_POST["mod_value"] : ''; // 변경 요청 거래번호
|
||||
$mod_gubn = isset($_POST["mod_gubn"]) ? $_POST["mod_gubn"] : ''; // 변경 요청 거래번호 구분
|
||||
$mod_mny = isset($_POST["mod_mny"]) ? $_POST["mod_mny"] : ''; // 변경 요청 금액
|
||||
$rem_mny = isset($_POST["rem_mny"]) ? $_POST["rem_mny"] : ''; // 변경처리 이전 금액
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$cust_ip = getenv( "REMOTE_ADDR" ); // 요청 IP
|
||||
/* ============================================================================== */
|
||||
|
||||
$buyr_name = iconv("utf-8", "cp949", $buyr_name);
|
||||
$good_name = iconv("utf-8", "cp949", $good_name);
|
||||
$tx_cd = '';
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = 02. 인스턴스 생성 및 초기화 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$c_PayPlus = new C_PAYPLUS_CLI_T;
|
||||
$c_PayPlus->mf_clear();
|
||||
/* ============================================================================== */
|
||||
|
||||
$rcpt_data_set = $corp_data_set = null;
|
||||
/* ============================================================================== */
|
||||
/* = 03. 처리 요청 정보 설정, 실행 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 03-1. 승인 요청 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
// 업체 환경 정보
|
||||
if ( $req_tx == "pay" )
|
||||
{
|
||||
$tx_cd = "07010000"; // 현금영수증 등록 요청
|
||||
|
||||
// 현금영수증 정보
|
||||
$rcpt_data_set .= $c_PayPlus->mf_set_data_us( "user_type", $g_conf_user_type );
|
||||
$rcpt_data_set .= $c_PayPlus->mf_set_data_us( "trad_time", $trad_time );
|
||||
$rcpt_data_set .= $c_PayPlus->mf_set_data_us( "tr_code", $tr_code );
|
||||
$rcpt_data_set .= $c_PayPlus->mf_set_data_us( "id_info", $id_info );
|
||||
$rcpt_data_set .= $c_PayPlus->mf_set_data_us( "amt_tot", $amt_tot );
|
||||
$rcpt_data_set .= $c_PayPlus->mf_set_data_us( "amt_sup", $amt_sup );
|
||||
$rcpt_data_set .= $c_PayPlus->mf_set_data_us( "amt_svc", $amt_svc );
|
||||
$rcpt_data_set .= $c_PayPlus->mf_set_data_us( "amt_tax", $amt_tax );
|
||||
$rcpt_data_set .= $c_PayPlus->mf_set_data_us( "pay_type", "PAXX" ); // 선 결제 서비스 구분(PABK - 계좌이체, PAVC - 가상계좌, PAXX - 기타)
|
||||
//$rcpt_data_set .= $c_PayPlus->mf_set_data_us( "pay_trade_no", $pay_trade_no ); // 결제 거래번호(PABK, PAVC일 경우 필수)
|
||||
//$rcpt_data_set .= $c_PayPlus->mf_set_data_us( "pay_tx_id", $pay_tx_id ); // 가상계좌 입금통보 TX_ID(PAVC일 경우 필수)
|
||||
|
||||
// 주문 정보
|
||||
$c_PayPlus->mf_set_ordr_data( "ordr_idxx", $ordr_idxx );
|
||||
$c_PayPlus->mf_set_ordr_data( "good_name", $good_name );
|
||||
$c_PayPlus->mf_set_ordr_data( "buyr_name", $buyr_name );
|
||||
$c_PayPlus->mf_set_ordr_data( "buyr_tel1", $buyr_tel1 );
|
||||
$c_PayPlus->mf_set_ordr_data( "buyr_mail", $buyr_mail );
|
||||
$c_PayPlus->mf_set_ordr_data( "comment", $comment );
|
||||
|
||||
// 가맹점 정보
|
||||
$corp_data_set .= $c_PayPlus->mf_set_data_us( "corp_type", $corp_type );
|
||||
|
||||
if ( $corp_type == "1" ) // 입점몰인 경우 판매상점 DATA 전문 생성
|
||||
{
|
||||
$corp_data_set .= $c_PayPlus->mf_set_data_us( "corp_tax_type", $corp_tax_type );
|
||||
$corp_data_set .= $c_PayPlus->mf_set_data_us( "corp_tax_no", $corp_tax_no );
|
||||
$corp_data_set .= $c_PayPlus->mf_set_data_us( "corp_sell_tax_no",$corp_tax_no );
|
||||
$corp_data_set .= $c_PayPlus->mf_set_data_us( "corp_nm", $corp_nm );
|
||||
$corp_data_set .= $c_PayPlus->mf_set_data_us( "corp_owner_nm", $corp_owner_nm );
|
||||
$corp_data_set .= $c_PayPlus->mf_set_data_us( "corp_addr", $corp_addr );
|
||||
$corp_data_set .= $c_PayPlus->mf_set_data_us( "corp_telno", $corp_telno );
|
||||
}
|
||||
|
||||
$c_PayPlus->mf_set_ordr_data( "rcpt_data", $rcpt_data_set );
|
||||
$c_PayPlus->mf_set_ordr_data( "corp_data", $corp_data_set );
|
||||
}
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 03-2. 취소 요청 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
else if ( $req_tx == "mod" )
|
||||
{
|
||||
if ( $mod_type == "STSQ" )
|
||||
{
|
||||
$tx_cd = "07030000"; // 조회 요청
|
||||
}
|
||||
else
|
||||
{
|
||||
$tx_cd = "07020000"; // 취소 요청
|
||||
}
|
||||
|
||||
$c_PayPlus->mf_set_modx_data( "mod_type", $mod_type ); // 원거래 변경 요청 종류
|
||||
$c_PayPlus->mf_set_modx_data( "mod_value", $mod_value );
|
||||
$c_PayPlus->mf_set_modx_data( "mod_gubn", $mod_gubn );
|
||||
$c_PayPlus->mf_set_modx_data( "trad_time", $trad_time );
|
||||
|
||||
if ( $mod_type == "STPC" ) // 부분취소
|
||||
{
|
||||
$c_PayPlus->mf_set_modx_data( "mod_mny", $mod_mny );
|
||||
$c_PayPlus->mf_set_modx_data( "rem_mny", $rem_mny );
|
||||
}
|
||||
}
|
||||
/* ============================================================================== */
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = 03-3. 실행 = */
|
||||
/* ------------------------------------------------------------------------------ */
|
||||
if ( strlen($tx_cd) > 0 )
|
||||
{
|
||||
$c_PayPlus->mf_do_tx( "", $g_conf_home_dir, $g_conf_site_id,
|
||||
$g_conf_site_key, $tx_cd, "",
|
||||
$g_conf_pa_url, $g_conf_pa_port, "payplus_cli_slib",
|
||||
$ordr_idxx, $cust_ip, $g_conf_log_level,
|
||||
"", $g_conf_tx_mode, $g_conf_key_dir, $g_conf_log_dir );
|
||||
}
|
||||
else
|
||||
{
|
||||
$c_PayPlus->m_res_cd = "9562";
|
||||
$c_PayPlus->m_res_msg = "연동 오류";
|
||||
}
|
||||
$res_cd = $c_PayPlus->m_res_cd; // 결과 코드
|
||||
$res_msg = $c_PayPlus->m_res_msg; // 결과 메시지
|
||||
/* ============================================================================== */
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = 04. 승인 결과 처리 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
if ( $req_tx == "pay" )
|
||||
{
|
||||
if ( $res_cd == "0000" )
|
||||
{
|
||||
$cash_no = $c_PayPlus->mf_get_res_data( "cash_no" ); // 현금영수증 거래번호
|
||||
$receipt_no = $c_PayPlus->mf_get_res_data( "receipt_no" ); // 현금영수증 승인번호
|
||||
$app_time = $c_PayPlus->mf_get_res_data( "app_time" ); // 승인시간(YYYYMMDDhhmmss)
|
||||
$reg_stat = $c_PayPlus->mf_get_res_data( "reg_stat" ); // 등록 상태 코드
|
||||
$reg_desc = $c_PayPlus->mf_get_res_data( "reg_desc" ); // 등록 상태 설명
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 04-1. 승인 결과를 업체 자체적으로 DB 처리 작업하시는 부분입니다. = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 승인 결과를 DB 작업 하는 과정에서 정상적으로 승인된 건에 대해 = */
|
||||
/* = DB 작업을 실패하여 DB update 가 완료되지 않은 경우, 자동으로 = */
|
||||
/* = 승인 취소 요청을 하는 프로세스가 구성되어 있습니다. = */
|
||||
/* = DB 작업이 실패 한 경우, bSucc 라는 변수(String)의 값을 "false" = */
|
||||
/* = 로 세팅해 주시기 바랍니다. (DB 작업 성공의 경우에는 "false" 이외의 = */
|
||||
/* = 값을 세팅하시면 됩니다.) = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$bSucc = ""; // DB 작업 실패일 경우 "false" 로 세팅
|
||||
|
||||
// 결과값 serialize
|
||||
$cash = array();
|
||||
$cash['receipt_no'] = $receipt_no;
|
||||
$cash['app_time'] = $app_time;
|
||||
$cash['reg_stat'] = $reg_stat;
|
||||
$cash['reg_desc'] = iconv("cp949", "utf-8", $reg_desc);
|
||||
$cash['tr_code'] = $tr_code;
|
||||
$cash['id_info'] = $id_info;
|
||||
$cash_info = serialize($cash);
|
||||
|
||||
if($tx == 'personalpay') {
|
||||
$sql = " update {$g5['g5_shop_personalpay_table']}
|
||||
set pp_cash = '1',
|
||||
pp_cash_no = '$cash_no',
|
||||
pp_cash_info = '$cash_info'
|
||||
where pp_id = '$ordr_idxx' ";
|
||||
} else {
|
||||
$sql = " update {$g5['g5_shop_order_table']}
|
||||
set od_cash = '1',
|
||||
od_cash_no = '$cash_no',
|
||||
od_cash_info = '$cash_info'
|
||||
where od_id = '$ordr_idxx' ";
|
||||
}
|
||||
|
||||
$result = sql_query($sql, false);
|
||||
if (!$result) $bSucc = "false";
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 04-2. DB 작업 실패일 경우 자동 승인 취소 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
if ( $bSucc == "false" )
|
||||
{
|
||||
$c_PayPlus->mf_clear();
|
||||
|
||||
$tx_cd = "07020000"; // 취소 요청
|
||||
|
||||
$c_PayPlus->mf_set_modx_data( "mod_type", "STSC" ); // 원거래 변경 요청 종류
|
||||
$c_PayPlus->mf_set_modx_data( "mod_value", $cash_no );
|
||||
$c_PayPlus->mf_set_modx_data( "mod_gubn", "MG01" );
|
||||
$c_PayPlus->mf_set_modx_data( "trad_time", $trad_time );
|
||||
|
||||
$c_PayPlus->mf_do_tx( "", $g_conf_home_dir, $g_conf_site_id,
|
||||
$g_conf_site_key, $tx_cd, "",
|
||||
$g_conf_pa_url, $g_conf_pa_port, "payplus_cli_slib",
|
||||
$ordr_idxx, $cust_ip, $g_conf_log_level,
|
||||
"", $g_conf_tx_mode );
|
||||
|
||||
$res_cd = $c_PayPlus->m_res_cd;
|
||||
$res_msg = $c_PayPlus->m_res_msg;
|
||||
}
|
||||
|
||||
} // End of [res_cd = "0000"]
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 04-3. 등록 실패를 업체 자체적으로 DB 처리 작업하시는 부분입니다. = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
else
|
||||
{
|
||||
}
|
||||
}
|
||||
/* ============================================================================== */
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = 05. 변경 결과 처리 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
else if ( $req_tx == "mod" )
|
||||
{
|
||||
if ( $res_cd == "0000" )
|
||||
{
|
||||
$cash_no = $c_PayPlus->mf_get_res_data( "cash_no" ); // 현금영수증 거래번호
|
||||
$receipt_no = $c_PayPlus->mf_get_res_data( "receipt_no" ); // 현금영수증 승인번호
|
||||
$app_time = $c_PayPlus->mf_get_res_data( "app_time" ); // 승인시간(YYYYMMDDhhmmss)
|
||||
$reg_stat = $c_PayPlus->mf_get_res_data( "reg_stat" ); // 등록 상태 코드
|
||||
$reg_desc = $c_PayPlus->mf_get_res_data( "reg_desc" ); // 등록 상태 설명
|
||||
}
|
||||
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = 05-1. 변경 실패를 업체 자체적으로 DB 처리 작업하시는 부분입니다. = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
else
|
||||
{
|
||||
}
|
||||
}
|
||||
/* ============================================================================== */
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = 06. 인스턴스 CleanUp = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$c_PayPlus->mf_clear();
|
||||
/* ============================================================================== */
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = 07. 폼 구성 및 결과페이지 호출 = */
|
||||
/* ============================================================================== */
|
||||
?>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<script language = 'javascript'>
|
||||
function goResult()
|
||||
{
|
||||
document.pay_info.submit();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="goResult();">
|
||||
<form name="pay_info" method="post" action="./pp_cli_result.php">
|
||||
<input type="hidden" name="req_tx" value="<?php echo $req_tx; ?>"> <!-- 요청 구분 -->
|
||||
<input type="hidden" name="bSucc" value="<?php echo $bSucc; ?>"> <!-- 쇼핑몰 DB 처리 성공 여부 -->
|
||||
|
||||
<input type="hidden" name="res_cd" value="<?php echo $res_cd; ?>"> <!-- 결과 코드 -->
|
||||
<input type="hidden" name="res_msg" value="<?php echo iconv("cp949", "utf-8", $res_msg); ?>"> <!-- 결과 메세지 -->
|
||||
<input type="hidden" name="ordr_idxx" value="<?php echo $ordr_idxx; ?>"> <!-- 주문번호 -->
|
||||
<input type="hidden" name="good_name" value="<?php echo $good_name; ?>"> <!-- 상품명 -->
|
||||
<input type="hidden" name="buyr_name" value="<?php echo $buyr_name; ?>"> <!-- 주문자명 -->
|
||||
<input type="hidden" name="buyr_tel1" value="<?php echo $buyr_tel1; ?>"> <!-- 주문자 전화번호 -->
|
||||
<input type="hidden" name="buyr_mail" value="<?php echo $buyr_mail; ?>"> <!-- 주문자 E-mail -->
|
||||
<input type="hidden" name="comment" value="<?php echo $comment; ?>"> <!-- 비고 -->
|
||||
|
||||
<input type="hidden" name="corp_type" value="<?php echo $corp_type; ?>"> <!-- 사업장 구분 -->
|
||||
<input type="hidden" name="corp_tax_type" value="<?php echo $corp_tax_type; ?>"> <!-- 과세/면세 구분 -->
|
||||
<input type="hidden" name="corp_tax_no" value="<?php echo $corp_tax_no; ?>"> <!-- 발행 사업자 번호 -->
|
||||
<input type="hidden" name="corp_nm" value="<?php echo $corp_nm; ?>"> <!-- 상호 -->
|
||||
<input type="hidden" name="corp_owner_nm" value="<?php echo $corp_owner_nm; ?>"> <!-- 대표자명 -->
|
||||
<input type="hidden" name="corp_addr" value="<?php echo $corp_addr; ?>"> <!-- 사업장주소 -->
|
||||
<input type="hidden" name="corp_telno" value="<?php echo $corp_telno; ?>"> <!-- 사업장 대표 연락처 -->
|
||||
|
||||
<input type="hidden" name="tr_code" value="<?php echo $tr_code; ?>"> <!-- 발행용도 -->
|
||||
<input type="hidden" name="id_info" value="<?php echo $id_info; ?>"> <!-- 신분확인 ID -->
|
||||
<input type="hidden" name="amt_tot" value="<?php echo $amt_tot; ?>"> <!-- 거래금액 총 합 -->
|
||||
<input type="hidden" name="amt_sub" value="<?php echo $amt_sup; ?>"> <!-- 공급가액 -->
|
||||
<input type="hidden" name="amt_svc" value="<?php echo $amt_svc; ?>"> <!-- 봉사료 -->
|
||||
<input type="hidden" name="amt_tax" value="<?php echo $amt_tax; ?>"> <!-- 부가가치세 -->
|
||||
<input type="hidden" name="pay_type" value="<?php echo $pay_type; ?>"> <!-- 결제 서비스 구분 -->
|
||||
<input type="hidden" name="pay_trade_no" value="<?php echo $pay_trade_no; ?>"> <!-- 결제 거래번호 -->
|
||||
|
||||
<input type="hidden" name="mod_type" value="<?php echo $mod_type; ?>"> <!-- 변경 타입 -->
|
||||
<input type="hidden" name="mod_value" value="<?php echo $mod_value; ?>"> <!-- 변경 요청 거래번호 -->
|
||||
<input type="hidden" name="mod_gubn" value="<?php echo $mod_gubn; ?>"> <!-- 변경 요청 거래번호 구분 -->
|
||||
<input type="hidden" name="mod_mny" value="<?php echo $mod_mny; ?>"> <!-- 변경 요청 금액 -->
|
||||
<input type="hidden" name="rem_mny" value="<?php echo $rem_mny; ?>"> <!-- 변경처리 이전 금액 -->
|
||||
|
||||
<input type="hidden" name="cash_no" value="<?php echo $cash_no; ?>"> <!-- 현금영수증 거래번호 -->
|
||||
<input type="hidden" name="receipt_no" value="<?php echo $receipt_no; ?>"> <!-- 현금영수증 승인번호 -->
|
||||
<input type="hidden" name="app_time" value="<?php echo $app_time; ?>"> <!-- 승인시간(YYYYMMDDhhmmss) -->
|
||||
<input type="hidden" name="reg_stat" value="<?php echo $reg_stat; ?>"> <!-- 등록 상태 코드 -->
|
||||
<input type="hidden" name="reg_desc" value="<?php echo iconv("cp949", "utf-8", $reg_desc); ?>"> <!-- 등록 상태 설명 -->
|
||||
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<?php
|
||||
// locale 설정 초기화
|
||||
setlocale(LC_CTYPE, '');
|
||||
@@ -0,0 +1,292 @@
|
||||
<?php
|
||||
/* ====================================================================== */
|
||||
/* = PAGE : 지불 연동 PHP 라이브러리 = */
|
||||
/* = ------------------------------------------------------------------ = */
|
||||
/* = Copyright (c) 2006 KCP Inc. All Rights Reserverd. = */
|
||||
/* ====================================================================== */
|
||||
|
||||
/* ====================================================================== */
|
||||
/* = 지불 연동 CLASS = */
|
||||
/* ====================================================================== */
|
||||
class C_PAYPLUS_CLI_T
|
||||
{
|
||||
public $m_payx_data;
|
||||
public $m_ordr_data;
|
||||
public $m_rcvr_data;
|
||||
public $m_escw_data;
|
||||
public $m_modx_data;
|
||||
public $m_encx_data;
|
||||
public $m_encx_info;
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* - 처리 결과 값 - */
|
||||
/* -------------------------------------------------------------------- */
|
||||
public $m_res_data;
|
||||
public $m_res_cd;
|
||||
public $m_res_msg;
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* - 생성자 - */
|
||||
/* -------------------------------------------------------------------- */
|
||||
function C_PAYPLUS_CLI()
|
||||
{
|
||||
$this->m_payx_data="payx_data=";
|
||||
$this->m_payx_common="";
|
||||
$this->m_payx_card="";
|
||||
$this->m_ordr_data="";
|
||||
$this->m_rcvr_data="";
|
||||
$this->m_escw_data="";
|
||||
$this->m_modx_data="";
|
||||
$this->m_encx_data="";
|
||||
$this->m_encx_info="";
|
||||
}
|
||||
|
||||
function mf_init( $mode )
|
||||
{
|
||||
if ( $mode == "1" )
|
||||
{
|
||||
if ( !extension_loaded( 'pp_cli_dl_php' ) )
|
||||
{
|
||||
dl( "pp_cli_dl_php.so" );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function mf_clear()
|
||||
{
|
||||
$this->m_payx_data="payx_data=";
|
||||
$this->m_payx_common="";
|
||||
$this->m_payx_card="";
|
||||
$this->m_ordr_data="";
|
||||
$this->m_rcvr_data="";
|
||||
$this->m_escw_data="";
|
||||
$this->m_modx_data="";
|
||||
$this->m_encx_data="";
|
||||
}
|
||||
|
||||
function mf_gen_trace_no( $site_cd, $ip, $mode )
|
||||
{
|
||||
if ( $mode == "1" )
|
||||
{
|
||||
$trace_no = lfPP_CLI_DL__gen_trace_no( $site_cd, $ip );
|
||||
}
|
||||
else
|
||||
{
|
||||
$trace_no = "";
|
||||
}
|
||||
|
||||
return $trace_no;
|
||||
}
|
||||
|
||||
function mf_set_data_us( $name, $val )
|
||||
{
|
||||
$data = "";
|
||||
|
||||
if ( $name != "" && $val != "" )
|
||||
{
|
||||
$data = $name . '=' . $val . chr( 31 );
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
function mf_add_payx_data( $pay_type, $payx_data )
|
||||
{
|
||||
$this->m_payx_data .= ( $pay_type . '=' . $payx_data . chr( 30 ) );
|
||||
}
|
||||
|
||||
function mf_set_ordr_data( $name, $val )
|
||||
{
|
||||
if ( $val != "" )
|
||||
{
|
||||
$this->m_ordr_data .= ( $name . '=' . $val . chr( 31 ) );
|
||||
}
|
||||
}
|
||||
|
||||
function mf_set_rcvr_data( $name, $val )
|
||||
{
|
||||
if ( $val != "" )
|
||||
{
|
||||
$this->m_rcvr_data .= ( $name . '=' . $val . chr( 31 ) );
|
||||
}
|
||||
}
|
||||
|
||||
function mf_set_escw_data( $name, $val )
|
||||
{
|
||||
if ( $val != "" )
|
||||
{
|
||||
$this->m_escw_data .= ( $name . '=' . $val . chr( 29 ) );
|
||||
}
|
||||
}
|
||||
|
||||
function mf_set_modx_data( $name, $val )
|
||||
{
|
||||
if ( $val != "" )
|
||||
{
|
||||
$this->m_modx_data .= ( $name . '=' . $val . chr( 31 ) );
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* - FUNC : 지불 처리 함수 - */
|
||||
/* -------------------------------------------------------------------- */
|
||||
function mf_do_tx( $trace_no, $home_dir, $site_cd,
|
||||
$site_key, $tx_cd, $pub_key_str,
|
||||
$pa_url, $pa_port, $user_agent,
|
||||
$ordr_idxx, $cust_ip,
|
||||
$log_level, $opt, $mode,
|
||||
$key_dir, $log_dir)
|
||||
{
|
||||
$payx_data = $this->m_payx_data;
|
||||
|
||||
$ordr_data = $this->mf_get_data( "ordr_data", $this->m_ordr_data );
|
||||
$rcvr_data = $this->mf_get_data( "rcvr_data", $this->m_rcvr_data );
|
||||
$escw_data = $this->mf_get_data( "escw_data", $this->m_escw_data );
|
||||
$modx_data = $this->mf_get_data( "mod_data", $this->m_modx_data );
|
||||
|
||||
if ( $mode == "1" )
|
||||
{
|
||||
$res_data = lfPP_CLI_DL__do_tx_2( $trace_no, $home_dir, $site_cd,
|
||||
$site_key, $tx_cd, $pub_key_str,
|
||||
$pa_url, $pa_port, $user_agent,
|
||||
$ordr_idxx,
|
||||
$payx_data, $ordr_data,
|
||||
$rcvr_data, $escw_data,
|
||||
$modx_data,
|
||||
$this->m_encx_data, $this->m_encx_info,
|
||||
$log_level, $opt );
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
|
||||
{
|
||||
$bin_exe = $home_dir.'/bin/pp_cli_exe ';
|
||||
|
||||
$res_data = $this->mf_exec($bin_exe . "\"".
|
||||
"site_cd=" . $site_cd . "," .
|
||||
"site_key=" . $site_key . "," .
|
||||
"tx_cd=" . $tx_cd . "," .
|
||||
"pa_url=" . $pa_url . "," .
|
||||
"pa_port=" . $pa_port . "," .
|
||||
"ordr_idxx=" . $ordr_idxx . "," .
|
||||
"enc_data=" . $this->m_encx_data . "," .
|
||||
"enc_info=" . $this->m_encx_info . "," .
|
||||
"trace_no=" . $trace_no . "," .
|
||||
"cust_ip=" . $cust_ip . "," .
|
||||
"key_path=" . $key_dir . "," .
|
||||
"log_path=" . $log_dir . "," .
|
||||
"log_level=" . $log_level . "," .
|
||||
"plan_data=" . $payx_data .
|
||||
$ordr_data .
|
||||
$rcvr_data .
|
||||
$escw_data .
|
||||
$modx_data .
|
||||
"\"") ;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(PHP_INT_MAX == 2147483647) // 32-bit
|
||||
$bin_exe = $home_dir.'/bin/pp_cli';
|
||||
else
|
||||
$bin_exe = $home_dir.'/bin/pp_cli_x64';
|
||||
|
||||
$res_data = $this->mf_exec( $bin_exe,
|
||||
"-h",
|
||||
"home=" . $home_dir . "," .
|
||||
"site_cd=" . $site_cd . "," .
|
||||
"site_key=" . $site_key . "," .
|
||||
"tx_cd=" . $tx_cd . "," .
|
||||
"pa_url=" . $pa_url . "," .
|
||||
"pa_port=" . $pa_port . "," .
|
||||
"ordr_idxx=" . $ordr_idxx . "," .
|
||||
"payx_data=" . $payx_data . "," .
|
||||
"ordr_data=" . $ordr_data . "," .
|
||||
"rcvr_data=" . $rcvr_data . "," .
|
||||
"escw_data=" . $escw_data . "," .
|
||||
"modx_data=" . $modx_data . "," .
|
||||
"enc_data=" . $this->m_encx_data . "," .
|
||||
"enc_info=" . $this->m_encx_info . "," .
|
||||
"trace_no=" . $trace_no . "," .
|
||||
"cust_ip=" . $cust_ip . "," .
|
||||
"log_path=" . $log_dir . "," .
|
||||
"log_level=" . $log_level . "," .
|
||||
"opt=" . $opt . "" );
|
||||
}
|
||||
|
||||
if ( $res_data == "" )
|
||||
{
|
||||
$res_data = "res_cd=9502" . chr( 31 ) . "res_msg=연동 모듈 호출 오류";
|
||||
}
|
||||
}
|
||||
|
||||
parse_str( str_replace( chr( 31 ), "&", $res_data ), $this->m_res_data );
|
||||
|
||||
$this->m_res_cd = $this->m_res_data[ "res_cd" ];
|
||||
$this->m_res_msg = $this->m_res_data[ "res_msg" ];
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* - FUNC : 처리 결과 값을 리턴하는 함수 - */
|
||||
/* -------------------------------------------------------------------- */
|
||||
function mf_get_res_data( $name )
|
||||
{
|
||||
return $this->m_res_data[ $name ];
|
||||
}
|
||||
|
||||
function mf_get_payx_data()
|
||||
{
|
||||
$my_data = "";
|
||||
|
||||
if ( $this->m_payx_common != "" || $this->m_payx_card != "" )
|
||||
{
|
||||
$my_data = "payx_data=";
|
||||
}
|
||||
|
||||
if ( $this->m_payx_common != "" )
|
||||
{
|
||||
$my_data .= "common=" . $this->m_payx_common . chr( 30 );
|
||||
}
|
||||
|
||||
if ( $this->m_payx_card != "" )
|
||||
{
|
||||
$my_data .= ( "card=" . $this->m_payx_card . chr( 30 ) );
|
||||
}
|
||||
|
||||
return $my_data;
|
||||
}
|
||||
|
||||
function mf_get_data( $data_name, $data )
|
||||
{
|
||||
$my_data = "";
|
||||
|
||||
if ( $data != "" )
|
||||
{
|
||||
$my_data = $data_name . "=" . $data;
|
||||
}
|
||||
else
|
||||
{
|
||||
$my_data = "";
|
||||
}
|
||||
|
||||
return $my_data;
|
||||
}
|
||||
|
||||
function mf_exec()
|
||||
{
|
||||
$arg = func_get_args();
|
||||
|
||||
if ( is_array( $arg[0] ) ) $arg = $arg[0];
|
||||
|
||||
$exec_cmd = array_shift( $arg );
|
||||
|
||||
foreach((array) $arg as $key=>$i)
|
||||
{
|
||||
$exec_cmd .= " " . escapeshellarg( $i );
|
||||
}
|
||||
|
||||
$rt = exec( $exec_cmd );
|
||||
|
||||
return $rt;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,276 @@
|
||||
<?php
|
||||
include_once './_common.php';
|
||||
require_once(G5_SHOP_PATH.'/settle_kcp.inc.php');
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = PAGE : 결과 처리 PAGE = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = Copyright (c) 2007 KCP Inc. All Rights Reserverd. = */
|
||||
/* ============================================================================== */
|
||||
?>
|
||||
<?php
|
||||
/* ============================================================================== */
|
||||
/* = 01. KCP 지불 서버 정보 설정 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
if ($default['de_card_test']) {
|
||||
$g_conf_pa_url = "testpaygw.kcp.co.kr"; // ※ 테스트: testpaygw.kcp.co.kr, 리얼: paygw.kcp.co.kr
|
||||
$g_conf_pa_port = "8090"; // ※ 테스트: 8090, 리얼: 8090
|
||||
}
|
||||
else {
|
||||
$g_conf_pa_url = "paygw.kcp.co.kr";
|
||||
$g_conf_pa_port = "8090";
|
||||
}
|
||||
|
||||
$g_conf_tx_mode = 0;
|
||||
/* ============================================================================== */
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* = 지불 결과 = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$req_tx = isset($_POST["req_tx"]) ? $_POST["req_tx"] : ''; // 요청 종류
|
||||
$bSucc = isset($_POST["bSucc"]) ? $_POST["bSucc"] : ''; // DB처리 여부
|
||||
$trad_time = isset($_POST["trad_time"]) ? $_POST["trad_time"] : ''; // 원거래 시각
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$ordr_idxx = isset($_POST["ordr_idxx"]) ? $_POST["ordr_idxx"] : ''; // 주문번호
|
||||
$buyr_name = isset($_POST["buyr_name"]) ? $_POST["buyr_name"] : ''; // 주문자 이름
|
||||
$buyr_tel1 = isset($_POST["buyr_tel1"]) ? $_POST["buyr_tel1"] : ''; // 주문자 전화번호
|
||||
$buyr_mail = isset($_POST["buyr_mail"]) ? $_POST["buyr_mail"] : ''; // 주문자 메일
|
||||
$good_name = isset($_POST["good_name"]) ? $_POST["good_name"] : ''; // 주문상품명
|
||||
$comment = isset($_POST["comment"]) ? $_POST["comment"] : ''; // 비고
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$corp_type = isset($_POST["corp_type"]) ? $_POST["corp_type"] : ''; // 사업장 구분
|
||||
$corp_tax_type = isset($_POST["corp_tax_type"]) ? $_POST["corp_tax_type"] : ''; // 과세/면세 구분
|
||||
$corp_tax_no = isset($_POST["corp_tax_no"]) ? $_POST["corp_tax_no"] : ''; // 발행 사업자 번호
|
||||
$corp_nm = isset($_POST["corp_nm"]) ? $_POST["corp_nm"] : ''; // 상호
|
||||
$corp_owner_nm = isset($_POST["corp_owner_nm"]) ? $_POST["corp_owner_nm"] : ''; // 대표자명
|
||||
$corp_addr = isset($_POST["corp_addr"]) ? $_POST["corp_addr"] : ''; // 사업장 주소
|
||||
$corp_telno = isset($_POST["corp_telno"]) ? $_POST["corp_telno"] : ''; // 사업장 대표 연락처
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$tr_code = isset($_POST["tr_code"]) ? $_POST["tr_code"] : ''; // 발행용도
|
||||
$id_info = isset($_POST["id_info"]) ? $_POST["id_info"] : ''; // 신분확인 ID
|
||||
$amt_tot = isset($_POST["amt_tot"]) ? $_POST["amt_tot"] : ''; // 거래금액 총 합
|
||||
$amt_sup = isset($_POST["amt_sup"]) ? $_POST["amt_sup"] : ''; // 공급가액
|
||||
$amt_svc = isset($_POST["amt_svc"]) ? $_POST["amt_svc"] : ''; // 봉사료
|
||||
$amt_tax = isset($_POST["amt_tax"]) ? $_POST["amt_tax"] : ''; // 부가가치세
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$pay_type = isset($_POST["pay_type"]) ? $_POST["pay_type"] : ''; // 결제 서비스 구분
|
||||
$pay_trade_no = isset($_POST["pay_trade_no"]) ? $_POST["pay_trade_no"] : ''; // 결제 거래번호
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$mod_type = isset($_POST["mod_type"]) ? $_POST["mod_type"] : ''; // 변경 타입
|
||||
$mod_value = isset($_POST["mod_value"]) ? $_POST["mod_value"] : ''; // 변경 요청 거래번호
|
||||
$mod_gubn = isset($_POST["mod_gubn"]) ? $_POST["mod_gubn"] : ''; // 변경 요청 거래번호 구분
|
||||
$mod_mny = isset($_POST["mod_mny"]) ? $_POST["mod_mny"] : ''; // 변경 요청 금액
|
||||
$rem_mny = isset($_POST["rem_mny"]) ? $_POST["rem_mny"] : ''; // 변경처리 이전 금액
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
$res_cd = isset($_POST["res_cd"]) ? clean_xss_tags(strip_tags($_POST["res_cd"])) : ''; // 응답코드
|
||||
$res_msg = isset($_POST["res_msg"]) ? clean_xss_tags(strip_tags($_POST["res_msg"])) : ''; // 응답메시지
|
||||
$cash_no = isset($_POST["cash_no"]) ? clean_xss_tags(strip_tags($_POST["cash_no"])) : ''; // 현금영수증 거래번호
|
||||
$receipt_no = isset($_POST["receipt_no"]) ? clean_xss_tags(strip_tags($_POST["receipt_no"])) : ''; // 현금영수증 승인번호
|
||||
$app_time = isset($_POST["app_time"]) ? clean_xss_tags(strip_tags($_POST["app_time"])) : ''; // 승인시간(YYYYMMDDhhmmss)
|
||||
$reg_stat = isset($_POST["reg_stat"]) ? clean_xss_tags(strip_tags($_POST["reg_stat"])) : ''; // 등록 상태 코드
|
||||
$reg_desc = isset($_POST["reg_desc"]) ? clean_xss_tags(strip_tags($_POST["reg_desc"])) : ''; // 등록 상태 설명
|
||||
/* ============================================================================== */
|
||||
|
||||
$req_tx_name = "";
|
||||
|
||||
if( $req_tx == "pay" )
|
||||
{
|
||||
$req_tx_name = "등록";
|
||||
}
|
||||
else if( $req_tx == "mod" )
|
||||
{
|
||||
$req_tx_name = "변경/조회";
|
||||
}
|
||||
?>
|
||||
<!doctype html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>현금영수증발급 <?php echo $req_tx_name; ?> | <?php echo $config['cf_title']; ?></title>
|
||||
<?php
|
||||
echo '<link rel="stylesheet" href="'.G5_CSS_URL.'/'.(G5_IS_MOBILE?'mobile':'default').'_shop.css">'.PHP_EOL;
|
||||
?>
|
||||
<style>
|
||||
.tbl_head01 tbody th {padding-right:10px;text-align:right}
|
||||
</style>
|
||||
<script>
|
||||
//현금영수증 연동 스크립트
|
||||
function receiptView(auth_no)
|
||||
{
|
||||
var receiptWin = "<?php echo G5_CASH_RECEIPT_URL.$default['de_kcp_mid'].'&orderid='.$ordr_idxx.'&bill_yn=Y&authno='; ?>"+auth_no;
|
||||
window.open(receiptWin , "" , "width=360, height=647")
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id="kcp_req_rx" class="new_win">
|
||||
<h1 id="win_title">현금영수증 <?php echo $req_tx_name; ?> - KCP Online Payment System</h1>
|
||||
|
||||
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col class="grid_4">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<?php
|
||||
if ($req_tx == "pay") // 거래 구분 : 등록
|
||||
{
|
||||
if (!$bSucc == "false") // 업체 DB 처리 정상
|
||||
{
|
||||
if ($res_cd == "0000") // 정상 승인
|
||||
{
|
||||
?>
|
||||
<tr>
|
||||
<th scope="row">결과코드</th>
|
||||
<td><?php echo $res_cd; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">결과 메세지</th>
|
||||
<td><?php echo $res_msg; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">현금영수증 거래번호</th>
|
||||
<td><?php echo $cash_no; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">현금영수증 승인번호</th>
|
||||
<td><?php echo $receipt_no; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">등록 상태 코드</th>
|
||||
<td><?php echo $reg_stat; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">등록 상태 설명</th>
|
||||
<td><?php echo $reg_desc; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">승인시간</th>
|
||||
<td><?php echo 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); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">현금영수증 URL</th>
|
||||
<td>
|
||||
<button type="button" name="receiptView" class="btn_frmline" onClick="javascript:receiptView('<?php echo $receipt_no; ?>')">영수증 확인</button>
|
||||
<p>영수증 확인은 실 등록의 경우에만 가능합니다.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
else // 승인 실패
|
||||
{
|
||||
?>
|
||||
<tr>
|
||||
<th scope="row">결과코드</th>
|
||||
<td><?php echo $res_cd; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">결과 메세지</th>
|
||||
<td><?php echo $res_msg; ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
|
||||
}
|
||||
else // 업체 DB 처리 실패
|
||||
{
|
||||
?>
|
||||
<tr>
|
||||
<th scope="row">취소 결과코드</th>
|
||||
<td><?php echo $res_cd; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">취소 결과 메세지</th>
|
||||
<td><?php echo $res_msg; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">상세메세지</th>
|
||||
<td>
|
||||
<?php
|
||||
if ($res_cd == "0000")
|
||||
{
|
||||
echo "결제는 정상적으로 이루어졌지만 쇼핑몰에서 결제 결과를 처리하는 중 오류가 발생하여 시스템에서 자동으로 취소 요청을 하였습니다. <br> 쇼핑몰로 전화하여 확인하시기 바랍니다.";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "결제는 정상적으로 이루어졌지만 쇼핑몰에서 결제 결과를 처리하는 중 오류가 발생하여 시스템에서 자동으로 취소 요청을 하였으나, <br> <b>취소가 실패 되었습니다.</b><br> 쇼핑몰로 전화하여 확인하시기 바랍니다.";
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
|
||||
}
|
||||
else if ($req_tx == "mod") // 거래 구분 : 조회/취소 요청
|
||||
{
|
||||
if ($res_cd == "0000")
|
||||
{
|
||||
?>
|
||||
<tr>
|
||||
<th scope="row">결과코드</th>
|
||||
<td><?php echo $res_cd; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">결과 메세지</th>
|
||||
<td><?php echo $res_msg; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">현금영수증 거래번호</th>
|
||||
<td><?php echo $cash_no; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">현금영수증 승인번호</th>
|
||||
<td><?php echo $receipt_no; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">등록 상태 코드</th>
|
||||
<td><?php echo $reg_stat; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">등록 상태 설명</th>
|
||||
<td><?php echo $reg_desc; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">승인시간</th>
|
||||
<td><?php echo 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); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">현금영수증 URL</th>
|
||||
<td>
|
||||
<input type="button" name="receiptView" value="영수증 확인" class="box" onClick="javascript:receiptView('<?php echo $receipt_no; ?>')">
|
||||
<p>영수증 확인은 실 등록의 경우에만 가능합니다.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
else
|
||||
{
|
||||
?>
|
||||
<tr>
|
||||
<th scope="row">결과코드</th>
|
||||
<td><?php echo $res_cd; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">결과 메세지</th>
|
||||
<td><?php echo $res_msg; ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,17 @@
|
||||
<!--
|
||||
/* ============================================================================== */
|
||||
/* = PAGE : 진행창 예제 PAGE = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = Copyright (c) 2010.02 KCP Inc. All Rights Reserverd. = */
|
||||
/* ============================================================================== */
|
||||
//-->
|
||||
<html>
|
||||
<head>
|
||||
<title> 처리중 </title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="ImageToolbar" content="No">
|
||||
</head>
|
||||
<body leftmargin="0" topmargin="0" onBlur="window.document.pro.focus();">
|
||||
<img src="./img/processing.gif" name="pro">
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,240 @@
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
?>
|
||||
|
||||
<!--
|
||||
/* ============================================================================== */
|
||||
/* = PAGE : 등록 요청 PAGE = */
|
||||
/* = -------------------------------------------------------------------------- = */
|
||||
/* = Copyright (c) 2007 KCP Inc. All Rights Reserverd. = */
|
||||
/* ============================================================================== */
|
||||
//-->
|
||||
|
||||
<script>
|
||||
// 현금영수증 MAIN FUNC
|
||||
function jsf__pay_cash( form )
|
||||
{
|
||||
jsf__show_progress(true);
|
||||
|
||||
if ( jsf__chk_cash( form ) == false )
|
||||
{
|
||||
jsf__show_progress(false);
|
||||
return;
|
||||
}
|
||||
|
||||
form.ordr_idxx.value = "<?php echo $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_id; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">상품 정보</th>
|
||||
<td><?php echo $goods_name; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">주문자 이름</th>
|
||||
<td><?php echo $od_name; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">주문자 E-Mail</th>
|
||||
<td><?php echo $od_email; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">주문자 전화번호</th>
|
||||
<td><?php echo $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="tx" value="<?php echo $tx; ?>">
|
||||
<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_name; ?>">
|
||||
<input type="hidden" name="buyr_mail" value="<?php echo $od_email; ?>">
|
||||
<input type="hidden" name="buyr_tel1" value="<?php echo $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>
|
||||