**************************************************************************************************/ $inipay->SetField("admin", $default['de_inicis_admin_key']); // 키패스워드(상점아이디에 따라 변경) $inipay->SetField("mid", $default['de_inicis_mid']); // 상점아이디 $inipay->SetField("goodname", iconv_euckr($goodname)); // 상품명 $inipay->SetField("cr_price", $amt_tot); // 총 현금결제 금액 $inipay->SetField("sup_price", $amt_sup); // 공급가액 $inipay->SetField("tax", $amt_tax); // 부가세 $inipay->SetField("srvc_price", $amt_svc); // 봉사료 $inipay->SetField("buyername", iconv_euckr($buyername)); // 구매자 성명 $inipay->SetField("buyeremail", $buyeremail); // 구매자 이메일 주소 $inipay->SetField("buyertel", $buyertel); // 구매자 전화번호 $inipay->SetField("reg_num", $reg_num); // 현금결제자 주민등록번호 $inipay->SetField("useopt", $useopt); // 현금영수증 발행용도 ("1" - 소비자 소득공제용, "2" - 사업자 지출증빙용) $inipay->SetField("companynumber", $companynumber); // 서브몰 사업자번호 /**************** * 4. 발급 요청 * ****************/ $inipay->startAction();
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { $g_conf_key_dir = G5_SHOP_PATH . '/kcp/bin/pub.key'; $g_conf_log_dir = G5_SHOP_PATH . '/kcp/log'; } 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"; if (!preg_match("/^SR/", $g_conf_site_cd)) { alert("SR 로 시작하지 않는 KCP SITE CODE 는 지원하지 않습니다."); } } include_once G5_SHOP_PATH . '/kcp/pp_cli_hub_lib.php'; $tno = $od['od_tno']; $req_tx = 'mod'; $mod_desc = iconv_euckr($mod_memo); $cust_ip = getenv('REMOTE_ADDR'); $rem_mny = (int) $od['od_receipt_price'] - (int) $od['od_refund_price']; $mod_mny = (int) $tax_mny; $mod_free_mny = (int) $free_mny; $mod_type = 'RN07'; if ($od['od_settle_case'] == '계좌이체') { $mod_type = 'STPA'; } if ($od['od_tax_flag']) { $mod_mny = $tax_mny + $free_mny; } $c_PayPlus = new C_PAYPLUS_CLI_T(); $c_PayPlus->mf_clear(); if ($req_tx == "mod") { $tran_cd = "00200000";
$inipay->SetField("admin", $default['de_inicis_admin_key']); // 키패스워드(키발급시 생성, 상점관리자 패스워드와 상관없음) $inipay->SetField("checkopt", "false"); //base64함:false, base64안함:true(현재 false로 고정) //필수항목 : mid, price, nointerest, quotabase //추가가능 : INIregno, oid //*주의* : 추가가능한 항목중 암호화 대상항목에 추가한 필드는 반드시 hidden 필드에선 제거하고 // SESSION이나 DB를 이용해 다음페이지(INIsecureresult.php)로 전달/셋팅되어야 합니다. $inipay->SetField("mid", $default['de_inicis_mid']); // 상점아이디 $inipay->SetField("price", $price); // 가격 $inipay->SetField("nointerest", $inipay_nointerest); // 무이자여부(no:일반, yes:무이자) //$inipay->SetField("quotabase", $inipay_quotabase);//할부기간 150815 나진수 영카트 5 패치 5.0.43 하면서 주석처리 $inipay->SetField("quotabase", iconv_euckr($inipay_quotabase)); // 할부기간 150815 나진수 영카트 5 패치 5.0.43 하면서 변경됨 /******************************** * 4. 암호화 대상/값을 암호화함 * ********************************/ $inipay->startAction(); /********************* * 5. 암호화 결과 * *********************/ if ($inipay->GetResult("ResultCode") != "00") { die('{"error":"' . $inipay->GetResult("ResultMsg") . '"}'); } /********************* * 6. 세션정보 저장 * *********************/ set_session('INI_MID', $default['de_inicis_mid']);
// 보관하고 있던 결과값을 지웁니다. } } // 문의글 등록시 관리자에게 전송 if (($w == '' || $w == 'r') && trim($qaconfig['qa_admin_hp'])) { $sms_content = $config['cf_title'] . ' ' . $qaconfig['qa_title'] . '에 문의글이 등록되었습니다.'; $send_number = preg_replace('/[^0-9]/', '', $qaconfig['qa_send_number']); $recv_number = preg_replace('/[^0-9]/', '', $qaconfig['qa_admin_hp']); if ($recv_number) { $strDest = array(); $strDest[] = $recv_number; $strCallBack = $send_number; $strCaller = iconv_euckr(trim($config['cf_title'])); $strSubject = ''; $strURL = ''; $strData = iconv_euckr($sms_content); $strDate = ''; $nCount = count($strDest); $SMS = new LMS(); $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $port_setting); $res = $SMS->Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount); if ($res) { $SMS->Send(); } $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. } } } } else { include_once G5_LIB_PATH . '/icode.sms.lib.php';
$nCount = count($strDest); $res = $SMS->Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount); $SMS->Send(); $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. } } } else { include_once G5_LIB_PATH . '/icode.sms.lib.php'; $SMS = new SMS(); // SMS 연결 $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); for ($s = 0; $s < count($sms_messages); $s++) { $recv_number = $sms_messages[$s]['recv']; $send_number = $sms_messages[$s]['send']; $sms_content = iconv_euckr($sms_messages[$s]['cont']); $SMS->Add($recv_number, $send_number, $config['cf_icode_id'], $sms_content, ""); } $SMS->Send(); $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. } } } } // SMS END -------------------------------------------------------- // orderview 에서 사용하기 위해 session에 넣고 $uid = md5($od_id . G5_TIME_YMDHIS . $REMOTE_ADDR); set_session('ss_orderview_uid', $uid); // 주문번호제거 set_session('ss_order_id', '');
$strSubject = ''; $strURL = ''; $strData = iconv_euckr($sms_content); $strDate = ''; $nCount = count($strDest); $res = $SMS->Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount); $SMS->Send(); $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. } } else { include_once G5_LIB_PATH . '/icode.sms.lib.php'; $SMS = new SMS(); // SMS 연결 $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); $SMS->Add($recv_number, $send_number, $config['cf_icode_id'], iconv_euckr(stripslashes($sms_content)), ""); $SMS->Send(); } } } // 답변 이메일전송 if (trim($row['iq_email'])) { include_once G5_LIB_PATH . '/mailer.lib.php'; $subject = $config['cf_title'] . ' ' . $row['it_name'] . ' 상품문의 답변 알림 메일'; $content = conv_content($iq_answer, 1); mailer($config['cf_title'], $config['cf_admin_email'], $row['iq_email'], $subject, $content, 1); } } goto_url("./itemqaform.php?w={$w}&iq_id={$iq_id}&sca={$sca}&{$qstr}"); } else { alert();
/* echo "결제 취소요청이 완료되었습니다. <br>"; echo "TX Response_code = " . $xpay->Response_Code() . "<br>"; echo "TX Response_msg = " . $xpay->Response_Msg() . "<p>"; */ } else { //2)API 요청 실패 화면처리 $msg = "결제 취소요청이 실패하였습니다.\\n"; $msg .= "TX Response_code = " . $xpay->Response_Code() . "\\n"; $msg .= "TX Response_msg = " . $xpay->Response_Msg(); alert($msg); } break; case 'inicis': include_once G5_SHOP_PATH . '/settle_inicis.inc.php'; $cancel_msg = iconv_euckr('주문자 본인 취소-' . $cancel_memo); /********************* * 3. 취소 정보 설정 * *********************/ $inipay->SetField("type", "cancel"); // 고정 (절대 수정 불가) $inipay->SetField("mid", $default['de_inicis_mid']); // 상점아이디 /************************************************************************************************** * admin 은 키패스워드 변수명입니다. 수정하시면 안됩니다. 1111의 부분만 수정해서 사용하시기 바랍니다. * 키패스워드는 상점관리자 페이지(https://iniweb.inicis.com)의 비밀번호가 아닙니다. 주의해 주시기 바랍니다. * 키패스워드는 숫자 4자리로만 구성됩니다. 이 값은 키파일 발급시 결정됩니다. * 키패스워드 값을 확인하시려면 상점측에 발급된 키파일 안의 readme.txt 파일을 참조해 주십시오. **************************************************************************************************/ $inipay->SetField("admin", $default['de_inicis_admin_key']); //비대칭 사용키 키패스워드
// 카드코드 리턴 $inipay->SetField("parentemail", $parentemail); // 보호자 이메일 주소(핸드폰 , 전화결제시에 14세 미만의 고객이 결제하면 부모 이메일로 결제 내용통보 의무, 다른결제 수단 사용시에 삭제 가능) /*-----------------------------------------------------------------* * 수취인 정보 * * *-----------------------------------------------------------------* * 실물배송을 하는 상점의 경우에 사용되는 필드들이며 * * 아래의 값들은 INIsecurepay.html 페이지에서 포스트 되도록 * * 필드를 만들어 주도록 하십시요. * * 컨텐츠 제공업체의 경우 삭제하셔도 무방합니다. * *-----------------------------------------------------------------*/ $inipay->SetField("recvname", iconv_euckr($recvname)); // 수취인 명 $inipay->SetField("recvtel", $recvtel); // 수취인 연락처 $inipay->SetField("recvaddr", iconv_euckr($recvaddr)); // 수취인 주소 $inipay->SetField("recvpostnum", $recvpostnum); // 수취인 우편번호 $inipay->SetField("recvmsg", $recvmsg); // 전달 메세지 $inipay->SetField("joincard", $joincard); // 제휴카드코드 $inipay->SetField("joinexpire", $joinexpire); // 제휴카드유효기간 $inipay->SetField("id_customer", $id_customer); //user_id /**************** * 4. 지불 요청 * ****************/ $inipay->startAction();
} else { $sql = " select mb_id, mb_name, mb_hp, mb_email, mb_mailling, mb_sms\n from {$g5['member_table']}\n where mb_id = '{$mb_id}' "; } $result = sql_query($sql); for ($i = 0; $row = sql_fetch_array($result); $i++) { $arr_send_list[] = $row; } $count = count($arr_send_list); for ($i = 0; $i < $count; $i++) { if (!$arr_send_list[$i]['mb_id']) { continue; } // SMS if ($config['cf_sms_use'] == 'icode' && $_POST['cp_sms_send'] && $arr_send_list[$i]['mb_hp'] && $arr_send_list[$i]['mb_sms']) { $sms_contents = $cp_subject . ' 쿠폰이 ' . get_text($arr_send_list[$i]['mb_name']) . '님께 발행됐습니다. 쿠폰만료 : ' . $cp_end . ' ' . str_replace('http://', '', G5_URL); $sms_contents = iconv_euckr($sms_contents); if ($sms_contents) { $receive_number = preg_replace("/[^0-9]/", "", $arr_send_list[$i]['mb_hp']); // 수신자번호 $send_number = preg_replace("/[^0-9]/", "", $default['de_admin_company_tel']); // 발신자번호 if ($receive_number && $send_number) { $SMS->Add($receive_number, $send_number, $config['cf_icode_id'], $sms_contents, ""); $sms_count++; } } } // E-MAIL if ($config['cf_email_use'] && $_POST['cp_email_send'] && $arr_send_list[$i]['mb_email'] && $arr_send_list[$i]['mb_mailling']) { $mb_name = get_text($arr_send_list[$i]['mb_name']); switch ($cp_method) {
case 2: $ct_send_cost = '무료'; break; default: $ct_send_cost = '선불'; break; } // 조건부무료 if ($row['it_sc_type'] == 2) { $sendcost = get_item_sendcost($row['it_id'], $sum['price'], $sum['qty'], $row['od_id']); if ($sendcost == 0) { $ct_send_cost = '무료'; } } $save_it_id = $row['it_id']; $ct_send_cost = iconv_euckr($ct_send_cost); } $row = array_map('iconv_euckr', $row); $worksheet->write($i, 0, $row['od_b_zip1'] . $row['od_b_zip2']); $worksheet->write($i, 1, print_address($row['od_b_addr1'], $row['od_b_addr2'], $row['od_b_addr3'], $row['od_b_addr_jibeon'])); $worksheet->write($i, 2, $row['od_b_name']); $worksheet->write($i, 3, ' ' . $row['od_b_tel']); $worksheet->write($i, 4, ' ' . $row['od_b_hp']); $worksheet->write($i, 5, $row['it_name']); $worksheet->write($i, 6, $row['ct_qty']); $worksheet->write($i, 7, $row['ct_option']); $worksheet->write($i, 8, $ct_send_cost); $worksheet->write($i, 9, ' ' . $row['it_id']); $worksheet->write($i, 10, ' ' . $row['od_id']); $worksheet->write($i, 11, $row['od_invoice']); $worksheet->write($i, 12, $row['od_memo']);
$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"; } $cancel_msg = iconv_euckr('쇼핑몰 운영자 승인 취소'); $cust_ip = $_SERVER['REMOTE_ADDR']; $bSucc_mod_type = "STSC"; $c_PayPlus->mf_set_modx_data("tno", $tno); // KCP 원거래 거래번호 $c_PayPlus->mf_set_modx_data("mod_type", $bSucc_mod_type); // 원거래 변경 요청 종류 $c_PayPlus->mf_set_modx_data("mod_ip", $cust_ip); // 변경 요청자 IP $c_PayPlus->mf_set_modx_data("mod_desc", $cancel_msg); // 변경 사유 $c_PayPlus->mf_do_tx($tno, $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; if ($res_cd != '0000') { $pg_res_cd = $res_cd;
// 에스크로 가상계좌 건의 경우 가상계좌 발급취소(STE5) if ($escw_yn == "Y" && $use_pay_method == "001000000000") { $bSucc_mod_type = "STE5"; } else { if ($escw_yn == "Y") { $bSucc_mod_type = "STE2"; } else { $bSucc_mod_type = "STSC"; } } /* = -------------------------------------------------------------------------- = */ /* = 07-1. 자동취소시 에스크로 거래인 경우 처리 END = */ /* = ========================================================================== = */ $c_PayPlus->mf_set_modx_data("tno", $tno); // KCP 원거래 거래번호 $c_PayPlus->mf_set_modx_data("mod_type", $bSucc_mod_type); // 원거래 변경 요청 종류 $c_PayPlus->mf_set_modx_data("mod_ip", $cust_ip); // 변경 요청자 IP $c_PayPlus->mf_set_modx_data("mod_desc", iconv_euckr($cancel_msg)); // 변경 사유 $c_PayPlus->mf_do_tx($tno, $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; } } } // End of [res_cd = "0000"] /* ============================================================================== */ // locale 설정 초기화 setlocale(LC_CTYPE, '');
return; } include_once G5_SHOP_PATH . '/settle_inicis.inc.php'; $oid = $od['od_id']; $EscrowType = 'I'; $invoice = $escrow_numb; $dlv_charge = 'SH'; // 배송비 지급형태 (SH : 판매자부담, BH : 구매자부담) $sendName = iconv_euckr($od['od_name']); $sendPost = $od['od_zip1'] . $od['od_zip2']; $sendAddr1 = iconv_euckr($od['od_addr1']); $sendAddr2 = iconv_euckr($od['od_addr2']); $sendTel = $od['od_tel']; $recvName = iconv_euckr($od['od_b_name']); $recvPost = $od['od_b_zip1'] . $od['od_b_zip2']; $recvAddr = iconv_euckr($od['od_b_addr1'] . ($od['od_b_addr2'] ? ' ' : '') . $od['od_b_addr2']); $recvTel = $od['od_b_tel']; $price = $od['od_receipt_price']; // 택배회사 코드 $exCode = array('대한통운' => 'korex', '아주택배' => 'ajutb', 'KT로지스' => 'ktlogistics', '현대택배' => 'hyundai', 'CJ대한통운' => 'cjgls', '한진택배' => 'hanjin', '트라넷' => 'tranet', '하나로택배' => 'Hanaro', '사가와익스프레스' => 'Sagawa', 'SEDEX' => 'sedex', 'KGB택배' => 'kgbls', '로젠택배' => 'kgb', 'KG옐로우캡택배' => 'yellow', '삼성HTH' => 'hth', '동부택배' => 'dongbu', '우체국' => 'EPOST', '우편등기' => 'registpost', '기타택배' => '9999'); $dlv_exName = $escrow_corp; $dlv_exCode = $exCode[$dlv_exName]; if (!$dlv_exCode) { $dlv_exCode = '9999'; } /********************* * 3. 지불 정보 설정 * *********************/ $inipay->SetField("tid", $escrow_tno); // 거래아이디 $inipay->SetField("mid", $default['de_inicis_mid']);
} switch ($pay_type) { case '계좌이체': $bank_name = $_POST['P_VACT_BANK']; break; case '가상계좌': $bankname = $_POST['P_VACT_BANK']; $account = $_POST['P_VACT_NUM'] . ' ' . $_POST['P_VACT_NAME']; $app_no = $_POST['P_VACT_NUM']; break; default: break; } //20151013 나진수 임의 로그 생성 settle_common.php 소스 부분 변형함 시작 $PageCall_time = date("H:i:s"); $value = array("PageCall time" => $PageCall_time, "P_TID" => $tno, "P_MID" => $default['de_inicis_mid'], "P_AUTH_DT" => $app_time, "P_TYPE" => $pay_method, "P_OID" => get_session('ss_order_id'), "P_AMT" => $amount, "P_UNAME" => iconv_euckr($P_UNAME), "P_RMESG1" => $P_RMESG1, "P_RMESG2" => $P_RMESG2, "P_NOTI" => $P_NOTI, "P_AUTH_NO" => $P_AUTH_NO, "P_SRC_CODE" => $P_SRC_CODE); writeLog($value); function writeLog($msg) { $file = G5_SHOP_PATH . "/inicis/log/noti_input_" . date("Ymd") . ".log"; if (!($fp = fopen($path . $file, "a+"))) { return 0; } ob_start(); print_r($msg); $ob_msg = ob_get_contents(); ob_clean(); if (fwrite($fp, " " . $ob_msg . "\n") === FALSE) { fclose($fp); return 0; }
$SMS = new SMS(); $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); } auth_check($auth[$sub_menu], 'w'); $cnt = 0; for ($i = 0; $i < count($_POST['chk']); $i++) { // 실제 번호를 넘김 $k = $_POST['chk'][$i]; $sql = " select a.ss_id, a.ss_hp, a.ss_send, b.it_id, b.it_name\n from {$g5['g5_shop_item_stocksms_table']} a left join {$g5['g5_shop_item_table']} b on ( a.it_id = b.it_id )\n where a.ss_id = '{$_POST['ss_id'][$k]}' "; $row = sql_fetch($sql); if (!$row['ss_id'] || !$row['it_id'] || $row['ss_send']) { continue; } // SMS if ($config['cf_sms_use'] == 'icode') { $sms_contents = iconv_euckr(get_text($row['it_name']) . ' 상품이 재입고 되었습니다. ' . $default['de_admin_company_name']); $receive_number = preg_replace("/[^0-9]/", "", $row['ss_hp']); // 수신자번호 $send_number = preg_replace("/[^0-9]/", "", $default['de_admin_company_tel']); // 발신자번호 if ($receive_number && $send_number) { $SMS->Add($receive_number, $send_number, $config['cf_icode_id'], $sms_contents, ""); $cnt++; } } // SMS 전송으로 변경함 $sql = " update {$g5['g5_shop_item_stocksms_table']}\n set ss_send = '1',\n ss_send_time = '" . G5_TIME_YMDHIS . "'\n where ss_id = '{$_POST['ss_id'][$k]}' "; sql_query($sql); } // SMS if ($config['cf_sms_use'] == 'icode' && $cnt) {