From c1db06d6a19e9e61fd361ca27a02abcee495a8e8 Mon Sep 17 00:00:00 2001 From: chicpro Date: Thu, 3 Sep 2015 16:49:31 +0900 Subject: [PATCH] =?UTF-8?q?PAYNOW=20=EA=B0=84=ED=8E=B8=EA=B2=B0=EC=A0=9C?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- adm/shop_admin/configform.php | 16 +++++++++++++ adm/shop_admin/configformupdate.php | 1 + install/gnuboard5shop.sql | 1 + mobile/shop/lg/orderform.1.php | 1 + mobile/shop/lg/xpay_approval.php | 2 ++ mobile/shop/orderform.php | 27 ++++++++++++++++++--- mobile/shop/orderformupdate.php | 26 ++++++++++++++++++++ mobile/shop/orderinquiryview.php | 21 ++++++++++++++-- shop/lg/orderform.2.php | 1 + shop/orderform.php | 37 +++++++++++++++++++++++++++++ shop/orderformupdate.php | 26 ++++++++++++++++++++ shop/orderinquiryview.php | 19 ++++++++++++++- 12 files changed, 172 insertions(+), 6 deletions(-) diff --git a/adm/shop_admin/configform.php b/adm/shop_admin/configform.php index 5a94568d7..f7fc04b03 100644 --- a/adm/shop_admin/configform.php +++ b/adm/shop_admin/configform.php @@ -96,6 +96,12 @@ if(!isset($default['de_mobile_search_list_row'])) { sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}` ADD `de_mobile_search_list_row` int(11) NOT NULL DEFAULT '0' AFTER `de_mobile_search_list_mod` ", true); } + +// PG 간펼결제 사용여부 필드 추가 +if(!isset($default['de_easy_pay_use'])) { + sql_query(" ALTER TABLE `{$g5['g5_shop_default_table']}` + ADD `de_easy_pay_use` tinyint(4) NOT NULL DEFAULT '0' AFTER `de_iche_use` ", true); +} ?>
@@ -542,6 +548,16 @@ if(!isset($default['de_mobile_search_list_row'])) { + + + + + + + diff --git a/adm/shop_admin/configformupdate.php b/adm/shop_admin/configformupdate.php index 286165603..e49547b47 100644 --- a/adm/shop_admin/configformupdate.php +++ b/adm/shop_admin/configformupdate.php @@ -127,6 +127,7 @@ $sql = " update {$g5['g5_shop_default_table']} de_bank_account = '{$_POST['de_bank_account']}', de_card_test = '{$_POST['de_card_test']}', de_card_use = '{$_POST['de_card_use']}', + de_easy_pay_use = '{$_POST['de_easy_pay_use']}', de_card_noint_use = '{$_POST['de_card_noint_use']}', de_card_point = '{$_POST['de_card_point']}', de_settle_min_point = '{$_POST['de_settle_min_point']}', diff --git a/install/gnuboard5shop.sql b/install/gnuboard5shop.sql index a129e699e..df5dbc6f1 100644 --- a/install/gnuboard5shop.sql +++ b/install/gnuboard5shop.sql @@ -312,6 +312,7 @@ CREATE TABLE IF NOT EXISTS `g5_shop_default` ( `de_inicis_mid` varchar(255) NOT NULL DEFAULT '', `de_inicis_admin_key` varchar(255) NOT NULL DEFAULT '', `de_iche_use` tinyint(4) NOT NULL DEFAULT '0', + `de_easy_pay_use` tinyint(4) NOT NULL DEFAULT '0', `de_item_use_use` tinyint(4) NOT NULL DEFAULT '0', `de_item_use_write` tinyint(4) NOT NULL DEFAULT '0', `de_code_dup_use` tinyint(4) NOT NULL DEFAULT '0', diff --git a/mobile/shop/lg/orderform.1.php b/mobile/shop/lg/orderform.1.php index 225008a94..1fd1a22e6 100644 --- a/mobile/shop/lg/orderform.1.php +++ b/mobile/shop/lg/orderform.1.php @@ -13,6 +13,7 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 +
\ No newline at end of file diff --git a/mobile/shop/lg/xpay_approval.php b/mobile/shop/lg/xpay_approval.php index be45cf87b..c81ce3371 100644 --- a/mobile/shop/lg/xpay_approval.php +++ b/mobile/shop/lg/xpay_approval.php @@ -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; /* **************************************************** diff --git a/mobile/shop/orderform.php b/mobile/shop/orderform.php index a63a03539..c81eaf69b 100644 --- a/mobile/shop/orderform.php +++ b/mobile/shop/orderform.php @@ -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 '
  • '.PHP_EOL; + $checked = ''; + } + echo ''; $temp_point = 0; @@ -1170,6 +1189,7 @@ function pay_approval() f.settle_method.value = settle_method; var pay_method = ""; + var easy_pay = ""; switch(settle_method) { case "계좌이체": pay_method = "SC0030"; @@ -1183,12 +1203,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; f.LGD_TAXFREEAMOUNT.value = pf.comm_free_mny.value; @@ -1226,9 +1250,6 @@ function pay_approval() f.action = "https://mobile.inicis.com/smart/" + paymethod + "/"; - //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 = ""; diff --git a/mobile/shop/orderformupdate.php b/mobile/shop/orderformupdate.php index ddb95c9fc..9c337949f 100644 --- a/mobile/shop/orderformupdate.php +++ b/mobile/shop/orderformupdate.php @@ -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!!!"); diff --git a/mobile/shop/orderinquiryview.php b/mobile/shop/orderinquiryview.php index b50a813fb..26c885469 100644 --- a/mobile/shop/orderinquiryview.php +++ b/mobile/shop/orderinquiryview.php @@ -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') { 주문일시 - 결제방식 - + 결제금액 diff --git a/shop/lg/orderform.2.php b/shop/lg/orderform.2.php index a45e463bc..246f82390 100644 --- a/shop/lg/orderform.2.php +++ b/shop/lg/orderform.2.php @@ -29,6 +29,7 @@ $LGD_CUSTOM_PROCESSTYPE = 'TWOTR'; + diff --git a/shop/orderform.php b/shop/orderform.php index 3123f980a..47954641a 100644 --- a/shop/orderform.php +++ b/shop/orderform.php @@ -619,6 +619,25 @@ require_once('./'.$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 ' '.PHP_EOL; + $checked = ''; + } + $temp_point = 0; // 회원이면서 포인트사용이면 if ($is_member && $config['cf_use_point']) @@ -1326,6 +1345,15 @@ function forderform_check(f) break; } + f.LGD_EASYPAY_ONLY.value = ""; + if(typeof f.LGD_CUSTOM_USABLEPAY === "undefined") { + var input = document.createElement("input"); + input.setAttribute("type", "hidden"); + input.setAttribute("name", "LGD_CUSTOM_USABLEPAY"); + input.setAttribute("value", ""); + f.LGD_EASYPAY_ONLY.parentNode.insertBefore(input, f.LGD_EASYPAY_ONLY); + } + switch(settle_method) { case "계좌이체": @@ -1344,6 +1372,12 @@ function forderform_check(f) f.LGD_CUSTOM_FIRSTPAY.value = "SC0010"; f.LGD_CUSTOM_USABLEPAY.value = "SC0010"; break; + case "간편결제": + var elm = f.LGD_CUSTOM_USABLEPAY; + if(elm.parentNode) + elm.parentNode.removeChild(elm); + f.LGD_EASYPAY_ONLY.value = "PAYNOW"; + break; default: f.LGD_CUSTOM_FIRSTPAY.value = "무통장"; break; @@ -1363,6 +1397,9 @@ function forderform_check(f) case "신용카드": f.gopaymethod.value = "onlycard"; break; + case "KPAY": + f.gopaymethod.value = "onlykpay"; + break; default: f.gopaymethod.value = "무통장"; break; diff --git a/shop/orderformupdate.php b/shop/orderformupdate.php index cb1041ac1..9bacbb352 100644 --- a/shop/orderformupdate.php +++ b/shop/orderformupdate.php @@ -377,6 +377,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_SHOP_PATH.'/inicis/inipay_result.php'; + break; + default: + include G5_SHOP_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!!!"); diff --git a/shop/orderinquiryview.php b/shop/orderinquiryview.php index 117ed5de8..0bbd8e1fd 100644 --- a/shop/orderinquiryview.php +++ b/shop/orderinquiryview.php @@ -262,6 +262,23 @@ if($od['od_pg'] == 'lg') { $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']; @@ -293,7 +310,7 @@ if($od['od_pg'] == 'lg') { 결제방식 - + 결제금액