PG사 간편결제 추가

This commit is contained in:
chicpro
2015-09-07 12:09:07 +09:00
parent 0a4618a1b2
commit 1b03e331f8
32 changed files with 271 additions and 42 deletions

View File

@ -34,23 +34,25 @@ if($PGIP == "211.219.96.165" || $PGIP == "118.129.210.25") //PG에서 보냈는
$P_RMESG2; // 결과메시지
$P_NOTI; // 노티메시지(상점에서 올린 메시지)
$P_AUTH_NO; // 승인번호
$P_SRC_CODE; // 앱연동 결제구분
$P_TID = $_POST['P_TID'];
$P_MID = $_POST['P_MID'];
$P_AUTH_DT = $_POST['P_AUTH_DT'];
$P_STATUS = $_POST['P_STATUS'];
$P_TYPE = $_POST['P_TYPE'];
$P_OID = $_POST['P_OID'];
$P_FN_CD1 = $_POST['P_FN_CD1'];
$P_FN_CD2 = $_POST['P_FN_CD2'];
$P_FN_NM = $_POST['P_FN_NM'];
$P_AMT = $_POST['P_AMT'];
$P_UNAME = $_POST['P_UNAME'];
$P_RMESG1 = $_POST['P_RMESG1'];
$P_RMESG2 = $_POST['P_RMESG2'];
$P_NOTI = $_POST['P_NOTI'];
$P_AUTH_NO = $_POST['P_AUTH_NO'];
$P_TID = $_POST['P_TID'];
$P_MID = $_POST['P_MID'];
$P_AUTH_DT = $_POST['P_AUTH_DT'];
$P_STATUS = $_POST['P_STATUS'];
$P_TYPE = $_POST['P_TYPE'];
$P_OID = $_POST['P_OID'];
$P_FN_CD1 = $_POST['P_FN_CD1'];
$P_FN_CD2 = $_POST['P_FN_CD2'];
$P_FN_NM = $_POST['P_FN_NM'];
$P_AMT = $_POST['P_AMT'];
$P_UNAME = $_POST['P_UNAME'];
$P_RMESG1 = $_POST['P_RMESG1'];
$P_RMESG2 = $_POST['P_RMESG2'];
$P_NOTI = $_POST['P_NOTI'];
$P_AUTH_NO = $_POST['P_AUTH_NO'];
$P_SRC_CODE = $_POST['P_SRC_CODE'];
//WEB 방식의 경우 가상계좌 채번 결과 무시 처리
@ -160,11 +162,12 @@ if($PGIP == "211.219.96.165" || $PGIP == "118.129.210.25") //PG에서 보냈는
"P_RMESG1" => $P_RMESG1,
"P_RMESG2" => $P_RMESG2,
"P_NOTI" => $P_NOTI,
"P_AUTH_NO" => $P_AUTH_NO
"P_AUTH_NO" => $P_AUTH_NO,
"P_SRC_CODE" => $P_SRC_CODE
);
// 결과 incis log 테이블 기록
if($P_TYPE == 'BANK') {
if($P_TYPE == 'BANK' || $P_SRC_CODE == 'A') {
$sql = " insert into {$g5['g5_shop_inicis_log_table']}
set oid = '$P_OID',
P_TID = '$P_TID',

View File

@ -62,6 +62,8 @@
$comm_vat_mny = $_POST[ "comm_vat_mny" ]; // 부가세
$comm_free_mny = $_POST["comm_free_mny" ]; // 비과세금액
$payco_direct = $_POST["payco_direct" ]; // PAYCO 결제창 호출
/*
* 기타 파라메터 추가 부분 - Start -
*/
@ -99,6 +101,10 @@
$pay_method = 'VCNT';
$ActionResult = 'vcnt';
break;
case '간편결제':
$pay_method = 'CARD';
$ActionResult = 'card';
break;
default:
$pay_method = '';
$ActionResult = '';
@ -242,6 +248,8 @@ if($enc_data != '' && $enc_info != '' && $tran_cd != '') {
<input type="hidden" name="buyr_mail" value="<?php echo $buyr_mail; ?>">
<input type="hidden" name="ipgm_date" value="<?php echo $ipgm_date; ?>">
<input type="hidden" name="payco_direct" value="<?php echo $payco_direct; ?>"> <!-- PAYCO 결제창 호출 -->
<!-- 필수 사항 -->
<!-- 요청 구분 -->

View File

@ -18,6 +18,7 @@ if(!($default['de_iche_use'] || $default['de_vbank_use'] || $default['de_hp_use'
<input type="hidden" name="buyr_mail" value="">
<input type="hidden" name="ipgm_date" value="<?php echo $ipgm_date; ?>">
<input type="hidden" name="settle_method" value="">
<input type="hidden" name="payco_direct" value=""> <!-- PAYCO 결제창 호출 -->
<!-- 주문번호 -->
<input type="hidden" name="ordr_idxx" value="<?php echo $od_id; ?>">
<!-- 결제등록 키 -->

View File

@ -13,6 +13,7 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
<input type="hidden" name="LGD_BUYERID" id="LGD_BUYERID" value="<?php echo $LGD_BUYERID; ?>"> <!-- 구매자ID -->
<input type="hidden" name="LGD_CASHRECEIPTYN" id="LGD_CASHRECEIPTYN" value="N"> <!-- 현금영수증 사용 설정 -->
<input type="hidden" name="LGD_BUYERPHONE" id="LGD_BUYERPHONE" value=""> <!-- 구매자 휴대폰번호 -->
<input type="hidden" name="LGD_EASYPAY_ONLY" id="LGD_EASYPAY_ONLY" value=""> <!-- 페이나우 결제 호출 -->
<input type="hidden" name="good_mny" value="<?php echo $tot_price ?>" >
</form>

View File

@ -17,6 +17,7 @@ $LGD_TAXFREEAMOUNT = $_POST['LGD_TAXFREEAMOUNT']; //비과세 금
$LGD_CASHRECEIPTYN = $_POST['LGD_CASHRECEIPTYN']; //현금영수증 사용설정
$LGD_BUYERID = $_POST['LGD_BUYERID']; //구매자 ID
$LGD_BUYERPHONE = $_POST['LGD_BUYERPHONE']; //구매자 휴대폰번호
$LGD_EASYPAY_ONLY = $_POST['LGD_EASYPAY_ONLY']; //페이나우결제창 호출
$LGD_RETURNURL = G5_MSHOP_URL.'/lg/returnurl.php';
$LGD_KVPMISPNOTEURL = G5_MSHOP_URL.'/lg/note_url.php';
@ -87,6 +88,7 @@ $payReqMap['LGD_TAXFREEAMOUNT'] = $LGD_TAXFREEAMOUNT;
$payReqMap['LGD_CASHRECEIPTYN'] = $LGD_CASHRECEIPTYN;
$payReqMap['LGD_BUYERPHONE'] = $LGD_BUYERPHONE;
$payReqMap['LGD_BUYERID'] = $LGD_BUYERID;
$payReqMap['LGD_EASYPAY_ONLY'] = $LGD_EASYPAY_ONLY;
/*
****************************************************

View File

@ -554,7 +554,7 @@ require_once(G5_MSHOP_PATH.'/'.$default['de_pg_service'].'/orderform.1.php');
$escrow_title = "에스크로 ";
}
if ($default['de_bank_use'] || $default['de_vbank_use'] || $default['de_iche_use'] || $default['de_card_use'] || $default['de_hp_use']) {
if ($default['de_bank_use'] || $default['de_vbank_use'] || $default['de_iche_use'] || $default['de_card_use'] || $default['de_hp_use'] || $default['de_easy_pay_use']) {
echo '<div id="sod_frm_paysel"><ul>';
}
@ -593,6 +593,25 @@ require_once(G5_MSHOP_PATH.'/'.$default['de_pg_service'].'/orderform.1.php');
$checked = '';
}
// PG 간편결제
if($default['de_easy_pay_use']) {
switch($default['de_pg_service']) {
case 'lg':
$pg_easy_pay_name = 'PAYNOW';
break;
case 'inicis':
$pg_easy_pay_name = 'KPAY';
break;
default:
$pg_easy_pay_name = 'PAYCO';
break;
}
$multi_settle++;
echo '<li><input type="radio" id="od_settle_easy_pay" name="od_settle_case" value="간편결제" '.$checked.'> <label for="od_settle_easy_pay" class="'.$pg_easy_pay_name.'">'.$pg_easy_pay_name.'(간편결제)</label></li>'.PHP_EOL;
$checked = '';
}
echo '</ul>';
$temp_point = 0;
@ -646,7 +665,7 @@ require_once(G5_MSHOP_PATH.'/'.$default['de_pg_service'].'/orderform.1.php');
echo '</div>';
}
if ($default['de_bank_use'] || $default['de_vbank_use'] || $default['de_iche_use'] || $default['de_card_use'] || $default['de_hp_use']) {
if ($default['de_bank_use'] || $default['de_vbank_use'] || $default['de_iche_use'] || $default['de_card_use'] || $default['de_hp_use'] || $default['de_easy_pay_use']) {
echo '</div>';
}
@ -916,7 +935,7 @@ $(function() {
$("#show_pay_btn").css("display", "inline");
});
$("#od_settle_iche,#od_settle_card,#od_settle_vbank,#od_settle_hp").bind("click", function() {
$("#od_settle_iche,#od_settle_card,#od_settle_vbank,#od_settle_hp,#od_settle_easy_pay").bind("click", function() {
$("#settle_bank").hide();
$("#show_req_btn").css("display", "inline");
$("#show_pay_btn").css("display", "none");
@ -1168,8 +1187,13 @@ function pay_approval()
f.rcvr_add1.value = pf.od_b_addr1.value;
f.rcvr_add2.value = pf.od_b_addr2.value;
f.settle_method.value = settle_method;
if(settle_method == "간편결제")
f.payco_direct.value = "Y";
else
f.payco_direct.value = "";
<?php } else if($default['de_pg_service'] == 'lg') { ?>
var pay_method = "";
var easy_pay = "";
switch(settle_method) {
case "계좌이체":
pay_method = "SC0030";
@ -1183,12 +1207,16 @@ function pay_approval()
case "신용카드":
pay_method = "SC0010";
break;
case "간편결제":
easy_pay = "PAYNOW";
break;
}
f.LGD_CUSTOM_FIRSTPAY.value = pay_method;
f.LGD_BUYER.value = pf.od_name.value;
f.LGD_BUYEREMAIL.value = pf.od_email.value;
f.LGD_BUYERPHONE.value = pf.od_hp.value;
f.LGD_AMOUNT.value = f.good_mny.value;
f.LGD_EASYPAY_ONLY.value = easy_pay;
<?php if($default['de_tax_flag_use']) { ?>
f.LGD_TAXFREEAMOUNT.value = pf.comm_free_mny.value;
<?php } ?>
@ -1200,6 +1228,8 @@ function pay_approval()
var ypos = (screen.width - height) / 2;
var position = "top=" + ypos + ",left=" + xpos;
var features = position + ", width=320, height=440";
var p_reserved = f.P_RESERVED.value;
f.P_RESERVED.value = p_reserved;
switch(settle_method) {
case "계좌이체":
paymethod = "bank";
@ -1213,6 +1243,10 @@ function pay_approval()
case "신용카드":
paymethod = "wcard";
break;
case "간편결제":
paymethod = "wcard";
f.P_RESERVED.value = p_reserved+"&d_kpay=Y&d_kpay_app=Y";
break;
}
f.P_AMT.value = f.good_mny.value;
f.P_UNAME.value = pf.od_name.value;
@ -1226,9 +1260,6 @@ function pay_approval()
f.action = "https://mobile.inicis.com/smart/" + paymethod + "/";
<?php } ?>
//var new_win = window.open("about:blank", "tar_opener", "scrollbars=yes,resizable=yes");
//f.target = "tar_opener";
// 주문 정보 임시저장
var order_data = $(pf).serialize();
var save_result = "";

View File

@ -392,6 +392,32 @@ else if ($od_settle_case == "신용카드")
if($od_misu == 0)
$od_status = '입금';
}
else if ($od_settle_case == "간편결제")
{
switch($default['de_pg_service']) {
case 'lg':
include G5_SHOP_PATH.'/lg/xpay_result.php';
break;
case 'inicis':
include G5_MSHOP_PATH.'/inicis/pay_result.php';
break;
default:
include G5_MSHOP_PATH.'/kcp/pp_ax_hub.php';
$card_name = iconv("cp949", "utf-8", $card_name);
break;
}
$od_tno = $tno;
$od_app_no = $app_no;
$od_receipt_price = $amount;
$od_receipt_point = $i_temp_point;
$od_receipt_time = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/", "\\1-\\2-\\3 \\4:\\5:\\6", $app_time);
$od_bank_account = $card_name;
$pg_price = $amount;
$od_misu = $i_price - $od_receipt_price;
if($od_misu == 0)
$od_status = '입금';
}
else
{
die("od_settle_case Error!!!");

View File

@ -239,11 +239,29 @@ if($od['od_pg'] == 'lg') {
$app_no_subj = '';
$disp_bank = true;
$disp_receipt = false;
$easy_pay_name = '';
if($od['od_settle_case'] == '신용카드') {
$app_no_subj = '승인번호';
$app_no = $od['od_app_no'];
$disp_bank = false;
$disp_receipt = true;
} else if($od['od_settle_case'] == '간편결제') {
$app_no_subj = '승인번호';
$app_no = $od['od_app_no'];
$disp_bank = false;
switch($od['od_pg']) {
case 'lg':
$easy_pay_name = 'PAYNOW';
break;
case 'inicis':
$easy_pay_name = 'KPAY';
break;
case 'kcp':
$easy_pay_name = 'PAYCO';
break;
default:
break;
}
} else if($od['od_settle_case'] == '휴대폰') {
$app_no_subj = '휴대폰번호';
$app_no = $od['od_bank_account'];
@ -273,10 +291,9 @@ if($od['od_pg'] == 'lg') {
<th scope="row">주문일시</th>
<td><?php echo $od['od_time']; ?></td>
</tr>
<tr>
<th scope="row">결제방식</th>
<td><?php echo $od['od_settle_case']; ?></td>
<td><?php echo ($easy_pay_name ? $easy_pay_name.'('.$od['od_settle_case'].')' : $od['od_settle_case']); ?></td>
</tr>
<tr>
<th scope="row">결제금액</th>

View File

@ -37,6 +37,12 @@ else {
$g_conf_site_cd = $default['de_kcp_mid'];
$g_conf_site_key = $default['de_kcp_site_key'];
// 테스트 결제 때 PAYCO site_cd, site_key 재설정
if($default['de_card_test'] && ($_POST['settle_method'] == '간편결제' || $_POST['od_settle_case'] == '간편결제')) {
$g_conf_site_cd = 'S6729';
$g_conf_site_key = '';
}
if(!(preg_match("/^T000/", $g_conf_site_cd) || $default['de_card_test'])) {
if (!preg_match("/^SR/", $g_conf_site_cd)) {
alert("SR 로 시작하지 않는 KCP SITE CODE 는 지원하지 않습니다.");