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/css/default_shop.css b/css/default_shop.css index ba2f13246..2a0ae3b99 100644 --- a/css/default_shop.css +++ b/css/default_shop.css @@ -390,6 +390,10 @@ a.btn_admin:focus, a.btn_admin:hover {text-decoration:none} #sod_frm_paysel {margin:0 0 20px;padding:10px;border:1px solid #e9e9e9;background:#f2f5f9;text-align:center} #sod_frm_paysel legend {position:absolute;font-size:0;line-height:0;overflow:hidden} +#sod_frm_paysel .KPAY{background:url('../img/kpay_logo.png') no-repeat;padding-left:37px;display:inline-block} +#sod_frm_paysel .PAYNOW{background:url('../img/paynow_logo.png') no-repeat;padding-left:46px;display:inline-block} +#sod_frm_paysel .PAYCO{background:url('../img/payco_logo.png') no-repeat 1px;padding-left:46px;display:inline-block} + #settle_bank {margin:10px 0 0} #sod_frm_escrow {margin:30px 0 0} diff --git a/css/mobile_shop.css b/css/mobile_shop.css index b95c26821..97fdcc377 100644 --- a/css/mobile_shop.css +++ b/css/mobile_shop.css @@ -352,6 +352,10 @@ html.no-overflowscrolling #sc_coupon_frm, html.no-overflowscrolling #od_coupon_f #sod_frm_paysel ul {margin:0;padding:0;} #sod_frm_paysel ul:after {display:block;visibility:hidden;clear:both;content:""} #sod_frm_paysel li {float:left;padding:5px 2%;width:46%} +#sod_frm_paysel .KPAY{background:url('../img/kpay_logo.png') no-repeat;padding-left:37px;} +#sod_frm_paysel .PAYNOW{background:url('../img/paynow_logo.png') no-repeat;padding-left:46px;} +#sod_frm_paysel .PAYCO{background:url('../img/payco_logo.png') no-repeat 1px ;padding-left:46px;} + #sod_frm_paysel #settle_bank {padding:10px;background:#fff;line-height:2em;border:1px solid #dbdbdb} #sod_frm_paysel #settle_bank label {display:inline-block;margin:0 10px 0 0;font-weight:bold} #sod_frm_paysel #settle_bank .frm_input {background:#fff;text-align:center} diff --git a/img/kpay_logo.png b/img/kpay_logo.png new file mode 100644 index 000000000..7f7e76c75 Binary files /dev/null and b/img/kpay_logo.png differ diff --git a/img/payco_logo.png b/img/payco_logo.png new file mode 100644 index 000000000..e0d842c67 Binary files /dev/null and b/img/payco_logo.png differ diff --git a/img/paynow_logo.png b/img/paynow_logo.png new file mode 100644 index 000000000..768e30f8d Binary files /dev/null and b/img/paynow_logo.png differ 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/inicis/settle_common.php b/mobile/shop/inicis/settle_common.php index 3486c2237..4d9ca8b99 100644 --- a/mobile/shop/inicis/settle_common.php +++ b/mobile/shop/inicis/settle_common.php @@ -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', diff --git a/mobile/shop/kcp/order_approval_form.php b/mobile/shop/kcp/order_approval_form.php index e807ae404..07ecbbbe3 100644 --- a/mobile/shop/kcp/order_approval_form.php +++ b/mobile/shop/kcp/order_approval_form.php @@ -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 != '') { + + diff --git a/mobile/shop/kcp/orderform.1.php b/mobile/shop/kcp/orderform.1.php index 12c582f9f..312629b3e 100644 --- a/mobile/shop/kcp/orderform.1.php +++ b/mobile/shop/kcp/orderform.1.php @@ -18,6 +18,7 @@ if(!($default['de_iche_use'] || $default['de_vbank_use'] || $default['de_hp_use' + 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..f71ffcd8d 100644 --- a/mobile/shop/orderform.php +++ b/mobile/shop/orderform.php @@ -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 '
'; $temp_point = 0; @@ -646,7 +665,7 @@ require_once(G5_MSHOP_PATH.'/'.$default['de_pg_service'].'/orderform.1.php'); echo '
'; } - 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 ''; } @@ -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 = ""; 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; f.LGD_TAXFREEAMOUNT.value = pf.comm_free_mny.value; @@ -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 + "/"; - //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/mobile/shop/settle_kcp.inc.php b/mobile/shop/settle_kcp.inc.php index 148eb229e..9db76f2d3 100644 --- a/mobile/shop/settle_kcp.inc.php +++ b/mobile/shop/settle_kcp.inc.php @@ -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 는 지원하지 않습니다."); diff --git a/shop/inicis/orderform.1.php b/shop/inicis/orderform.1.php index d55e1f64c..859b3d343 100644 --- a/shop/inicis/orderform.1.php +++ b/shop/inicis/orderform.1.php @@ -2,7 +2,7 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 // 전자결제를 사용할 때만 실행 -if($default['de_iche_use'] || $default['de_vbank_use'] || $default['de_hp_use'] || $default['de_card_use']) { +if($default['de_iche_use'] || $default['de_vbank_use'] || $default['de_hp_use'] || $default['de_card_use'] || $default['de_easy_pay_use']) { ?> diff --git a/shop/inicis/orderform.3.php b/shop/inicis/orderform.3.php index e0dca41bb..8d46ff60c 100644 --- a/shop/inicis/orderform.3.php +++ b/shop/inicis/orderform.3.php @@ -2,7 +2,7 @@ if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 // 전자결제를 사용할 때만 실행 -if($default['de_iche_use'] || $default['de_vbank_use'] || $default['de_hp_use'] || $default['de_card_use']) { +if($default['de_iche_use'] || $default['de_vbank_use'] || $default['de_hp_use'] || $default['de_card_use'] || $default['de_easy_pay_use']) { ?>