From f4718a71a297f1679eefb0d646ecea4e4eac22e0 Mon Sep 17 00:00:00 2001 From: chym1217 Date: Wed, 17 Sep 2025 10:44:40 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EA=B4=80=EB=A6=AC=EC=9E=90=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20=ED=86=A0=EC=8A=A4=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EB=A8=BC=EC=B8=A0=20=EB=AA=85=EC=B9=AD=20=EB=B3=80=EA=B2=BD=20?= =?UTF-8?q?=EB=B0=8F=20=ED=85=8C=EC=8A=A4=ED=8A=B8=EA=B2=B0=EC=A0=9C=20?= =?UTF-8?q?=EC=95=88=EB=82=B4=20=EC=B6=94=EA=B0=80=20-=20=EA=B8=B0?= =?UTF-8?q?=EC=A1=B4=20:=20=ED=86=A0=EC=8A=A4=ED=8E=98=EC=9D=B4=EB=A8=BC?= =?UTF-8?q?=EC=B8=A0=20->=20=ED=86=A0=EC=8A=A4=ED=8E=98=EC=9D=B4=EB=A8=BC?= =?UTF-8?q?=EC=B8=A0(=EA=B5=AC=EB=B2=84=EC=A0=84)=20-=20=ED=86=A0=EC=8A=A4?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EB=A8=BC=EC=B8=A0=20V2=20->=20=ED=86=A0?= =?UTF-8?q?=EC=8A=A4=ED=8E=98=EC=9D=B4=EB=A8=BC=EC=B8=A0=20API=20-=20?= =?UTF-8?q?=EA=B8=B0=ED=83=80=20css=20=EB=B0=8F=20=EC=A3=BC=EC=84=9D=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- adm/css/admin.css | 4 ++-- adm/shop_admin/admin.shop.lib.php | 4 +++- adm/shop_admin/configform.php | 30 +++++++++++++++++------------- adm/shop_admin/orderform.php | 2 +- shop/settle_toss_common.php | 6 +++--- 5 files changed, 26 insertions(+), 20 deletions(-) diff --git a/adm/css/admin.css b/adm/css/admin.css index 6df934090..470d65d76 100644 --- a/adm/css/admin.css +++ b/adm/css/admin.css @@ -743,8 +743,8 @@ a.nicepay_btn{display:inline-block;margin:5px 0 0;padding:5px 10px;background:#0 ul.de_pg_tab{margin:0;padding:0;zoom:1} ul.de_pg_tab:after{display:block;visibility:hidden;clear:both;content:"";} -ul.de_pg_tab li{position:relative;display:inline-block;float:left;text-align:center;margin:0;padding:0;width:140px} -ul.de_pg_tab li a{margin:0 2px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:2.5;background-color:#f7f7f7;color:#74777b;font-weight:bold;font-size:1.2em;text-decoration:none} +ul.de_pg_tab li{position:relative;display:inline-block;float:left;text-align:center;margin:0;padding:0;min-width:130px} +ul.de_pg_tab li a{margin:0 2px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:2.5;background-color:#f7f7f7;color:#74777b;font-weight:bold;font-size:1.2em;text-decoration:none; padding:0px 10px;} ul.de_pg_tab li a:hover{text-decoration:none} ul.de_pg_tab li.tab-current a{background:#2CC185;color:#fff} diff --git a/adm/shop_admin/admin.shop.lib.php b/adm/shop_admin/admin.shop.lib.php index 737d0d95c..d1aa92857 100644 --- a/adm/shop_admin/admin.shop.lib.php +++ b/adm/shop_admin/admin.shop.lib.php @@ -125,12 +125,15 @@ function pg_setting_check($is_print=false){ $msg = ''; $pg_msg = ''; + $pg_test_conf_link = G5_ADMIN_URL.'/shop_admin/configform.php#de_card_test1'; if( $default['de_card_test'] ){ if( $default['de_pg_service'] === 'kcp' && $default['de_kcp_mid'] && $default['de_kcp_site_key'] ){ $pg_msg = 'NHN KCP'; } else if ( $default['de_pg_service'] === 'lg' && $config['cf_lg_mid'] && $config['cf_lg_mert_key'] ){ $pg_msg = 'LG유플러스'; + } else if ( $default['de_pg_service'] === 'toss' && $config['cf_lg_mid'] && $config['cf_toss_client_key'] && $config['cf_toss_secret_key'] ){ + $msg .= '
(주의!) 토스페이먼츠 결제의 결제 설정이 현재 테스트결제로 되어 있습니다.
반드시 상점 API키[테스트]키로 설정한 후 테스트결제를 진행해야합니다.
쇼핑몰 운영 시에는 실결제로 전환하여 [라이브]키로 설정해 주시기 바랍니다.
아래 링크를 클릭하여 실결제로 설정하여 운영해 주세요.
'.$pg_test_conf_link.'
'; } else if ( $default['de_pg_service'] === 'inicis' && $default['de_inicis_mid'] && $default['de_inicis_sign_key'] ){ $pg_msg = 'KG이니시스'; } else if ( $default['de_pg_service'] === 'nicepay' && $default['de_nicepay_mid'] && $default['de_nicepay_key'] ){ @@ -147,7 +150,6 @@ function pg_setting_check($is_print=false){ } if( $pg_msg ){ - $pg_test_conf_link = G5_ADMIN_URL.'/shop_admin/configform.php#de_card_test1'; $msg .= '
(주의!) '.$pg_msg.' 결제의 결제 설정이 현재 테스트결제 로 되어 있습니다.
테스트결제시 실제 결제가 되지 않으므로, 쇼핑몰 운영중이면 반드시 실결제로 설정하여 운영하셔야 합니다.
아래 링크를 클릭하여 실결제로 설정하여 운영해 주세요.
'.$pg_test_conf_link.'
'; } diff --git a/adm/shop_admin/configform.php b/adm/shop_admin/configform.php index 788f7288e..c6397039a 100644 --- a/adm/shop_admin/configform.php +++ b/adm/shop_admin/configform.php @@ -215,7 +215,7 @@ if (! isset($default['de_nicepay_mid'])) { sql_query($sql, false); } -// 토스페이먼츠 버전 2 client, secret key 추가 +// 토스페이먼츠 client, secret key 추가 if( ! isset($config['cf_toss_client_key']) ){ $sql = "ALTER TABLE `{$g5['config_table']}` ADD COLUMN `cf_toss_client_key` VARCHAR(100) NOT NULL DEFAULT '' AFTER `cf_lg_mert_key`, @@ -656,9 +656,9 @@ if(!$default['de_kakaopay_cancelpwd']){ /settle_nicepay_common.php - 토스페이먼츠v2 가상계좌
입금통보 URL + 토스페이먼츠 가상계좌
입금통보 URL - 토스페이먼츠 상점관리자 > 개발자센터 > 웹훅 > 웹훅 등록하기에 URL에 넣으시고, 구독할 이벤트를 [DEPOSIT_CALLBACK]을 선택하셔야 상점에 자동으로 입금 통보됩니다."); ?> + 토스페이먼츠 상점관리자 > 개발자센터 > 웹훅 > 웹훅 등록하기에 URL에 넣으시고, 구독할 이벤트를 [DEPOSIT_CALLBACK]을 선택하셔야 상점에 자동으로 입금 통보됩니다."); ?> /settle_toss_common.php @@ -790,8 +790,8 @@ if(!$default['de_kakaopay_cancelpwd']){ @@ -849,23 +849,23 @@ if(!$default['de_kakaopay_cancelpwd']){ - + - 개발자센터 -> API키 -> 머트 키에서 확인하실 수 있습니다.\n예) 95160cce09854ef44d2edb2bfb05f9f3"); ?> + 개발자센터 -> API키 -> 머트 키에서 확인하실 수 있습니다.\n예) 95160cce09854ef44d2edb2bfb05f9f3"); ?> - - + + - 개발자센터 -> API키 -> 클라이언트 키에서 확인하실 수 있습니다. 예) live_ck_tosspayment\n실결제용 [라이브] 키와 테스트용 [테스트] 키는 서로 다르므로, 테스트로 결제시에는 [테스트] 키로 변경하여 사용해주시기 바랍니다. 예) 테스트 키: test_ck_tosspayment"); ?> + 개발자센터 -> API키 -> 클라이언트 키에서 확인하실 수 있습니다. 예) live_ck_tosspayment\n실결제용 [라이브] 키와 테스트용 [테스트] 키는 서로 다르므로, 테스트로 결제시에는 [테스트] 키로 변경하여 사용해주시기 바랍니다. 예) 테스트 키: test_ck_tosspayment"); ?> - + - 개발자센터 -> API키 -> 시크릿 키에서 확인하실 수 있습니다. 예) live_sk_tosspayment\n실결제용 [라이브] 키와 테스트용 [테스트] 키는 서로 다르므로, 테스트로 결제시에는 [테스트] 키로 변경하여 사용해주시기 바랍니다. 예) 테스트 키: test_sk_tosspayment"); ?> + 개발자센터 -> API키 -> 시크릿 키에서 확인하실 수 있습니다. 예) live_sk_tosspayment\n실결제용 [라이브] 키와 테스트용 [테스트] 키는 서로 다르므로, 테스트로 결제시에는 [테스트] 키로 변경하여 사용해주시기 바랍니다. 예) 테스트 키: test_sk_tosspayment"); ?> @@ -1805,7 +1805,11 @@ function fconfig_check(f) } } else if ( f.de_pg_service.value == "lg" ) { if( f.cf_lg_mid.value && f.cf_lg_mert_key.value && parseInt(f.de_card_test.value) > 0 ){ - pg_msg = "토스페이먼츠"; + pg_msg = "토스페이먼츠(구버전)"; + } + } else if ( f.de_pg_service.value == "toss" ) { + if( f.cf_lg_mid.value && f.cf_toss_client_key.value && f.cf_toss_secret_key.value && parseInt(f.de_card_test.value) > 0 ){ + msg += "(주의!) 토스페이먼츠 결제의 결제 설정이 현재 테스트결제로 되어 있습니다.\n상점 API키를 [테스트]키로 설정한 후 테스트결제를 진행해주세요.\n쇼핑몰 운영중이면 반드시 실결제 전환 및 [라이브]키로 설정하여 운영하셔야 합니다.\n실결제로 변경하려면 결제설정 탭 -> 결제 테스트에서 실결제를 선택해 주세요.\n정말로 테스트결제로 설정하시겠습니까?"; } } else if ( f.de_pg_service.value == "inicis" ) { if( f.de_inicis_mid.value && f.de_inicis_sign_key.value && parseInt(f.de_card_test.value) > 0 ){ diff --git a/adm/shop_admin/orderform.php b/adm/shop_admin/orderform.php index 02e231006..97cd04610 100644 --- a/adm/shop_admin/orderform.php +++ b/adm/shop_admin/orderform.php @@ -515,7 +515,7 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js switch($od['od_pg']) { case 'lg': $pg_url = 'https://app.tosspayments.com'; - $pg_test = '토스페이먼츠'; + $pg_test = '토스페이먼츠(구버전)'; if ($default['de_card_test']) { $pg_url = 'https://pgweb.tosspayments.com/tmert'; $pg_test .= ' 테스트 '; diff --git a/shop/settle_toss_common.php b/shop/settle_toss_common.php index 07684cbfe..2c7f48f71 100644 --- a/shop/settle_toss_common.php +++ b/shop/settle_toss_common.php @@ -13,7 +13,7 @@ $payLog = true; // 로그 사용 여부 $log_file = G5_DATA_PATH . '/log/tosspayment_result_log.txt'; /** - * 토스페이먼츠 로그 기록 함수 + * 로그 기록 함수 */ function write_toss_log($reason, $orderId = '', $status = '') { @@ -32,7 +32,7 @@ function write_toss_log($reason, $orderId = '', $status = '') } } -// 토스페이먼츠 입금통보 결과 데이터 읽기 +// 입금통보 결과 데이터 읽기 $raw = file_get_contents('php://input'); if ($raw == false) { write_toss_log("입력 데이터 읽기 실패"); @@ -375,7 +375,7 @@ elseif($TOSS_STATUS == "CANCELED") // 위에서 상점 데이터베이스에 등록 성공유무에 따라서 성공시에는 성공응답인 `HTTP 200` 상태 코드를 리턴해야 합니다. // (주의) 성공응답인 `HTTP 200` 상태 코드를 리턴하지 않으면 토스페이먼츠에서 7회까지 재전송에 실패하면 웹훅 상태가 실패로 변경됩니다. -// 토스페이먼츠 로그 기록 (nicepay 형태) +// 로그 기록 if($payLog) { $logfile = fopen($log_file, "a+");