KCP 크롬 대응 exe 버전 패치 코드. > 영카트5 팁자료실

영카트5 팁자료실

KCP 크롬 대응 exe 버전 패치 코드. 정보

KCP 크롬 대응 exe 버전 패치 코드.

본문

KCP 에서는 크롬45버전 이상에서 기존의 크로스브라우징 모듈의 NPAPI 기능 제한의 대안으로
EXE 결제모듈을 배포하였습니다.
 
영카트에 적용을 해보았습니다.







/shop/kcp/orderform.1.php


<script type="text/javascript">
    /****************************************************************/
    /* EXE 전환 절차                                                */
    /* 1. m_Completepayment 함수 적용                               */
    /* 2. 플러그인 체크 함수 변경  kcpTx_install();                 */
    /* 3. submit 방식 변경                                          */
    /****************************************************************/
    /****************************************************************/
    /****************************************************************/

    /* 1. m_Completepayment  설명                                      */
    /****************************************************************/
    /* 인증완료시 재귀 함수                                         */
    /* 해당 함수명은 절대 변경하면 안됩니다.                        */
    /* 해당 함수의 위치는 payplus.js 보다먼저 선언되어여 합니다.    */
    /* Web 방식의 경우 리턴 값이 form 으로 넘어옴                   */
    /* EXE 방식의 경우 리턴 값이 json 으로 넘어옴                   */
    /****************************************************************/
    function m_Completepayment( FormOrJson, closeEvent ) 
    {
        var frm = document.forderform; 
     
        /********************************************************************/
        /* FormOrJson은 가맹점 임의 활용 금지                               */
        /* frm 값에 FormOrJson 값이 설정 됨 frm 값으로 활용 하셔야 됩니다.  */
        /* FormOrJson 값을 활용 하시려면 기술지원팀으로 문의바랍니다.       */
        /********************************************************************/
        GetField( frm, FormOrJson ); // 위에서 만든 폼데이터에 결제창의 인증데이터 담기.

        
        if( frm.res_cd.value == "0000" )
        {
            /*
                가맹점 리턴값 처리 영역
            */
            document.getElementById("display_pay_button").style.display = "none" ;
            document.getElementById("display_pay_process").style.display = "" ;
//               
            frm.submit(); 
        }
        else
        {
            alert( "[" + frm.res_cd.value + "] " + frm.res_msg.value );
            
            closeEvent();
        }
    }

</script>

<script src="<?php echo $g_conf_js_url; ?>"></script>
<?php
/* = -------------------------------------------------------------------------- = */
/* =   Javascript source Include END                                            = */
/* ============================================================================== */
?>
<script>
function CheckPayplusInstall()
{
    if(ChkBrowser())
    {
        if(document.Payplus.object != null) {
            document.getElementById("display_setup_message_top").style.display = "none" ;
            document.getElementById("display_setup_message").style.display = "none" ;
            document.getElementById("display_pay_button").style.display = "" ;
        }
    }
    else
    {
        setTimeout("init_pay_button();",300);
    }
}

/* Payplus Plug-in 실행 */
function  jsf__pay( form )
{
    if (navigator.userAgent.indexOf('MSIE') > 0) {

        var RetVal = false;

        /* Payplus Plugin 실행 */
        if ( MakePayMessage( form ) == true )
        {
            //openwin = window.open( "./kcp/proc_win.html", "proc_win", "width=449, height=209, top=300, left=300" );
            document.getElementById("display_pay_button").style.display = "none" ;
            document.getElementById("display_pay_process").style.display = "" ;
            RetVal = true ;
        }

        else
        {
            /*  res_cd와 res_msg변수에 해당 오류코드와 오류메시지가 설정됩니다.
                ex) 고객이 Payplus Plugin에서 취소 버튼 클릭시 res_cd=3001, res_msg=사용자 취소
                값이 설정됩니다.
            */
            res_cd  = document.forderform.res_cd.value ;
            res_msg = document.forderform.res_msg.value ;

        }

        return RetVal ;
    
    }
    else {
    
        KCP_Pay_Execute( form ); 

    }
}



1. m_Completepayment 함수가 추가되었습니다.
payplus.js 보다 반드시 먼저 선언이 되어야 합니다.
 
 
2. 결제창 실행 함수를 변경합니다.
익스플로러가 아닐경우 KCP_Pay_Execute( form );  를 호출합니다.






/shop/kcp/orderform.5.php

<script>
if (navigator.userAgent.indexOf('MSIE') > 0) {
    StartSmartUpdate();
}
else {
    kcpTx_install();
}
</script>


결제창 설치 함수를 브라우저에 따라서 분기적용시킵니다.
추천
2

댓글 0개

전체 392
영카트5 팁자료실 내용 검색

회원로그인

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