From 1d325455526fda5a567e3324a107e5f5fb3467bf Mon Sep 17 00:00:00 2001 From: projectSylas Date: Wed, 15 Sep 2021 02:09:41 +0000 Subject: [PATCH] =?UTF-8?q?=ED=9A=8C=EC=9B=90=EC=A0=95=EB=B3=B4=EC=B0=BE?= =?UTF-8?q?=EA=B8=B0=20:=20=ED=86=A0=EC=8A=A4=20=ED=9C=B4=EB=8C=80?= =?UTF-8?q?=ED=8F=B0=20=EC=9D=B8=EC=A6=9D=20=EA=B4=80=EB=A0=A8=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugin/lgxpay/AuthOnlyReq.php | 13 +- plugin/lgxpay/AuthOnlyRes.php | 8 +- plugin/lgxpay/find_AuthOnlyRes.php | 205 +++++++++++++++++++++++++++++ 3 files changed, 220 insertions(+), 6 deletions(-) create mode 100644 plugin/lgxpay/find_AuthOnlyRes.php diff --git a/plugin/lgxpay/AuthOnlyReq.php b/plugin/lgxpay/AuthOnlyReq.php index e1eb02e9c..3ebcac3c9 100644 --- a/plugin/lgxpay/AuthOnlyReq.php +++ b/plugin/lgxpay/AuthOnlyReq.php @@ -4,6 +4,15 @@ include_once('./_common.php'); // 금일 인증시도 회수 체크 certify_count_check($member['mb_id'], 'hp'); +switch($_GET['pageType']){ // 페이지 타입 체크 + case "register": + $resultPage = "/AuthOnlyRes.php"; + break; + case "find": + $resultPage = "/find_AuthOnlyRes.php"; + break; +} + /* * [본인확인 요청페이지] * @@ -138,7 +147,7 @@ $_SESSION['lgd_certify'] = $payReqMap; document.getElementById("LGD_PAYTYPE").value = fDoc.document.getElementById('LGD_PAYTYPE').value; document.getElementById(lgd_form).target = "_self"; - document.getElementById("LGD_PAYINFO").action = "AuthOnlyRes.php"; + document.getElementById("LGD_PAYINFO").action = ""; document.getElementById(lgd_form).submit(); } else { alert("LGD_RESPCODE (결과코드2) : " + fDoc.document.getElementById('LGD_RESPCODE').value + "\n" + "LGD_RESPMSG (결과메시지): " + fDoc.document.getElementById('LGD_RESPMSG').value); @@ -161,7 +170,7 @@ $_SESSION['lgd_certify'] = $payReqMap; -
+ $value) { diff --git a/plugin/lgxpay/AuthOnlyRes.php b/plugin/lgxpay/AuthOnlyRes.php index f5696237b..444a68859 100644 --- a/plugin/lgxpay/AuthOnlyRes.php +++ b/plugin/lgxpay/AuthOnlyRes.php @@ -84,6 +84,9 @@ if ($xpay->TX()) { //인증요청 결과 성공 DB처리 //echo "인증요청 결과 성공 DB처리하시기 바랍니다.
"; + // 인증내역기록 인증 성공 즉시 로그를 남기는것으로 수정 2021-09-13 + @insert_cert_history($member['mb_id'], 'lg', 'hp'); + $cert_no = $xpay->Response('LGD_TID', 0); // LG 인증처리번호 $comm_id = $xpay->Response('LGD_FINANCECODE', 0); // 이동통신사 코드 $phone_no = $xpay->Response('LGD_MOBILENUM', 0); // 전화번호 @@ -124,7 +127,7 @@ if ($xpay->TX()) { alert_close("정상적인 인증이 아닙니다. 올바른 방법으로 이용해 주세요."); $phone_no = hyphen_hp_number($phone_no); - $mb_dupinfo = $di; + $mb_dupinfo = md5($ci.$ci); if($mb_dupinfo) { $sql = " select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$mb_dupinfo}' "; @@ -151,9 +154,6 @@ if ($xpay->TX()) { set_session("ss_cert_sex", $mb_sex); set_session('ss_cert_dupinfo', $mb_dupinfo); - // 인증내역기록 - @insert_cert_history($member['mb_id'], 'lg', 'hp'); - } else { //인증요청 결과 실패 DB처리 //echo "인증요청 결과 실패 DB처리하시기 바랍니다.
"; diff --git a/plugin/lgxpay/find_AuthOnlyRes.php b/plugin/lgxpay/find_AuthOnlyRes.php new file mode 100644 index 000000000..c4f69fc79 --- /dev/null +++ b/plugin/lgxpay/find_AuthOnlyRes.php @@ -0,0 +1,205 @@ +config[$key] = $val; + } +} + +$configPath = G5_LGXPAY_PATH.'/lgdacom'; //LG유플러스에서 제공한 환경파일("/conf/lgdacom.conf,/conf/mall.conf") 위치 지정. + +$xpay = new XPay($configPath, $CST_PLATFORM); + +// Mert Key 설정 +$xpay->set_config_value('t'.$LGD_MID, $config['cf_lg_mert_key']); +$xpay->set_config_value($LGD_MID, $config['cf_lg_mert_key']); + +$xpay->Init_TX($LGD_MID); +$xpay->Set("LGD_TXNAME", "AuthOnlyByKey"); +$xpay->Set("LGD_AUTHONLYKEY", $LGD_AUTHONLYKEY); +$xpay->Set("LGD_PAYTYPE", $LGD_PAYTYPE); + +$g5['title'] = '휴대폰인증 결과'; +include_once(G5_PATH.'/head.sub.php'); + +/* + ************************************************* + * 1.최종인증 요청(수정하지 마세요) - END + ************************************************* + */ + +/* + * 2. 최종인증 요청 결과처리 + * + * 최종 인증요청 결과 리턴 파라미터는 연동메뉴얼을 참고하시기 바랍니다. + */ +if ($xpay->TX()) { + //1)인증결과 화면처리(성공,실패 결과 처리를 하시기 바랍니다.) + + /* + echo "인증요청이 완료되었습니다.
"; + echo "TX Response_code = " . $xpay->Response_Code() . "
"; + echo "TX Response_msg = " . $xpay->Response_Msg() . "

"; + + $keys = $xpay->Response_Names(); + foreach($keys as $name) { + echo $name . " = " . $xpay->Response($name, 0) . "
"; + } + + echo "

"; + */ + + if( "0000" == $xpay->Response_Code() ) { + //인증요청 결과 성공 DB처리 + //echo "인증요청 결과 성공 DB처리하시기 바랍니다.
"; + // 인증내역기록 인증 성공하면 로그를 남기는것으로 수정 2021-09-13 + @insert_cert_history($member['mb_id'], 'lg', 'hp'); + + $cert_no = $xpay->Response('LGD_TID', 0); // LG 인증처리번호 + $comm_id = $xpay->Response('LGD_FINANCECODE', 0); // 이동통신사 코드 + $phone_no = $xpay->Response('LGD_MOBILENUM', 0); // 전화번호 + $user_name = $xpay->Response('LGD_MOBILE_SUBAUTH_NAME', 0); // 이름 + $birth_day = $xpay->Response('LGD_MOBILE_SUBAUTH_BIRTH', 0); // 생년월일 + $sex_code = $xpay->Response('LGD_MOBILE_SUBAUTH_SEX', 0); // 성별코드 + $ci = $xpay->Response('LGD_AUTHSUB_CI', 0); // CI + $di = $xpay->Response('LGD_AUTHSUB_DI', 0); // DI 중복가입 확인값 + + // 내/외국인 + if($sex_code > 4) + $local_code = 2; // 외국인 + else + $local_code = 1; // 내국인 + + // 남/여구분 + if($sex_code % 2 == 0) + $mb_sex = 'F'; + else + $mb_sex = 'M'; + + // 생년월일 + if($sex_code < 5) { + if($sex_code <= 2) + $birth_prefix = '19'; + else + $birth_prefix = '20'; + } else { + if($sex_code <= 6) + $birth_prefix = '19'; + else + $birth_prefix = '20'; + } + $birth_day = $birth_prefix.$birth_day; + + // 정상인증인지 체크 + if(!$phone_no) + alert_close("정상적인 인증이 아닙니다. 올바른 방법으로 이용해 주세요."); + + $phone_no = hyphen_hp_number($phone_no); + $mb_dupinfo = $di; + $md5_ci = md5($ci.$ci); + + $row = sql_fetch("select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$md5_ci}'"); // ci데이터로 찾음 + if (!$row['mb_id']) { // ci로 등록된 계정이 없다면 + $row = sql_fetch("select mb_id from {$g5['member_table']} where mb_id <> '{$member['mb_id']}' and mb_dupinfo = '{$mb_dupinfo}'"); // di데이터로 찾음 + if(!$row['mb_id']) { + alert_close("인증하신 정보로 가입된 회원정보가 없습니다."); + exit; + } + } + + } else { + //인증요청 결과 실패 DB처리 + //echo "인증요청 결과 실패 DB처리하시기 바랍니다.
"; + + if( G5_IS_MOBILE ){ + echo ''.PHP_EOL; + } else { + alert_close('인증요청이 취소 또는 실패하였습니다.\\n\\n코드 : '.$xpay->Response_Code().' '.$xpay->Response_Msg()); + } + exit; + } +} else { + //2)API 요청실패 화면처리 + /* + echo "인증요청이 실패하였습니다.
"; + echo "TX Response_code = " . $xpay->Response_Code() . "
"; + echo "TX Response_msg = " . $xpay->Response_Msg() . "

"; + + //인증요청 결과 실패 DB처리 + echo "인증요청 결과 실패 DB처리하시기 바랍니다.
"; + */ + + if( G5_IS_MOBILE ){ + echo ''.PHP_EOL; + } else { + alert_close('인증요청이 실패하였습니다.\\n\\n코드 : '.$xpay->Response_Code().' '.$xpay->Response_Msg()); + } + exit; +} +?> + + "> +

+ +