영카트5 - 리눅스 환경에서 NHN KCP 결제 로그 디렉토리 설정방법 > 자주하시는 질문

자주하시는 질문

영카트5 - 리눅스 환경에서 NHN KCP 결제 로그 디렉토리 설정방법 정보

영카트5 - 리눅스 환경에서 NHN KCP 결제 로그 디렉토리 설정방법
  • 편리
  • 조회 960,266
  • 댓글 0

첨부파일

pp_cli.zip (287.0K) 186회 다운로드 2015-12-08 16:34:26

본문

NHN KCP 결제 로그는 반드시 필요한 것은 아니지만 개발과정 또는 결제 오류 등을 확인하기 위해서 필요한 경우가 있습니다. 이럴 경우에 리눅스 환경에서 NHN KCP 로그 디렉토리 생성 방법입니다. 

 

로그 디렉토리는 웹브라우저를 통해 접근이 불가능한 경로에 생성되어야 합니다.

 

 

* 이 내용과 관련된 코드는 영카트 5.1.9 버전에서 수정 반영됐습니다.

 

 

먼저 로그 생성을 위한 코드가 올바른지 확인해 보겠습니다.

shop/settle_kcp.inc.php 에서 $g_conf_log_dir 설정값을 확인해 봅니다.

 


$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_home_dir  = G5_SHOP_PATH.'/kcp';
$g_conf_key_dir   = '';
 
/*=======================================================================
 KCP 결제처리 로그파일 생성을 위한 로그 디렉토리 절대 경로를 지정합니다.
 로그 파일의 경로는 웹에서 접근할 수 없는 경로를 지정해 주십시오.
 영카트5의 config.php 파일이 존재하는 경로가 /home/youngcart5/www 라면
 로그 디렉토리는 /home/youngcart5/log 등으로 지정하셔야 합니다.
 로그 디렉토리에 쓰기 권한이 있어야 로그 파일이 생성됩니다.
=======================================================================*/
$g_conf_log_dir   = '/home100/kcp'; // 존재하지 않는 경로를 입력하여 로그 파일 생성되지 않도록 함.
 
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
{
    $g_conf_key_dir   = G5_SHOP_PATH.'/kcp/bin/pub.key';
}

 

 

 

 

위의 과정은 PC 쇼핑몰의 코드 수정입니다. 마찬가지로 모바일 쇼핑몰의 코드도 수정해야 합니다.

 

mobile/shop/settle_kcp.inc.php 파일의 코드를 확인합니다.

 


$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_key_dir   = '';
 
/*=======================================================================
 KCP 결제처리 로그파일 생성을 위한 로그 디렉토리 절대 경로를 지정합니다.
 로그 파일의 경로는 웹에서 접근할 수 없는 경로를 지정해 주십시오.
 영카트5의 config.php 파일이 존재하는 경로가 /home/youngcart5/www 라면
 로그 디렉토리는 /home/youngcart5/log 등으로 지정하셔야 합니다.
 로그 디렉토리에 쓰기 권한이 있어야 로그 파일이 생성됩니다.
=======================================================================*/
$g_conf_log_dir   = '/home100/kcp'; // 존재하지 않는 경로를 입력하여 로그 파일 생성되지 않도록 함.
 
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
{
    $g_conf_key_dir   = G5_SHOP_PATH.'/kcp/bin/pub.key';
}

 

 

 

 

위와 같이 코드를 수정하셨다면 log 디렉토리를 생성합니다.

 

764396c429917602a54aeeff12fc4e6a_1449555775_8263.jpg
 

이미지와 같이 영카트5가 /home/manual/www 디렉토리 안에 설치되어 있다고 가정합니다.

이때 log 디렉토리는 www 디렉토리의 하위 디렉토리여서는 안됩니다. www 안에 위치하는 경우

웹브라우저를 통해 접근이 가능하여 악의적인 목적을 가진 누군가에 의해 정보가 유출될 수 있습니다.

 

log 디렉토리는 웹으로 접근이 불가능한 경로여야 하며 아래와 같이 www 와 동일한 위치에 있거나

또는 /home/kcp/log 등과 같이 전혀 별개의 경로를 가져야 합니다.

 

764396c429917602a54aeeff12fc4e6a_1449556034_2963.jpg
 

log 디렉토리를 웹에서 접근이 불가능한 경로에 생성하셨다면 아래와 같이 쓰기 권한을 부여해 주셔야 합니다.

 

764396c429917602a54aeeff12fc4e6a_1449556095_5061.jpg
 

 

 

 

다음으로 shop/kcp/pp_ax_hub_lib.php 파일의 217 라인 근처의 코드를 확인합니다.

 


"enc_data="  . $this->m_encx_data . "," .
"enc_info="  . $this->m_encx_info . "," .
"trace_no="  . $trace_no          . "," .
"cust_ip="   . $cust_ip           . "," .
"log_level=" . $log_level         . "," .
"opt="       . $opt               . "" );
 

 

코드가 위와 같다면 아래의 코드로 수정합니다.

 


"enc_data="  . $this->m_encx_data . "," .
"enc_info="  . $this->m_encx_info . "," .
"trace_no="  . $trace_no          . "," .
"cust_ip="   . $cust_ip           . "," .
"log_path="  . $log_dir           . ","	.
"log_level=" . $log_level         . "," .
"opt="       . $opt               . "" );

"log_path="  . $log_dir           . "," . 코드가 추가됐습니다.



위와 마찬가지로 mobile/shop/kcp/pp_ax_hub_lib.php 파일의 217 라인 근처의 코드를 확인합니다.


"enc_data="  . $this->m_encx_data . "," .
"enc_info="  . $this->m_encx_info . "," .
"trace_no="  . $trace_no          . "," .
"cust_ip="   . $cust_ip           . "," .
"log_level=" . $log_level         . "," .
"opt="       . $opt               . "" );


코드가 위와 같다면 아래의 코드로 수정합니다.


"enc_data="  . $this->m_encx_data . "," .
"enc_info="  . $this->m_encx_info . "," .
"trace_no="  . $trace_no          . "," .
"cust_ip="   . $cust_ip           . "," .
"log_path="  . $log_dir           . ","	.
"log_level=" . $log_level         . "," .
"opt="       . $opt               . "" );





만약 log 디렉토리 설정이 적용되지 않는다면 pp_ax_hub_lib.php 파일의 mf_do_tx 함수 파라미터가 아래와 같은지 확인해 보시기 바랍니다.


    /* -------------------------------------------------------------------- */
    /* -   FUNC  :  지불 처리 함수                                        - */
    /* -------------------------------------------------------------------- */
    function  mf_do_tx( $trace_no,  $home_dir, $site_cd,
                        $site_key,  $tx_cd,    $pub_key_str,
                        $pa_url,    $pa_port,  $user_agent,
                        $ordr_idxx, $cust_ip,
                        $log_level, $opt, $mode,
                        $key_dir,   $log_dir)
    {


$log_dir 이 존재해야 합니다.


또한 pp_ax_hub.php 파일에서는 아래와 같이 log 디렉토리 설정을 넘겨주어야 합니다.


$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); // 응답 전문 처리


$g_conf_log_dir 이 포함되어 있어야 합니다.




위 과정까지 모두 마치셨다면 이제 NHN KCP 결제 처리를 위한 pp_cli 바이너리 파일을 첨부한 파일로 교체해 주셔야 합니다. 첨부한 pp_cli.zip 파일에는 pp_cli 파일과 pp_cli_x64 파일이 포함되어 있습니다. 

pp_cli 는 32비트 리눅스용 파일이며 pp_cli_x64 는 64비트 리눅스용 파일입니다. pp_cli 파일은 반드시 바이너리 모드로 업로드되어야 합니다. 파일을 업로드 하신 후 각 리눅스 환경에 맞게 pp_cli 또는 pp_cli_x64 파일에 실행권한을 부여합니다. pp_cli 파일이 바이너리로 업로드 되지 않았거나 실행권한이 없으면 결제 과정에서 9502 오류가 발생합니다.

9502 오류는 FAQ http://sir.kr/faq/2 에서 확인할 수 있습니다.




모든 과정을 마치셨다면 NHN KCP 결제 테스트를 진행해 로그 파일이 제대로 생성되는지 확인합니다.

100레벨 이상 댓글을 남길 수 있습니다.

전체 86
자주하시는 질문 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT