';
}
- // 카카오페이
- if($is_kakaopay_use) {
- $multi_settle++;
- echo '-
'.PHP_EOL;
- $checked = '';
- }
// 무통장입금 사용
if ($default['de_bank_use']) {
@@ -794,9 +781,6 @@ if($is_kakaopay_use) {
require_once(G5_MSHOP_PATH.'/kcp/easypay_form.2.php');
}
- if($is_kakaopay_use) {
- require_once(G5_SHOP_PATH.'/kakaopay/orderform.2.php');
- }
?>
@@ -805,9 +789,6 @@ if($is_kakaopay_use) {
@@ -1087,7 +1068,7 @@ $(function() {
$("#show_pay_btn").css("display", "inline");
});
- $("#od_settle_iche,#od_settle_card,#od_settle_vbank,#od_settle_hp,#od_settle_easy_pay,#od_settle_kakaopay,#od_settle_samsungpay,#od_settle_nhnkcp_payco,#od_settle_nhnkcp_naverpay,#od_settle_nhnkcp_naverpay_money,#od_settle_nhnkcp_kakaopay,#od_settle_inicislpay,#od_settle_inicis_kakaopay").bind("click", function() {
+ $("#od_settle_iche,#od_settle_card,#od_settle_vbank,#od_settle_hp,#od_settle_easy_pay,#od_settle_samsungpay,#od_settle_nhnkcp_payco,#od_settle_nhnkcp_naverpay,#od_settle_nhnkcp_naverpay_money,#od_settle_nhnkcp_kakaopay,#od_settle_inicislpay,#od_settle_inicis_kakaopay").bind("click", function() {
$("#settle_bank").hide();
$("#show_req_btn").css("display", "inline");
$("#show_pay_btn").css("display", "none");
@@ -1326,16 +1307,6 @@ function pay_approval()
}
}
- // 카카오페이 지불
- if(settle_method == "KAKAOPAY") {
-
- pf.SupplyAmt.value = parseInt(pf.comm_tax_mny.value) + parseInt(pf.comm_free_mny.value);
- pf.GoodsVat.value = parseInt(pf.comm_vat_mny.value);
-
- pf.good_mny.value = f.good_mny.value;
- getTxnId(pf);
- return false;
- }
var form_order_method = '';
diff --git a/mobile/shop/orderformupdate.php b/mobile/shop/orderformupdate.php
index 34bea95c6..10da3f72a 100644
--- a/mobile/shop/orderformupdate.php
+++ b/mobile/shop/orderformupdate.php
@@ -1,5 +1,11 @@
이 주문의 취소·환불은 쇼핑몰 고객센터에 문의해 주십시오.';
+ } elseif ($custom_cancel) {
?>
diff --git a/shop/ajax.orderdatasave.php b/shop/ajax.orderdatasave.php
index 4dfcb2081..9e877e4ce 100644
--- a/shop/ajax.orderdatasave.php
+++ b/shop/ajax.orderdatasave.php
@@ -15,6 +15,10 @@ sql_query($sql);
*/
$od_settle_case = isset($_POST['od_settle_case']) ? clean_xss_tags($_POST['od_settle_case'], 1, 1) : '';
+if ($od_settle_case === 'KAKAOPAY') {
+ die('이 결제 방식은 더 이상 지원하지 않습니다. 다른 결제수단을 선택해 주십시오.');
+}
+
// 저장되는 원본에도 정제한 값을 반영한다.
$_POST['od_settle_case'] = $od_settle_case;
diff --git a/shop/cancel_pg.inc.php b/shop/cancel_pg.inc.php
index 17e832657..d57181241 100644
--- a/shop/cancel_pg.inc.php
+++ b/shop/cancel_pg.inc.php
@@ -22,11 +22,8 @@ switch($od_pg) {
include G5_SHOP_PATH.'/nicepay/cancel_process.php';
break;
case 'KAKAOPAY':
- $_REQUEST['TID'] = $tno;
- $_REQUEST['Amt'] = $amount;
- $_REQUEST['CancelMsg'] = $cancel_msg;
- $_REQUEST['PartialCancelCode'] = 0;
- include G5_SHOP_PATH.'/kakaopay/kakaopay_cancel.php';
+ $pg_res_cd = 'SIRK_RETIRED';
+ $pg_res_msg = 'SIRK 전용 카카오페이는 이니시스 상점관리자에서 취소해 주십시오.';
break;
default:
include G5_SHOP_PATH.'/kcp/pp_ax_hub_cancel.php';
diff --git a/shop/kakaopay/_common.php b/shop/kakaopay/_common.php
deleted file mode 100644
index c7ed3c4ee..000000000
--- a/shop/kakaopay/_common.php
+++ /dev/null
@@ -1,2 +0,0 @@
-()\[\]\{\}]/i", "", strip_tags($_POST['orderNumber'])) : 0;
-$session_order_num = get_session('ss_order_id');
-
-if( !$orderNumber ){
- alert("주문번호가 없습니다.");
-}
-
-$sql = " select * from {$g5['g5_shop_order_data_table']} where od_id = '$orderNumber' ";
-$row = sql_fetch($sql);
-
-if( empty($row) ){
- alert("임시 주문정보가 저장되지 않았습니다.");
-}
-
-if ( base64_encode(base64_decode($row['dt_data'], true)) === $row['dt_data']){
- $data = unserialize(base64_decode($row['dt_data']));
-} else {
- $data = unserialize($row['dt_data']);
-}
-
-$params = array();
-$var_datas = array();
-
-foreach($data as $key=>$value) {
- if(is_array($value)) {
- foreach($value as $k=>$v) {
- $_POST[$key][$k] = $params[$key][$k] = addslashes(clean_xss_tags(strip_tags(stripslashes($v))));
- }
- } else {
- $_POST[$key] = $params[$key] = addslashes(clean_xss_tags(strip_tags(stripslashes($value))));
- }
-}
-
-if(isset($data['pp_id']) && $data['pp_id']) { //개인결제
-
- foreach($params as $key=>$value){
-
- if( in_array($key, array('pp_name', 'pp_email', 'pp_hp', 'pp_settle_case')) ){
-
- $var_datas[$key] = $value;
-
- $$key = $value;
- }
-
- }
-
- include_once(G5_SHOP_PATH.'/personalpayformupdate.php');
-
-} else { //상점주문
-
- foreach($params as $key=>$value){
-
- if( in_array($key, array('od_price', 'od_name', 'od_tel', 'od_hp', 'od_email', 'od_memo', 'od_settle_case', 'max_temp_point', 'od_temp_point', 'od_bank_account', 'od_deposit_name', 'od_test', 'od_ip', 'od_zip', 'od_addr1', 'od_addr2', 'od_addr3', 'od_addr_jibeon', 'od_b_name', 'od_b_tel', 'od_b_hp', 'od_b_addr1', 'od_b_addr2', 'od_b_addr3', 'od_b_addr_jibeon', 'od_b_zip', 'od_send_cost', 'od_send_cost2', 'od_hope_date')) ){
-
- $var_datas[$key] = $value;
-
- $$key = $value;
- }
-
- }
-
- $od_send_cost = (int) $_POST['od_send_cost'];
- $od_send_cost2 = (int) $_POST['od_send_cost2'];
-
- include_once(G5_SHOP_PATH.'/orderformupdate.php');
-}
\ No newline at end of file
+// 이전 결제창의 요청을 성공 처리하지 않고 종료 안내를 반환한다.
+require dirname(__FILE__) . '/retired.php';
diff --git a/shop/kakaopay/kakaopay_cancel.php b/shop/kakaopay/kakaopay_cancel.php
index cdb3800f3..e83972af8 100644
--- a/shop/kakaopay/kakaopay_cancel.php
+++ b/shop/kakaopay/kakaopay_cancel.php
@@ -1,85 +1,6 @@
isset($default['de_kakaopay_iniapi_key']) ? $default['de_kakaopay_iniapi_key'] : '',
- 'mid' => $default['de_kakaopay_mid'],
- 'paymethod' => 'Card',
- 'tid' => $tno,
- 'msg' => $cancel_msg // 취소사유
- );
-
- $response = inicis_tid_cancel($args);
- $result = json_decode($response, true);
-
- if (isset($result['resultCode'])) {
- if ($result['resultCode'] != '00') {
- $pg_res_cd = $result['resultCode'];
- $pg_res_msg = $result['resultMsg'];
- }
- } else {
- $pg_res_cd = '';
- $pg_res_msg = 'curl 로 데이터를 받지 못했습니다.';
- }
-}
\ No newline at end of file
+// 이전 호출부가 남아 있어도 PG 취소 성공으로 처리하지 않는다.
+$pg_res_cd = 'SIRK_RETIRED';
+$pg_res_msg = 'SIRK 전용 카카오페이의 자동 취소 지원이 종료되었습니다. 이니시스 상점관리자에서 실제 취소 후 주문 상태와 환불금액을 확인해 주십시오.';
diff --git a/shop/kakaopay/kakaopay_result.php b/shop/kakaopay/kakaopay_result.php
deleted file mode 100644
index ee0508a2e..000000000
--- a/shop/kakaopay/kakaopay_result.php
+++ /dev/null
@@ -1,28 +0,0 @@
- '올바른 방법으로 이용해 주십시오.')));
-}
-
-$orderNumber = get_session('ss_order_id');
-$price = preg_replace('#[^0-9]#', '', $_POST['price']);
-
-if (strlen($price) < 1) {
- die(json_encode(array('error' => '가격이 올바르지 않습니다.')));
-}
-
-//
-//###################################
-// 2. 가맹점 확인을 위한 signKey를 해시값으로 변경 (SHA-256방식 사용)
-//###################################
-$mKey = hash("sha256", $default['de_kakaopay_key']);
-
-/*
- //*** 위변조 방지체크를 signature 생성 ***
- oid, price, timestamp 3개의 키와 값을
- key=value 형식으로 하여 '&'로 연결한 하여 SHA-256 Hash로 생성 된값
- ex) oid=INIpayTest_1432813606995&price=819000×tamp=2012-02-01 09:19:04.004
- * key기준 알파벳 정렬
- * timestamp는 반드시 signature생성에 사용한 timestamp 값을 timestamp input에 그대로 사용하여야함
- */
-$params = "oid=" . $orderNumber . "&price=" . $price . "×tamp=" . $timestamp;
-$sign = hash("sha256", $params);
-
-die(json_encode(array('error'=>'', 'mKey'=>$mKey, 'timestamp'=>$timestamp, 'sign'=>$sign)));
+header('HTTP/1.1 410 Gone');
+header('Content-Type: application/json; charset=utf-8');
+header('Cache-Control: no-store');
+echo json_encode(array('error' => '이 결제 방식은 더 이상 지원하지 않습니다. 다른 결제수단을 선택해 주십시오.'));
+exit;
diff --git a/shop/kakaopay/mobile_orderform.1.php b/shop/kakaopay/mobile_orderform.1.php
deleted file mode 100644
index 1b4c86ced..000000000
--- a/shop/kakaopay/mobile_orderform.1.php
+++ /dev/null
@@ -1,130 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/shop/kakaopay/mobile_pay_approval.php b/shop/kakaopay/mobile_pay_approval.php
index de3e3c55b..183eb0b63 100644
--- a/shop/kakaopay/mobile_pay_approval.php
+++ b/shop/kakaopay/mobile_pay_approval.php
@@ -1,203 +1,3 @@
$it_stock_qty)
- $error .= "{$row['ct_option']} 의 재고수량이 부족합니다. 현재고수량 : $it_stock_qty 개\\n\\n";
- }
-
- if($i == 0)
- alert('장바구니가 비어 있습니다.', G5_SHOP_URL.'/cart.php');
-
- if ($error != "")
- {
- $error .= "결제진행이 중단 되었습니다.";
- alert($error, G5_SHOP_URL.'/cart.php');
- }
-}
-
-if($_REQUEST['P_STATUS'] != '00') {
- alert('오류 : '.iconv_utf8($_REQUEST['P_RMESG1']).' 코드 : '.$_REQUEST['P_STATUS'], $page_return_url);
-} else {
- $post_data = array(
- 'P_MID' => $default['de_kakaopay_mid'],
- 'P_TID' => $_REQUEST['P_TID']
- );
-
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_PORT, 443);
- curl_setopt($ch, CURLOPT_URL, $p_req_url);
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- $return = curl_exec($ch);
-
- if(!$return)
- alert('KG이니시스와 통신 오류로 결제등록 요청을 완료하지 못했습니다.\\n결제등록 요청을 다시 시도해 주십시오.', $page_return_url);
-
- // 결과를 배열로 변환
- parse_str($return, $ret);
- $PAY = array_map('trim', $ret);
- $PAY = array_map('strip_tags', $PAY);
- $PAY = array_map('get_search_string', $PAY);
-
- if($PAY['P_STATUS'] != '00')
- alert('오류 : '.iconv_utf8($PAY['P_RMESG1']).' 코드 : '.$PAY['P_STATUS'], $page_return_url);
-
- // TID, AMT 를 세션으로 주문완료 페이지 전달
- $hash = md5($PAY['P_TID'].$PAY['P_MID'].$PAY['P_AMT']);
- set_session('P_TID', $PAY['P_TID']);
- set_session('P_AMT', $PAY['P_AMT']);
- set_session('P_HASH', $hash);
-}
-
-$params = array();
-
-//개인결제
-if(isset($data['pp_id']) && !empty($data['pp_id'])) {
- // 개인결제 정보
- $pp_check = false;
- $sql = " select * from {$g5['g5_shop_personalpay_table']} where pp_id = '{$PAY['P_OID']}' and pp_tno = '{$PAY['P_TID']}' and pp_use = '1' ";
- $pp = sql_fetch($sql);
-
- if( !$pp['pp_tno'] && $data['pp_id'] == $oid ){
- $res_cd = $PAY['P_STATUS'];
- $pp_id = $oid;
-
- $exclude = array('res_cd', 'P_HASH', 'P_TYPE', 'P_AUTH_DT', 'P_VACT_BANK', 'LGD_PAYKEY', 'pp_id', 'good_mny', 'pp_name', 'pp_email', 'pp_hp', 'pp_settle_case');
-
- foreach($data as $key=>$v) {
- if( !in_array($key, $exclude) ){
- $_POST[$key] = $params[$key] = clean_xss_tags(strip_tags($v));
- }
- }
-
- $good_mny = $PAY['P_AMT'];
- $pp_name = addslashes(clean_xss_tags($data['pp_name']));
- $pp_email = addslashes(clean_xss_tags($data['pp_email']));
- $pp_hp = addslashes(clean_xss_tags($data['pp_hp']));
- $pp_settle_case = addslashes(clean_xss_tags($data['pp_settle_case']));
-
- $_POST['P_HASH'] = $hash;
- $_POST['P_AUTH_NO'] = $PAY['P_AUTH_NO'];
- $_POST['pp_id'] = $PAY['P_OID'];
- $_POST['good_mny'] = $PAY['P_AMT'];
-
- $_POST['P_TYPE'] = $PAY['P_TYPE'];
- $_POST['P_AUTH_DT'] = $PAY['P_AUTH_DT'];
- $_POST['P_AUTH_NO'] = $PAY['P_AUTH_NO'];
- $_POST['P_HPP_CORP'] = isset($PAY['P_HPP_CORP']) ? $PAY['P_HPP_CORP'] : '';
- $_POST['P_APPL_NUM'] = isset($PAY['P_APPL_NUM']) ? $PAY['P_APPL_NUM'] : '';
- $_POST['P_VACT_NUM'] = isset($PAY['P_VACT_NUM']) ? $PAY['P_VACT_NUM'] : '';
- $_POST['P_VACT_NAME'] = isset($PAY['P_VACT_NAME']) ? iconv_utf8($PAY['P_VACT_NAME']) : '';
- $_POST['P_VACT_BANK'] = (isset($PAY['P_VACT_BANK_CODE']) && isset($BANK_CODE[$PAY['P_VACT_BANK_CODE']])) ? $BANK_CODE[$PAY['P_VACT_BANK_CODE']] : '';
- $_POST['P_CARD_ISSUER'] = (isset($PAY['P_CARD_ISSUER_CODE']) && isset($CARD_CODE[$PAY['P_CARD_ISSUER_CODE']])) ? $CARD_CODE[$PAY['P_CARD_ISSUER_CODE']] : '';
- $_POST['P_UNAME'] = iconv_utf8($PAY['P_UNAME']);
-
- include_once( G5_MSHOP_PATH.'/personalpayformupdate.php' );
- }
-
-} else {
- // 상점 결제
- $exclude = array('res_cd', 'P_HASH', 'P_TYPE', 'P_AUTH_DT', 'P_VACT_BANK', 'P_AUTH_NO');
-
- foreach($data as $key=>$value) {
- if(!empty($exclude) && in_array($key, $exclude))
- continue;
-
- if(is_array($value)) {
- foreach($value as $k=>$v) {
- $_POST[$key][$k] = $params[$key][$k] = clean_xss_tags(strip_tags($v));
- }
- } else {
- $_POST[$key] = $params[$key] = clean_xss_tags(strip_tags($value));
- }
- }
-
- $res_cd = $_POST['res_cd'] = $PAY['P_STATUS'];
- $P_HASH = $_POST['P_HASH'] = $hash;
- $P_TYPE = $_POST['P_TYPE'] = $PAY['P_TYPE'];
- $P_AUTH_DT = $_POST['P_AUTH_DT'] = $PAY['P_AUTH_DT'];
- $P_AUTH_NO = $_POST['P_AUTH_NO'] = $PAY['P_AUTH_NO'];
- $P_HPP_CORP = $_POST['P_HPP_CORP'] = isset($PAY['P_HPP_CORP']) ? $PAY['P_HPP_CORP'] : '';
- $P_APPL_NUM = $_POST['P_APPL_NUM'] = isset($PAY['P_APPL_NUM']) ? $PAY['P_APPL_NUM'] : '';
- $P_VACT_NUM = $_POST['P_VACT_NUM'] = isset($PAY['P_VACT_NUM']) ? $PAY['P_VACT_NUM'] : '';
- $P_VACT_NAME = $_POST['P_VACT_NAME'] = isset($PAY['P_VACT_NAME']) ? iconv_utf8($PAY['P_VACT_NAME']) : '';
- $P_VACT_BANK = $_POST['P_VACT_BANK'] = (isset($PAY['P_VACT_BANK_CODE']) && isset($BANK_CODE[$PAY['P_VACT_BANK_CODE']])) ? $BANK_CODE[$PAY['P_VACT_BANK_CODE']] : '';
- $P_CARD_ISSUER = $_POST['P_CARD_ISSUER'] = (isset($PAY['P_CARD_ISSUER_CODE']) && isset($CARD_CODE[$PAY['P_CARD_ISSUER_CODE']])) ? $CARD_CODE[$PAY['P_CARD_ISSUER_CODE']] : '';
- $P_UNAME = $_POST['P_UNAME'] = iconv_utf8($PAY['P_UNAME']);
-
- $check_keys = array('od_name', 'od_tel', 'od_pwd', 'od_hp', 'od_zip', 'od_addr1', 'od_addr2', 'od_addr3', 'od_addr_jibeon', 'od_email', 'ad_default', 'ad_subject', 'od_hope_date', 'od_b_name', 'od_b_tel', 'od_b_hp', 'od_b_zip', 'od_b_addr1', 'od_b_addr2', 'od_b_addr3', 'od_b_addr_jibeon', 'od_memo', 'od_settle_case', 'max_temp_point', 'od_temp_point', 'od_send_cost', 'od_send_cost2', 'od_bank_account', 'od_deposit_name', 'od_test', 'od_ip');
-
- foreach($check_keys as $key){
- $$key = isset($params[$key]) ? $params[$key] : '';
- }
-
- include_once( G5_MSHOP_PATH.'/orderformupdate.php' );
-}
-exit;
\ No newline at end of file
+// 이전 결제창의 요청을 성공 처리하지 않고 종료 안내를 반환한다.
+require dirname(__FILE__) . '/retired.php';
diff --git a/shop/kakaopay/mobile_pay_result.php b/shop/kakaopay/mobile_pay_result.php
deleted file mode 100644
index 5f49a5ed6..000000000
--- a/shop/kakaopay/mobile_pay_result.php
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-', 10);
-?>
-
-
-
-
\ No newline at end of file
diff --git a/shop/kakaopay/orderform.2.php b/shop/kakaopay/orderform.2.php
deleted file mode 100644
index 6d27e6445..000000000
--- a/shop/kakaopay/orderform.2.php
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- isset($default['de_kakaopay_iniapi_key']) ? $default['de_kakaopay_iniapi_key'] : '',
- 'mid' => $default['de_kakaopay_mid'],
- 'paymethod' => get_type_inicis_paymethod($od['od_settle_case']),
- 'tid' => $od['od_tno'],
- 'msg' => $od['od_id'].' '.$mod_memo,
- 'price' => $price,
- 'confirmPrice' => $confirm_price,
- 'tax' => $tax,
- 'taxFree' => $taxfree
-);
-
-$response = inicis_tid_cancel($args, true); // KG 이니시스 부분취소일 경우 inicis_tid_cancel 함수 2번째 인자값을 true로
-$result = json_decode($response, true);
-
-if (isset($result['resultCode']) && $result['resultCode'] == '00') {
- // 환불금액기록
- $tno = $result['prtcTid'];
- $re_price = $result['prtcPrice'];
-
- $sql = " update {$g5['g5_shop_order_table']}
- set od_refund_price = od_refund_price + '$re_price',
- od_shop_memo = concat(od_shop_memo, \"$mod_memo\")
- where od_id = '{$od['od_id']}'
- and od_tno = '$tno' ";
- sql_query($sql);
-
- // 미수금 등의 정보 업데이트
- $info = get_order_info($od_id);
-
- $sql = " update {$g5['g5_shop_order_table']}
- set od_misu = '{$info['od_misu']}',
- od_tax_mny = '{$info['od_tax_mny']}',
- od_vat_mny = '{$info['od_vat_mny']}',
- od_free_mny = '{$info['od_free_mny']}'
- where od_id = '$od_id' ";
- sql_query($sql);
- } else {
- if (isset($result['resultCode'])){
- alert($result['resultMsg'].' 코드 : '.$result['resultCode']);
- } else {
- alert('curl 오류로 부분환불에 실패했습니다.');
- }
- }
\ No newline at end of file
+alert('SIRK 전용 카카오페이의 자동 취소 지원이 종료되었습니다. 이니시스 상점관리자에서 실제 취소 후 주문 상태와 환불금액을 확인해 주십시오.');
+exit;
diff --git a/shop/kakaopay/pc_pay_result.php b/shop/kakaopay/pc_pay_result.php
deleted file mode 100644
index f32823b4a..000000000
--- a/shop/kakaopay/pc_pay_result.php
+++ /dev/null
@@ -1,214 +0,0 @@
-makeHash(signKey, "sha256"); // 가맹점 확인을 위한 signKey를 해시값으로 변경 (SHA-256방식 사용)
- $mKey = hash("sha256", $signKey);
-
- //#####################
- // 2.signature 생성
- //#####################
- $signParam['authToken'] = $authToken; // 필수
- $signParam['timestamp'] = $timestamp; // 필수
- // signature 데이터 생성 (모듈에서 자동으로 signParam을 알파벳 순으로 정렬후 NVP 방식으로 나열해 hash)
- $signature = $util->makeSignature($signParam);
-
-
- //#####################
- // 3.API 요청 전문 생성
- //#####################
- $authMap['mid'] = $default['de_kakaopay_mid']; // 필수
- $authMap['authToken'] = $authToken; // 필수
- $authMap['signature'] = $signature; // 필수
- $authMap['timestamp'] = $timestamp; // 필수
- $authMap['charset'] = $charset; // default=UTF-8
- $authMap['format'] = $format; // default=XML
- //if(null != notiUrl && notiUrl.length() > 0){
- // authMap.put("notiUrl" ,notiUrl);
- //}
-
-
- try {
-
- $httpUtil = new HttpClient();
-
- //#####################
- // 4.API 통신 시작
- //#####################
-
- $authResultString = "";
- if ($httpUtil->processHTTP($authUrl, $authMap)) {
- $authResultString = $httpUtil->body;
- } else {
- echo "Http Connect Error\n";
- echo $httpUtil->errormsg;
-
- throw new Exception("Http Connect Error");
- }
-
- //############################################################
- //5.API 통신결과 처리(***가맹점 개발수정***)
- //############################################################
-
- $resultMap = json_decode($authResultString, true);
-
- $tid = $resultMap['tid'];
- $oid = preg_replace('/[^A-Za-z0-9\-_]/', '', $resultMap['MOID']);
-
- /************************* 결제보안 추가 2016-05-18 START ****************************/
- $secureMap['mid'] = $default['de_kakaopay_mid']; //mid
- $secureMap['tstamp'] = $timestamp; //timestemp
- $secureMap['MOID'] = $resultMap['MOID']; //MOID
- $secureMap['TotPrice'] = $resultMap['TotPrice']; //TotPrice
-
- // signature 데이터 생성
- $secureSignature = $util->makeSignatureAuth($secureMap);
- /************************* 결제보안 추가 2016-05-18 END ****************************/
-
- $sql = " select * from {$g5['g5_shop_order_data_table']} where od_id = '$oid' ";
- $row = sql_fetch($sql);
-
- $data = isset($row['dt_data']) ? unserialize(base64_decode($row['dt_data'])) : array();
-
- if(isset($data['pp_id']) && $data['pp_id']) {
- $page_return_url = G5_SHOP_URL.'/personalpayform.php?pp_id='.$data['pp_id'];
- } else {
- $page_return_url = G5_SHOP_URL.'/orderform.php';
- if(get_session('ss_direct'))
- $page_return_url .= '?sw_direct=1';
- }
-
- if ((strcmp('0000', $resultMap['resultCode']) == 0) && (strcmp($secureSignature, $resultMap['authSignature']) == 0) ) { //결제보안 추가 2016-05-18
- /* * ***************************************************************************
- * 여기에 가맹점 내부 DB에 결제 결과를 반영하는 관련 프로그램 코드를 구현한다.
-
- [중요!] 승인내용에 이상이 없음을 확인한 뒤 가맹점 DB에 해당건이 정상처리 되었음을 반영함
- 처리중 에러 발생시 망취소를 한다.
- * **************************************************************************** */
-
- //최종결제요청 결과 성공 DB처리
- $tno = $resultMap['tid'];
- $amount = $resultMap['TotPrice'];
- $app_time = $resultMap['applDate'].$resultMap['applTime'];
- $pay_method = $resultMap['payMethod'];
- $pay_type = $PAY_METHOD[$pay_method];
- $depositor = isset($resultMap['VACT_InputName']) ? $resultMap['VACT_InputName'] : '';
- $commid = '';
- $mobile_no = isset($resultMap['HPP_Num']) ? $resultMap['HPP_Num'] : '';
- $app_no = $resultMap['applNum'];
- $card_name = $CARD_CODE[$resultMap['CARD_Code']];
- switch($pay_type) {
- case '계좌이체':
- $bank_name = $BANK_CODE[$resultMap['ACCT_BankCode']];
- if ($default['de_escrow_use'] == 1)
- $escw_yn = 'Y';
- break;
- case '가상계좌':
- $bankname = $BANK_CODE[$resultMap['VACT_BankCode']];
- $account = $resultMap['VACT_Num'].' '.$resultMap['VACT_Name'];
- $app_no = $resultMap['VACT_Num'];
- if ($default['de_escrow_use'] == 1)
- $escw_yn = 'Y';
- break;
- default:
- break;
- }
-
- $inicis_pay_result = true;
-
- } else {
- $s = '(오류코드:'.$resultMap['resultCode'].') '.$resultMap['resultMsg'];
- alert($s, $page_return_url);
- }
-
- // 수신결과를 파싱후 resultCode가 "0000"이면 승인성공 이외 실패
- // 가맹점에서 스스로 파싱후 내부 DB 처리 후 화면에 결과 표시
- // payViewType을 popup으로 해서 결제를 하셨을 경우
- // 내부처리후 스크립트를 이용해 opener의 화면 전환처리를 하세요
- //throw new Exception("강제 Exception");
- } catch (Exception $e) {
- // $s = $e->getMessage() . ' (오류코드:' . $e->getCode() . ')';
- //####################################
- // 실패시 처리(***가맹점 개발수정***)
- //####################################
- //---- db 저장 실패시 등 예외처리----//
- $s = $e->getMessage() . ' (오류코드:' . $e->getCode() . ')';
- echo $s;
-
- //#####################
- // 망취소 API
- //#####################
-
- $netcancelResultString = ""; // 망취소 요청 API url(고정, 임의 세팅 금지)
- if ($httpUtil->processHTTP($netCancel, $authMap)) {
- $netcancelResultString = $httpUtil->body;
- } else {
- echo "Http Connect Error\n";
- echo $httpUtil->errormsg;
-
- throw new Exception("Http Connect Error");
- }
-
- echo "## 망취소 API 결과 ##";
-
- $netcancelResultString = str_replace("<", "<", $$netcancelResultString);
- $netcancelResultString = str_replace(">", ">", $$netcancelResultString);
-
- echo "
", $netcancelResultString . "
";
- // 취소 결과 확인
- }
- } else {
-
- //#############
- // 인증 실패시
- //#############
- echo "
";
- echo "####인증실패####";
-
- ob_start();
- var_dump($_REQUEST);
- $debug_msg = ob_get_contents();
- ob_clean();
-
- echo "
" . strip_tags($debug_msg) . "
";
- }
-} catch (Exception $e) {
- $s = $e->getMessage() . ' (오류코드:' . $e->getCode() . ')';
- echo $s;
-}
-
-if( !$inicis_pay_result ){
- die("
결제 에러가 일어났습니다. 에러 이유는 위와 같습니다.");
-}
\ No newline at end of file
diff --git a/shop/kakaopay/retired.php b/shop/kakaopay/retired.php
new file mode 100644
index 000000000..47bb05068
--- /dev/null
+++ b/shop/kakaopay/retired.php
@@ -0,0 +1,13 @@
+
+
+
결제 지원 종료 안내
+
결제 지원 종료 안내
+
이 결제 방식은 더 이상 지원하지 않습니다.
+
결제를 진행 중이었다면 다시 결제하지 마시고, 쇼핑몰 고객센터에 승인 여부 확인과 취소·환불을 문의해 주십시오.
+
+
';
}
- if ($is_kakaopay_use || $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'] || (empty($inicis_pro_use) && ($default['de_inicis_lpay_use'] || $default['de_inicis_kakaopay_use'])) || (!empty($inicis_pro_use) && is_inicis_simple_pay())) {
+ 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'] || (empty($inicis_pro_use) && ($default['de_inicis_lpay_use'] || $default['de_inicis_kakaopay_use'])) || (!empty($inicis_pro_use) && is_inicis_simple_pay())) {
echo '';
}
@@ -810,9 +797,6 @@ if($is_kakaopay_use) {
// 결제대행사별 코드 include (주문버튼)
require_once(G5_SHOP_PATH.'/'.$default['de_pg_service'].'/orderform.3.php');
- if($is_kakaopay_use) {
- require_once(G5_SHOP_PATH.'/kakaopay/orderform.3.php');
- }
?>
- // 카카오페이 지불
- if(settle_method == "KAKAOPAY") {
-
- f.SupplyAmt.value = parseInt(f.comm_tax_mny.value) + parseInt(f.comm_free_mny.value);
- f.GoodsVat.value = parseInt(f.comm_vat_mny.value);
-
- getTxnId(f);
- return false;
- }
var form_order_method = '';
diff --git a/shop/orderformupdate.php b/shop/orderformupdate.php
index f33c51d49..bce7244da 100644
--- a/shop/orderformupdate.php
+++ b/shop/orderformupdate.php
@@ -1,5 +1,11 @@
0 || $od['od_status'] != '주문' || $ct['od_count1'
alert("취소할 수 있는 주문이 아닙니다.", G5_SHOP_URL."/orderinquiryview.php?od_id=$od_id&uid=$uid");
}
+if ($od['od_pg'] === 'KAKAOPAY') {
+ alert('이 주문의 취소·환불은 쇼핑몰 고객센터에 문의해 주십시오.');
+}
+
// INIpay PRO 가상계좌 입금통보와 주문자 취소가 동시에 처리되지 않도록
// PG 취소부터 로컬 주문 취소 완료까지 동일 주문 잠금을 유지한다.
$inicis_pro_order_lock = '';
diff --git a/shop/orderinquiryview.php b/shop/orderinquiryview.php
index 20cd8ee43..59fa0416d 100644
--- a/shop/orderinquiryview.php
+++ b/shop/orderinquiryview.php
@@ -680,7 +680,9 @@ if($od['od_pg'] == 'lg') {
이 주문의 취소·환불은 쇼핑몰 고객센터에 문의해 주십시오.';
+ } elseif ($custom_cancel) {
?>