1/* ************************************************************************************** 2 * CaaS Payment ê³µíµ JavaScript 3 * @author yeongeun.seo 4 * @since 2019.08.01 5 * @history 2020.02.05 caas-applìì ë¶ë¦¬ 6 */ 7;'use strict'; 8(function($) { 9 cmmPayment = { 10 // (2024.05.14) 본ì¸ì¸ì¦ íì ì ê³µíµì¼ë¡ ì²ë¦¬íë¤ (v2) (jina.lee) 11 certAlertPop : function(){ 12 const message = `<span class="title">ë³¸ì¸ ì¸ì¦ì´ íìí 기ë¥ì´ìì.</span><span class="mainTxt">ì¤ì íë©´ìì ë³¸ì¸ ì¸ì¦ì í´ì£¼ì¸ì.</span>`; 13 cmmPop.confirmPopup(message, "본ì¸ì¸ì¦ í기", "ì·¨ì", ()=>location.href="/mypage/setting?from=payment"); 14 }, 15 doCertCheckNew : function(setleCd, keyData, okCallback) { 16 let param = { setleCd: setleCd, svcMenuNm: "cherry" }; 17 const setleCdArray = ['C01', 'C03', 'C04', 'C05', 'C21']; 18 const mstr = setleCdArray.includes(setleCd) ? `${setleCd}|${keyData}` : `${setleCd}|`; 19 let url; 20 switch(setleCd) { 21 case 'C02' : url = '/public/cert/certCheckMnemonic'; break; 22 case 'C05' : url = '/public/member/cherryKidAgreCert'; break; 23 case 'C21' : url = '/public/cert/certCoprtn'; break; 24 default : url = '/cert/certCheck'; break; 25 } 26 27 cmmCall.ajaxCall(url, param, function(data) { 28 function fillCertReqMapFields(certReqMap, mstr) { 29 certReqMap.MSTR = mstr; 30 for (const key in certReqMap) { 31 if (Object.prototype.hasOwnProperty.call(certReqMap, key)) { 32 $('#' + key).val(certReqMap[key]); 33 } 34 } 35 } 36 37 if(['C04', 'C07'].includes(setleCd)) { 38 fillCertReqMapFields(data.certReqMap, mstr); 39 if(setleCd === 'C04') { 40 cmmPop.fullPopOpen('#certIframePopup'); 41 } else { 42 if(!cmmEnv.device.isMobileDevice()) { $('#CALL_TYPE').val('P'); } 43 else { cmmPop.fullPopOpen('#certIframePopup'); } 44 } 45 //MCASH_PAYMENT(document.payForm); 46 AUTH_PAYMENT(document.payForm); 47 48 } else if(data.userCrtfcYn) { 49 if(okCallback) { 50 okCallback(data); 51 } 52 } else { 53 fillCertReqMapFields(data.certReqMap, mstr); 54 55 if(setleCd === 'C00') { 56 /** 57 * (2024.05.14) 본ì¸ì¸ì¦ íì ì ê³µíµì¼ë¡ ì²ë¦¬íë¤ (v2) (jina.lee) 58 * ì¶ê°ë¡, ì¤ì íë©´ìì í¸ì¶íë 본ì¸ì¸ì¦ ì C01 ë¡ íµì¼íìë¤. 59 */ 60 cmmPayment.certAlertPop(); 61 } else { 62 if(['C01', 'C22'].includes(setleCd) && keyData === null && !cmmEnv.device.isMobileDevice()) { 63 $('#CALL_TYPE').val('P'); 64 } else { 65 cmmPop.fullPopOpen('#certIframePopup'); 66 } 67 //MCASH_PAYMENT(document.payForm); 68 AUTH_PAYMENT(document.payForm); 69 } 70 } 71 }); 72 }, 73 74 /* ìº íì¸/ë¨ì²´íìí¨ìì 기ë¶í기 ë²í¼ ëë ìë 75 * grpDtl ë¨ì²´ìì¸->íìí기->ë¨ì²´ìì¸ 76 * cmgpnDtl ë¨ì²´ìì¸->모ê¸í¨ìì¸->모ê¸í¨ìì¸->ë¨ì²´ìì¸ 77 * myGrp MYë¨ì²´->ì¸ë¤ì¼íìí기->MYë¨ì²´ 78 * home ê²ìê²°ê³¼ 79 * 80 * doCertCheckCmpgnìì ì¤ë³µí´ë¦ ë°©ì§ë¥¼ ìí´ timer ì ì©. ì´ì ë°ë¼ 기존 ë¡ì§ì _doCertCheckCmpgnë¡ ë¶ë¦¬ 81 * ì¤ë³µí´ë¦ : ê²°ì ìë¨ ë¯¸ë±ë¡ ì¬ì©ìê° íìí기를 ì§§ììê°ë´ í´ë¦ì DB Commit ì ì 2ê±´ì´ ë±ë¡ëì´ ì¤ë³µê±´ ì¤ë¥ ë°ì 82 * 2020.10.21 yeongeun.seo 83 */ 84 certCheckClick : true, 85 /* 86 * 2021.08.12 yeongeun.seo 체리-체리ìì¸ íµí©ë²ì donateType (normal, fdrm) ì¶ê° (*1) 87 * 2021.12.19 yeongeun.seo AppToApp ì´ìë¡ donateTypeì´ undefinedì¸ ê²½ì° normalë¡ ì§ì (*2) 88 */ 89 doCertCheckCmpgn : function(cmpgnType, cmpgnSn, loc, donateType) { // (*1) 90 if(cmmPayment.certCheckClick) { 91 // (*2) 92 if(bfcStr.isNull(donateType)) { 93 donateType = 'normal'; 94 } 95 cmmPayment._doCertCheckCmpgn(cmpgnType, cmpgnSn, loc, donateType); 96 cmmPayment.certCheckClick = !cmmPayment.certCheckClick; 97 setTimeout(() => { cmmPayment.certCheckClick = true; }, 1000); 98 } 99 }, 100 101 _doCertCheckCmpgn : function(cmpgnType, cmpgnSn, loc, donateType) { 102 cmmLogin.loginCheck(function() { 103 const $cmpgnSn = $('#cmpgnSn'); 104 cmpgnSn = cmpgnSn ?? $cmpgnSn.val(); 105 106 // 001:체리ë°(ìº íì¸), 002:ì°¸ì¬íì´ë²¤í¸(ìº íì¸), 003:ì 기íìì´ë²¤í¸(모ê¸í¨) 107 cmmPayment.doCertCheckNew('C00', null, function(data) {
108 const commonPath = `cmpgnSn=${cmpgnSn}&setleCd=C00&loc=${loc}&donateType=${donateType}`; 109 if(cmpgnType === 'event') { 110 let cmpgnEventSeCode = $('#cmpgnEventSeCode').val(); 111 //2022.09.26 ìº íì¸ì´ë²¤í¸ì íì½ë ì¶ê°(006) 112 if(cmpgnEventSeCode === '001' || cmpgnEventSeCode === '006') { 113 let targetUrl = `/payment/cherryRun/rgstPage?${commonPath}`; 114 let recommenderCodeVal = $("#recommenderCode").val(); 115 let recommenderCodeCookie = bfcCookie.getCookie("recommenderCode"); 116 let finalRecommenderCode = recommenderCodeVal || recommenderCodeCookie; 117 if (!bfcStr.isNullOrBlank(finalRecommenderCode)) { 118 targetUrl += `&recommenderCode=${encodeURIComponent(finalRecommenderCode)}`; 119 } 120 cmmPayment.doWebAppUrlProc(targetUrl); 121 } else if(cmpgnEventSeCode === '002' || cmpgnEventSeCode === '005') { 122 cmmPayment.doWebAppUrlProc(`/payment/event/cmpgnEventPartcptReqstPage?${commonPath}`); 123 } else if(cmpgnEventSeCode === '003') { 124 let param = { 125 cmpgnSn: $cmpgnSn.val(), 126 startDe: '20210801' 127 }; 128 // ì 기íì 리ìë ì´ë²¤í¸ 기참ì¬ì ì²´í¬ 129 cmmCall.ajaxCall('/payment/event/cmpgnEventPartcptReqstCheck', param, function(data) { 130 if(data.rs != null) { 131 let msg; 132 if(data.rs.donateTokenAmt < jsonOptn.mark.event_partcpt_min_amt) { 133 msg = data.userNcm + 'ëì ì´ ëª¨ê¸í¨ì ì´ë¯¸ ì 기결ì ì ì ì²íì ¨ìµëë¤.<br>' 134 + 'ì 기결ì ì 보를 ìì íìë ¤ë©´<br>' 135 + 'ë§ì´ì²´ë¦¬ > ì 기결ì íìì íì¸í´ì£¼ì¸ì.<br>' 136 + '(ê°ì¬ ì 물ì ë°ì¼ìë ¤ë©´ 기존 ì 기결ì í´ì§ í 2ë§ì ì´ì 기ë¶í´ 주ì기 ë°ëëë¤.)'; 137 } else { 138 msg = data.userNcm + 'ëì ì´ ëª¨ê¸í¨ì ì´ë¯¸ ì 기결ì ë° ê°ì¬ ì 물ì ì ì²íì ¨ìµëë¤.<br>' 139 + 'ì 기결ì ì 보를 ìì íìë ¤ë©´<br>' 140 + 'ë§ì´ì²´ë¦¬ > ì 기결ì íìì íì¸í´ì£¼ì¸ì.<br>' 141 + 'ê·¸ ì¸ ë¬¸ìì¬íì ë§ì´ì²´ë¦¬ > 1:1문ìë¡ ì°ë½í´ì£¼ì¸ì.'; 142 } 143 cmmPop.alertError(msg); 144 145 } else { 146 cmmPayment.doWebAppUrlProc(`/payment/setleCnfirmPage?${commonPath}`); 147 } 148 }); 149 150 } else if (cmpgnEventSeCode === '008'){ 151 // 23.07.03 Ticket case '008' 152 cmmPayment.doWebAppUrlProc(`/payment/event/cmpgnTicketEventPage?${commonPath}`); 153 } 154 } else if(loc === 'tgrdnt') { // í¨ê»ê¸°ë¶ 2025.08.05 155 if(bfcStr.isNull(groupInfo.tgrdntGroupEventSn)) { 156 cmmPop.alertError('groupInfo.tgrdntGroupEventSn ìì'); 157 return; 158 } 159 const _tgrdntGroupEventSn = donateType === 'fdrm' ? fdrmInfo.tgrdntGroupEventSn : groupInfo.tgrdntGroupEventSn; 160 const tgrdntPath = `${commonPath}&tgrdntGroupEventSn=${_tgrdntGroupEventSn}`; 161 cmmPayment.doWebAppUrlProc(`/payment/setleCnfirmPage?${tgrdntPath}`); 162 } else { 163 cmmPayment.doWebAppUrlProc(`/payment/setleCnfirmPage?${commonPath}`); 164 } 165 }); 166 }); 167 }, 168 169 donateProcType : null, 170 winPopup : null, /*ì¹ê²°ì ì ì¬ì©í íì ë³ì*/ 171 /* 기ë¶í기 ì ì²ë¦¬ (ë°ë¡ê¸°ë¶, ëëë°êµ¬ë ê³µíµ) */ 172 doDonateProc : function() { 173 const type = cmmPayment.donateProcType; 174 const setleMeanId = cmmPayment.cmmSetleMeanSet().setleMeanId; 175 const setleMeanSeCode = setleMeanId.slice(-1); 176 const pointTypeMap = { 'P': 'chyPntSetle', 'l': 'lpointSetle' }; 177 const setleAmtType = pointTypeMap[setleMeanSeCode] || 'gnrlSetle'; // ê²°ì ê¸ì¡ì í (í¬ì¸í¸(체리, L.POINT), ì¼ë°ê²°ì ) 178 const setleCd = $('#setleCd').val(); 179 const setleTotalAmt = bfcFmt.removeComma($('#setleTotalAmt').val()); // ìµì¢ ê²°ì ê¸ì¡ 180 const setleTipAmt = !($('#setleTipAmt').val()) ? 0 : bfcFmt.removeComma($('#setleTipAmt').val()); // 체리Tip 181 const pageInfo = $('#pageInfo').val(); 182 const isApp = $('#isApp').val(); 183 const isCmpgnEvent = pageInfo === 'cherryRun' || pageInfo === 'cmpgnEventPartcpt'; 184 const isTgrdnt = $("#isTgrdnt").val() 185 const $cmpgnSn = $('#cmpgnSn'); 186 const $donateMessage = $('#donateMessage'); 187 const $cmpgnEventPartcptSn = $('#cmpgnEventPartcptSn'); 188 const $tgrdntGroupEventSn = $('#tgrdntGroupEventSn'); 189 190 // PG ê³µíµì¼ë¡ ë¤ì´ê°ë 기본 íë¼ë¯¸í° ê°ì²´ ìì± 191 const baseParam = { 192 donateTokenAmt: bfcFmt.removeComma($('#donateTokenAmt').val()), 193 blceDonateTokenAmt: $('#cpoint').prop('checked') ? $('#blceDonateTokenAmt').val() : '0', 194 setleTotalAmt: setleTotalAmt, 195 setleMeanId: setleMeanId, 196 setleAmtType: setleAmtType, 197 userNcmOpenYn: $('input:radio[name=ftPrnt]:checked').attr('id') === 'ftPrnt01' ? 'Y' : 'N', 198 isApp: isApp, 199 svcMenuNm: 'cherry', 200 ...(setleTipAmt.length > 0 && { setleTipAmt: setleTipAmt }), 201 }; 202 203 let param = {}; // ìµì¢ ì ì¼ë¡ ì¬ì©ë íë¼ë¯¸í° 204 let donateBoxArray = {}; 205 if (type === 'fdrmDonate') { // ì 기íì ì¦ì ê²°ì 206 param = { 207 ...baseParam, // ê³µíµ íë¼ë¯¸í° ë³µì¬ 208 setleCd: isTgrdnt ? 'D11' : 'D2', 209 cmpgnSn: $cmpgnSn.val(), 210 blceDonateTokenAmt: 0, // ì 기결ì ë ìì¡ 0ì¼ë¡ ê³ ì 211 donateTyCode: '02', 212 ...(pageInfo === 'cmpgnEventPartcpt' && { cmpgnEventPartcptSn: $cmpgnEventPartcptSn.val() }), 213 ...(isTgrdnt && { tgrdntGroupEventSn: $tgrdntGroupEventSn.val() }) 214 }; 215 } else if (isCmpgnEvent) { // ìº íì¸ ì´ë²¤í¸ 216 param = { 217 ...baseParam, 218 setleCd: setleCd, 219 cmpgnSn: $cmpgnSn.val(), 220 donateMessage: $donateMessage.val(), 221 donateTyCode: '01', 222 cmpgnEventPartcptSn: $cmpgnEventPartcptSn.val(), 223 }; 224 } else if (isTgrdnt) { // í¨ê»ê¸°ë¶ 225 param = { 226 ...baseParam, 227 setleCd: setleCd, 228 cmpgnSn: $cmpgnSn.val(), 229 donateMessage: $donateMessage.val(), 230 donateTyCode: '01', 231 tgrdntGroupEventSn: $tgrdntGroupEventSn.val(), 232 }; 233 } else if (['D1', 'D2'].includes(setleCd)) { // ì¼ë°ê¸°ë¶/ë¨ì²´íì 234 param = { 235 ...baseParam, 236 setleCd: setleCd, 237 cmpgnSn: $cmpgnSn.val(), 238 donateMessage: $donateMessage.val(), 239 donateTyCode: '01', 240 }; 241 } else { // ëëë°êµ¬ë 242 // const donateBoxArray = $('input:hidden[name=userDonateBoxSn]').map(function() { 243 donateBoxArray = $('input:hidden[name=userDonateBoxSn]').map(function() { 244 const sn = $(this).val(); 245 return {
246 userDonateBoxSn: sn, 247 cmpgnSn: $(`#cmpgnSn${sn}`).val(), 248 cmpgnDonateAmt: bfcFmt.removeComma($(`#cmpgnAmt${sn}`).val()), 249 donateMessage: $(`#cmpgnMsg${sn}`).val(), 250 }; 251 }).get(); 252 253 if (donateBoxArray.length > 0) { 254 param = { 255 ...baseParam, 256 setleCd: setleCd, 257 cmpgnCnt: donateBoxArray.length, 258 donateBox: donateBoxArray, 259 donateTyCode: '01', 260 }; 261 } 262 } 263 264 // 기ë¶ì ì²ë¦¬ 265 cmmCall.ajaxCallTimeout('/payment/donateSetlePreProcAjax', param, 0, function(data) { 266 if(setleAmtType === 'chyPntSetle' || setleAmtType === 'lpointSetle') { 267 if (!data.val) { 268 cmmPop.alertError('Error', 'ë«ê¸°'); 269 return; 270 } 271 272 let val = data.val; 273 let param = { 274 val: val, 275 setleAmtType: setleAmtType, 276 ...(setleAmtType === 'lpointSetle' && { authNo: $('#authNo').val() }) 277 } 278 279 const handleSuccessRedirect = (val) => { 280 const maxLength = isCmpgnEvent ? 65 : 45; 281 const finalVal = val.length < maxLength ? encodeURIComponent(val) : val; 282 const redirectUrl = `/payment/setleCnfirmChkPage?val=${finalVal}&isExtSetle=N&flag=Y&rfsOnResm=1&isApp=${isApp}`; 283 location.replace(redirectUrl); 284 }; 285 286 const pointPaymentConfigs = { 287 'chyPntSetle': { 288 url: '/payment/chyPntSetleReq', params: param, 289 parseResponse: (res) => res.result, 290 handleFailure: (result) => { 291 cmmPop.alertError(`[${result.code}]\n${result.message}`); 292 } 293 }, 294 'lpointSetle': { 295 url: '/payment/lpoint/lpointSetleReq', params: param, 296 parseResponse: (res) => res.lpointMap, 297 handleFailure: (result) => { 298 cmmPop.alertError(`[${result.code}]\n${result.message}`, 'íì¸', () => location.reload()); 299 } 300 } 301 }; 302 const config = pointPaymentConfigs[setleAmtType]; 303 if (config) { 304 cmmCall.ajaxCallTimeout(config.url, config.params, 0, (responseData) => { 305 const result = config.parseResponse(responseData); 306 if (result.code !== '0000') { 307 config.handleFailure(result); 308 } else { 309 handleSuccessRedirect(val); 310 } 311 }); 312 } 313 } else { // ì¼ë°ê¸°ë¶ 314 let baseParam = { setleCd: setleCd, setleAmt: setleTotalAmt, setleMeanId: setleMeanId, val: data.val, isApp: isApp, svcMenuNm: 'cherry' }; 315 if(setleMeanId.endsWith('S') || setleMeanId.endsWith('V')) { // ì¤ë§í¸ë¡ 316 let midType = $("#cmpgnEventSeCode").val() === '008' ? 'gnrlTax' : 'donate'; 317 const param = { 318 ...baseParam, 319 midType: midType, 320 ...(setleMeanId.endsWith('V') && { 321 // cmpgnSn: aJsonArray.length > 0 ? aJsonArray[0].cmpgnSn : $cmpgnSn.val() 322 cmpgnSn: donateBoxArray.length > 0 ? donateBoxArray[0].cmpgnSn : $cmpgnSn.val() 323 }) 324 }; 325 cmmPayment.pg.smartroPayInfo(param); 326 } else if(setleMeanId.endsWith('N')) { // ë¤ì´ë²íì´ 327 let param = { 328 ...baseParam, 329 nextUrl: data.nextUrl, 330 donateType: type 331 }; 332 cmmPayment.pg.nPayReady(param); 333 } else if(setleMeanId.endsWith('M')) { // MyPay 334 cmmPayment.pg.myPayInfo(baseParam); 335 } else if(setleMeanId.endsWith('L')) { // KSPAY 336 cmmPayment.pg.ksPayInfo(baseParam); 337 } else if(setleMeanId.endsWith('k')) { // ì¹´ì¹´ì¤íì´ 338 const donateType = $('#donateType').val(); 339 const firstDonateBox = $('input:hidden[name=userDonateBoxSn]:first'); 340 const productName = ['D1', 'D2', 'D11'].includes(setleCd) ? $('#cmpgnNm').val() : `${$('#cmpgnNm' + firstDonateBox.val()).val()}${$('#chkTotalCnt').val() > 1 ? ' ë±' : ''}`; 341 const finalDonateType = ['normal', 'donateBox'].includes(donateType) ? ($("#cmpgnEventSeCode").val() === '008' ? 'ticket' : 'normal') : 'fdrm'; 342 const param = { 343 ...baseParam, 344 cmpgnSn: $cmpgnSn.val(), 345 cmpgnNm: productName, 346 donateType: finalDonateType, 347 }; 348 cmmPayment.pg.kakaoPayReady(param); 349 } else { // ê°í¸ê²°ì 350 let val = data.val; 351 let param = { val : data.val } 352 353 if(type === 'fdrmDonate') { 354 param.pageType = type; 355 param.fdrmType = $('#fdrmType').val(); 356 param.userSn = $('#userSn').val(); 357 param.cmpgnSn = $cmpgnSn.val(); 358 param.fdrmDonateAmt = bfcFmt.removeComma($('#setleAmt').val()); 359 param.fdrmDonateNextDe = $('.fdrmDonateNextDe').attr('value'); 360 param.setleMeanId = $('#setleMeanId').val(); 361 param.cmpgnEventSeCode = $('#cmpgnEventSeCode').val(); 362 param.cmpgnEventPartcptSn = $cmpgnEventPartcptSn.val(); 363 } 364 365 cmmCall.ajaxCallTimeout('/payment/ksnet/setle', param, 0, function(data) { 366 if(data.result.code !== '0000') { 367 let errorMessage; 368 const redirectAction = () => cmmPayment.doGoAppByOS('/public/mainPage'); 369 if (data.result.donateYn === 'Y') { 370 errorMessage = 'ì´ë¯¸ ê²°ì ê° ìë£ ë ìº íì¸ì ëë¤.<br>í íë©´ì¼ë¡ ì´ëë©ëë¤.'; 371 } else if (data.result.code === 'S9999') { 372 errorMessage = `ê²°ì ì¤ë¥ê° ë°ìëììµëë¤.<br>[${data.result.code}]${data.result.message}`; 373 } else { 374 errorMessage = `ê²°ì ê° ì·¨ìëììµëë¤.<br>[${data.result.respCode}][${data.result.extRespCode}]<br>${data.result.message}`; 375 } 376 cmmPop.alertError(errorMessage, 'íì¸', redirectAction); 377 } else { 378 const maxLength = isCmpgnEvent ? 65 : 45; 379 if (val.length < maxLength) { 380 val = encodeURIComponent(val); 381 } 382 383 const queryParams = { val: val, isExtSetle: 'N', flag: 'Y', isApp: isApp }; 384 if (type === 'fdrmDonate') { 385 queryParams.fdrmType = $('#fdrmType').val(); 386 queryParams.userFdrmDonateReqstSn = data.userFdrmDonateReqstSn; 387 queryParams.loc = $('#loc').val(); 388 queryParams.hstBckUrl = '1'; 389 } 390 const searchString = new URLSearchParams(queryParams).toString();
391 const finalUrl = `/payment/setleCnfirmChkPage?${searchString}`; 392 location.replace(finalUrl); 393 } 394 }); 395 } 396 } 397 }); 398 }, 399 400 /* Payment Radio ë²í¼ ì²ë¦¬ */ 401 doRadioClick : function() { 402 $('input[type=radio]').bind('click', function() { 403 let obj = $(this); 404 const setleMeanAllowedChars = ['V', 'S', 'N', 'M', 'L', 'k']; 405 const $donateType = $('#donateType'); 406 const $isIBoojaApp = $('#isIBoojaApp'); 407 const $dntnMaxAmt = $('#dntnMaxAmt'); 408 409 if(obj.attr('name') === 'opt') { 410 let addAmt = parseInt($(this).val()); 411 let setleAmt = $('#setleAmt').val() 412 let preAmt = 0; 413 if(setleAmt !== '') { 414 preAmt = parseInt(bfcFmt.removeComma(setleAmt)); 415 } 416 417 if($donateType.val() === 'normal') { // normal, donateBox, fdrm 418 const isIBoojaApp = !bfcStr.isNull($isIBoojaApp.val()) && $isIBoojaApp.val() === 'true'; 419 const maxAmount = isIBoojaApp ? parseInt($dntnMaxAmt.val(), 10) : 2000000; 420 const message = window.i18n.payment.MAX_PAYMENT.replace('{0}',window.i18n.payment.MAX_PAYMENT.includes('KRW') ? maxAmount.toLocaleString() : (maxAmount / 10000).toLocaleString() + 'ë§'); 421 const finalAmount = parseInt(preAmt, 10) + addAmt; 422 if (finalAmount > maxAmount) { 423 cmmPop.alertError(message); 424 $('input[name=opt]').prop('checked', false); 425 return; 426 } 427 } else { 428 if(parseInt(preAmt) + addAmt > 2000000) { 429 cmmPop.alertError('ì 기결ì ì ì²ì 200ë§ìê¹ì§ ê°ë¥í©ëë¤.'); 430 $('input[name=opt]').prop('checked', false); 431 return; 432 } 433 } 434 cmmPayment.doAmtProc(parseInt(preAmt) + addAmt, null); 435 436 } else if(obj.attr('name') === 'optTip') { 437 let addAmt = parseInt($(this).val()); 438 let setleAmt = $('#setleTipAmt').val() 439 let preAmt = 0; 440 if(setleAmt !== '') { 441 preAmt = parseInt(bfcFmt.removeComma(setleAmt)); 442 } 443 444 if($donateType.val() === 'normal') { // normal, donateBox, fdrm 445 const isIBoojaApp = !bfcStr.isNull($isIBoojaApp.val()) && $isIBoojaApp.val() === 'true'; 446 const maxAmount = isIBoojaApp ? parseInt($dntnMaxAmt.val(), 10) : 2000000; 447 const message = window.i18n.payment.MAX_PAYMENT.replace('{0}',window.i18n.payment.MAX_PAYMENT.includes('KRW') ? maxAmount.toLocaleString() : (maxAmount / 10000).toLocaleString() + 'ë§'); 448 const finalAmount = parseInt(preAmt, 10) + addAmt; 449 if (finalAmount > maxAmount) { 450 cmmPop.alertError(message); 451 $('input[name=opt]').prop('checked', false); 452 return; 453 } 454 455 const amt = parseInt(preAmt) + addAmt; 456 const amtValue = amt !== '0' ? bfcFmt.addComma(amt) : ''; 457 const $setleTipAmt = $('#setleTipAmt'); 458 const $btnDelete = $('#btnTipDelete'); 459 $setleTipAmt.val(amtValue); 460 if($setleTipAmt.val().length > 0){ 461 $btnDelete.css('visibility', 'visible'); 462 } else { 463 $btnDelete.css('visibility', 'hidden'); 464 } 465 cmmPayment.cmmTipAmtSetData(); 466 } 467 } else if(obj.attr('id') === 'optKsnet') { 468 if($donateType.val() === 'fdrm') { 469 $('#fdrmSetleMeanNm').text( $('.swiper-container li.swiper-slide-active .bankInfo .bank').text() !== '' ? 'ê°í¸ê²°ì (' + $('.swiper-container li.swiper-slide-active .bankInfo .bank').text()+ ')' : '' ); 470 $('#setleMeanId').val($('.swiper-container li.swiper-slide-active').attr('id')); 471 $('#setleMeanSeCode').val('02'); 472 } 473 474 } else if(obj.attr('name') === 'setleMeanEtc' || obj.attr('id') === 'optetc') { 475 let setleMeanId = $('input:radio[name=setleMeanEtc]:checked').attr('id'); 476 if($donateType.val() === 'fdrm') { 477 if(!bfcStr.isNullOrBlank(setleMeanId)) { 478 $('#fdrmSetleMeanNm').text(setleMeanId.endsWith('N') ? 'Npay' : 'ì¹´ì¹´ì¤íì´'); 479 $('#setleMeanId').val(setleMeanId); 480 $('#setleMeanSeCode').val(setleMeanId.endsWith('N') ? '21' : '23'); 481 } 482 } 483 484 } else if(obj.attr('id') === 'acnut') { 485 const amountFieldId = ['D1', 'D2'].includes($('#setleCd').val()) ? '#setleAmt' : '#setleTotalAmt'; 486 const amount = parseInt(bfcFmt.removeComma($(amountFieldId).val()), 10); 487 const maxAmount = parseInt($dntnMaxAmt.val(), 10); 488 if (amount > maxAmount) { 489 cmmPayment.alertVbankMsg(); 490 } 491 492 } else if(setleMeanAllowedChars.includes(obj.attr('id').substring(19, 20))) { 493 if(location.pathname === '/payment/web/setleCnfirmPage') { 494 if($('#pageInfo').val().indexOf('fdrm') > -1) { 495 $('#fdrmSetleMeanNm').text($('#' + obj.attr('id')).val()); 496 } 497 } else { 498 //console.log("doRadioClick"); 499 } 500 } 501 }); 502 }, 503 504 /* ê°ìê³ì¢ë©ì¸ì§ì림 */ 505 alertVbankMsg: function() { 506 cmmPop.alertError('기ë¶ê¸ì´ 100ë§ì ì´ê³¼ì ê°ìê³ì¢ë¡ ê°ë¥í©ëë¤.', function() { 507 $('input:radio[name=setleMean]').prop('checked', false); 508 $('#acnutDiv').removeClass('on'); 509 $('input:radio[name=setleMean]:radio[value=ê°ìê³ì¢]').prop('checked', true); 510 }); 511 }, 512 513 /* ê³µíµê¸°ë¶ê¸ì¡ê²ì¦ pageInfo(íì¬ íì´ì§ ìì¹), type(ëëë°êµ¬ëì¬ë¶)*/ 514 doCheckAmt: function(pageInfo, type) { 515 //console.log(pageInfo); 516 //console.log(type); 517 const $isIBoojaApp = $('#isIBoojaApp'); 518 const $dntnMaxAmt = $('#dntnMaxAmt'); 519 const $dntnMinAmt = $('#dntnMinAmt'); 520 const $setleAmt = $('#setleAmt'); 521 const $setleTotalAmt = $('#setleTotalAmt'); 522 const $channelSid = $("#channelSid"); 523 const $cpoint = $('#cpoint'); 524 const $lpoint = $('#lpoint'); 525 const $isFrntnMberYn = $('#isFrntnMberYn'); 526 527 // ë°ë¡ê²°ì 528 if(pageInfo === 'donate' || pageInfo.indexOf('fdrm') > -1 || pageInfo === 'cherryRun' || pageInfo === 'cmpgnEventPartcpt') { 529 // ë°ë¡ê²°ì ìì í´ë¹ 530 if(bfcStr.isNullOrBlank($('#svcMenuNm').val())) { return false; } 531 532 if(!$cpoint.prop('checked') && !$lpoint.prop('checked')) { // 체리 && í¬ì¸í¸ê²°ì ê° ìëë 1,000ì ì í 533 if(bfcFmt.removeComma($setleAmt.val()) < parseInt($dntnMinAmt.val())) { 534 if(type !== 'donateBox') { 535 if($('input:radio[name=setleMean]:checked').attr('id') !== 'optpnt') { 536 const message = $isFrntnMberYn.val() === 'true' ? window.i18n.payment.MIN_PAYMENT.replace('{0}', '1,000') : `ê²°ì ë ${bfcFmt.addComma(parseInt($dntnMinAmt.val()))}ì ì´ì ê°ë¥í©ëë¤.`; 537 cmmPop.alertError(message); 538 return false;
539 } 540 } else { 541 if(bfcFmt.removeComma($setleAmt.val()) < 1) { cmmPop.alertError(window.i18n.payment.MIN_ADD_DONATE_BOX); return false; } 542 } 543 } 544 } else { 545 if(bfcFmt.removeComma($setleAmt.val()) < 1) { cmmPop.alertError(window.i18n.payment.MIN_PAYMENT_POINT); return false; } 546 } 547 548 if(type == null) { 549 if(!bfcStr.isNull($channelSid.val()) && $channelSid.val() === "icmda2026") { 550 return true; 551 } else if(parseInt(bfcFmt.removeComma($setleTotalAmt.val())) > 2000000) { 552 let setleMeanId = cmmPayment.cmmSetleMeanSet().setleMeanId; 553 if(bfcStr.isNullOrBlank(setleMeanId)) { cmmPop.alertError(window.i18n.payment.SELECT_PAYMENT_METHOD); return; } 554 const isIBoojaApp = !bfcStr.isNull($isIBoojaApp.val()) && $isIBoojaApp.val() === 'true'; 555 const maxAmount = isIBoojaApp ? parseInt($dntnMaxAmt.val(), 10) : 2000000; 556 const message = window.i18n.payment.MAX_PAYMENT.replace('{0}',window.i18n.payment.MAX_PAYMENT.includes('KRW') ? maxAmount.toLocaleString() : (maxAmount / 10000).toLocaleString() + 'ë§'); 557 if(isIBoojaApp) { 558 if(parseInt(preAmt) + addAmt > parseInt($dntnMaxAmt.val())) { 559 cmmPop.alertError(message); 560 $('input[name=opt]').prop('checked', false); 561 return; 562 } 563 } else { 564 cmmPop.alertError(message); 565 return false; 566 } 567 } 568 } 569 570 } else { 571 // ëëë°êµ¬ë 572 if($('#setleCd').val() === 'D3') { 573 let isTrue = false; 574 $('input[name=cmpgnList01], input[name=cmpgnList02]').each(function() { 575 let id = (this.id).replace('cmpgnAmt', ''); 576 isTrue = $('#'+id).prop('checked') ? (bfcFmt.removeComma(this.value) < 1) : false; 577 if(isTrue) { return false; } 578 }); 579 if(isTrue) {cmmPop.alertError('기ë¶í ê¸ì¡ì ì ë ¥íì¸ì.'); return false; } 580 if($setleTotalAmt.val() < 1000 && !$cpoint.prop('checked')) { 581 isTrue = true; 582 if(isTrue) { cmmPop.alertError('ê²°ì ë ' + bfcFmt.addComma(parseInt($dntnMinAmt.val())) + 'ì ì´ì ê°ë¥í©ëë¤.'); return false; } 583 } 584 if(parseInt(bfcFmt.removeComma($setleTotalAmt.val())) > 2000000) { 585 const maxAmount = 2000000; 586 const message = window.i18n.payment.MAX_PAYMENT.replace('{0}',window.i18n.payment.MAX_PAYMENT.includes('KRW') ? maxAmount.toLocaleString() : (maxAmount / 10000).toLocaleString() + 'ë§'); 587 cmmPop.alertError(message); 588 return false; 589 } 590 } 591 } 592 return true; 593 }, 594 595 /* ê³µíµê¸°ë¶ê¸ì¡ì²ë¦¬ */ 596 doAmtProc : function(amt, obj) { 597 const calculateFinalPoints = function(paymentAmt, userChyPnt, userLpoint) { 598 let finalUserPnt = 0; 599 if($('#cpoint').prop('checked')) { 600 finalUserPnt = userChyPnt - paymentAmt; 601 } else if($('#lpoint').prop('checked')) { 602 finalUserPnt = userLpoint - paymentAmt; 603 } 604 return finalUserPnt; 605 }; 606 607 if(isNaN(amt)) { amt = '0'; } 608 else if(amt.length < 1) { amt = '0'; } 609 610 const donateType = $('#donateType').val(); 611 const userChyPnt = $('#userChyPnt').val(); 612 const userLpoint = $('#lpointYn').val() === 'Y' ? $('#userLpoint').val() : '0'; 613 const amtValue = amt !== '0' ? bfcFmt.addComma(amt) : ''; 614 const $setleAmt = $('#setleAmt'); 615 const $btnDelete = $('#btnDelete'); 616 if(donateType === 'normal') { // ì¼ë°ê¸°ë¶ 617 const finalUserPnt = calculateFinalPoints(amt, userChyPnt, userLpoint); 618 $setleAmt.val(amtValue); 619 cmmPayment.cmmSetleAmtSectionSetData(false, amt, finalUserPnt, false); 620 cmmPayment.cmmPntSetleChk('donate', userChyPnt, userLpoint, amt); 621 $btnDelete.css('visibility', 'visible'); 622 623 } else if(donateType === 'donateBox') { // ëëë°êµ¬ë 624 const $obj = $('#' + obj); 625 const commaAmt = bfcFmt.addComma(amt); 626 $obj.val(commaAmt); 627 $obj.attr('value', commaAmt); 628 629 let totalAmt = 0; // ìº íì¸/ë¨ì²´ ì²´í¬ ë ìíì ì ì²´ ê¸ì¡ í©ì° 630 $('input:checkbox[name=chkCmpgn]').each(function() { 631 if($(this).prop('checked')) { 632 let addAmt = $('#cmpgnAmt'+$(this).val()).val(); 633 totalAmt = totalAmt + (addAmt === '' ? 0 : parseInt(bfcFmt.removeComma(addAmt))); 634 } 635 }); 636 const finalUserPnt = calculateFinalPoints(amt, userChyPnt, userLpoint); 637 cmmPayment.cmmSetleAmtSectionSetData(false, totalAmt, finalUserPnt, false); 638 cmmPayment.cmmPntSetleChk('donateBox', userChyPnt, userLpoint, totalAmt); 639 640 } else { // ì 기íì 641 if(amt > 2000000) { 642 cmmPop.alertError('ì 기결ì ì ì²ì 200ë§ìê¹ì§ ê°ë¥í©ëë¤.'); 643 $setleAmt.val(2000000); 644 return; 645 } 646 647 const $setleTotalAmt = $('#setleTotalAmt'); 648 const $donateTokenAmt = $('#donateTokenAmt'); 649 const $fdrmAmt = $('.fdrmAmt'); 650 651 $setleAmt.val(amtValue); 652 const setleAmt = $setleAmt.val(); 653 $setleTotalAmt.val(setleAmt).text('â©'+bfcFmt.addComma(setleAmt)); // ìµì¢ ê²°ì ê¸ì¡ 654 $donateTokenAmt.val(setleAmt).text('â©'+bfcFmt.addComma(setleAmt)); // 기ë¶í í°ìë 655 $fdrmAmt.text(amtValue || '0'); 656 $btnDelete.css('visibility', 'visible'); 657 658 // ì 기íì 리ìë ì´ë²¤í¸ì© 659 const jsonOptn = $('#jsonOptn').val(); 660 if (jsonOptn) { 661 const minAmt = parseInt($('#eventPartcptMinAmt').val() || '0', 10); 662 if (minAmt > 0) { 663 const isOptnView = numericAmt >= minAmt; 664 $('#reward').toggle(isOptnView); 665 $('#btnFdrmDonateProc').text(isOptnView ? 'ëì ë° ì 기 ê²°ì ì§í' : 'ì 기결ì '); 666 } 667 } 668 } 669 }, 670 doTipAmtProc : function(amt, obj) { 671 const calculateFinalPoints = function(paymentAmt, userChyPnt, userLpoint) { 672 let finalUserPnt = 0; 673 if($('#cpoint').prop('checked')) { 674 finalUserPnt = userChyPnt - paymentAmt; 675 } else if($('#lpoint').prop('checked')) { 676 finalUserPnt = userLpoint - paymentAmt; 677 } 678 return finalUserPnt; 679 }; 680 681 if(isNaN(amt)) { amt = '0'; } 682 else if(amt.length < 1) { amt = '0'; } 683 684 const donateType = $('#donateType').val();
685 const amtValue = amt !== '0' ? bfcFmt.addComma(amt) : ''; 686 const $setleTipAmt = $('#setleTipAmt'); 687 const $btnTipDelete = $('#btnTipDelete'); 688 if(donateType === 'normal') { // ì¼ë°ê¸°ë¶ 689 $setleTipAmt.val(amtValue); 690 $btnTipDelete.css('visibility', 'visible'); 691 this.cmmTipAmtSetData(); 692 } else if(donateType === 'donateBox') { // ëëë°êµ¬ë 693 } 694 }, 695 cmmTipAmtSetData: function () { 696 const $setleAmt = $('#setleAmt'); 697 const $setleTotalAmt = $('#setleTotalAmt'); 698 const $setleTotalAmt2 = $('#setleTotalAmt2'); 699 const $donateTokenAmt = $('#donateTokenAmt'); 700 const $setleTipAmt = $('#setleTipAmt'); 701 let totalAmount = Number(bfcFmt.removeComma($setleAmt.val())); 702 if ($setleTipAmt.length > 0 && $setleTipAmt.val() !== "") { 703 totalAmount += Number(bfcFmt.removeComma($setleTipAmt.val())); 704 } 705 const formattedAmt = bfcFmt.addComma($setleAmt.val()); 706 $setleTotalAmt.val(totalAmount); 707 $setleTotalAmt2.val(totalAmount); 708 $donateTokenAmt.val(totalAmount); 709 710 const totalAmtText = `â©${bfcFmt.addComma(totalAmount)}`; 711 $setleTotalAmt.text(totalAmtText); 712 $setleTotalAmt2.text(totalAmtText); 713 $donateTokenAmt.text(`â©${formattedAmt}`); 714 }, 715 /** 716 * ê³µíµ ê²°ì ê¸ì¡ ììì ë°ì´í°ë¥¼ ì¤ì 717 * @param {boolean} onLoadChk - Onload ìì ì ì²´í¬ ì¬ë¶ 718 * @param {number} setleAmt - ê²°ì ê¸ì¡ 719 * @param {number} finalUserPnt - ìì¬ í¬ì¸í¸ 720 * @param {boolean} setleChk - ê²°ì ê°ë¥ ì¬ë¶ (UI ë¹íì±í ì ì´) 721 */ 722 cmmSetleAmtSectionSetData: function(onLoadChk, setleAmt, finalUserPnt, setleChk) { 723 // 1. ê³µíµ ê¸ì¡ íì ë¡ì§ í¸ì¶ 724 this._updateAmountDisplay(setleAmt); 725 726 // 2. ì´ í¨ì ê³ ì ì ë¡ì§: ìì¬í¬ì¸í¸ ì¤ì 727 $('#blceDonateTokenAmt').val(finalUserPnt).text(`${bfcFmt.addComma(finalUserPnt)}ì`); 728 729 // 3. ì´ í¨ì ê³ ì ì ë¡ì§: UI ìí ë³ê²½ 730 if (onLoadChk) { 731 $('.btnPrimaryTy01.next').prop('disabled', setleChk); // ë°ë¡ê²°ì ë²í¼ íì±ì¬ë¶ 732 $('input[name=chkCmpgn]').each(function() { // ë©ìì§ ììë¤ì ìííë©° ìí ë³ê²½ 733 const $messageArea = $(`#msgCmpgn${this.value}`); 734 $messageArea.toggle(!setleChk); 735 $messageArea.prop('disabled', setleChk); 736 }); 737 } 738 }, 739 /* ê³µíµ ê²°ì ê¸ì¡ìì ë°ì´í° ì í (ê¸ì¡) */ 740 cmmSetleAmtSectionSetData2: function(amt) { 741 // ê³µíµ ê¸ì¡ íì ë¡ì§ë§ í¸ì¶íë©´ ë 742 this._updateAmountDisplay(amt); 743 744 // ì´ í¨ìë ìì¬í¬ì¸í¸ë¥¼ ì²ë¦¬íì§ ìì (ì본 주ì ì ì§) 745 //$('#blceDonateTokenAmt').val(0); 746 //$('#blceDonateTokenAmt').text(bfcFmt.addComma(0) + 'ì'); 747 }, 748 /** 749 * ê¸ì¡ ê´ë ¨ UI를 ê³µíµì¼ë¡ ê°±ì íë í¨ì 750 */ 751 _updateAmountDisplay: function(amount) { 752 // 1. ì주 ì¬ì©íë jQuery ê°ì²´ì í¬ë§·ë ê¸ì¡ì ë³ìì í ë¹ 753 const $setleAmt = $('#setleAmt'); 754 const $setleTotalAmt = $('#setleTotalAmt'); 755 const $setleTotalAmt2 = $('#setleTotalAmt2'); 756 const $donateTokenAmt = $('#donateTokenAmt'); 757 const $svcMenuNm = $('#svcMenuNm'); 758 const $cmpgnSn = $('#cmpgnSn'); 759 const $setleTipAmt = $('#setleTipAmt'); 760 761 let totalAmount = Number(amount); 762 if ($setleTipAmt.length > 0 && $setleTipAmt.val() !== "") { 763 totalAmount += Number(bfcFmt.removeComma($setleTipAmt.val())); 764 } 765 const formattedAmt = bfcFmt.addComma(amount); 766 767 $setleAmt.val(formattedAmt); 768 // $setleTotalAmt.val(amount); 769 // $setleTotalAmt2.val(amount); 770 // $donateTokenAmt.val(amount); 771 $setleTotalAmt.val(totalAmount); 772 $setleTotalAmt2.val(totalAmount); 773 $donateTokenAmt.val(totalAmount); 774 775 // 3. í ì¤í¸(text) ì¤ì 776 const isSpecialCampaign = 777 (cmmEnv.svcProfile.isDevelop() && $svcMenuNm.val() === 'cherryBtn' && $cmpgnSn.val() === '1003') || 778 (cmmEnv.svcProfile.isProduct() && $svcMenuNm.val() === 'cherryBtn' && $cmpgnSn.val() === '12619'); 779 780 // const totalAmtText = `â©${formattedAmt}`; 781 const totalAmtText = `â©${bfcFmt.addComma(totalAmount)}`; 782 783 $setleTotalAmt.text(totalAmtText); 784 $setleTotalAmt2.text(totalAmtText); 785 $donateTokenAmt.text(`â©${formattedAmt}`); 786 }, 787 /** 788 * ê³µíµ ì²´ë¦¬í¬ì¸í¸ ê²°ì ì²´í¬ (ê²°ì íë©´, 체리í¬ì¸í¸, L.POINT, ê²°ì ê¸ì¡) 789 * @param {number} userChyPnt - ì¬ì©ì 체리í¬ì¸í¸ 790 * @param {number} userLpoint - ì¬ì©ì L.POINT 791 * @param {number} totalAmt - ì´ ê²°ì ê¸ì¡ 792 */ 793 cmmPntSetleChk: function(userChyPnt, userLpoint, totalAmt) { 794 // 체리í¬ì¸í¸ ê²°ì ê°ë¥ ì¬ë¶ íì¸ 795 if (userChyPnt > 0) { 796 this._checkPointAvailability('cpoint', userChyPnt, totalAmt); 797 } 798 // L.POINT ê²°ì ê°ë¥ ì¬ë¶ íì¸ 799 if ($('#lpointYn').val() === 'Y' && userLpoint > 0) { 800 this._checkPointAvailability('lpoint', userLpoint, totalAmt); 801 } 802 }, 803 /** 804 * ë¨ì¼ í¬ì¸í¸ ì íì ê²°ì ê°ë¥ ì¬ë¶ë¥¼ íì¸íê³ UI를 ì¤ì í©ëë¤. 805 * @param {string} elementId - íì¸í ì²´í¬ë°ì¤ì ID (ì: 'cpoint') 806 * @param {number} userPoints - ì¬ì©ìì ë³´ì í¬ì¸í¸ 807 * @param {number} totalAmount - ì´ ê²°ì ê¸ì¡ 808 */ 809 _checkPointAvailability: function(elementId, userPoints, totalAmount) { 810 const $pointCheckbox = $(`#${elementId}`); 811 // ê²°ì ê°ë¥ ì¡°ê±´: ì´ ê²°ì ê¸ì¡ì´ 0ë³´ë¤ í¬ê³ , ë³´ì í¬ì¸í¸ê° ê²°ì ê¸ì¡ ì´ìì´ì´ì¼ í¨ 812 const isPayable = totalAmount > 0 && userPoints >= totalAmount; 813 // ì¡°ê±´ì ë°ë¼ ì²´í¬ë°ì¤ íì±/ë¹íì± ì²ë¦¬ 814 $pointCheckbox.prop('disabled', !isPayable); 815 // ê²°ì ê° ë¶ê°ë¥íë¤ë©´, ì²´í¬ë ìí를 ê°ì ë¡ í´ì 816 if (!isPayable) { 817 $pointCheckbox.prop('checked', false); 818 } 819 }, 820 /* ê³µíµ ê²°ì ìë¨ ì ë³´ ì¤ì */ 821 cmmSetleMeanSet: function() { 822 const setleMeanSeType = $('input:radio[name=setleMean]:checked').attr('id'); 823 let setleMeanId; 824 switch (setleMeanSeType) { 825 case 'optKsnet': // ê°í¸ê²°ì 826 setleMeanId = $('.swiper-container li.swiper-slide-active').attr('id'); 827 break; 828 case 'optetc': // ë¤ë¥¸ê²°ì ìë¨ 829 setleMeanId = $('input:radio[name=setleMeanEtc]:checked').attr('id'); 830 break; 831 case 'optpnt': // í¬ì¸í¸ê²°ì 832 setleMeanId = $('input:radio[name=setleMeanPnt]:checked').attr('id'); 833 break; 834 default: // ê·¸ ì¸ (ì¹´ë, í´ëí° ë± ì§ì ì í) 835 setleMeanId = setleMeanSeType; 836 break; 837 } 838 return { setleMeanSeType, setleMeanId }; 839 }, 840 /* ê³µíµ ê²°ì ê¸ì¡ ìµì ìµë ì²´í¬ */ 841 cmmSetleAmtMaxMinCheck : function(setleMeanId, setleMeanSeType) { 842 if(bfcStr.isNullOrBlank(setleMeanId) || bfcStr.isNullOrBlank(setleMeanSeType)) { 843 cmmPop.alertError(window.i18n.payment.SELECT_PAYMENT_METHOD); 844 return true; 845 } 846 const $setleTotalAmt = $('#setleTotalAmt'); 847 const $dntnMinAmt = $('#dntnMinAmt'); 848 const $dntnMaxAmt = $('#dntnMaxAmt'); 849 const $isIBoojaApp = $('#isIBoojaApp'); 850 if($setleTotalAmt.val() === 0 || bfcStr.isNullOrBlank($setleTotalAmt.val())) { // ê²°ì ê¸ì¡ì´ 0ì í¹ì null ì¼ì´ì¤ì¸ ê²½ì° 851 if(setleMeanSeType === 'optpnt') { 852 cmmPop.alertError(window.i18n.payment.MIN_PAYMENT_POINT); 853 return true; 854 } else { 855 cmmPop.alertError(window.i18n.payment.MIN_PAYMENT.replace('{0}', bfcFmt.addComma(parseInt($dntnMinAmt.val())))); 856 return true; 857 } 858 859 } else if(parseInt(bfcFmt.removeComma($setleTotalAmt.val())) >
859 parseInt($dntnMaxAmt.val())) { // ê²°ì ê¸ì¡ì´ ìµëê°ë¥ê¸ì¡ì ì´ê³¼íë ê²½ì° 860 const isIBoojaApp = !bfcStr.isNull($isIBoojaApp.val()) && $isIBoojaApp.val() === 'true'; 861 const maxLimitText = isIBoojaApp ? '50' : '200'; 862 cmmPop.alertError(`1í 기ë¶ì ${maxLimitText}ë§ìê¹ì§ ê°ë¥í©ëë¤.`, 'íì¸', () => { cmmPayment.cmmSetleAmtSectionSetData2($('#dntnMaxAmt').val()); }); 863 } 864 }, 865 secureKeyboard : null, 866 /* ê²°ì ë¹ë°ë²í¸ ì¤í */ 867 pinloginPasswd : null, 868 doPasswdReady : function() { 869 $( '#pinDiv' ).html( 870 '<input id=\'pinPasswd\' name=\'pinPasswd\' type=\'password\' value=\'\' disabled /><br/>' + 871 '<input type=\'button\' class=\'pinButton\' name=\'1\' value=\'1\' id=\'1\' />' + 872 '<input type=\'button\' class=\'pinButton\' name=\'2\' value=\'2\' id=\'2\' />' + 873 '<input type=\'button\' class=\'pinButton\' name=\'3\' value=\'3\' id=\'3\' /><br>' + 874 '<input type=\'button\' class=\'pinButton\' name=\'4\' value=\'4\' id=\'4\' />' + 875 '<input type=\'button\' class=\'pinButton\' name=\'5\' value=\'5\' id=\'5\' />' + 876 '<input type=\'button\' class=\'pinButton\' name=\'6\' value=\'6\' id=\'6\' /><br>' + 877 '<input type=\'button\' class=\'pinButton\' name=\'7\' value=\'7\' id=\'7\' />' + 878 '<input type=\'button\' class=\'pinButton\' name=\'8\' value=\'8\' id=\'8\' />' + 879 '<input type=\'button\' class=\'pinButton\' name=\'9\' value=\'9\' id=\'9\' /><br>
879' + 880 '<input type=\'button\' class=\'pinButton clear\' name=\'-\' value=\'clear\' id=\'-\' />' + 881 '<input type=\'button\' class=\'pinButton\' name=\'0\' value=\'0\' id=\'0\' />' + 882 '<input type=\'button\' class=\'pinButton enter\' name=\'+\' value=\'enter\' id=\'+\' />' 883 ); 884 function eventHandler(event, selector) { 885 event.stopPropagation(); 886 event.preventDefault(); 887 if (event.type === 'touchend'){ 888 selector.off('click'); 889 } 890 } 891 $('.pinButton').on('touchend click', function(event) { 892 $(this).removeClass('pinButtonActive') 893 eventHandler(event, $(this)); 894 let val = $(this).val(); 895 if(val === 'clear') clearForm(); 896 else if(val === 'enter') submitForm(val); 897 else addNumber(val); 898 }); 899 $('.pinButton, .pinButton clear, .pinButton enter').on({ 900 'touchstart' : function () { 901 $(this).addClass('pinButtonActive'); 902 } 903 }); 904 }, 905 906 doOpenPasswd : function() { 907 if (!cmmPayment.checkTestSetle()) return; 908 909 const paymentMethod = cmmPayment.cmmSetleMeanSet(); 910 const setleMeanId = paymentMethod.setleMeanId; 911 const setleMeanSeType = paymentMethod.setleMeanSeType; 912 913 if(cmmPayment.cmmSetleAmtMaxMinCheck(setleMeanId, setleMeanSeType)) { 914 return; 915 } 916 const menuType = ($('#setleCd').val() === 'D3') ? 'donateBox' : 'donate'; 917 918 cmmPayment.cmmcheckTroubleSetleMean(setleMeanId, 919 function() { 920 cmmPayment.donateProcType =$('#donateType').val() === 'fdrm' ? 'fdrmDonate' : 'donate'; 921 if(setleMeanSeType === 'optKsnet' || setleMeanId.endsWith('M')) { // ê°í¸ê²°ì /ë§ì´íµì¥ 922 cmmCall.ajaxCall('/payment/ksnet/acnut/chkAcnutDefrayTime', null, function(data) { 923 if(data.result.setlePosblYn) { 924 if(cmmPayment.doCheckAmt(menuType)) { 925 if(setleMeanSeType === 'optKsnet') { 926 cmmPayment.cmmOpenNewPasswdPopupSub('cherry'); 927 } else { 928 cmmPayment.doDonateProc() 929 } 930 } 931 } else { 932 cmmPop.alertError(data.result.setleMsg, 'ë«ê¸°'); 933 } 934 }); 935 } else if(setleMeanSeType === 'optpnt') { // í¬ì¸í¸ 936 setTimeout(() => { 937 if(cmmPayment.doCheckAmt(menuType)) { 938 cmmPayment.cmmOpenNewPasswdPopupSub(setleMeanId.endsWith('P') ? 'cherry' : 'lpoint'); 939 } 940 }, 200); 941 } else { // ë¤ë¥¸ê²°ì ìë¨ 942 if(cmmPayment.doCheckAmt(menuType)) { 943 cmmPayment.doDonateProc(); 944 } 945 } 946 }, 947 function() { 948 cmmPop.alertError(xhr.status === 401 ? window.i18n.LOGIN_REQUIRED : window.i18n.payment.SERVER_PROCESSING_ERROR, function() { 949 if(xhr.status ===401) { 950 location.href='/public/member/webMemberLoginPage'; 951 } 952 }); 953 } 954 ); 955 }, 956 /** 957 * ê³µíµì¥ì ê²°ì ìë¨ì²´í¬ 958 */ 959 cmmcheckTroubleSetleMean : function(setleMeanId, succCallback, failCallback) { 960 const params = { setleMeanId }; 961 cmmCall.ajaxCallNoAlert( 962 '/payment/checkTroubleSetleMeanAjax', 963 params, 964 ({ val, title, msg }) => { // ì±ê³µ ì½ë°±: íì´í í¨ìì ê°ì²´ 구조 ë¶í´ í ë¹ ì ì© 965 if (val === 'TroubleSetleMean') { 966 cmmPop.alertError(`<b>${title}</b><br><br>${msg}`); 967 } else { 968 succCallback?.(); // succCallbackì´ ì¡´ì¬í ê²½ì°ìë§ ì¤í 969 } 970 }, 971 (xhr) => { // ì¤í¨ ì½ë°± 972 failCallback?.(xhr); // failCallbackì´ ì¡´ì¬í ê²½ì°ìë§ ì¤í 973 } 974 ); 975 }, 976 977 /** 978 * ê³µíµë¹ë°ë²í¸íì ì´ê¸° 979 * @param {string} titleType - cherry / lpoint 980 */ 981 cmmOpenNewPasswdPopupSub : function(titleType) { 982 // íì ë° í¤í¨ë ì´ê¸°í 983 cmmPop.fullPopOpen('#pwdInputFullPopup'); 984 $('#key_1').keyPad(); 985 const isCherryType = (titleType === 'cherry'); 986 // isCherryTypeì´ trueë©´ 체리í¬ì¸í¸ ë³´ì 987 $('.pointTitle.cherry').toggle(isCherryType); 988 $('.subTxt.cherry').toggle(isCherryType); 989 $('.sl_btnArrow').toggle(isCherryType); 990 991 // 'lpoint' ê´ë ¨ ììë¤ì isCherryTypeê³¼ ë°ëë¡ ëì 992 $('.pointTitle.lpoint').toggle(!isCherryType); 993 $('.subTxt.lpoint').toggle(!isCherryType); 994 $('.wp_fixmsg').toggle(!isCherryType); 995 996 if (isCherryType) { 997 this.pinCheckIncCount((data) => { 998 if (data.incCount > 4) { 999 cmmPop.alertError('5í ì´ì ì¤í¨ë¡ PIN ì¬ì¤ì ì´ íìí©ëë¤.'); 1000 clearAll(); 1001 } 1002 }); 1003 } 1004 }, 1005 1006 pinCheck : function(setleMeanId, svcMenuNm) { 1007 cmmCall.ajaxCallNoAlert('/member/webMemberCheckPin', { 1008 pin: $('#authNo').val() 1009 }, function(result) { 1010 if(result.correct) { 1011 if(svcMenuNm === 'cherry') { 1012 cmmPayment.donateProcType = $('#donateType').val() === 'fdrm' ? 'fdrmDonate' : 'donate'; 1013 } else { 1014 cmmPaymentSole.donateProcType = $('#pageInfo').val().indexOf('fdrm') > -1 ? 'fdrmDonate' : 'donate'; 1015 } 1016 1017 if($('#fdrmType').val() === 'fdrmChg' && $('#pageInfo').val().indexOf('fdrm') > -1) { // ì 기íì ë³ê²½ 1018 let param = { 1019 fdrmType : $('#fdrmType').val(), 1020 userFdrmDonateReqstSn : $('#userFdrmDonateReqstSn').val(), 1021 userSn : $('#userSn').val(), 1022 cmpgnSn : $('#cmpgnSn').val(), 1023 fdrmDonateAmt : bfcFmt.removeComma($('#setleAmt').val()), 1024 fdrmDonateNextDe : $('.fdrmDonateNextDe').attr('value'), 1025 setleMeanId : $('#setleMeanId').val() 1026 } 1027 1028 cmmCall.ajaxCall('/payment/fdrmDonateReqstAjax', param, 1029 function(data) { 1030 if(data.result.code === '0000') { 1031 cmmCall.goPage('/payment/fdrmSetleComptPage?svcMenuNm=' + svcMenuNm + '&fdrmType=' + $('#fdrmType').val() + '&userFdrmDonateReqstSn=' + data.result.userFdrmDonateReqstSn + '&loc=' + $('#loc').val()); 1032 } 1033 } 1034 ); 1035 } else { 1036 if(svcMenuNm === 'cherry') { 1037 cmmPayment.toastMsgWait(); 1038 cmmPayment.doDonateProc() 1039 } else { 1040 cmmPaymentSole.doDonateProc(setleMeanId); 1041 } 1042 } 1043 1044 } else { 1045 clearAll(); 1046 if(result.incCount < 5 ) { 1047 cmmPop.alertError('PINì´ ì¼ì¹íì§ ììµëë¤. (' + result.incCount + 'í ì¤í¨)<br>5í ì°ì ì¤í¨ ì ìë¹ì¤ ì¬ì©ì´ ì íë©ëë¤.'); 1048 } else { 1049 cmmPop.alertError('5í ì´ì ì¤í¨ë¡ PIN ì¬ì¤ì ì´ íìí©ëë¤.'); 1050 } 1051 } 1052 1053 }, function(result) { 1054 console.log('fail Res: ' + result); 1055 }) 1056 }, 1057 1058 pinCheckIncCount : function(okCallback) { 1059 cmmCall.ajaxCallNoAlert('/member/webMemberCheckPinIncorrectCount', { 1060 pin: $('#pinCheckSn').val() 1061 }, function(result) { 1062 okCallback(result); 1063 }, function(result) { 1064 console.log('pinCheckIncCount Fail: ' + result); 1065 }); 1066 }, 1067 1068 /* ì 기íì */ 1069 doOpenPasswdForFdrm : function() { 1070 setTimeout(() => { 1071 cmmPayment.cmmOpenNewPasswdPopupSub('cherry'); 1072 if($('#svcMenuNm').val() !== 'sole') { 1073 cmmPayment.donateProcType = 'fdrmDonate'; 1074 } 1075 }, 200); 1076 }, 1077 1078 /* ì²ë¦¬ ë기 í ì¤í¸ ë©ì¸ì§ */ 1079 toastMsgWait : function() { 1080 cmmPop.pushToastMsg('<img src=\'/assets/web/images/content/loadingToast.gif\' alt=\'ë¡ë© ì´ë¯¸ì§\' class=\'block_img\'>ê²°ì ì§íì¤ì ëë¤.', 120); 1081 }, 1082 1083 /* ê°í¸ê²°ì ì¶ê°íë©´ì²ë¦¬ */ 1084 addSetleMean: function(type) { 1085 const basePath = ($('#svcMenuNm').val() === 'sole') ? '/payment/sole/ksnet' : '/payment/ksnet';
1086 const returnUrl = encodeURIComponent(location.pathname + location.search); 1087 const finalUrl = `${basePath}/${type}/registPage?returnUrl=${returnUrl}`; 1088 cmmPayment.addSetleMeanSub(finalUrl); 1089 }, 1090 1091 addSetleMeanSub: function(url) { 1092 cmmCall.ajaxCallNoAlert('/setting/checkUserPin', null, 1093 ({ isCheckUserPin }) => { // ì±ê³µ ì½ë°±: íì´í í¨ìì ê°ì²´ 구조 ë¶í´ í ë¹ ì ì© 1094 if (isCheckUserPin) { 1095 location.href = url; 1096 } else { 1097 cmmPop.confirmWarn('PIN ì¤ì ì´ íìí 기ë¥ì ëë¤.', 'PIN ì¤ì í기', 'ì·¨ì', () => { 1098 cmmPop.fullAjaxPopOpenPlace('/setting/pinRgstPopup', { type: 'P', resUrl: url }, '#pinRgstPopup'); 1099 }); 1100 } 1101 }, 1102 (error) => { // ì¤í¨ ì½ë°± 1103 console.error('checkUserPin Error:', error); 1104 } 1105 ); 1106 }, 1107 /* WebApp URL ìì± */ 1108 _doWebAppUrlSub: function (url) { 1109 const isCherryApp = cmmEnv.clientType.isCherryApp(); 1110 const appParam = isCherryApp ? 'isApp=app' : 'isApp=web'; 1111 const separator = url.includes('?') ? '&' : '?'; 1112 return `${url}${separator}${appParam}`; 1113 }, 1114 _doWebAppUrlNavigateTo: function(url) { 1115 if (cmmEnv.clientType.isCherryApp()) { 1116 cmmPayment.doWebAppUrlProcSub(url); 1117 } else { 1118 cmmCall.goCall(url); 1119 } 1120 }, 1121 /* APP-WEB URL ì²ë¦¬ ì¼ë°íì */ 1122 doWebAppUrlProc: function(url) { 1123 const finalUrl = this._doWebAppUrlSub(url); 1124 this._doWebAppUrlNavigateTo(finalUrl); 1125 }, 1126 1127 /* APP-WEB URL ì²ë¦¬ ì 기íì */ 1128 doWebAppUrlProcForFdrm: function(url, type) { 1129 cmmLogin.loginCheck(() => { 1130 const finalUrl = this._doWebAppUrlSub(url); 1131 if (type === 'fdrmChg') { 1132 cmmCall.ajaxCall('/payment/fdrmDonate/chgDtChk', null, (data) => { 1133 if (data.code === '9999') { 1134 cmmPop.alertError(data.msg, 'íì¸'); 1135 } else { 1136 this._doWebAppUrlNavigateTo(finalUrl); 1137 } 1138 }); 1139 } else { 1140 cmmPayment.doCertCheckNew('C00', null, () => { 1141 this._doWebAppUrlNavigateTo(finalUrl); 1142 }); 1143 } 1144 }); 1145 }, 1146 1147 /* APP-WEB URL ì²ë¦¬ */ 1148 doWebAppUrlProcSub : function(url) { 1149 if (!cmmEnv.clientType.isCherryApp()) { 1150 cmmMobApp.goToInApp(url); 1151 return; 1152 } 1153 // iOS 18 ëì ìì 1154 // 2024.10.04 yeongeun.seo 1155 const isIOS = cmmMob.isIOS(); 1156 caasToApp.getDeviceInfo('cmmPayment.getDeviceInfoPayment'); 1157 caasToApp.getVersionString('cmmPayment.getCurrentAppVerPayment'); 1158 1159 let isIOSTarget = false;
1160 if(isIOS && cmmPayment._deviceOsVerNm.includes("iPhone 18")) { 1161 isIOSTarget = cmmPayment._myAppVersion < "1.1.87"; 1162 } 1163 // iOS 18 ëì ì¢ ë£ 1164 1165 if(isIOS && isIOSTarget) { 1166 cmmPop.alertError(window.i18n.payment.IOS18_UPDATE_REQUIRED); 1167 } else { 1168 isIOS ? caasToApp.openInExtBrowserWithJWT(url) : caasToApp.openInExtBrowserWithJWT(encodeURIComponent(url)); 1169 } 1170 1171 }, 1172 1173 // iOS 18 ëì ìì 1174 // 2024.10.04 yeongeun.seo 1175 _deviceOsVerNm : "", 1176 _myAppVersion : "", 1177 getDeviceInfoPayment : function(_deviceMakerNm, _deviceModelNm, _deviceOsVerNm, _deviceTelecomNm, _trmnlUno){ 1178 cmmPayment._deviceOsVerNm = _deviceOsVerNm; 1179 }, 1180 getCurrentAppVerPayment : function(myVersion) { 1181 cmmPayment._myAppVersion = myVersion; 1182 }, 1183 // iOS 18 ëì ì¢ ë£ 1184 1185 // APP-WEB ë¤ë¡ê°ê¸° ì²ë¦¬ 1186 // webToApp : ì¹ìì ì±ì¼ë¡ ëìê° ë, ì±ì ê·¸ëë¡ ëì. 1187 // webToAppReload : ì¹ìì ì±ì¼ë¡ ëìê° ë, ì±ì ëìì§ íë©´ì ìë¡ê³ 침í¨. 1188 doBackPage : function(type) { 1189 const $returnUrl = $('#returnUrl'); 1190 const $isApp = $('#isApp'); 1191 const $grpSn = $('#grpSn'); 1192 const $loc = $('#loc'); 1193 const mainPageUrl = '/public/mainPage'; 1194 const mainPageEnc = encodeURIComponent(mainPageUrl); 1195 const myPageEnc = encodeURIComponent('/mycherry'); 1196 let appUrl; 1197 1198 if(type === 'donate') { 1199 let pageType = $('#pageType').val(); // 01:모ê¸í¨, 02:ìº íì¸, 03:ëëë°êµ¬ë 1200 let pageInfo = $('#pageInfo').val(); // íë©´ì íì ë³´ (donate, donateBox, fdrm, cherryRun, cmpgnEventPartcpt) 1201 let setleCd = $('#setleCd').val(); // ê²°ì 구ë¶ì½ë 1202 //console.log(`pageType=${pageType} || pageInfo=${pageInfo} || setleCd=${setleCd}`); 1203 1204 if(pageInfo === 'donate') { // ì¼ë°íì 1205 if(setleCd === 'D11') { 1206 if ($isApp.val() === 'web') { 1207 history.back(); 1208 } else if (cmmEnv.device.isAndroidDevice()) { 1209 cmmMobApp.aos.gotoCharityAosInAppReload(); 1210 } else { 1211 cmmMobApp.ios.gotoCharityIosInAppCurr(); 1212 } 1213 } else if (['D1', 'D2'].includes(setleCd) || ['01', '02'].includes(pageType)) { 1214 if($isApp.val() === 'web') { 1215 history.back(); 1216 } else if(cmmEnv.device.isAndroidDevice()) { 1217 cmmMobApp.aos.gotoCharityAosInAppReload(); 1218 } else { 1219 //(2024.05.16) ì 기íìê³¼ ëì¼íê² appUrl 를 ì¤ì í´ì¤ë¤ (v2) (jina.lee) 1220 switch($loc.val()) { 1221 case 'fundBoxList': appUrl = `/myGroup/getAllDBoxPage/${$grpSn.val()}?pageType=02&hstBckUrl=${mainPageEnc}`; break; 1222 case 'cmpgnDtl': appUrl = `/public/campaign/cmpgnDtlPage/${$('#cmpgnSn').val()}?pageType=02&hstBckUrl=${mainPageEnc}`; break; 1223 case 'myGrp': appUrl = mainPageUrl; break; 1224 case 'intrstList': appUrl = `/my/myPageIntrstCmpgn?pageType=02&hstBckUrl=${myPageEnc}`; break; 1225 case 'srchList': appUrl = `/public/wordSearch?pageType=02&hstBckUrl=${mainPageEnc}`; break; 1226 default : appUrl = mainPageUrl; break; 1227 } 1228 cmmPayment.doGoAppByOS(appUrl); 1229 } 1230 } else if(pageType === '03') { 1231 if(cmmEnv.device.isAndroidDevice()) { 1232 cmmMobApp.aos.gotoCharityAosInAppCurr(); 1233 } else { 1234 cmmPayment.doGoAppByOS(mainPageUrl); 1235 } 1236 } else { 1237 history.back(); 1238 } 1239 } else if(pageInfo === 'donateBox') { // ëëë°êµ¬ë 1240 if(cmmEnv.device.isAndroidDevice()) { 1241 // ëëë°êµ¬ëìì ì´ëììë Reload를 íìë¡ íë¯ë¡ ì¶ê°í¨ 1242 cmmMobApp.aos.gotoCharityAosInAppReload(); 1243 } else { 1244 cmmPayment.doGoAppByOS(mainPageUrl); 1245 } 1246 } else if(pageInfo === 'cherryRun' || pageInfo === 'cmpgnEventPartcpt') { // ì´ë²¤í¸ 1247 if(pageInfo === 'cherryRun' || $isApp.val() === 'web') { 1248 history.back(); 1249 } else if(location.pathname.indexOf('/payment/setleCnfirmPage') > -1) { // ì 기결ì ì´ë²¤í¸ //if(location.pathname.indexOf('/payment/fdrmDonateReqstPage') > -1) 1250 if(cmmEnv.device.isAndroidDevice()) { 1251 cmmMobApp.aos.gotoCharityAosInAppCurr(); 1252 } else { 1253 switch($loc.val()) { 1254 case 'my': appUrl = `/mypage/history/fdrm?pageType=01&hstBckUrl=${myPageEnc}`; break; 1255 case 'grpFdrmMng': appUrl = `/myGroup/fdrmDonateMngPage/${$grpSn.val()}?pageType=01&hstBckUrl=${mainPageEnc}`; break; 1256 case 'fundBoxList': appUrl = `/myGroup/getAllDBoxPage/${$grpSn.val()}?pageType=01&hstBckUrl=${mainPageEnc}`; break; 1257 case 'grpDtl': appUrl = `/public/group/${$grpSn.val()}?pageType=01&hstBckUrl=${mainPageEnc}`; break; 1258 case 'cmpgnDtl': appUrl = `/public/campaign/cmpgnDtlPage/${$('#cmpgnSn').val()}?pageType=02&hstBckUrl=${mainPageEnc}`; break; 1259 case 'myGrp': appUrl = mainPageUrl; break; 1260 default : appUrl = mainPageUrl; break; 1261 } 1262 cmmPayment.doGoAppByOS(appUrl); 1263 } 1264 } else { 1265 history.back(); 1266 } 1267 } else { // ì 기íì 1268 if($isApp.val() === 'web') { 1269 history.back(); 1270 } else if(cmmEnv.device.isAndroidDevice()) { 1271 //cmmPayment.doGoAppByOS('webToApp'); 1272 cmmMobApp.aos.gotoCharityAosInAppCurr(); 1273 } else { 1274 //(2024.05.16) í¸ì¶íë ì¼ì´ì¤ì ì°ë¦¬ë¨ì²´, 모ê¸í¨ ì 체보기, ê²ì íë©´, ê´ì¬ë¦¬ì¤í¸ê° ì¶ê°ëìë¤. (v2) (jina.lee) 1275 switch($loc.val()) { 1276 case 'my': appUrl = `/mypage/history/fdrm?pageType=01&hstBckUrl=${myPageEnc}`; break; 1277 case 'grpFdrmMng': appUrl = `/myGroup/fdrmDonateMngPage/${$grpSn.val()}?pageType=01&hstBckUrl=${mainPageEnc}`; break; 1278 case 'fundBoxList': appUrl = `/myGroup/getAllDBoxPage/${$grpSn.val()}?pageType=01&hstBckUrl=${mainPageEnc}`; break; 1279 // case 'grpDtl': appUrl = '/public/group/' + $('#grpSn').val() + '?pageType=01&hstBckUrl=' + mainPageEnc; break; 1280 case 'cmpgnDtl': appUrl = `/public/campaign/cmpgnDtlPage/${$('#cmpgnSn').val()}?pageType=02&hstBckUrl=${mainPageEnc}`; break; 1281 case 'myGrp': appUrl = mainPageUrl; break; 1282 case 'intrstList': appUrl = `/my/myPageIntrstCmpgn?pageType=01&hstBckUrl=${myPageEnc}`; break; 1283 case 'srchList': appUrl = `/public/wordSearch?pageType=01&hstBckUrl=${mainPageEnc}`; break; 1284 default : appUrl = mainPageUrl; break; 1285 } 1286 cmmPayment.doGoAppByOS(appUrl); 1287 } 1288 } 1289 } else if(type === 'registAcnut') { // ê°í¸ê³ì¢ë±ë¡íë©´ 1290 location.replace($returnUrl.val()); 1291 } else if($returnUrl.val() === '/mypage/setting' || type === 'mySetleMn') { // ê°í¸ê²°ì ìë¨ê´ë¦¬ 1292 if($isApp.val() === 'app') { // APPìì ëì´ììë 1293 if(cmmEnv.device.isAndroidDevice()) { 1294 cmmMobApp.aos.gotoCharityAosInAppCurr(); 1295 } else { 1296 cmmPayment.doGoAppByOS($returnUrl.val() + '?hstBckUrl=' + myPageEnc); 1297 } 1298 } else { // WEBìì ëì´ììë 1299 history.back(); 1300 } 1301 }else { 1302 location.href=$returnUrl.val(); 1303 } 1304 }, 1305 1306 /* 모ë°ì¼ OSì ë°ë¥¸ ì´ëì²ë¦¬ */ 1307 doGoAppByOS : function(url) {
1308 const appFlag = $('#isApp').val(); 1309 const isApp = ['true', 'app', true].includes(appFlag); 1310 // PCì´ê±°ë 모ë°ì¼ ì¹ì¸ ê²½ì°, 먼ì ì²ë¦¬íê³ í¨ì를 조기 ì¢ ë£ 1311 if (!cmmEnv.device.isMobileDevice() || !isApp) { 1312 location.replace(url); 1313 return; 1314 } 1315 1316 // OSì ë°ë¼ ë¶ê¸° ì²ë¦¬ 1317 if (cmmEnv.device.isAndroidDevice()) { 1318 // Android ì¸í í¸(Intent) ì²ë¦¬ 1319 const aosIntent = cmmMobApp.aos.getCharityAosIntent(); 1320 window.location.replace(`intent:/${url}${aosIntent}`); 1321 1322 } else if (cmmEnv.device.isIOSDevice()) { 1323 // iOS ì ëë²ì¤ ë§í¬(Universal Link) ì²ë¦¬ 1324 const baseUrl = cmmEnv.svcProfile.isProduct() ? 'https://payment.cherry.charity' : 'https://dev-payment.letscherry.io'; 1325 const iOSLink = `${baseUrl}/public/goApp?url=${encodeURIComponent(url)}`; 1326 location.replace(iOSLink); 1327 } 1328 // íì¬ ì°½ì ë«ê¸° ìí íììì 1329 setTimeout(() => cmmPayment.closeWindow(), 10000); 1330 1331 }, 1332 closeWindow : function() { 1333 window.close(); 1334 self.close(); 1335 window.opener = window.location.href; 1336 self.close(); 1337 window.open('about:blank', '_self').close(); 1338 caasToApp.quitApp(); 1339 }, 1340 checkTestSetle : function() { 1341 switch($('#grpSn').val()) { 1342 case '2000000000000000095' : cmmPop.alertError('<span style=\'font-weight:bold;color:red;\'>[주ì]</span><br>본 í ì¤í¸êµíë ì¨ë¼ì¸ íê¸ì ì²´íí ì ìëë¡ ë§ë ê°ìì êµíì ëë¤.<br>íê¸ì¡ì í¹ì ë¨ì²´ë êµíì 기ë¶ëì§ ììµëë¤.'); return false; 1343 case '2000000000000000274' : cmmPop.alertError('<span style=\'font-weight:bold;color:red;\'>[주ì]</span><br>본 í ì¤í¸ë¨ì²´ë \'체리 íë«í¼\'ì 주ì 기ë¥ì ì²´íí ì ìëë¡ ë§ë¤ì´ì§ ê°ìì ë¨ì²´ë¡, ê²°ì ê° ì´ë£¨ì´ì§ì§ ììµëë¤.'); return false; 1344 case '2000000000000000365' : cmmPop.alertError('<span style=\'font-weight:bold;color:red;\'>[주ì]</span><br>본 ë¨ì²´ë \'체리ì¤ë커ì¦ë°ì´\'ì 주ì 기ë¥ì ì²´íí ì ìëë¡ ë§ë¤ì´ì§ ê°ìì ë¨ì²´ë¡, ê²°ì ê° ì´ë£¨ì´ì§ì§ ììµëë¤.'); return false; 1345 default : return true; 1346 } 1347 }, 1348 1349 addHistoryLengthUrl : function(str) { 1350 return str.indexOf('?') > -1 ? str + '&historyLength=' + history.length : str + '?historyLength=' + history.length; 1351 }, 1352 1353 /** 1354 * iframe 컨í¸ë¡¤ì© 1355 * (*1) (2021.09.03) 본ì¸ì¸ì¦ í¸ì¶ 목ì ì´ ê°ì¸ì ë³´ ìì ì¼ ë isUserCiNotEqual ì²´í¬ ì¶ê° (jina.lee) 1356 * (*1-1) C07ì íí´ì Toast ë©ì¸ì§ í¸ì¶ 1357 * (*2) 구íì 본ì¸ì¸ì¦ : ìì¼ë¡ë 구ì ì íìê°ì ì 체리í¤ì¦ ë¿ì´ë¤. ë°ë¼ì 본ì¸ì¸ì¦ì´ ìë£ëë©´ ì ííì ì ë¤ì ëìì¤ë¤. 1358 * history.go(-2) -> ì´ë¤ íë©´ ì´ëì´ ìì ê²ì´ë¼ë íë¨ì¼ë¡ ìì í¨ 1359 */ 1360 iframe : { 1361 certIframeCloseNew : function(setleCd, type, msg, url) { 1362 let isUserCiNotEqual; //(*1) 1363 if(setleCd === 'C07' && msg.includes('::')){ 1364 let imsi = msg; 1365 msg = imsi.split('::')[0]; 1366 isUserCiNotEqual = imsi.split('::')[1]; 1367 } 1368 cmmPop.fullPopClose('#certIframePopup'); 1369 if(type === 'toast') { 1370 cmmPop.pushToastMsg(msg); 1371 } else if (type === 'popup') { 1372 cmmPop.alertPopup(msg, function() { 1373 if(url != null) { 1374 if(url === 'reload') { 1375 if(['C01', 'C07'].includes(setleCd)) { 1376 /** 1377 * (2024.05.14) ì¤ì íë©´ìì 본ì¸ì¸ì¦ì ì¬ë¬ë² í¸ì¶í ê²½ì° (jina.lee) 1378 * íì¤í ë¦¬ê° ìì´ë ì´ìë¡ C01, C07 ì ê²½ì° returnUrl=reload ë¡ ìì íë¤ 1379 */ 1380 if(typeof(historyLength) != 'undefined'){ 1381 let diff = window.history.length - historyLength; 1382 if(diff > 0){ 1383 history.go(-1*diff); 1384 } 1385 } 1386 if(cmmEnv.device.isMobileDevice()) { 1387 if(setleCd === 'C07' && isUserCiNotEqual !== 'Y') { //(*1-1) 1388 cmmPop.pushToastMsgStorage('ê°ì¸ì ë³´ê° ë³ê²½ëììµëë¤.', 3); 1389 } 1390 location.reload(); 1391 } else { 1392 if(setleCd === 'C07' && isUserCiNotEqual !== 'Y') { //(*1-1) 1393 opener.parent.pushToastMsg(); 1394 } 1395 opener.parent.location.reload(); 1396 window.close(); 1397 } 1398 1399 } else if(setleCd === 'C12') { 1400 if(typeof(historyLength) != 'undefined'){ 1401 let diff = window.history.length - historyLength; 1402 if(diff > 0){ 1403 history.go(-1*diff); 1404 } 1405 } 1406 if(typeof(certCallbackFunc) != 'undefined' 1407 && typeof(certCallbackFunc) === 'function'){ 1408 certCallbackFunc(); 1409 }else{ 1410 $("#isCert").val("Y"); 1411 } 1412 } else { 1413 location.reload(); 1414 } 1415 1416 } else { 1417 if(url.indexOf('/public/member/loginUserPage') > -1) { 1418 let goUrl = '/public/member/logout?isCherryApp='+cmmEnv.clientType.isCherryApp();
1419 if(cmmEnv.device.isMobileDevice()) { 1420 cmmCall.goCall(goUrl); 1421 } else { 1422 opener.parent.location.href = goUrl; 1423 window.close(); 1424 } 1425 } else if(['C01', 'C07'].includes(setleCd)) { 1426 // if(cmmEnv.device.isMobileDevice()) { 1427 // //location.reload(); 1428 // if(setleCd === 'C07' && isUserCiNotEqual !== 'Y') { //(*1-1) 1429 // cmmPop.pushToastMsgStorage('ê°ì¸ì ë³´ê° ë³ê²½ëììµëë¤.', 3); 1430 // } 1431 // location.replace(url); 1432 // } else { 1433 // if(setleCd === 'C07' && isUserCiNotEqual !== 'Y') { //(*1-1) 1434 // opener.parent.pushToastMsg(); 1435 // } 1436 // opener.parent.location.reload(); 1437 // window.close(); 1438 // } 1439 } else if(setleCd === 'C03'){ 1440 let sttus = url.split('=')[1]; 1441 if(sttus === '11'){ 1442 location.href = '/public/member/loginUserPage'; 1443 }else{ //(*2) 1444 cmmPop.fullAjaxPopOpenPlace('/public/member/convertGuidePopup', {fromType : 'regist'}, '#convertGuidePopup'); 1445 } 1446 } else if(setleCd === 'C12'){ 1447 location.replace(url); 1448 } else if(setleCd === 'C06' && location.pathname.indexOf('/member/webMemberRegistCmplt') > -1){ 1449 if(url === '/public/member/loginUserPage') cruCall.goHome(); 1450 else nextStep(); 1451 } else if(setleCd === 'C21'){ 1452 // 23.05.16 C21ì¼ì´ì¤ 본ì¸ì¸ì¦ ì±ê³µ í ì§ì urlë¡ ì´ë 1453 cmmCall.goCall(url); 1454 } else if(setleCd === 'C22'){ 1455 console.log('setleCd=' + setleCd + '|| type=' + type + '|| msg=' + msg + '|| url=' + url) 1456 console.log(`C22 `); 1457 try { 1458 identityCallback(url) 1459 } catch (e){ 1460 console.log(e); 1461 opener.parent.identityCallback(url); 1462 } finally { 1463 window.close(); 1464 } 1465 } else { 1466 location.reload(); 1467 } 1468 } 1469 } else { 1470 if(setleCd === 'C04') { 1471 if(location.pathname === '/public/member/mnemonicShowPage') { 1472 location.replace('/mypage/setting?hstBckUrl=/public/mainPage'); 1473 } 1474 } 1475 } 1476 }); 1477 } else { 1478 location.replace(url); 1479 } 1480 } 1481 }, 1482 1483 pg : { 1484 iosSubmitDelayMs : 1000, 1485 /** 1486 * íë©´ ì¤ìì íì ì°½ì ì´ê³ , íì ì°¨ë¨ ì¬ë¶ íì¸ 1487 * @param {string} nextUrl - íì ì íìí URL 1488 * @param {number} width - íì ì°½ì ëë¹ 1489 * @param {number} height - íì ì°½ì ëì´ 1490 * @returns {boolean|undefined} íì ì´ ì°¨ë¨ë ê²½ì° false를 ë°í 1491 */ 1492 openWinPop: function(nextUrl, width, height) { 1493 const left = window.screenX + (window.innerWidth - width) / 2; 1494 const top = window.screenY + (window.innerHeight - height) / 2; 1495 const windowOptions = ` 1496 width=${width},height=${height}, 1497 left=${left},top=${top}, 1498 toolbar=no,location=no,directories=no,status=yes, 1499 menubar=no,scrollbars=no,resizable=no 1500 `; 1501 const POPUP_NAME = 'payWindow'; 1502 this.winPopup = window.open(nextUrl, POPUP_NAME, windowOptions.replace(/\s/g, '')); 1503 1504 try { 1505 if (!this.winPopup || this.winPopup.closed || typeof this.winPopup.closed === 'undefined') { 1506 cmmPop.alertError(window.i18n.payment.POPUP_BLOCKED_ERROR_1); 1507 return false; 1508 } 1509 } catch (e) { 1510 cmmPop.alertError(window.i18n.payment.POPUP_BLOCKED_ERROR_2); 1511 return false; 1512 } 1513 }, 1514 /** 1515 * ê°ì²´ì ìì±ë¤ì <input type="hidden">ì¼ë¡ ë§ë¤ì´ í¼ì ì¶ê°íë í¨ì 1516 * @param {jQuery} $targetForm - inputë¤ì ì¶ê°í jQuery í¼ ê°ì²´ 1517 * @param {object} dataMap - inputì¼ë¡ ë³íí ë°ì´í°ê° ë´ê¸´ ê°ì²´ 1518 * @param {boolean} [addId=false] - inputì id ìì±ì ì¶ê°í ì§ ì¬ë¶ (ì í ì¬í) 1519 */ 1520 appendHiddenInputs : function($targetForm, dataMap, addId = false) { 1521 // dataMapì´ ì í¨íì§ ìì¼ë©´ ì무 ìì ë íì§ ìì 1522 if (!dataMap) { return; } 1523 // ê°ì²´ì í¤ì ê°ì ìííë©° input ìì± 1524 Object.entries(dataMap).forEach(([key, value]) => { 1525 const attributes = { 1526 type: 'hidden', 1527 name: key, 1528 value: value, 1529 }; 1530 // addId íë¼ë¯¸í°ê° trueì¼ ê²½ì°ìë§ id ìì± ì¶ê° 1531 if (addId) { attributes.id = key; } 1532 $('<input>', attributes).appendTo($targetForm); 1533 }); 1534 }, 1535 smartroPayInfo: function(param) { 1536 cmmCall.ajaxCall('/payment/smartroPay/info', param, (data) => { 1537 if (!data.smartroPayMap) { 1538 cmmPop.alertError('SmartroPay ê²°ì ì°½ ìì² ì¤í¨', 'ë«ê¸°'); 1539 $('#btnDonate').attr('disabled', false); 1540 return; 1541 } 1542 const FORM_ID = 'tranMgr'; 1543 $(`#${FORM_ID}`).remove(); // 기존 í¼ ì ê±° 1544 const $form = $('<form>', { method: 'post', id: FORM_ID, name: FORM_ID, }); 1545 // ê³µíµ ê°ì²´ ìì± ìì±
1546 this.appendHiddenInputs($form, data.smartroPayMap); 1547 $form.appendTo('body'); 1548 1549 smartropay.init({ mode: data.smartroPayMap.mode }); 1550 1551 const paymentOptions = { 1552 FormId: FORM_ID, 1553 }; 1554 if (!cmmEnv.device.isMobileDevice()) { 1555 paymentOptions.Callback = (res) => { 1556 const approvalForm = document.approvalForm; 1557 approvalForm.Tid.value = res.Tid; 1558 approvalForm.TrAuthKey.value = res.TrAuthKey; 1559 approvalForm.action = data.smartroPayMap.ReturnUrl; 1560 approvalForm.submit(); 1561 }; 1562 } 1563 smartropay.payment(paymentOptions); 1564 }); 1565 }, 1566 myPayInfo: function(param) { 1567 cmmCall.ajaxCall('/payment/myPay/myPayInfo', param, (data) => { 1568 const THEME_COLOR = 'F4907E'; 1569 const LOGO_TYPE = '1'; 1570 const FORM_ID = 'myPayForm'; 1571 let payload = { 1572 ...data.myPayMap, 1573 sndRetParam: param.val, 1574 sndThemecolor: THEME_COLOR, 1575 sndLogotype: LOGO_TYPE, 1576 }; 1577 1578 if (cmmEnv.device.isMobileDevice()) { 1579 if (param.svcMenuNm === 'cherry') { payload.sndCancelUrl = document.URL; } 1580 setTimeout(() => { cmmCall.goPost(payload.myPayUrl, payload); }, this.iosSubmitDelayMs); 1581 if (['D1', 'D2'].includes(param.setleCd)) { btnClearAmt(); } 1582 } else { 1583 const POPUP_WIDTH = 545; 1584 const POPUP_HEIGHT = 750; 1585 $(`#${FORM_ID}`).remove(); // 기존 í¼ ì ê±° 1586 1587 const $form = $('<form>', { 1588 method: 'post', 1589 id: FORM_ID, 1590 name: FORM_ID, 1591 action: payload.myPayUrl, 1592 target: 'payWindow', 1593 }); 1594 1595 // ê³µíµ ê°ì²´ ìì± ìì± 1596 this.appendHiddenInputs($form, payload); 1597 this.openWinPop('', POPUP_WIDTH, POPUP_HEIGHT); 1598 $form.appendTo('body').submit(); 1599 } 1600 }); 1601 }, 1602 ksPayInfo: function(param) { 1603 cmmCall.ajaxCall('/payment/ksPay/ksPayInfo', param, (data) => { 1604 const FORM_ID = 'ksPayForm'; 1605 const payload = { 1606 ...data.ksPayMap, 1607 ECHA: param.val, 1608 ECHB: data.ksPayMap.sndOrdernumber, 1609 ECHC: param.svcMenuNm === 'cherry' ? document.URL : cmmPayment.addHistoryLengthUrl(document.URL), 1610 }; 1611 1612 if (cmmEnv.device.isMobileDevice()) { 1613 // 모ë°ì¼ íê²½ ì²ë¦¬ 1614 setTimeout(() => { cmmCall.goPost(payload.ksPayUrl, payload); }, this.iosSubmitDelayMs); 1615 if (['D1', 'D2'].includes(param.setleCd)) { btnClearAmt(); } 1616 } else { 1617 const POPUP_WIDTH = 830; 1618 const POPUP_HEIGHT = 630; 1619 $(`#${FORM_ID}`).remove(); // 기존 í¼ ì ê±° 1620 const $form = $('<form>', { 1621 method: 'post', 1622 id: FORM_ID, 1623 name: FORM_ID, 1624 action: payload.ksPayUrl, 1625 target: 'payWindow', 1626 }); 1627 // ê³µíµ ê°ì²´ ìì± ìì± 1628 this.appendHiddenInputs($form, payload, true); 1629 this.openWinPop('', POPUP_WIDTH, POPUP_HEIGHT); 1630 $form.appendTo('body').submit(); 1631 } 1632 }); 1633 }, 1634 nPayReady : function(param) { 1635 let isTicket = $("#cmpgnEventSeCode").val() === '008'; 1636 let nextUrl = param.nextUrl; 1637 let nPayJsonArray = []; 1638 const $cmpgnSn = $('#cmpgnSn'); 1639 const $cmpgnNm = $('#cmpgnNm'); 1640 if(['D1', 'D2', 'D11'].includes(param.setleCd)) { 1641 let nPayJson = {}; 1642 nPayJson.categoryType = isTicket ? 'PLAY' : 'PRODUCT'; 1643 nPayJson.categoryId = isTicket ? 'TICKET' : 'SUPPORT'; 1644 nPayJson.uid = $cmpgnSn.val(); 1645 nPayJson.name = $cmpgnNm.val(); 1646 nPayJson.count = 1; 1647 nPayJsonArray.push(nPayJson); 1648 param.cmpgnSn = $cmpgnSn.val(); 1649 1650 } else if(['D3'].includes(param.setleCd)) { 1651 $('input:hidden[name=userDonateBoxSn]').each(function() { 1652 let nPayJson = {}; 1653 nPayJson.categoryType = 'PRODUCT'; 1654 nPayJson.categoryId = 'SUPPORT'; 1655 nPayJson.uid = $('#cmpgnSn' + $(this).val()).val(); 1656 nPayJson.name = $('#cmpgnNm' + $(this).val()).val(); 1657 nPayJson.count = 1; 1658 nPayJsonArray.push(nPayJson); 1659 }); 1660 if(nPayJsonArray.length > 1) { 1661 param.cmpgnSn = nPayJsonArray[0]['uid']; 1662 } 1663 } else { 1664 return false; 1665 } 1666 1667 if(param.setleAmt < 1000) { 1668 cmmPop.alertError('Npay ' + window.i18n.payment.MIN_PAYMENT.replace('{0}', '1,000')); 1669 return false;
1670 } 1671 1672 cmmCall.ajaxCall('/payment/npay/mode', param, function(data) { 1673 let opt = { 1674 'mode' : data.mode, 1675 'payType' : data.payType, 1676 'clientId': data.clientId, 1677 'chainId' : data.chainId, 1678 'openType': cmmEnv.device.isMobileDevice() ? 'page' : 'popup', 1679 'useNaverAppLogin': true 1680 }; 1681 1682 if(!cmmEnv.device.isMobileDevice()) { 1683 opt.onAuthorize = function(oData) { 1684 oData.openType = 'popup'; 1685 let ajaxUrl = oData.returnUrl.replaceAll(location.protocol + '//' + location.hostname, ''); 1686 if(oData.resultCode === 'Success') { 1687 cmmCall.ajaxCall(ajaxUrl, oData, function(data) { 1688 if(data.flag === 'Y') { 1689 if(data.fdrmType === 'fdrmReq') { 1690 cmmCall.goPage(`/payment/fdrmSetleComptPage?svcMenuNm=${param.svcMenuNm}&fdrmType=${data.fdrmType}&userFdrmDonateReqstSn=${data.userFdrmDonateReqstSn}&val=${data.val}`); 1691 } else { 1692 if(param.svcMenuNm === 'cherryBtn' && (['sbslove', 'itmc2023', 'icmda2026'].includes(data.channelSid)) && !bfcStr.isNull(data.paymentRetrunUrl)) { 1693 cmmCall.goPage(data.paymentRetrunUrl); 1694 } else { 1695 cmmCall.goPage(`/payment/setleComptPage?svcMenuNm=${param.svcMenuNm}&val=${data.val}`); 1696 } 1697 } 1698 } else { 1699 cmmPop.alertError(decodeURIComponent(data.message), 'íì¸', function() { 1700 param.svcMenuNm === 'cherryBtn' ? cmmCall.goPage(`/cherrybtn/${$cmpgnSn.val()}`) : (param.svcMenuNm === 'sole' ? soleCall.goHome() : cmmLogin.goHome()); 1701 }); 1702 } 1703 }); 1704 } else { 1705 if(oData.resultMessage === 'userCancel' || oData.resultMessage === 'UserCancel') { 1706 param.donateType === 'fdrmDonate' ? cmmPop.alertExpError('ì 기결ì ë±ë¡ì´ ì·¨ìëììµëë¤.') : cmmPop.alertExpError('ê²°ì ê° ì·¨ìëììµëë¤.'); 1707 } else { 1708 cmmCall.ajaxCall(ajaxUrl, oData, function(data) { 1709 cmmPop.alertError(decodeURIComponent(data.message), 'íì¸', function() { 1710 param.svcMenuNm === 'cherryBtn' ? cmmCall.goPage(`/cherrybtn/${$cmpgnSn.val()}`) : (param.svcMenuNm === 'sole' ? soleCall.goHome() : cmmLogin.goHome()); 1711 }); 1712 1713 }); 1714 } 1715 } 1716 } 1717 } 1718 let oPay = Naver.Pay.create(opt); 1719 if(param.donateType === 'fdrmDonate') { 1720 oPay.open({ 1721 'actionType' : 'NEW', 1722 'productCode': $('#userSn').val() + '||' + $cmpgnSn.val(), 1723 'productName': $('#cmpgnNm').val(), 1724 'totalPayAmount': parseInt(param.setleAmt), 1725 'returnUrl': nextUrl + '&donateType=fdrm&cancelUrl=' + encodeURIComponent(document.URL) 1726 }); 1727 1728 } else { 1729 let taxScopeAmount = isTicket ? parseInt(param.setleAmt) : 0; 1730 let taxExScopeAmount = isTicket ? 0 : parseInt(param.setleAmt); 1731 1732 oPay.open({ 1733 'merchantPayKey': bfcCom.getUuid(), 1734 'merchantUserKey': $('#userSn').val(), 1735 'productName': nPayJsonArray[0].name, 1736 'productCount': nPayJsonArray.length, 1737 'totalPayAmount': parseInt(param.setleAmt), 1738 'taxScopeAmount': taxScopeAmount, 1739 'taxExScopeAmount': taxExScopeAmount, 1740 'returnUrl': param.svcMenuNm === 'sole' ? (nextUrl + '&cancelUrl=' + encodeURIComponent(cmmPayment.addHistoryLengthUrl(document.URL))) : (nextUrl + '&cancelUrl=' + encodeURIComponent(document.URL)), 1741 'productItems': nPayJsonArray 1742 }); 1743 1744 if(cmmEnv.device.isMobileDevice() && ['D1', 'D2', 'D11'].includes(param.setleCd)) { 1745 btnClearAmt(); 1746 } 1747 } 1748 }); 1749 }, 1750 kakaoPayReady : function(param) { 1751 cmmCall.ajaxCall('/payment/kakaoPay/ready', param, (data) => { 1752 if (!data.nextUrl) { 1753 cmmPop.alertError('ì¹´ì¹´ì¤íì´ ìëµ URL ì¤ë¥ì ëë¤.<br/>ë¤ë¥¸ ê²°ì ìë¨ì¼ë¡ ì´ì© ë¶íë립ëë¤.'); 1754 return; 1755 } 1756 if ((data.setleEnv === 'mobile') || cmmEnv.device.isMobileDevice()) { 1757 location.href = data.nextUrl; 1758 } else { 1759 const POPUP_WIDTH = 545; 1760 const POPUP_HEIGHT = 750; 1761 cmmPayment.pg.openWinPop(data.nextUrl, POPUP_WIDTH, POPUP_HEIGHT); 1762 } 1763 }); 1764 }, 1765 hanabankReady : function(param) { 1766 if(cmmSole.isCustomExist() && ibjComm.isInApp() && $('#soleSsid').val() === 'ibooja') { 1767 cmmCall.ajaxCall('/payment/hanabank/info', param, (data) => { 1768 const { hanabankMap } = data; 1769 hanabankMap.rsevTmsgCtt = param.val; 1770 HanaPartner.openPopup('01', cmmPayment.pg.hanabankCallback, JSON.stringify(hanabankMap)); 1771 }); 1772 } else { 1773 cmmPop.alertError('ìì´ë¶ìì±ì íµí ì ìì´ ìëëë¤.'); 1774 } 1775 }, 1776 1777 hanabankCallback : function(data) { 1778 const $soleSsid = $('#soleSsid'); 1779 if(cmmSole.isCustomExist() && ibjComm.isInApp() && $soleSsid.val() === 'ibooja') { 1780 if(data.resultCode === 0) { 1781 let scssYn = JSON.parse(data.result).scssYn; 1782 if(bfcStr.isNull(scssYn)) { 1783 cmmPop.alertError('ìë² ì¤ë¥ê° ë°ìíìµëë¤.<br>(scssYn ê° ë¯¸ì¡´ì¬)<br>data : ' + JSON.stringify(data.result)); 1784 } else { 1785 let errorMessage = JSON.parse(data.result).errorMessage; 1786 let param = { 1787 ssid: $soleSsid.val(), 1788 scssYn: scssYn, 1789 trscSeqNo: JSON.parse(data.result).trscSeqNo, 1790 val: encodeURIComponent(JSON.parse(data.result).rsevTmsgCtt), 1791 respHanabankMap: JSON.parse(data.result) 1792 } 1793 1794 if(scssYn === 'Y') { 1795 param.trscDt=JSON.parse(data.result).trscDt; 1796 param.trscTm=JSON.parse(data.result).trscTm; 1797 } else { 1798 param.errorMessage=errorMessage; 1799 } 1800 1801 cmmCall.ajaxCall('/callback/payment/hanabank/setle', param, (data) => { 1802 if(data.hanabankMap.code === '9999') { 1803 cmmPop.alertError(data.hanabankMap.message, 'íì¸', () => { history.back(); }); 1804 } else if(data.hanabankMap.code === '9998') { 1805 console.log('ì¬ì©ìì·¨ì'); 1806 } else { 1807 let val = param.val.length < 45 ? encodeURIComponent(param.val) : param.val; 1808 location.replace(`/sole/${$soleSsid.val()}/payment/setleComptPage?svcMenuNm=sole&val=${val}`); 1809 } 1810 }); 1811 } 1812 } else { 1813 cmmPop.alertError('ìë² ì¤ë¥ë¡ ê²°ì ê° ì·¨ìëììµëë¤.'); 1814 } 1815 } else { 1816 cmmPop.alertError('ìì´ë¶ìì±ì íµí ì ìì´ ìëëë¤.'); 1817 } 1818 } 1819 } 1820 } 1821})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.