Example #1
0
 /**
  * @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);
 }
Example #2
0
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. 폼 구성 및 결과페이지 호출                                           = */
        /* ============================================================================== */
    }
Example #5
0
/* = -------------------------------------------------------------------------- = */
$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";
Example #6
0
// 수취인 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 {