Merge branch 'kakaopay' of github.com:gnuboard/yc5 into kakaopay

This commit is contained in:
sora90224
2015-09-16 13:35:44 +09:00
4 changed files with 44 additions and 16 deletions

View File

@ -691,7 +691,7 @@ if(!isset($default['de_kakaopay_mid'])) {
</tr> </tr>
<tr> <tr>
<th scope="row"> <th scope="row">
<label for="de_kakaopay_mid">카카오페이 상점 MID</label> <label for="de_kakaopay_mid">카카오페이 상점MID</label>
<a href="http://sir.co.kr/main/service/kakaopay.php" target="_blank" id="scf_lgreg" class="scf_pgreg">카카오페이 서비스신청하기</a> <a href="http://sir.co.kr/main/service/kakaopay.php" target="_blank" id="scf_lgreg" class="scf_pgreg">카카오페이 서비스신청하기</a>
</th> </th>
<td> <td>
@ -700,7 +700,7 @@ if(!isset($default['de_kakaopay_mid'])) {
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row"><label for="de_kakaopay_key">카카오페이 상점 서명키</label></th> <th scope="row"><label for="de_kakaopay_key">카카오페이 상점키</label></th>
<td> <td>
<?php echo help("카카오페이로 부터 발급 받으신 상점 서명키를 입력합니다."); ?> <?php echo help("카카오페이로 부터 발급 받으신 상점 서명키를 입력합니다."); ?>
<input type="text" name="de_kakaopay_key" value="<?php echo $default['de_kakaopay_key']; ?>" id="de_kakaopay_key" class="frm_input" size="90"> <input type="text" name="de_kakaopay_key" value="<?php echo $default['de_kakaopay_key']; ?>" id="de_kakaopay_key" class="frm_input" size="90">
@ -1593,6 +1593,23 @@ if($default['de_iche_use'] || $default['de_vbank_use'] || $default['de_hp_use']
} }
} }
} }
// 카카오페이의 경우 log 디렉토리 체크
if($default['de_kakaopay_mid'] && $default['de_kakaopay_key'] && $default['de_kakaopay_enckey'] && $default['de_kakaopay_hashkey'] && $default['de_kakaopay_cancelpwd']) {
$log_path = G5_SHOP_PATH.'/kakaopay/log';
if(!is_dir($log_path)) {
echo '<script>'.PHP_EOL;
echo 'alert("'.str_replace(G5_PATH.'/', '', G5_SHOP_PATH).'/kakaopay 폴더 안에 log 폴더를 생성하신 후 쓰기권한을 부여해 주십시오.\n> mkdir log\n> chmod 707 log");'.PHP_EOL;
echo '</script>'.PHP_EOL;
} else {
if(!is_writable($log_path)) {
echo '<script>'.PHP_EOL;
echo 'alert("'.str_replace(G5_PATH.'/', '',$log_path).' 폴더에 쓰기권한을 부여해 주십시오.\n> chmod 707 log");'.PHP_EOL;
echo '</script>'.PHP_EOL;
}
}
}
} }
include_once (G5_ADMIN_PATH.'/admin.tail.php'); include_once (G5_ADMIN_PATH.'/admin.tail.php');

View File

@ -395,9 +395,13 @@
} }
public function writeLog($strLogText) { public function writeLog($strLogText) {
$log_string = ""; $log_string = "";
$exclude = array('MID', 'merchantEncKey', 'merchantHashKey', 'CancelPwd');
if (is_array($strLogText)) { if (is_array($strLogText)) {
$log_string = "[".date("Y/m/d H:i:s")."] \r\n"; $log_string = "[".date("Y/m/d H:i:s")."] \r\n";
foreach (array_keys($strLogText) as $key) { foreach (array_keys($strLogText) as $key) {
if(in_array($key, $exclude))
continue;
$log_string = $log_string." [".$key."] => ".$strLogText[$key]."\r\n"; $log_string = $log_string." [".$key."] => ".$strLogText[$key]."\r\n";
} }
} else { } else {

View File

@ -16,7 +16,7 @@
} }
public function setPhpVersion($version) { public function setPhpVersion($version) {
$this->phpVersion = $version; $this->phpVersion = $version;
} }
public function parameterEncrypt($key, $plainText) { public function parameterEncrypt($key, $plainText) {
try { try {
$encryptText = ""; $encryptText = "";
@ -141,6 +141,9 @@
if (is_array($strLogText)) { if (is_array($strLogText)) {
$log_string = "[".date("Y/m/d H:i:s")."] \r\n"; $log_string = "[".date("Y/m/d H:i:s")."] \r\n";
foreach (array_keys($strLogText) as $key) { foreach (array_keys($strLogText) as $key) {
if($key == 'MERCHANT_ID')
continue;
$log_string = $log_string." [".$key."] => ".$strLogText[$key]."\r\n"; $log_string = $log_string." [".$key."] => ".$strLogText[$key]."\r\n";
} }
} else { } else {
@ -243,7 +246,7 @@
fclose($log_file); fclose($log_file);
} }
} }
class KMPayDataValidator { class KMPayDataValidator {
public $resultValid = ""; public $resultValid = "";
public function KMPayDataValidator($value) { public function KMPayDataValidator($value) {
@ -268,7 +271,7 @@
$amount = $this->getValueFromArray($value, "AMOUNT"); $amount = $this->getValueFromArray($value, "AMOUNT");
$currency = $this->getValueFromArray($value, "CURRENCY"); $currency = $this->getValueFromArray($value, "CURRENCY");
$returnUrl = $this->getValueFromArray($value, "RETURN_URL"); $returnUrl = $this->getValueFromArray($value, "RETURN_URL");
//추가정보 //추가정보
$cardMerchantNum = $this->getValueFromArray($value, "CARD_MERCHANT_NUM"); $cardMerchantNum = $this->getValueFromArray($value, "CARD_MERCHANT_NUM");
$supplyAmt = $this->getValueFromArray($value, "SUPPLY_AMT"); $supplyAmt = $this->getValueFromArray($value, "SUPPLY_AMT");
@ -279,8 +282,8 @@
$certifiedFlag = $this->getValueFromArray($value, "CERTIFIED_FLAG"); $certifiedFlag = $this->getValueFromArray($value, "CERTIFIED_FLAG");
$offerPeriodFlag = $this->getValueFromArray($value, "OFFER_PERIOD_FLAG"); $offerPeriodFlag = $this->getValueFromArray($value, "OFFER_PERIOD_FLAG");
$offerPeriod = $this->getValueFromArray($value, "OFFER_PERIOD"); $offerPeriod = $this->getValueFromArray($value, "OFFER_PERIOD");
if (strlen($certifiedFlag) == 0) { if (strlen($certifiedFlag) == 0) {
$certifiedFlag = "N"; $certifiedFlag = "N";
} }
@ -293,7 +296,7 @@
if (strlen($cancelTime) == 0) { if (strlen($cancelTime) == 0) {
$cancelTime = "1440"; $cancelTime = "1440";
} }
//필수 //필수
if (strlen($prType) == 0) { if (strlen($prType) == 0) {
return "USER_ERROR_CODE,804,결제요청타입은 필수입력사항 입니다."; return "USER_ERROR_CODE,804,결제요청타입은 필수입력사항 입니다.";
@ -315,7 +318,7 @@
else if (strlen($merchantTxnNum) > 40) { else if (strlen($merchantTxnNum) > 40) {
return "USER_ERROR_CODE,824,가맹점 거래번호의 제한 길이가 초과 되었습니다."; return "USER_ERROR_CODE,824,가맹점 거래번호의 제한 길이가 초과 되었습니다.";
} }
if (strlen($productName) == 0) { if (strlen($productName) == 0) {
return "USER_ERROR_CODE,809,상품명은 필수입력사항 입니다."; return "USER_ERROR_CODE,809,상품명은 필수입력사항 입니다.";
} }
@ -333,18 +336,18 @@
if (strlen($currency) == 0) { if (strlen($currency) == 0) {
return "USER_ERROR_CODE,813,거래통화는 필수입력사항 입니다."; return "USER_ERROR_CODE,813,거래통화는 필수입력사항 입니다.";
} }
if ($certifiedFlag == "CN") { if ($certifiedFlag == "CN") {
//웹결제에서는 필수체크 안함 //웹결제에서는 필수체크 안함
} }
else if (strlen($certifiedFlag) == 0) { else if (strlen($certifiedFlag) == 0) {
return "USER_ERROR_CODE,830,결제승인결과전송URL은 필수입력사항 입니다."; return "USER_ERROR_CODE,830,결제승인결과전송URL은 필수입력사항 입니다.";
} }
if (strlen($cardMerchantNum) > 0 && !is_numeric($cardMerchantNum)) { if (strlen($cardMerchantNum) > 0 && !is_numeric($cardMerchantNum)) {
return "USER_ERROR_CODE,814,카드 가맹점 번호는 숫자형입니다."; return "USER_ERROR_CODE,814,카드 가맹점 번호는 숫자형입니다.";
} }
if (strlen($supplyAmt) > 0 && !is_numeric($supplyAmt)) { if (strlen($supplyAmt) > 0 && !is_numeric($supplyAmt)) {
return "USER_ERROR_CODE,815,공급가액은 숫자형입니다."; return "USER_ERROR_CODE,815,공급가액은 숫자형입니다.";
} }
@ -360,7 +363,7 @@
if (strlen($cancelTime) > 0 && !is_numeric($cancelTime)) { if (strlen($cancelTime) > 0 && !is_numeric($cancelTime)) {
return "USER_ERROR_CODE,818,결제취소시간(분)은 숫자형입니다."; return "USER_ERROR_CODE,818,결제취소시간(분)은 숫자형입니다.";
} }
if (strlen($fixedInt) == 0) { if (strlen($fixedInt) == 0) {
// 정상 // 정상
} }
@ -370,11 +373,11 @@
else if (!((0 <= intval($fixedInt) && intval($fixedInt) <= 24) || $fixedInt == "36")) { else if (!((0 <= intval($fixedInt) && intval($fixedInt) <= 24) || $fixedInt == "36")) {
return "USER_ERROR_CODE,820,고정할부개월이 잘못되었습니다."; return "USER_ERROR_CODE,820,고정할부개월이 잘못되었습니다.";
} }
if ($certifiedFlag != "N" && $certifiedFlag != "CN") { if ($certifiedFlag != "N" && $certifiedFlag != "CN") {
return "USER_ERROR_CODE,831,가맹점 인증 구분값은 N 혹은 CN 입니다"; return "USER_ERROR_CODE,831,가맹점 인증 구분값은 N 혹은 CN 입니다";
} }
return ""; return "";
} }
} }

View File

@ -3,4 +3,8 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
?> ?>
<!-- TODO : LayerPopup의 Target DIV 생성 --> <!-- TODO : LayerPopup의 Target DIV 생성 -->
<div id="kakaopay_layer" style="display: none"></div> <script>
$(function() {
$("body").append('<div id="kakaopay_layer" style="display: none"></div>');
});
</script>