테스트 사이트 - 개발 중인 베타 버전입니다

영카트 결제에러...9601 : 결제 정보 오류 채택완료

BlueAngel 9년 전 조회 7,733

계좌이체와 모바일은 잘됩니다.

 

PC에서 신용카드 결제시 에러가 납니다.

 

모든 결제완료후에... 9601  

 

 

영카트 내부엔 9601 메세지가 없는거 같은데요 놓친건지..

KCP쪽에러 메세지도 없네요 

 

KCP에선 자꾸 enc_info, enc_data  확인하라는데 문제 없는거 같고...

 

orderformupdate.php 에서 걸리는듯한데 alert봐도 저부분만 있는건 없는것 같고

이전에 결제잘되던 사이트도 서버나 사이트 손댄적이 없는데 오늘보니 같은 상황이네요..

서버환경은...윈도우 IIS + php 입니다. 

 

 

 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
thisgun
9년 전

shop/kcp/pp_ax_hub.php 파일에 보시면 148번째 줄에 

 

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" ] ); 

}

 

이렇게 되어 있는 부분이 있습니다. 이것을 아래와 같이 바꿔보세요.

 

</p><p>if ( $req_tx == "pay" ) </p><p>{ </p><p>        /* 1004원은 실제로 업체에서 결제하셔야 될 원 금액을 넣어주셔야 합니다. 결제금액 유효성 검증 */ </p><p>        $c_PayPlus->mf_set_ordr_data( "ordr_mony",  $good_mny ); </p><p> </p><p>        if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'){    //윈도우이면 </p><p> </p><p>            if( !function_exists('kcp_bad_utf8_codepoint') ){ </p><p>                function kcp_bad_utf8_codepoint($string){ </p><p>                    $result = array(); </p><p> </p><p>                    foreach ((array) $string as $char) </p><p>                    { </p><p>                        $codepoint = unpack('N', iconv('UTF-8', 'UCS-4BE', $char)); </p><p> </p><p>                        if (is_array($codepoint) && array_key_exists(1, $codepoint)) </p><p>                        { </p><p>                            $result[] = sprintf('U+%04X', $codepoint[1]); </p><p>                        } </p><p>                    } </p><p> </p><p>                    return implode('', $result); </p><p>                } </p><p>            } </p><p> </p><p>            $_POST[ "enc_data" ] = preg_replace_callback('/[\p{So}\p{Cf}\p{Co}\p{Cs}\p{Cn}]/u', 'kcp_bad_utf8_codepoint', $_POST[ "enc_data" ]); </p><p>            $_POST[ "enc_info" ] = preg_replace_callback('/[\p{So}\p{Cf}\p{Co}\p{Cs}\p{Cn}]/u', 'kcp_bad_utf8_codepoint', $_POST[ "enc_info" ]); </p><p>        } </p><p> </p><p>        $c_PayPlus->mf_set_encx_data( $_POST[ "enc_data" ], $_POST[ "enc_info" ] ); </p><p>}</p><p>

 

윈도우 IIS 를 쓰신다고 하셨는데,

해결이 되셨다면 해당 윈도우 제품을 알려주시면 참고하겠습니다. ( 예) 윈도우 서버 2012 )

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

B
BlueAngel
9년 전
답변 감사합니다.

윈도우에서 위두값이 넘어오면서 인코딩 문제로 값이 바뀌는거였군요
담번 패치시 넣어주셔도 좋을듯 합니다.

윈도우 서버 2008 엔터 버전인데 잘됩니다. ^^;

댓글을 작성하려면 로그인이 필요합니다.

9년 전

kcp 모듈을 바이너리로 업로드 다시 하셔야 해요. 

기존 파일 지워버리고요.

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

B
BlueAngel
9년 전
답변감사합니다 ^^;
바이너리파일은 예전에 업데이트해서 적용했었습니다.
되다가 갑자기 안되는 ㅋ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인