NHN_KCP 애플페이 추가

This commit is contained in:
thisgun
2023-03-23 12:52:40 +09:00
parent 10b3a9c841
commit bfdc48b021
13 changed files with 51 additions and 22 deletions

View File

@ -29,6 +29,7 @@ $param_opt_3 = isset($_REQUEST['param_opt_3']) ? clean_xss_tags($_REQUEST['param
<input type="hidden" name="naverpay_point_direct" value="Y"> <!-- 네이버페이 포인트 결제를 하려면 naverpay_point_direct 를 Y -->
<?php } ?>
<input type="hidden" name="kakaopay_direct" value="A" > <!-- KAKAOPAY 결제창 호출 -->
<input type="hidden" name="applepay_direct" value="A" > <!-- APPLEPAY 결제창 호출 -->
<!-- 주문번호 -->
<input type="hidden" name="ordr_idxx" value="<?php echo $od_id; ?>">
<!-- 인증수단(영문 소문자) * 반드시 대소문자 구분 -->

View File

@ -67,6 +67,7 @@ include_once('./_common.php');
$payco_direct = isset($_POST["payco_direct"]) ? $_POST["payco_direct"] : ''; // PAYCO 결제창 호출
$naverpay_direct = isset($_POST["naverpay_direct"]) ? $_POST["naverpay_direct"] : ''; // NAVERPAY 결제창 호출
$kakaopay_direct = isset($_POST["kakaopay_direct"]) ? $_POST["kakaopay_direct"] : ''; // KAKAOPAY 결제창 호출
$applepay_direct = isset($_POST["applepay_direct"]) ? $_POST["applepay_direct"] : ''; // APPLEPAY 결제창 호출
/*
* 기타 파라메터 추가 부분 - Start -
@ -157,7 +158,7 @@ include_once('./_common.php');
{
var v_frm = document.sm_form;
layer_cont_obj = document.getElementById("content");
layer_receipt_obj = document.getElementById("layer_receipt");
@ -165,9 +166,16 @@ include_once('./_common.php');
layer_receipt_obj.style.display = "block";
v_frm.target = "frm_receipt";
// IOS 환경의 경우 iframe에서 네이버페이와 애플페이의 cors 문제가 일어나므로 iframe으로 열지 않는다.
var isIOS = /iPad|iPhone|iPod/.test(navigator.platform) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1);
// 네이버페이면 반드시 페이지전환 방식이어야 하며, 그 외에는 iframe 방식으로 한다.
if(typeof v_frm.naverpay_direct !== "undefined" && v_frm.naverpay_direct.value == "Y") {
if (isIOS) {
v_frm.target = "";
}
// 네이버페이 또는 애플페이의 경우 반드시 페이지전환 방식이어야 하며, 그 외에는 iframe 방식으로 한다.
if((typeof v_frm.naverpay_direct !== "undefined" && v_frm.naverpay_direct.value == "Y") || (typeof v_frm.applepay_direct !== "undefined" && v_frm.applepay_direct.value == "Y")) {
v_frm.target = "";
}
@ -267,18 +275,20 @@ if($enc_data != '' && $enc_info != '' && $tran_cd != '') {
?>
<?php if($payco_direct){ ?>
<input type="hidden" name="payco_direct" value="<?php echo $payco_direct; ?>"> <!-- PAYCO 결제창 호출 -->
<input type="hidden" name="payco_direct" value="<?php echo get_text($payco_direct); ?>"> <!-- PAYCO 결제창 호출 -->
<?php } ?>
<?php if($naverpay_direct){ ?>
<input type="hidden" name="naverpay_direct" value="<?php echo $naverpay_direct; ?>"> <!-- 네이버페이 결제창 호출 -->
<input type="hidden" name="naverpay_direct" value="<?php echo get_text($naverpay_direct); ?>"> <!-- 네이버페이 결제창 호출 -->
<?php if(isset($default['de_easy_pay_services']) && in_array('used_nhnkcp_naverpay_point', explode(',', $default['de_easy_pay_services'])) ){ // 네이버페이 포인트 결제 옵션 ?>
<input type="hidden" name="naverpay_point_direct" value="Y"> <!-- 네이버페이 포인트 결제를 하려면 naverpay_point_direct 를 Y -->
<?php } ?>
<?php } ?>
<?php if($kakaopay_direct){ ?>
<input type="hidden" name="kakaopay_direct" value="<?php echo $kakaopay_direct; ?>"> <!-- 카카오페이 결제창 호출 -->
<?php if($applepay_direct === "Y"){ ?>
<input type="hidden" name="applepay_direct" value="<?php echo get_text($applepay_direct); ?>"> <!-- 애플페이 결제창 호출 -->
<?php } ?>
<?php if($kakaopay_direct){ ?>
<input type="hidden" name="kakaopay_direct" value="<?php echo get_text($kakaopay_direct); ?>"> <!-- 카카오페이 결제창 호출 -->
<?php } ?>
<!-- 필수 사항 -->
<!-- 요청 구분 -->

View File

@ -24,6 +24,7 @@ $param_opt_3 = isset($_REQUEST['param_opt_3']) ? clean_xss_tags($_REQUEST['param
<input type="hidden" name="payco_direct" value=""> <!-- PAYCO 결제창 호출 -->
<input type="hidden" name="naverpay_direct" value="A" > <!-- NAVERPAY 결제창 호출 -->
<input type="hidden" name="kakaopay_direct" value="A" > <!-- KAKAOPAY 결제창 호출 -->
<input type="hidden" name="applepay_direct" value="A" > <!-- APPLEPAY 결제창 호출 -->
<!-- 주문번호 -->
<input type="hidden" name="ordr_idxx" value="<?php echo $od_id; ?>">
<!-- 인증수단(영문 소문자) * 반드시 대소문자 구분 -->

View File

@ -624,6 +624,9 @@ if($is_kakaopay_use) {
if( in_array('nhnkcp_kakaopay', $de_easy_pay_service_array) ){
$easypay_prints['nhnkcp_kakaopay'] = '<li><input type="radio" id="od_settle_nhnkcp_kakaopay" name="od_settle_case" data-pay="kakaopay" value="간편결제" > <label for="od_settle_nhnkcp_kakaopay" class="kakaopay_icon nhnkcp_kakaopay lb_icon" title="NHN_KCP - 카카오페이">카카오페이</label></li>';
}
if( in_array('nhnkcp_applepay', $de_easy_pay_service_array) && preg_match('~^(?:(?:(?:Mozilla/\d\.\d\s*\()+|Mobile\s*Safari\s*\d+\.\d+(\.\d+)?\s*)(?:iPhone(?:\s+Simulator)?|iPad|iPod);\s*(?:U;\s*)?(?:[a-z]+(?:-[a-z]+)?;\s*)?CPU\s*(?:iPhone\s*)?(?:OS\s*\d+_\d+(?:_\d+)?\s*)?(?:like|comme)\s*Mac\s*O?S?\s*X(?:;\s*[a-z]+(?:-[a-z]+)?)?\)\s*)?(?:AppleWebKit/\d+(?:\.\d+(?:\.\d+)?|\s*\+)?\s*)?(?:\(KHTML,\s*(?:like|comme)\s*Gecko\s*\)\s*)?(?:Version/\d+\.\d+(?:\.\d+)?\s*)?(?:Mobile/\w+\s*)?(?:Safari/\d+\.\d+(?:\.\d+)?.*)?$~', $_SERVER['HTTP_USER_AGENT']) ){
$easypay_prints['nhnkcp_applepay'] = '<li><input type="radio" id="od_settle_nhnkcp_applepay" name="od_settle_case" data-pay="applepay" value="간편결제" > <label for="od_settle_nhnkcp_applepay" class="applepay_icon nhnkcp_applepay lb_icon" title="NHN_KCP - 애플페이">애플페이</label></li>';
}
} else {
$easypay_prints[strtolower($pg_easy_pay_name)] = '<li><input type="radio" id="od_settle_easy_pay" name="od_settle_case" value="간편결제" '.$checked.'> <label for="od_settle_easy_pay" class="'.$pg_easy_pay_name.' lb_icon">'.$pg_easy_pay_name.'</label></li>';
}
@ -1300,6 +1303,7 @@ function pay_approval()
if(typeof f.payco_direct !== "undefined") f.payco_direct.value = "";
if(typeof f.naverpay_direct !== "undefined") f.naverpay_direct.value = "A";
if(typeof f.kakaopay_direct !== "undefined") f.kakaopay_direct.value = "A";
if(typeof f.applepay_direct !== "undefined") f.applepay_direct.value = "A";
if(typeof f.ActionResult !== "undefined") f.ActionResult.value = "";
if(typeof f.pay_method !== "undefined") f.pay_method.value = "";
@ -1312,6 +1316,8 @@ function pay_approval()
}
} else if(nhnkcp_easy_pay === "kakaopay"){
if(typeof f.kakaopay_direct !== "undefined") f.kakaopay_direct.value = "Y";
} else if(nhnkcp_easy_pay === "applepay"){
if(typeof f.applepay_direct !== "undefined") f.applepay_direct.value = "Y";
} else {
if(typeof f.payco_direct !== "undefined") f.payco_direct.value = "Y";
}
@ -1319,6 +1325,10 @@ function pay_approval()
if(typeof f.ActionResult !== "undefined") f.ActionResult.value = "CARD"; // 대소문자 구분
if(typeof f.pay_method !== "undefined") f.pay_method.value = "card"; // 대소문자 구분
//if(nhnkcp_easy_pay === "applepay"){
// if(typeof f.ActionResult !== "undefined") f.ActionResult.value = "card";
// if(typeof f.pay_method !== "undefined") f.pay_method.value = "CARD";
//}
}
<?php } else if($default['de_pg_service'] == 'lg') { ?>