From bfdc48b021a77f363b9a7956ce42fca55e714e9b Mon Sep 17 00:00:00 2001 From: thisgun Date: Thu, 23 Mar 2023 12:52:40 +0900 Subject: [PATCH] =?UTF-8?q?NHN=5FKCP=20=EC=95=A0=ED=94=8C=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- adm/shop_admin/configform.php | 5 +++-- adm/shop_admin/orderlist.php | 2 +- css/default_shop.css | 1 + css/mobile_shop.css | 11 ++++++----- extend/version.extend.php | 2 +- img/ico-mobile-applepay.png | Bin 0 -> 2063 bytes lib/shop.lib.php | 2 ++ mobile/shop/kcp/easypay_form.1.php | 1 + mobile/shop/kcp/order_approval_form.php | 24 +++++++++++++++++------- mobile/shop/kcp/orderform.1.php | 1 + mobile/shop/orderform.sub.php | 10 ++++++++++ theme/basic/css/default_shop.css | 1 + theme/basic/css/mobile_shop.css | 11 ++++++----- 13 files changed, 50 insertions(+), 21 deletions(-) create mode 100644 img/ico-mobile-applepay.png diff --git a/adm/shop_admin/configform.php b/adm/shop_admin/configform.php index 1925db54e7..dea227d3da 100644 --- a/adm/shop_admin/configform.php +++ b/adm/shop_admin/configform.php @@ -781,10 +781,11 @@ - 네이버페이, 카카오페이는 테스트결제가 되지 않습니다."); ?> + 네이버페이, 카카오페이는 테스트결제가 되지 않습니다.\n애플페이는 IOS 기기에 모바일결제만 가능합니다."); ?> >
>
- > + >
+ > diff --git a/adm/shop_admin/orderlist.php b/adm/shop_admin/orderlist.php index 9514c42890..4aed6536ac 100644 --- a/adm/shop_admin/orderlist.php +++ b/adm/shop_admin/orderlist.php @@ -222,7 +222,7 @@ > > - + > diff --git a/css/default_shop.css b/css/default_shop.css index 6e7663e9ec..aa65ca320a 100644 --- a/css/default_shop.css +++ b/css/default_shop.css @@ -1148,6 +1148,7 @@ box-shadow: 1px 2px 2px #eee;} .sod_frm_mobile #m_sod_frm_paysel .inicis_lpay{background:url(../img/lpay_logo.png) no-repeat;width:35px;height:12px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%} .sod_frm_mobile #m_sod_frm_paysel .inicis_kakaopay{background:url(../img/kakao.png) no-repeat 50% 50% #f4dc34;border-radius:30px;height:22px;width:74px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto} .sod_frm_mobile #m_sod_frm_paysel .kakaopay_icon{background:url(../img/kakao.png) no-repeat 50% 50% #f4dc34;border-radius:30px;height:22px;width:74px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto} +.sod_frm_mobile #m_sod_frm_paysel .applepay_icon{background:url(../img/ico-mobile-applepay.png) no-repeat 50% 50% #fff;border-radius:30px;height:23px;width:50px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto} .sod_frm_mobile #m_sod_frm_paysel .samsung_pay{margin-left:-23px;background:url(../img/samsungpay.png) no-repeat 24px 3px;height:25px;width:106px;display:inline-block;overflow:hidden;text-indent:-999px} .sod_frm_mobile #sod_frm_pay{border-top:1px solid #f3f3f3} .sod_frm_mobile #sod_frm_pay h2{margin:10px 0;font-size:1.25em} diff --git a/css/mobile_shop.css b/css/mobile_shop.css index c6bc83d205..71ec6c388e 100644 --- a/css/mobile_shop.css +++ b/css/mobile_shop.css @@ -220,14 +220,15 @@ box-shadow: 0 0 6px rgba(0,0,0,0.2);} #m_sod_frm_paysel h3{background:#fff;padding:15px 10px ;border:1px solid #e3e5e8;border-bottom:0} #m_sod_frm_paysel ul {margin:0 0 ;background:#fff;padding:10px;border:1px solid #e3e5e8} #m_sod_frm_paysel ul:after {display:block;visibility:hidden;clear:both;content:""} -#m_sod_frm_paysel li {float:left;padding:5px ;width:46%;height:25px} +#m_sod_frm_paysel li {float:left;padding:5px;width:46%;height:35px} #m_sod_frm_paysel .KPAY{background:url('../img/kpay.png') no-repeat;width:37px;height:15px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%} #m_sod_frm_paysel .PAYNOW{background:url('../img/paynow.png') no-repeat;width:46px;height:15px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%;} -#m_sod_frm_paysel .PAYCO{background:url('../img/payco.png') no-repeat 1px;width:46px;height:15px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%;} +#m_sod_frm_paysel .PAYCO{background:url('../img/payco.png') no-repeat 1px;width:50px;height:15px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%} #m_sod_frm_paysel .inicis_lpay{background:url('../img/lpay_logo.png') no-repeat;width:35px;height:12px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%;} -#m_sod_frm_paysel .inicis_kakaopay{background:url('../img/kakao.png') no-repeat 50% 50% #ffeb00;border-radius:30px;height:22px;width:74px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto} -#m_sod_frm_paysel .kakaopay_icon{background:url('../img/ico-mobile-kakaopay.png') no-repeat #fff;height:15px;width:43px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto} -#m_sod_frm_paysel .naverpay_icon{background:url('../img/ico-mobile-naverpay.png') no-repeat #fff;height:15px;width:40px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto} +#m_sod_frm_paysel .inicis_kakaopay{background:url('../img/kakao.png') no-repeat 50% 50% #ffeb00;border-radius:30px;height:26px;width:74px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:36px auto} +#m_sod_frm_paysel .kakaopay_icon{background:url('../img/ico-mobile-kakaopay.png') no-repeat #fff;height:23px;width:63px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:45px auto;background-position: 10% 40%} +#m_sod_frm_paysel .naverpay_icon{background:url('../img/ico-mobile-naverpay.png') no-repeat #fff;height:23px;width:60px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:45px auto;background-position: 0% 30%} +#m_sod_frm_paysel .applepay_icon{background:url('../img/ico-mobile-applepay.png') no-repeat #fff;height:30px;width:60px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:43px auto} #m_sod_frm_paysel .samsung_pay{margin-left:-23px;background:url('../img/samsungpay.png') no-repeat 24px 3px;height:25px;width:106px;display:inline-block;overflow:hidden;text-indent:-999px} #sod_frm_pay{padding:10px;;border-top:1px solid #f3f3f3} diff --git a/extend/version.extend.php b/extend/version.extend.php index 0cef9631c7..f741400af5 100644 --- a/extend/version.extend.php +++ b/extend/version.extend.php @@ -4,5 +4,5 @@ // 자바스크립트와 CSS 파일을 새로 다운로드 하도록 파일의 끝에 년월일 지정 // 예) https://도메인/css/default.css?ver=220620 // 예) https://도메인/js/common.js?ver=220620 -define('G5_CSS_VER', '220620'); +define('G5_CSS_VER', '2303229'); define('G5_JS_VER', '2210172'); diff --git a/img/ico-mobile-applepay.png b/img/ico-mobile-applepay.png new file mode 100644 index 0000000000000000000000000000000000000000..5f592c13ae14a3c5cd79bef3805158e7b818753b GIT binary patch literal 2063 zcmZ{lc`)1i8peO&sG{7et>Gw2YmE~TR7&-bSZj%;Ra=|LA~cqWq(n<=Ne~AuwMI*9 zwYR5ei(?$BwM9|;(yK+Qgt3&O>gLS3b7$_Ixqm$GGw<{Le&(Hd|9O*KoNOe;6~zGn zkhHT!x(Xa8kmb>z1Xbcx^OnF={cT+x0U+uu0K~=vz@8wA{R{vRPyqOH9RLtH0H6?B z@Dgn%co4!m*dT#JW?EmHpc4zVy&4VxQk{PZl%*@BBnU;Rc8(~~Pr~xzXO8S%6qXc3 zpb(0aJ7}Poo(BL&s_l@!x(CeirxBe)6AGw=_JCOsMjQ8QQy_Ph5r%QzpG^#Y_GY;jKINc1WYyTQzB{-eAKBrPA4*{AE>D-g z=)Y%ykA0#Kf5MQA(MyQ_5}Xg6MJdcJ~IP2ezg0(E`RYoYGs=ik)NJ+LPX zg5|mgduVCRyfS~ik`%~O^tk~(fu5(nKp4hJUwG1^GUA_m-n_Jun6OgMWA1_1WV02Q zHKxq*X>+`=Kql0)C-RT5&nr>7(*Y3q=cBL8HA`NtnPEA%bdDK~z#n?z8fI*j1Y3bs za2%(!`ef;OTyz|YAHS0Av7Re3Bre_^_11U$j&NfXZ!?+P|S-hNI#?Y9LrowaQ+L-Du8sks3_Lz5V9H(U* z?N+aF5lF;hlWwUtA^!NaB#v~LYGJD3>8vZ(_&(N%wDc2=KuZ>5Dj|9?@wh+t2g|QE z`G?w-M`M$p!kQ&UBYJ9X7l&k6516LIZ!2z2<67Uoc2OTGn!t`t#oF;ez4yu=Wku<> zU$T;zE{#p!xi5qu-p$9!e&m)cE0>M7&D4R2xx^O>e(UCPH>ZXx!nHkvtO^eT^U?V} z%Ma2yD4zna`ro8r?+H*;SCBE5r5Qa&vd;ZbR3hO?P#~OS^Zf>Xzg7$;o~;>?R8vt% z6;eoHHhg8P%GR#`5*`K8a3HsQlv1uq4Q@FMZ{%jr&!?ErtbX6ZE!ZD9TZY&G99({Aw{HWS(PKjf`pMX z=3H3AA79agKS*#^3GmM9<5*j>pOyTHaAY{rOwp3f?zgKY8yF+;Ewa*WN7ZUs2O`_H z$x|#3hckJg7l-D3g)Ig_djao*b_(|fsR?;1pe&2# z{RpL!o%Ngzf$pcW#!t8*ZVfWK?zI%uS$nYDzn5Jk#U$OAnWAoqsS&z5&|oa?Mo;g~ z<$|1frLpdUCW&7dy6R?_JaMpk-&dCA47S=HOuYGStEB+k5V)oL{4nB9WLXu;DWxcQ zn{80(p~?6z3SO(~uB*#}Khz~XKHnbFIu|SEnP9h$3-jx8M+-*L% zl8Wxi{!Ys*P48*Z!jEY++f+6Gtl%2_Z#n&x(b$G^b7oN7;oU<8joj|W!tI5M@vV+&BvW2!Y zrhebcVxvw6bNDzq;4s6&J$Ej@>uY73Z@e%qa_rBJnC5`e>_h3rLtgJ>G<%l+i{OZz zp`tvgI1Ck!@TcGf2Ed>&LkQFm0)x35KoN$<2sm693PnJnE#qeh{{@gka3n(H{|EXL zIFkZE>pv5yBr-mniXn&oFJpp$8vi|nz + diff --git a/mobile/shop/kcp/order_approval_form.php b/mobile/shop/kcp/order_approval_form.php index 7dad464320..d42b865a94 100644 --- a/mobile/shop/kcp/order_approval_form.php +++ b/mobile/shop/kcp/order_approval_form.php @@ -67,6 +67,7 @@ $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 @@ function call_pay_form() { var v_frm = document.sm_form; - + layer_cont_obj = document.getElementById("content"); layer_receipt_obj = document.getElementById("layer_receipt"); @@ -165,9 +166,16 @@ function call_pay_form() 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); + + if (isIOS) { + v_frm.target = ""; + } - // 네이버페이면 반드시 페이지전환 방식이어야 하며, 그 외에는 iframe 방식으로 한다. - if(typeof v_frm.naverpay_direct !== "undefined" && v_frm.naverpay_direct.value == "Y") { + // 네이버페이 또는 애플페이의 경우 반드시 페이지전환 방식이어야 하며, 그 외에는 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 @@ function chk_pay() ?> - + - + + + + - + - diff --git a/mobile/shop/kcp/orderform.1.php b/mobile/shop/kcp/orderform.1.php index c5789db5de..101548a203 100644 --- a/mobile/shop/kcp/orderform.1.php +++ b/mobile/shop/kcp/orderform.1.php @@ -24,6 +24,7 @@ + diff --git a/mobile/shop/orderform.sub.php b/mobile/shop/orderform.sub.php index bcb44303d8..038ab9a0cd 100644 --- a/mobile/shop/orderform.sub.php +++ b/mobile/shop/orderform.sub.php @@ -624,6 +624,9 @@ if( in_array('nhnkcp_kakaopay', $de_easy_pay_service_array) ){ $easypay_prints['nhnkcp_kakaopay'] = '
  • '; } + 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'] = '
  • '; + } } else { $easypay_prints[strtolower($pg_easy_pay_name)] = '
  • '; } @@ -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"; + //} } diff --git a/theme/basic/css/default_shop.css b/theme/basic/css/default_shop.css index 2f132f603c..19de5aef25 100644 --- a/theme/basic/css/default_shop.css +++ b/theme/basic/css/default_shop.css @@ -1165,6 +1165,7 @@ a.btn_frmline.is-long-text{height:auto;width:160px} .sod_frm_mobile #m_sod_frm_paysel .inicis_lpay{background:url(../../../img/lpay_logo.png) no-repeat;width:35px;height:12px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%} .sod_frm_mobile #m_sod_frm_paysel .inicis_kakaopay{background:url(../../../img/kakao.png) no-repeat 50% 50% #f4dc34;border-radius:30px;height:22px;width:74px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto} .sod_frm_mobile #m_sod_frm_paysel .kakaopay_icon{background:url(../../../img/kakao.png) no-repeat 50% 50% #f4dc34;border-radius:30px;height:22px;width:74px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto} +.sod_frm_mobile #m_sod_frm_paysel .applepay_icon{background:url(../../../img/ico-mobile-applepay.png) no-repeat 50% 50% #fff;border-radius:30px;height:23px;width:50px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto} .sod_frm_mobile #m_sod_frm_paysel .naverpay_icon{background:url(../../../img/ico-default-naverpay.png) no-repeat 50% 50% #fff;border-radius:30px;height:22px;width:50px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto} .sod_frm_mobile #m_sod_frm_paysel .samsung_pay{margin-left:-23px;background:url(../../../img/samsungpay.png) no-repeat 24px 3px;height:25px;width:106px;display:inline-block;overflow:hidden;text-indent:-999px} .sod_frm_mobile #sod_frm_pay{border-top:1px solid #f3f3f3} diff --git a/theme/basic/css/mobile_shop.css b/theme/basic/css/mobile_shop.css index 1a2134e1bd..8b1d662fd7 100644 --- a/theme/basic/css/mobile_shop.css +++ b/theme/basic/css/mobile_shop.css @@ -218,14 +218,15 @@ box-shadow: 0 0 6px rgba(0,0,0,0.2);} #m_sod_frm_paysel h3{background:#fff;padding:15px 10px ;border:1px solid #e3e5e8;border-bottom:0} #m_sod_frm_paysel ul {margin:0 0 ;background:#fff;padding:10px;border:1px solid #e3e5e8} #m_sod_frm_paysel ul:after {display:block;visibility:hidden;clear:both;content:""} -#m_sod_frm_paysel li {float:left;padding:5px ;width:46%;height:25px} +#m_sod_frm_paysel li {float:left;padding:5px;width:46%;height:35px} #m_sod_frm_paysel .KPAY{background:url('../../../img/kpay.png') no-repeat;width:37px;height:15px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%} #m_sod_frm_paysel .PAYNOW{background:url('../../../img/paynow.png') no-repeat;width:46px;height:15px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%;} -#m_sod_frm_paysel .PAYCO{background:url('../../../img/payco.png') no-repeat 1px;width:46px;height:15px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%;} +#m_sod_frm_paysel .PAYCO{background:url('../../../img/payco.png') no-repeat 1px;width:50px;height:15px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%} #m_sod_frm_paysel .inicis_lpay{background:url('../../../img/lpay_logo.png') no-repeat;width:35px;height:12px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%;} -#m_sod_frm_paysel .inicis_kakaopay{background:url('../../../img/kakao.png') no-repeat 50% 50% #ffeb00;border-radius:30px;height:22px;width:74px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto} -#m_sod_frm_paysel .kakaopay_icon{background:url('../../../img/ico-mobile-kakaopay.png') no-repeat #fff;height:15px;width:43px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto} -#m_sod_frm_paysel .naverpay_icon{background:url('../../../img/ico-mobile-naverpay.png') no-repeat #fff;height:15px;width:40px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto} +#m_sod_frm_paysel .inicis_kakaopay{background:url('../../../img/kakao.png') no-repeat 50% 50% #ffeb00;border-radius:30px;height:26px;width:74px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:36px auto} +#m_sod_frm_paysel .kakaopay_icon{background:url('../../../img/ico-mobile-kakaopay.png') no-repeat #fff;height:23px;width:63px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:45px auto;background-position: 10% 40%} +#m_sod_frm_paysel .naverpay_icon{background:url('../../../img/ico-mobile-naverpay.png') no-repeat #fff;height:23px;width:60px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:45px auto;background-position: 0% 30%} +#m_sod_frm_paysel .applepay_icon{background:url('../../../img/ico-mobile-applepay.png') no-repeat #fff;height:30px;width:60px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:43px auto} #m_sod_frm_paysel .samsung_pay{margin-left:-23px;background:url('../../../img/samsungpay.png') no-repeat 24px 3px;height:25px;width:106px;display:inline-block;overflow:hidden;text-indent:-999px} #sod_frm_pay{padding:10px;;border-top:1px solid #f3f3f3}