/** * @brief pay */ function procKcpDoIt() { $oEpayController = getController('epay'); $oKcpModel = getModel('kcp'); $vars = Context::getRequestVars(); $output = $oEpayController->beforePayment($vars); if (!$output->toBool()) { return $output; } $vars = Context::getRequestVars(); extract(get_object_vars($vars)); require "libs/pp_ax_hub_lib.php"; // initialize variables $amount = $good_mny; $c_PayPlus = new C_PP_CLI(); $c_PayPlus->mf_clear(); if ($req_tx == "pay") { // 승인요청 $c_PayPlus->mf_set_encx_data($enc_data, $enc_info); } else { if ($req_tx == 'mod') { // 취소/매입 요청 $tran_cd = '00200000'; $c_PayPlus->mf_set_modx_data('tno', $tno); $c_PayPlus->mf_set_modx_data('mod_type', $mod_type); $c_PayPlus->mf_set_modx_data('mod_ip', $cust_ip); $c_PayPlus->mf_set_modx_data('mod_desc', $mod_desc); } } // 실행 if ($tran_cd != "") { $g_conf_bin_dir = dirname(__FILE__); $g_conf_home_dir = sprintf(_XE_PATH_ . "files/epay/%s", $args->plugin_srl); if ($this->module_info->service_mode == 'test') { $g_conf_gw_url = "testpaygw.kcp.co.kr"; } else { $g_conf_gw_url = "paygw.kcp.co.kr"; // real service } $g_conf_site_cd = $this->module_info->site_cd; $g_conf_site_key = $this->module_info->site_key; $g_conf_site_name = $this->module_info->site_name; $g_conf_log_level = "3"; // 변경불가 $g_conf_gw_port = "8090"; // 포트번호(변경불가) $c_PayPlus->mf_do_tx($trace_no, $g_conf_bin_dir, $g_conf_home_dir, $g_conf_site_cd, $g_conf_site_key, $tran_cd, "", $g_conf_gw_url, $g_conf_gw_port, "payplus_cli_slib", $ordr_idxx, $cust_ip, "3", 0, 0); // 응답 전문 처리 $res_cd = $c_PayPlus->m_res_cd; // 결과 코드 $res_msg = iconv('EUC-KR', 'UTF-8', $c_PayPlus->m_res_msg); // 결과 메시지 } else { $c_PayPlus->m_res_cd = "9562"; $c_PayPlus->m_res_msg = "연동 오류|Payplus Plugin이 설치되지 않았거나 tran_cd값이 설정되지 않았습니다."; } // 승인 결과 값 추출 if ($req_tx == 'pay') { if ($res_cd == '0000') { $tno = $c_PayPlus->mf_get_res_data('tno'); // KCP 거래 고유 번호 $amount = $c_PayPlus->mf_get_res_data('amount'); // KCP 실제 거래 금액 $pnt_issue = $c_PayPlus->mf_get_res_data('pnt_issue'); // 결제 포인트사 코드 // 신용카드 if ($use_pay_method == '100000000000') { $card_cd = $c_PayPlus->mf_get_res_data("card_cd"); // 카드사 코드 $card_name = $c_PayPlus->mf_get_res_data("card_name"); // 카드 종류 $app_time = $c_PayPlus->mf_get_res_data("app_time"); // 승인 시간 $app_no = $c_PayPlus->mf_get_res_data("app_no"); // 승인 번호 $noinf = $c_PayPlus->mf_get_res_data("noinf"); // 무이자 여부 ( 'Y' : 무이자 ) $quota = $c_PayPlus->mf_get_res_data("quota"); // 할부 개월 수 } // 가상계좌 if ($use_pay_method == "001000000000") { $bankname = iconv('EUC-KR', 'UTF-8', $c_PayPlus->mf_get_res_data("bankname")); // 입금할 은행 이름 $depositor = iconv('EUC-KR', 'UTF-8', $c_PayPlus->mf_get_res_data("depositor")); // 입금할 계좌 예금주 $account = $c_PayPlus->mf_get_res_data("account"); // 입금할 계좌 번호 $va_date = $c_PayPlus->mf_get_res_data("va_date"); // 가상계좌 입금마감시간 } } } // error check if ($res_cd != '0000') { $payArgs = new Object(-1, $res_msg); $payArgs->add('state', constant('STATE_FAILURE')); // failure } else { $payArgs = new Object(0, $utf8ResultMsg); if ($oKcpModel->getEpayCode($use_pay_method) == 'VA') { $payArgs->add('state', constant('STATE_NOTCOMPLETED')); // not completed } else { $payArgs->add('state', constant('STATE_COMPLETED')); // completed (success) } } $payArgs->add('transaction_srl', $vars->transaction_srl); $payArgs->add('payment_method', $oKcpModel->getEpayCode($use_pay_method)); $payArgs->add('payment_amount', $amount); $payArgs->add('result_code', $res_cd); $payArgs->add('result_message', $res_msg); $payArgs->add('vact_bankname', $bankname); // 은행명 $payArgs->add('vact_num', $account); // 계좌번호 $payArgs->add('vact_name', $depositor); // 예금주 $payArgs->add('vact_date', $va_date); // 송금일자 $payArgs->add('pg_tid', $tno); // afterPayment will call an after trigger $output = $oEpayController->afterPayment($payArgs); if (!$output->toBool()) { return $output; } $return_url = $output->get('return_url'); if (!$return_url) { $return_url = getNotEncodedUrl('', 'module', 'epay', 'act', 'dispEpayError', 'transaction_srl', $vars->transaction_srl); } if ($payArgs->get('state') == constant('STATE_FAILURE')) { $return_url = getNotEncodedUrl('', 'module', 'epay', 'act', 'dispEpayError', 'transaction_srl', $vars->transaction_srl); } $this->setRedirectUrl($return_url); }
if (!defined("_GNUBOARD_")) { exit; } // 개별 페이지 접근 불가 if ($od['od_pg'] != 'kcp') { return; } include_once G5_SHOP_PATH . '/settle_kcp.inc.php'; include_once G5_SHOP_PATH . '/kcp/pp_ax_hub_lib.php'; // locale ko_KR.euc-kr 로 설정 setlocale(LC_CTYPE, 'ko_KR.euc-kr'); $req_tx = 'mod_escrow'; $mod_type = 'STE1'; $mod_desc = '에스크로 배송시작 등록'; $cust_ip = getenv('REMOTE_ADDR'); $c_PayPlus = new C_PP_CLI(); $c_PayPlus->mf_clear(); $tran_cd = "00200000"; // 에스크로 상태변경 $c_PayPlus->mf_set_modx_data("tno", $escrow_tno); $c_PayPlus->mf_set_modx_data("mod_type", $mod_type); $c_PayPlus->mf_set_modx_data("mod_ip", $cust_ip); $c_PayPlus->mf_set_modx_data("mod_desc", $mod_desc); $c_PayPlus->mf_set_modx_data("deli_numb", $escrow_numb); $c_PayPlus->mf_set_modx_data("deli_corp", $escrow_corp); $c_PayPlus->mf_do_tx($trace_no, $g_conf_home_dir, $g_conf_site_cd, $g_conf_site_key, $tran_cd, "", $g_conf_gw_url, $g_conf_gw_port, "payplus_cli_slib", $ordr_idxx, $cust_ip, "3", 0, 0, $g_conf_key_dir, $g_conf_log_dir); // 응답 전문 처리 $res_cd = $c_PayPlus->m_res_cd; // 결과 코드 $res_msg = $c_PayPlus->m_res_msg; // 결과 메시지
} break; case 'KAKAOPAY': include_once G5_SHOP_PATH . '/settle_kakaopay.inc.php'; $_REQUEST['TID'] = $od['od_tno']; $_REQUEST['Amt'] = $od['od_receipt_price']; $_REQUEST['CancelMsg'] = '쇼핑몰 운영자 승인 취소'; $_REQUEST['PartialCancelCode'] = 0; include G5_SHOP_PATH . '/kakaopay/kakaopay_cancel.php'; break; default: include_once G5_SHOP_PATH . '/settle_kcp.inc.php'; require_once G5_SHOP_PATH . '/kcp/pp_ax_hub_lib.php'; // locale ko_KR.euc-kr 로 설정 setlocale(LC_CTYPE, 'ko_KR.euc-kr'); $c_PayPlus = new C_PP_CLI(); $c_PayPlus->mf_clear(); $tno = $od['od_tno']; $tran_cd = '00200000'; $g_conf_home_dir = G5_SHOP_PATH . '/kcp'; $g_conf_key_dir = ''; if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { $g_conf_log_dir = G5_SHOP_PATH . '/kcp/log'; $g_conf_key_dir = G5_SHOP_PATH . '/kcp/bin/pub.key'; } $g_conf_site_cd = $default['de_kcp_mid']; if (preg_match("/^T000/", $g_conf_site_cd) || $default['de_card_test']) { $g_conf_gw_url = "testpaygw.kcp.co.kr"; } else { $g_conf_gw_url = "paygw.kcp.co.kr"; }
function pay_callback() { global $woocommerce; global $woocommerce_ver21_less; @ob_clean(); //////// 던져야될 변수는 모두 7개 //////////////////////////// $g_conf_log_level = "3"; $g_conf_gw_port = "8090"; // 포트번호(변경불가) $g_conf_home_dir = dirname(__FILE__) . '/homekcp/'; // BIN 절대경로 입력 (bin전까지) $g_conf_log_path = dirname(__FILE__) . '/homekcp/log'; if (get_option($this->_prefix . 'enable_testmode') != 'on') { $g_conf_gw_url = "paygw.kcp.co.kr"; $g_conf_site_cd = get_option($this->_prefix . 'kcp_sitecd'); $g_conf_site_key = get_option($this->_prefix . 'kcp_sitekey'); } else { $g_conf_gw_url = "testpaygw.kcp.co.kr"; $g_conf_site_cd = 'T0000'; $g_conf_site_key = '3grptw1.zW0GSo4PQdaGvsF__'; } //sym__log ( $this->assets_url ) ; /////////////////////////////////////////////////////////////////////////////// $order_id = $_POST["ordr_idxx"]; $order = new WC_Order($order_id); require_once dirname(__FILE__) . '/homekcp/pp_ax_hub_lib.php'; /* ============================================================================== */ /* = 01. 지불 요청 정보 설정 = */ /* = -------------------------------------------------------------------------- = */ $req_tx = $_POST["req_tx"]; // 요청 종류 $tran_cd = $_POST["tran_cd"]; // 처리 종류 /* = -------------------------------------------------------------------------- = */ $cust_ip = getenv("REMOTE_ADDR"); // 요청 IP $ordr_idxx = $_POST["ordr_idxx"]; // 쇼핑몰 주문번호 $good_name = $_POST["good_name"]; // 상품명 $good_mny = $_POST["good_mny"]; // 결제 총금액 /* = -------------------------------------------------------------------------- = */ $res_cd = ""; // 응답코드 $res_msg = ""; // 응답메시지 $res_en_msg = ""; // 응답 영문 메세지 $tno = $_POST["tno"]; // KCP 거래 고유 번호 /* = -------------------------------------------------------------------------- = */ $buyr_name = $_POST["buyr_name"]; // 주문자명 $buyr_tel1 = $_POST["buyr_tel1"]; // 주문자 전화번호 $buyr_tel2 = $_POST["buyr_tel2"]; // 주문자 핸드폰 번호 $buyr_mail = $_POST["buyr_mail"]; // 주문자 E-mail 주소 /* = -------------------------------------------------------------------------- = */ $use_pay_method = $_POST["use_pay_method"]; // 결제 방법 $bSucc = ""; // 업체 DB 처리 성공 여부 /* = -------------------------------------------------------------------------- = */ $app_time = ""; // 승인시간 (모든 결제 수단 공통) $amount = ""; // KCP 실제 거래 금액 $total_amount = 0; // 복합결제시 총 거래금액 $coupon_mny = ""; // 쿠폰금액 /* = -------------------------------------------------------------------------- = */ $card_cd = ""; // 신용카드 코드 $card_name = ""; // 신용카드 명 $app_no = ""; // 신용카드 승인번호 $noinf = ""; // 신용카드 무이자 여부 $quota = ""; // 신용카드 할부개월 $partcanc_yn = ""; // 부분취소 가능유무 $card_bin_type_01 = ""; // 카드구분1 $card_bin_type_02 = ""; // 카드구분2 $card_mny = ""; // 카드결제금액 /* = -------------------------------------------------------------------------- = */ $bank_name = ""; // 은행명 $bank_code = ""; // 은행코드 $bk_mny = ""; // 계좌이체결제금액 /* = -------------------------------------------------------------------------- = */ $bankname = ""; // 입금할 은행명 $depositor = ""; // 입금할 계좌 예금주 성명 $account = ""; // 입금할 계좌 번호 $va_date = ""; // 가상계좌 입금마감시간 /* = -------------------------------------------------------------------------- = */ $pnt_issue = ""; // 결제 포인트사 코드 $pnt_amount = ""; // 적립금액 or 사용금액 $pnt_app_time = ""; // 승인시간 $pnt_app_no = ""; // 승인번호 $add_pnt = ""; // 발생 포인트 $use_pnt = ""; // 사용가능 포인트 $rsv_pnt = ""; // 총 누적 포인트 /* = -------------------------------------------------------------------------- = */ $commid = ""; // 통신사 코드 $mobile_no = ""; // 휴대폰 번호 /* = -------------------------------------------------------------------------- = */ $shop_user_id = $_POST["shop_user_id"]; // 가맹점 고객 아이디 $tk_van_code = ""; // 발급사 코드 $tk_app_no = ""; // 상품권 승인 번호 /* = -------------------------------------------------------------------------- = */ $cash_yn = $_POST["cash_yn"]; // 현금영수증 등록 여부 $cash_authno = ""; // 현금 영수증 승인 번호 $cash_tr_code = $_POST["cash_tr_code"]; // 현금 영수증 발행 구분 $cash_id_info = $_POST["cash_id_info"]; // 현금 영수증 등록 번호 /* ============================================================================== */ /* ============================================================================== */ /* = 02. 인스턴스 생성 및 초기화 = */ /* = -------------------------------------------------------------------------- = */ /* = 결제에 필요한 인스턴스를 생성하고 초기화 합니다. = */ /* = -------------------------------------------------------------------------- = */ $c_PayPlus = new C_PP_CLI(); $c_PayPlus->mf_clear(); /* ------------------------------------------------------------------------------ */ /* = 02. 인스턴스 생성 및 초기화 END = */ /* ============================================================================== */ /* ============================================================================== */ /* = 03. 처리 요청 정보 설정 = */ /* = -------------------------------------------------------------------------- = */ /* = -------------------------------------------------------------------------- = */ /* = 03-1. 승인 요청 = */ /* = -------------------------------------------------------------------------- = */ if ($req_tx == "pay") { /* 1004원은 실제로 업체에서 결제하셔야 될 원 금액을 넣어주셔야 합니다. 결제금액 유효성 검증 */ /* $c_PayPlus->mf_set_ordr_data( "ordr_mony", "1004" ); */ $c_PayPlus->mf_set_ordr_data("ordr_mony", (int) $order->order_total); $c_PayPlus->mf_set_encx_data($_POST["enc_data"], $_POST["enc_info"]); } /* ------------------------------------------------------------------------------ */ /* = 03. 처리 요청 정보 설정 END = */ /* ============================================================================== */ /* ============================================================================== */ /* = 04. 실행 = */ /* = -------------------------------------------------------------------------- = */ if ($tran_cd != "") { $c_PayPlus->mf_do_tx($trace_no, $g_conf_home_dir, $g_conf_site_cd, $g_conf_site_key, $tran_cd, "", $g_conf_gw_url, $g_conf_gw_port, "payplus_cli_slib", $ordr_idxx, $cust_ip, $g_conf_log_level, 0, 0, $g_conf_log_path); // 응답 전문 처리 $res_cd = $c_PayPlus->m_res_cd; // 결과 코드 $res_msg = $c_PayPlus->m_res_msg; // 결과 메시지 /* $res_en_msg = $c_PayPlus->mf_get_res_data( "res_en_msg" ); // 결과 영문 메세지 */ } else { $c_PayPlus->m_res_cd = "9562"; $c_PayPlus->m_res_msg = "연동 오류|Payplus Plugin이 설치되지 않았거나 tran_cd값이 설정되지 않았습니다."; } /* = -------------------------------------------------------------------------- = */ /* = 04. 실행 END = */ /* ============================================================================== */ /* ============================================================================== */ /* = 05. 승인 결과 값 추출 = */ /* = -------------------------------------------------------------------------- = */ if ($req_tx == "pay") { if ($res_cd == "0000") { $tno = $c_PayPlus->mf_get_res_data("tno"); // KCP 거래 고유 번호 $amount = $c_PayPlus->mf_get_res_data("amount"); // KCP 실제 거래 금액 $pnt_issue = $c_PayPlus->mf_get_res_data("pnt_issue"); // 결제 포인트사 코드 $coupon_mny = $c_PayPlus->mf_get_res_data("coupon_mny"); // 쿠폰금액 /* = -------------------------------------------------------------------------- = */ /* = 05-1. 신용카드 승인 결과 처리 = */ /* = -------------------------------------------------------------------------- = */ if ($use_pay_method == "100000000000") { $card_cd = $c_PayPlus->mf_get_res_data("card_cd"); // 카드사 코드 $card_name = $c_PayPlus->mf_get_res_data("card_name"); // 카드 종류 $app_time = $c_PayPlus->mf_get_res_data("app_time"); // 승인 시간 $app_no = $c_PayPlus->mf_get_res_data("app_no"); // 승인 번호 $noinf = $c_PayPlus->mf_get_res_data("noinf"); // 무이자 여부 ( 'Y' : 무이자 ) $quota = $c_PayPlus->mf_get_res_data("quota"); // 할부 개월 수 $partcanc_yn = $c_PayPlus->mf_get_res_data("partcanc_yn"); // 부분취소 가능유무 $card_bin_type_01 = $c_PayPlus->mf_get_res_data("card_bin_type_01"); // 카드구분1 $card_bin_type_02 = $c_PayPlus->mf_get_res_data("card_bin_type_02"); // 카드구분2 $card_mny = $c_PayPlus->mf_get_res_data("card_mny"); // 카드결제금액 /* = -------------------------------------------------------------- = */ /* = 05-1.1. 복합결제(포인트+신용카드) 승인 결과 처리 = */ /* = -------------------------------------------------------------- = */ if ($pnt_issue == "SCSK" || $pnt_issue == "SCWB") { $pnt_amount = $c_PayPlus->mf_get_res_data("pnt_amount"); // 적립금액 or 사용금액 $pnt_app_time = $c_PayPlus->mf_get_res_data("pnt_app_time"); // 승인시간 $pnt_app_no = $c_PayPlus->mf_get_res_data("pnt_app_no"); // 승인번호 $add_pnt = $c_PayPlus->mf_get_res_data("add_pnt"); // 발생 포인트 $use_pnt = $c_PayPlus->mf_get_res_data("use_pnt"); // 사용가능 포인트 $rsv_pnt = $c_PayPlus->mf_get_res_data("rsv_pnt"); // 총 누적 포인트 $total_amount = $amount + $pnt_amount; // 복합결제시 총 거래금액 } } /* = -------------------------------------------------------------------------- = */ /* = 05-2. 계좌이체 승인 결과 처리 = */ /* = -------------------------------------------------------------------------- = */ if ($use_pay_method == "010000000000") { $app_time = $c_PayPlus->mf_get_res_data("app_time"); // 승인 시간 $bank_name = $c_PayPlus->mf_get_res_data("bank_name"); // 은행명 $bank_code = $c_PayPlus->mf_get_res_data("bank_code"); // 은행코드 $bk_mny = $c_PayPlus->mf_get_res_data("bk_mny"); // 계좌이체결제금액 } /* = -------------------------------------------------------------------------- = */ /* = 05-3. 가상계좌 승인 결과 처리 = */ /* = -------------------------------------------------------------------------- = */ if ($use_pay_method == "001000000000") { $bankname = $c_PayPlus->mf_get_res_data("bankname"); // 입금할 은행 이름 $depositor = $c_PayPlus->mf_get_res_data("depositor"); // 입금할 계좌 예금주 $account = $c_PayPlus->mf_get_res_data("account"); // 입금할 계좌 번호 $va_date = $c_PayPlus->mf_get_res_data("va_date"); // 가상계좌 입금마감시간 } /* = -------------------------------------------------------------------------- = */ /* = 05-4. 포인트 승인 결과 처리 = */ /* = -------------------------------------------------------------------------- = */ if ($use_pay_method == "000100000000") { $pnt_amount = $c_PayPlus->mf_get_res_data("pnt_amount"); // 적립금액 or 사용금액 $pnt_app_time = $c_PayPlus->mf_get_res_data("pnt_app_time"); // 승인시간 $pnt_app_no = $c_PayPlus->mf_get_res_data("pnt_app_no"); // 승인번호 $add_pnt = $c_PayPlus->mf_get_res_data("add_pnt"); // 발생 포인트 $use_pnt = $c_PayPlus->mf_get_res_data("use_pnt"); // 사용가능 포인트 $rsv_pnt = $c_PayPlus->mf_get_res_data("rsv_pnt"); // 적립 포인트 } /* = -------------------------------------------------------------------------- = */ /* = 05-5. 휴대폰 승인 결과 처리 = */ /* = -------------------------------------------------------------------------- = */ if ($use_pay_method == "000010000000") { $app_time = $c_PayPlus->mf_get_res_data("hp_app_time"); // 승인 시간 $commid = $c_PayPlus->mf_get_res_data("commid"); // 통신사 코드 $mobile_no = $c_PayPlus->mf_get_res_data("mobile_no"); // 휴대폰 번호 } /* = -------------------------------------------------------------------------- = */ /* = 05-6. 상품권 승인 결과 처리 = */ /* = -------------------------------------------------------------------------- = */ if ($use_pay_method == "000000001000") { $app_time = $c_PayPlus->mf_get_res_data("tk_app_time"); // 승인 시간 $tk_van_code = $c_PayPlus->mf_get_res_data("tk_van_code"); // 발급사 코드 $tk_app_no = $c_PayPlus->mf_get_res_data("tk_app_no"); // 승인 번호 } /* = -------------------------------------------------------------------------- = */ /* = 05-7. 현금영수증 결과 처리 = */ /* = -------------------------------------------------------------------------- = */ $cash_authno = $c_PayPlus->mf_get_res_data("cash_authno"); // 현금 영수증 승인 번호 } } /* = -------------------------------------------------------------------------- = */ /* = 05. 승인 결과 처리 END = */ /* ============================================================================== */ /* ============================================================================== */ /* = 06. 승인 및 실패 결과 DB처리 = */ /* = -------------------------------------------------------------------------- = */ /* = 결과를 업체 자체적으로 DB처리 작업하시는 부분입니다. = */ /* = -------------------------------------------------------------------------- = */ if ($res_cd == "9502") { wskl_sym__log(plugins_url('/homekcp/bin/pp_cli', __FILE__) . ' 화일의 실행권한을 755로 바꾸어 주세요 !'); wskl_sym__alert(plugins_url('/homekcp/bin/pp_cli', __FILE__) . ' 화일의 실행권한을 755로 바꾸어 주세요 !'); exit; } if ($res_cd != "0000") { // S202 방화벽 에러 wskl_sym__alert(' Error Code -> ' . $res_cd); exit; } if ($req_tx == "pay") { if ($res_cd == "0000") { // 결제성공에 따른 상점처리부분 //echo ("결제가 성공처리되었습니다. [" . $agspay->GetResult("rSuccYn")."]". $agspay->GetResult("rResMsg").". " ); if ($woocommerce_ver21_less) { $return_url = add_query_arg('key', $order->order_key, add_query_arg('order', $order_id, get_permalink(woocommerce_get_page_id('thanks')))); } else { $return_url = $this->get_return_url($order); } $order->add_order_note(sprintf(__('결제가 성공적으로 처리됨.<br/>결제방법: %s<br/>올더게이트 TID: %s<br/>발생시각: %s', 'wskl'), $this->method, '111', date('Y-m-d H:i:s'))); // Complete payment, reduce stock levels & remove cart $order->payment_complete(); $order->reduce_order_stock(); $woocommerce->cart->empty_cart(); //$lib_url = "'.plugins_url( 'AGS_progress.html', __FILE__ ). ?> <html> <head> <title>*** KCP [AX-HUB Version] ***</title> <script type="text/javascript"> function goResult() { var openwin = window.open('<?php echo plugins_url('proc_win.html', __FILE__); ?> ', 'proc_win', ''); document.pay_info.submit(); openwin.close(); } // 결제 중 새로고침 방지 샘플 스크립트 (중복결제 방지) function noRefresh() { /* CTRL + N키 막음. */ if ((event.keyCode == 78) && (event.ctrlKey == true)) { event.keyCode = 0; return false; } /* F5 번키 막음. */ if (event.keyCode == 116) { event.keyCode = 0; return false; } } document.onkeydown = noRefresh; </script> </head> <body onload="goResult()"> <form name="pay_info" method="post" action="<?php echo $return_url; ?> "> <input type="hidden" name="site_cd" value="<?php echo $g_conf_site_cd; ?> "> <!-- 사이트코드 --> <input type="hidden" name="req_tx" value="<?php echo $req_tx; ?> "> <!-- 요청 구분 --> <input type="hidden" name="use_pay_method" value="<?php echo $use_pay_method; ?> "> <!-- 사용한 결제 수단 --> <input type="hidden" name="bSucc" value="<?php echo $bSucc; ?> "> <!-- 쇼핑몰 DB 처리 성공 여부 --> <input type="hidden" name="amount" value="<?php echo $amount; ?> "> <!-- 금액 --> <input type="hidden" name="res_cd" value="<?php echo $res_cd; ?> "> <!-- 결과 코드 --> <input type="hidden" name="res_msg" value="<?php echo $res_msg; ?> "> <!-- 결과 메세지 --> <input type="hidden" name="res_en_msg" value="<?php echo $res_en_msg; ?> "> <!-- 결과 영문 메세지 --> <input type="hidden" name="ordr_idxx" value="<?php echo $ordr_idxx; ?> "> <!-- 주문번호 --> <input type="hidden" name="tno" value="<?php echo $tno; ?> "> <!-- KCP 거래번호 --> <input type="hidden" name="good_mny" value="<?php echo $good_mny; ?> "> <!-- 결제금액 --> <input type="hidden" name="good_name" value="<?php echo $good_name; ?> "> <!-- 상품명 --> <input type="hidden" name="buyr_name" value="<?php echo $buyr_name; ?> "> <!-- 주문자명 --> <input type="hidden" name="buyr_tel1" value="<?php echo $buyr_tel1; ?> "> <!-- 주문자 전화번호 --> <input type="hidden" name="buyr_tel2" value="<?php echo $buyr_tel2; ?> "> <!-- 주문자 휴대폰번호 --> <input type="hidden" name="buyr_mail" value="<?php echo $buyr_mail; ?> "> <!-- 주문자 E-mail --> <input type="hidden" name="card_cd" value="<?php echo $card_cd; ?> "> <!-- 카드코드 --> <input type="hidden" name="card_name" value="<?php echo $card_name; ?> "> <!-- 카드명 --> <input type="hidden" name="app_time" value="<?php echo $app_time; ?> "> <!-- 승인시간 --> <input type="hidden" name="app_no" value="<?php echo $app_no; ?> "> <!-- 승인번호 --> <input type="hidden" name="quota" value="<?php echo $quota; ?> "> <!-- 할부개월 --> <input type="hidden" name="noinf" value="<?php echo $noinf; ?> "> <!-- 무이자여부 --> <input type="hidden" name="partcanc_yn" value="<?php echo $partcanc_yn; ?> "> <!-- 부분취소가능유무 --> <input type="hidden" name="card_bin_type_01" value="<?php echo $card_bin_type_01; ?> "> <!-- 카드구분1 --> <input type="hidden" name="card_bin_type_02" value="<?php echo $card_bin_type_02; ?> "> <!-- 카드구분2 --> <input type="hidden" name="bank_name" value="<?php echo $bank_name; ?> "> <!-- 은행명 --> <input type="hidden" name="bank_code" value="<?php echo $bank_code; ?> "> <!-- 은행코드 --> <input type="hidden" name="bankname" value="<?php echo $bankname; ?> "> <!-- 입금할 은행 --> <input type="hidden" name="depositor" value="<?php echo $depositor; ?> "> <!-- 입금할 계좌 예금주 --> <input type="hidden" name="account" value="<?php echo $account; ?> "> <!-- 입금할 계좌 번호 --> <input type="hidden" name="va_date" value="<?php echo $va_date; ?> "> <!-- 가상계좌 입금마감시간 --> <input type="hidden" name="pnt_issue" value="<?php echo $pnt_issue; ?> "> <!-- 포인트 서비스사 --> <input type="hidden" name="pnt_app_time" value="<?php echo $pnt_app_time; ?> "> <!-- 승인시간 --> <input type="hidden" name="pnt_app_no" value="<?php echo $pnt_app_no; ?> "> <!-- 승인번호 --> <input type="hidden" name="pnt_amount" value="<?php echo $pnt_amount; ?> "> <!-- 적립금액 or 사용금액 --> <input type="hidden" name="add_pnt" value="<?php echo $add_pnt; ?> "> <!-- 발생 포인트 --> <input type="hidden" name="use_pnt" value="<?php echo $use_pnt; ?> "> <!-- 사용가능 포인트 --> <input type="hidden" name="rsv_pnt" value="<?php echo $rsv_pnt; ?> "> <!-- 적립 포인트 --> <input type="hidden" name="commid" value="<?php echo $commid; ?> "> <!-- 통신사 코드 --> <input type="hidden" name="mobile_no" value="<?php echo $mobile_no; ?> "> <!-- 휴대폰 번호 --> <input type="hidden" name="tk_van_code" value="<?php echo $tk_van_code; ?> "> <!-- 발급사 코드 --> <input type="hidden" name="tk_app_time" value="<?php echo $tk_app_time; ?> "> <!-- 승인 시간 --> <input type="hidden" name="tk_app_no" value="<?php echo $tk_app_no; ?> "> <!-- 승인 번호 --> <input type="hidden" name="cash_yn" value="<?php echo $cash_yn; ?> "> <!-- 현금영수증 등록 여부 --> <input type="hidden" name="cash_authno" value="<?php echo $cash_authno; ?> "> <!-- 현금 영수증 승인 번호 --> <input type="hidden" name="cash_tr_code" value="<?php echo $cash_tr_code; ?> "> <!-- 현금 영수증 발행 구분 --> <input type="hidden" name="cash_id_info" value="<?php echo $cash_id_info; ?> "> <!-- 현금 영수증 등록 번호 --> </form> </body> </html> <?php ///wp_redirect( $return_url); exit; // 06-1-1. 신용카드 if ($use_pay_method == "100000000000") { // 06-1-1-1. 복합결제(신용카드 + 포인트) if ($pnt_issue == "SCSK" || $pnt_issue == "SCWB") { } } // 06-1-2. 계좌이체 if ($use_pay_method == "010000000000") { } // 06-1-3. 가상계좌 if ($use_pay_method == "001000000000") { } // 06-1-4. 포인트 if ($use_pay_method == "000100000000") { } // 06-1-5. 휴대폰 if ($use_pay_method == "000010000000") { } // 06-1-6. 상품권 if ($use_pay_method == "000000001000") { } } else { if ($res_cd != "0000") { // 결제실패에 따른 상점처리부분 //echo ("결제가 실패처리되었습니다. [" . $agspay->GetResult("rSuccYn")."]". $agspay->GetResult("rResMsg").". " ); $order->update_status('failed', sprintf(__('결제처리 안됨. 에러메시지 : %s. 발생시각: %s.', 'wskl'), $res_msg, date('YmdHis'))); $cart_url = $woocommerce->cart->get_cart_url(); wp_redirect($cart_url); exit; } else { } } } /* ============================================================================== */ /* = 07. 승인 결과 DB처리 실패시 : 자동취소 = */ /* = -------------------------------------------------------------------------- = */ /* = 승인 결과를 DB 작업 하는 과정에서 정상적으로 승인된 건에 대해 = */ /* = DB 작업을 실패하여 DB update 가 완료되지 않은 경우, 자동으로 = */ /* = 승인 취소 요청을 하는 프로세스가 구성되어 있습니다. = */ /* = = */ /* = DB 작업이 실패 한 경우, bSucc 라는 변수(String)의 값을 "false" = */ /* = 로 설정해 주시기 바랍니다. (DB 작업 성공의 경우에는 "false" 이외의 = */ /* = 값을 설정하시면 됩니다.) = */ /* = -------------------------------------------------------------------------- = */ $bSucc = ""; // DB 작업 실패 또는 금액 불일치의 경우 "false" 로 세팅 /* = -------------------------------------------------------------------------- = */ /* = 07-1. DB 작업 실패일 경우 자동 승인 취소 = */ /* = -------------------------------------------------------------------------- = */ if ($req_tx == "pay") { if ($res_cd == "0000") { if ($bSucc == "false") { $c_PayPlus->mf_clear(); $tran_cd = "00200000"; $c_PayPlus->mf_set_modx_data("tno", $tno); // KCP 원거래 거래번호 $c_PayPlus->mf_set_modx_data("mod_type", "STSC"); // 원거래 변경 요청 종류 $c_PayPlus->mf_set_modx_data("mod_ip", $cust_ip); // 변경 요청자 IP $c_PayPlus->mf_set_modx_data("mod_desc", "결과 처리 오류 - 자동 취소"); // 변경 사유 $c_PayPlus->mf_do_tx($trace_no, $g_conf_home_dir, $g_conf_site_cd, $g_conf_site_key, $tran_cd, "", $g_conf_gw_url, $g_conf_gw_port, "payplus_cli_slib", $ordr_idxx, $cust_ip, $g_conf_log_level, 0, 0, $g_conf_log_path); // 응답 전문 처리 $res_cd = $c_PayPlus->m_res_cd; $res_msg = $c_PayPlus->m_res_msg; } } } // End of [res_cd = "0000"] /* ============================================================================== */ /* ============================================================================== */ /* = 08. 폼 구성 및 결과페이지 호출 = */ /* ============================================================================== */ }
/* = -------------------------------------------------------------------------- = */ $cash_yn = $_POST["cash_yn"]; // 현금영수증 등록 여부 $cash_authno = ""; // 현금 영수증 승인 번호 $cash_tr_code = $_POST["cash_tr_code"]; // 현금 영수증 발행 구분 $cash_id_info = $_POST["cash_id_info"]; // 현금 영수증 등록 번호 /* ============================================================================== */ /* ============================================================================== */ /* = 02. 인스턴스 생성 및 초기화 = */ /* = -------------------------------------------------------------------------- = */ /* = 결제에 필요한 인스턴스를 생성하고 초기화 합니다. = */ /* = -------------------------------------------------------------------------- = */ $c_PayPlus = new C_PP_CLI(); $c_PayPlus->mf_clear(); /* ------------------------------------------------------------------------------ */ /* = 02. 인스턴스 생성 및 초기화 END = */ /* ============================================================================== */ /* ============================================================================== */ /* = 03. 처리 요청 정보 설정 = */ /* = -------------------------------------------------------------------------- = */ /* = -------------------------------------------------------------------------- = */ /* = 03-1. 승인 요청 = */ /* = -------------------------------------------------------------------------- = */ if ($req_tx == "pay") { $c_PayPlus->mf_set_encx_data($_POST["enc_data"], $_POST["enc_info"]); } else { if ($req_tx == "mod") { $tran_cd = "00200000";
// 수취인 E-Mail $rcvr_zipx = $_POST["rcvr_zipx"]; // 수취인 우편번호 $rcvr_add1 = addslashes($_POST["rcvr_add1"]); // 수취인 주소 $rcvr_add2 = addslashes($_POST["rcvr_add2"]); // 수취인 상세주소 $escw_yn = ""; // 에스크로 여부 /* ============================================================================== */ /* ============================================================================== */ /* = 02. 인스턴스 생성 및 초기화 = */ /* = -------------------------------------------------------------------------- = */ /* = 결제에 필요한 인스턴스를 생성하고 초기화 합니다. = */ /* = -------------------------------------------------------------------------- = */ $c_PayPlus = new C_PP_CLI(); $c_PayPlus->mf_clear(); /* ------------------------------------------------------------------------------ */ /* = 02. 인스턴스 생성 및 초기화 END = */ /* ============================================================================== */ /* ============================================================================== */ /* = 03. 처리 요청 정보 설정 = */ /* = -------------------------------------------------------------------------- = */ /* = -------------------------------------------------------------------------- = */ /* = 03-1. 승인 요청 = */ /* = -------------------------------------------------------------------------- = */ if ($req_tx == "pay") { /* 1004원은 실제로 업체에서 결제하셔야 될 원 금액을 넣어주셔야 합니다. 결제금액 유효성 검증 */ $c_PayPlus->mf_set_ordr_data("ordr_mony", $good_mny); $c_PayPlus->mf_set_encx_data($_POST["enc_data"], $_POST["enc_info"]); } else {