#283 개인결제 기능 추가
This commit is contained in:
172
shop/personalpayformupdate.php
Normal file
172
shop/personalpayformupdate.php
Normal file
@ -0,0 +1,172 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
|
||||
if(get_magic_quotes_gpc())
|
||||
{
|
||||
$_GET = array_add_callback("stripslashes", $_GET);
|
||||
$_POST = array_add_callback("stripslashes", $_POST);
|
||||
}
|
||||
$_GET = array_add_callback("mysql_real_escape_string", $_GET);
|
||||
$_POST = array_add_callback("mysql_real_escape_string", $_POST);
|
||||
|
||||
// 개인결제 정보
|
||||
$pp_check = false;
|
||||
$sql = " select * from {$g4['shop_personalpay_table']} where pp_id = '{$_POST['pp_id']}' and pp_use = '1' ";
|
||||
$pp = sql_fetch($sql);
|
||||
if(!$pp['pp_id'])
|
||||
alert('개인결제 정보가 존재하지 않습니다.');
|
||||
|
||||
if($pp['pp_receipt_amount'] > 0)
|
||||
alert('이미 결제하신 개인결제 내역입니다.');
|
||||
|
||||
$hash_data = md5($_POST['pp_id'].$_POST['good_mny'].$pp['pp_time']);
|
||||
if($_POST['pp_id'] != get_session('ss_personalpay_id') || $hash_data != get_session('ss_personalpay_hash'))
|
||||
die('개인결제 정보가 올바르지 않습니다.');
|
||||
|
||||
|
||||
if ($pp_settle_case == "계좌이체")
|
||||
{
|
||||
include G4_SHOP_PATH.'/kcp/pp_ax_hub.php';
|
||||
|
||||
$pp_tno = $tno;
|
||||
$pp_receipt_amount = $amount;
|
||||
$pp_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);
|
||||
$pp_deposit_name = $pp_name;
|
||||
$bank_name = iconv("cp949", "utf8", $bank_name);
|
||||
$pp_bank_account = $bank_name;
|
||||
$pg_amount = $amount;
|
||||
}
|
||||
else if ($pp_settle_case == "가상계좌")
|
||||
{
|
||||
include G4_SHOP_PATH.'/kcp/pp_ax_hub.php';
|
||||
|
||||
$pp_tno = $tno;
|
||||
$pp_receipt_amount = 0;
|
||||
$bankname = iconv("cp949", "utf8", $bankname);
|
||||
$depositor = iconv("cp949", "utf8", $depositor);
|
||||
$pp_bank_account = $bankname.' '.$account.' '.$depositor;
|
||||
$pp_deposit_name = $depositor;
|
||||
$pg_amount = $amount;
|
||||
}
|
||||
else if ($pp_settle_case == "휴대폰")
|
||||
{
|
||||
include G4_SHOP_PATH.'/kcp/pp_ax_hub.php';
|
||||
|
||||
$pp_tno = $tno;
|
||||
$pp_receipt_amount = $amount;
|
||||
$pp_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);
|
||||
$pp_bank_account = $commid.' '.$mobile_no;
|
||||
$pg_amount = $amount;
|
||||
}
|
||||
else if ($pp_settle_case == "신용카드")
|
||||
{
|
||||
include G4_SHOP_PATH.'/kcp/pp_ax_hub.php';
|
||||
|
||||
$pp_tno = $tno;
|
||||
$pp_receipt_amount = $amount;
|
||||
$pp_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);
|
||||
$card_name = iconv("cp949", "utf8", $card_name);
|
||||
$pp_bank_account = $card_name;
|
||||
$pg_amount = $amount;
|
||||
}
|
||||
else
|
||||
{
|
||||
die("od_settle_case Error!!!");
|
||||
}
|
||||
|
||||
// 주문금액과 결제금액이 일치하는지 체크
|
||||
if((int)$pp['pp_amount'] !== (int)$pg_amount) {
|
||||
$cancel_msg = '결제금액 불일치';
|
||||
include G4_SHOP_PATH.'/kcp/pp_ax_hub_cancel.php'; // 결제취소처리
|
||||
|
||||
die("Receipt Amount Error");
|
||||
}
|
||||
|
||||
// 결제정보 입력
|
||||
$sql = " update {$g4['shop_personalpay_table']}
|
||||
set pp_tno = '$pp_tno',
|
||||
pp_app_no = '$app_no',
|
||||
pp_receipt_amount = '$pp_receipt_amount',
|
||||
pp_settle_case = '$pp_settle_case',
|
||||
pp_bank_account = '$pp_bank_account',
|
||||
pp_deposit_name = '$pp_deposit_name',
|
||||
pp_receipt_time = '$pp_receipt_time',
|
||||
pp_receipt_ip = '{$_SERVER['REMOTE_ADDR']}'
|
||||
where pp_id = '{$pp['pp_id']}' ";
|
||||
$result = sql_query($sql, false);
|
||||
|
||||
// 결제정보 입력 오류시 kcp 결제 취소
|
||||
if(!$result) {
|
||||
if($tno) {
|
||||
$cancel_msg = '결제정보 입력 오류';
|
||||
include G4_SHOP_PATH.'/kcp/pp_ax_hub_cancel.php'; // 결제취소처리
|
||||
}
|
||||
|
||||
die("<p>$sql<p>" . mysql_errno() . " : " . mysql_error() . "<p>error file : {$_SERVER['PHP_SELF']}");
|
||||
}
|
||||
|
||||
// 주문번호가 있으면 결제정보 반영
|
||||
if($pp_receipt_amount > 0 && $pp['pp_id'] && $pp['od_id']) {
|
||||
$od_escrow = 0;
|
||||
if($escw_yn == 'Y')
|
||||
$od_escrow = 1;
|
||||
|
||||
$sql = " update {$g4['shop_order_table']}
|
||||
set od_receipt_amount = od_receipt_amount + '$pp_receipt_amount',
|
||||
od_receipt_time = '$pp_receipt_time',
|
||||
od_tno = '$pp_tno',
|
||||
od_app_no = '$app_no',
|
||||
od_escrow = '$od_escrow',
|
||||
od_settle_case = '$pp_settle_case',
|
||||
od_deposit_name = '$pp_deposit_name',
|
||||
od_bank_account = '$pp_bank_account',
|
||||
od_shop_memo = concat(od_shop_memo, \"\\n개인결제 ".$pp['pp_id']." 로 결제완료 - ".$pp_receipt_time."\")
|
||||
where od_id = '{$pp['od_id']}' ";
|
||||
$result = sql_query($sql, false);
|
||||
|
||||
// 결제정보 입력 오류시 kcp 결제 취소
|
||||
if(!$result) {
|
||||
if($tno) {
|
||||
$cancel_msg = '결제정보 입력 오류';
|
||||
include G4_SHOP_PATH.'/kcp/pp_ax_hub_cancel.php'; // 결제취소처리
|
||||
}
|
||||
|
||||
die("<p>$sql<p>" . mysql_errno() . " : " . mysql_error() . "<p>error file : {$_SERVER['PHP_SELF']}");
|
||||
}
|
||||
}
|
||||
|
||||
// 개인결제번호제거
|
||||
set_session('ss_personalpay_id', '');
|
||||
set_session('ss_personalpay_hash', '');
|
||||
|
||||
$uid = md5($pp['pp_id'].$pp['pp_time'].$_SERVER['REMOTE_ADDR']);
|
||||
set_session('ss_personalpay_uid', $uid);
|
||||
|
||||
goto_url(G4_SHOP_URL.'/personalpayresult.php?pp_id='.$pp['pp_id'].'&uid='.$uid);
|
||||
?>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>*** KCP [AX-HUB Version] ***</title>
|
||||
<script>
|
||||
// 결제 중 새로고침 방지 샘플 스크립트 (중복결제 방지)
|
||||
function noRefresh()
|
||||
{
|
||||
/* CTRL + N키 막음. */
|
||||
if ((event.keyCode == 78) && (event.ctrlKey == true))
|
||||
{
|
||||
event.keyCode = 0;
|
||||
return false;
|
||||
}
|
||||
/* F5 번키 막음. */
|
||||
if(event.keyCode == 116)
|
||||
{
|
||||
event.keyCode = 0;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
document.onkeydown = noRefresh ;
|
||||
</script>
|
||||
</head>
|
||||
</html>
|
||||
Reference in New Issue
Block a user