diff --git a/adm/shop_admin/orderform.php b/adm/shop_admin/orderform.php index 152e601a4..af6833288 100644 --- a/adm/shop_admin/orderform.php +++ b/adm/shop_admin/orderform.php @@ -81,7 +81,8 @@ if(!sql_query(" select ad_addr3 from {$g5['g5_shop_order_address_table']} limit // 결제 PG 필드 추가 if(!sql_query(" select od_pg from {$g5['g5_shop_order_table']} limit 1 ", false)) { sql_query(" ALTER TABLE `{$g5['g5_shop_order_table']}` - ADD `od_pg` varchar(255) NOT NULL DEFAULT '' AFTER `od_mobile` ", true); + ADD `od_pg` varchar(255) NOT NULL DEFAULT '' AFTER `od_mobile`, + ADD `od_casseqno` varchar(255) NOT NULL DEFAULT '' AFTER `od_escrow` ", true); } ?> diff --git a/install/gnuboard5shop.sql b/install/gnuboard5shop.sql index 7f523e314..bd1bee932 100644 --- a/install/gnuboard5shop.sql +++ b/install/gnuboard5shop.sql @@ -600,6 +600,7 @@ CREATE TABLE IF NOT EXISTS `g5_shop_order` ( `od_tno` varchar(255) NOT NULL DEFAULT '', `od_app_no` varchar(20) NOT NULL DEFAULT '', `od_escrow` tinyint(4) NOT NULL DEFAULT '0', + `od_casseqno` varchar(255) NOT NULL DEFAULT '', `od_tax_flag` tinyint(4) NOT NULL DEFAULT '0', `od_tax_mny` int(11) NOT NULL DEFAULT '0', `od_vat_mny` int(11) NOT NULL DEFAULT '0', diff --git a/mobile/shop/orderformupdate.php b/mobile/shop/orderformupdate.php index aa1951e1b..0b6f77f6b 100644 --- a/mobile/shop/orderformupdate.php +++ b/mobile/shop/orderformupdate.php @@ -482,7 +482,7 @@ if(!$result) { $error = 'order'; include G5_SHOP_PATH.'/ordererrormail.php'; - die_utf8('

고객님의 주문 정보를 처리하는 중 오류가 발생해서 주문이 완료되지 않았습니다.

'.strtoupper($default['de_pg_service']).'를 이용한 전자결제(신용카드, 계좌이체, 가상계좌 등)은 자동 취소되었습니다.'); + die('

고객님의 주문 정보를 처리하는 중 오류가 발생해서 주문이 완료되지 않았습니다.

'.strtoupper($default['de_pg_service']).'를 이용한 전자결제(신용카드, 계좌이체, 가상계좌 등)은 자동 취소되었습니다.'); } // 장바구니 상태변경 @@ -521,7 +521,7 @@ if(!$result) { // 주문삭제 sql_query(" delete from {$g5['g5_shop_order_table']} where od_id = '$od_id' "); - die_utf8('

고객님의 주문 정보를 처리하는 중 오류가 발생해서 주문이 완료되지 않았습니다.

'.strtoupper($default['de_pg_service']).'를 이용한 전자결제(신용카드, 계좌이체, 가상계좌 등)은 자동 취소되었습니다.'); + die('

고객님의 주문 정보를 처리하는 중 오류가 발생해서 주문이 완료되지 않았습니다.

'.strtoupper($default['de_pg_service']).'를 이용한 전자결제(신용카드, 계좌이체, 가상계좌 등)은 자동 취소되었습니다.'); } // 회원이면서 포인트를 사용했다면 포인트 테이블에 사용을 추가 diff --git a/mobile/shop/personalpayform.php b/mobile/shop/personalpayform.php index 7fd0695c9..df162bd2f 100644 --- a/mobile/shop/personalpayform.php +++ b/mobile/shop/personalpayform.php @@ -170,6 +170,7 @@ function pay_approval() if(!payment_check(pf)) return false; + f.buyr_name.value = pf.pp_name.value; f.buyr_mail.value = pf.pp_email.value; f.buyr_tel1.value = pf.pp_hp.value; @@ -179,6 +180,31 @@ function pay_approval() f.rcvr_tel2.value = pf.pp_hp.value; f.rcvr_mail.value = pf.pp_email.value; f.settle_method.value = settle_method; + + var pay_method = ""; + switch(settle_method) { + case "계좌이체": + pay_method = "SC0030"; + break; + case "가상계좌": + pay_method = "SC0040"; + break; + case "휴대폰": + pay_method = "SC0060"; + break; + case "신용카드": + pay_method = "SC0010"; + break; + } + f.LGD_CUSTOM_FIRSTPAY.value = pay_method; + f.LGD_BUYER.value = pf.pp_name.value; + f.LGD_BUYEREMAIL.value = pf.pp_email.value; + f.LGD_BUYERPHONE.value = pf.pp_hp.value; + f.LGD_AMOUNT.value = f.good_mny.value; + + f.LGD_TAXFREEAMOUNT.value = pf.comm_free_mny.value; + + var new_win = window.open("about:blank", "tar_opener", "scrollbars=yes,resizable=yes"); f.target = "tar_opener"; diff --git a/mobile/shop/personalpayformupdate.php b/mobile/shop/personalpayformupdate.php index de92829d8..3f5f0b171 100644 --- a/mobile/shop/personalpayformupdate.php +++ b/mobile/shop/personalpayformupdate.php @@ -2,7 +2,10 @@ include_once('./_common.php'); // 결제등록 완료 체크 -if($_POST['tran_cd'] == '' || $_POST['enc_info'] == '' || $_POST['enc_data'] == '') +if($default['de_pg_service'] == 'kcp' && ($_POST['tran_cd'] == '' || $_POST['enc_info'] == '' || $_POST['enc_data'] == '')) + alert('결제등록 요청 후 주문해 주십시오.'); + +if($default['de_pg_service'] == 'lg' && !$_POST['LGD_PAYKEY']) alert('결제등록 요청 후 주문해 주십시오.'); // 개인결제 정보 @@ -21,31 +24,52 @@ if($_POST['pp_id'] != get_session('ss_personalpay_id') || $hash_data != get_sess if ($pp_settle_case == "계좌이체") { - include G5_MSHOP_PATH.'/kcp/pp_ax_hub.php'; + switch($default['de_pg_service']) { + case 'lg': + include G5_SHOP_PATH.'/lg/xpay_result.php'; + break; + default: + include G5_MSHOP_PATH.'/kcp/pp_ax_hub.php'; + $bank_name = iconv("cp949", "utf-8", $bank_name); + break; + } $pp_tno = $tno; $pp_receipt_price = $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_price = $amount; } else if ($pp_settle_case == "가상계좌") { - include G5_MSHOP_PATH.'/kcp/pp_ax_hub.php'; + switch($default['de_pg_service']) { + case 'lg': + include G5_SHOP_PATH.'/lg/xpay_result.php'; + break; + default: + include G5_SHOP_PATH.'/kcp/pp_ax_hub.php'; + $bankname = iconv("cp949", "utf-8", $bankname); + $depositor = iconv("cp949", "utf-8", $depositor); + break; + } $pp_tno = $tno; $pp_receipt_price = 0; - $bankname = iconv("cp949", "utf8", $bankname); - $depositor = iconv("cp949", "utf8", $depositor); - $pp_bank_account = $bankname.' '.$account.' '.$depositor; + $pp_bank_account = $bankname.' '.$account; $pp_deposit_name = $depositor; $pg_price = $amount; } else if ($pp_settle_case == "휴대폰") { - include G5_MSHOP_PATH.'/kcp/pp_ax_hub.php'; + switch($default['de_pg_service']) { + case 'lg': + include G5_SHOP_PATH.'/lg/xpay_result.php'; + break; + default: + include G5_SHOP_PATH.'/kcp/pp_ax_hub.php'; + break; + } $pp_tno = $tno; $pp_receipt_price = $amount; @@ -55,12 +79,19 @@ else if ($pp_settle_case == "휴대폰") } else if ($pp_settle_case == "신용카드") { - include G5_MSHOP_PATH.'/kcp/pp_ax_hub.php'; + switch($default['de_pg_service']) { + case 'lg': + include G5_SHOP_PATH.'/lg/xpay_result.php'; + break; + default: + include G5_SHOP_PATH.'/kcp/pp_ax_hub.php'; + $card_name = iconv("cp949", "utf-8", $card_name); + break; + } $pp_tno = $tno; $pp_receipt_price = $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_price = $amount; } @@ -72,7 +103,14 @@ else // 주문금액과 결제금액이 일치하는지 체크 if((int)$pp['pp_price'] !== (int)$pg_price) { $cancel_msg = '결제금액 불일치'; - include G5_MSHOP_PATH.'/kcp/pp_ax_hub_cancel.php'; // 결제취소처리 + switch($default['de_pg_service']) { + case 'lg': + include G5_SHOP_PATH.'/lg/xpay_cancel.php'; + break; + default: + include G5_SHOP_PATH.'/kcp/pp_ax_hub_cancel.php'; + break; + } die("Receipt Amount Error"); } @@ -95,11 +133,16 @@ $sql = " update {$g5['g5_shop_personalpay_table']} where pp_id = '{$pp['pp_id']}' "; $result = sql_query($sql, false); -// 결제정보 입력 오류시 kcp 결제 취소 +// 결제정보 입력 오류시 결제 취소 if(!$result) { - if($tno) { - $cancel_msg = '결제정보 입력 오류'; - include G5_MSHOP_PATH.'/kcp/pp_ax_hub_cancel.php'; // 결제취소처리 + $cancel_msg = '결제정보 입력 오류'; + switch($default['de_pg_service']) { + case 'lg': + include G5_SHOP_PATH.'/lg/xpay_cancel.php'; + break; + default: + include G5_SHOP_PATH.'/kcp/pp_ax_hub_cancel.php'; + break; } die("

$sql

" . mysql_errno() . " : " . mysql_error() . "

error file : {$_SERVER['PHP_SELF']}"); @@ -126,9 +169,14 @@ if($pp_receipt_price > 0 && $pp['pp_id'] && $pp['od_id']) { // 결제정보 입력 오류시 kcp 결제 취소 if(!$result) { - if($tno) { - $cancel_msg = '결제정보 입력 오류'; - include G5_MSHOP_PATH.'/kcp/pp_ax_hub_cancel.php'; // 결제취소처리 + $cancel_msg = '결제정보 입력 오류'; + switch($default['de_pg_service']) { + case 'lg': + include G5_SHOP_PATH.'/lg/xpay_cancel.php'; + break; + default: + include G5_SHOP_PATH.'/kcp/pp_ax_hub_cancel.php'; + break; } die("

$sql

" . mysql_errno() . " : " . mysql_error() . "

error file : {$_SERVER['PHP_SELF']}"); diff --git a/shop/lg/orderform.3.php b/shop/lg/orderform.3.php index 65fb721e4..abb5510c1 100644 --- a/shop/lg/orderform.3.php +++ b/shop/lg/orderform.3.php @@ -3,7 +3,7 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 ?>