위

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

· 2015-09-24 (목) 18:52:39 · 6988
KCP 에서는 크롬45버전 이상에서 기존의 크로스브라우징 모듈의 NPAPI 기능 제한의 대안으로
EXE 결제모듈을 배포하였습니다.

영카트에 적용을 해보았습니다.







/shop/kcp/orderform.1.php

[code]
<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 );

}
}
[/code]


1. m_Completepayment 함수가 추가되었습니다.
payplus.js 보다 반드시 먼저 선언이 되어야 합니다.


2. 결제창 실행 함수를 변경합니다.
익스플로러가 아닐경우 KCP_Pay_Execute( form ); 를 호출합니다.






/shop/kcp/orderform.5.php
[code]
<script>
if (navigator.userAgent.indexOf('MSIE') > 0) {
StartSmartUpdate();
}
else {
kcpTx_install();
}
</script>
[/code]

결제창 설치 함수를 브라우저에 따라서 분기적용시킵니다.
|
댓글을 작성하시려면 로그인이 필요합니다.

영카트5 팁자료실

455건
+
제목 글쓴이 날짜 조회
15-12-30 조회 9,544
15-12-29 조회 7,401
15-12-24 조회 6,663
15-12-18 조회 6,594
15-12-16 조회 7,408
15-12-15 조회 8,516
15-12-07 조회 6,841
15-11-27 조회 6,966
15-11-18 조회 7,210
15-11-14 조회 8,784
15-11-12 조회 6,435
15-11-10 조회 6,081
15-10-30 조회 9,283
15-10-21 조회 1.1만
15-10-20 조회 8,009
15-10-11 조회 1.4만
15-10-06 조회 1.3만
15-10-02 조회 7,752
15-09-26 조회 5,128
15-09-26 조회 6,412
15-09-24 조회 6,989
15-09-14 조회 7,239
15-09-11 조회 5,957
15-09-11 조회 6,386
15-09-09 조회 5,933
15-09-04 조회 5,837
15-09-03 조회 6,111
15-08-29 조회 7,461
15-08-26 조회 6,104
15-08-25 조회 3,923