PageSourceSearch

https://www.chemeet.co/_next/static/chunks/pages/purchase-2f7861a553e7764e.js

js chemeet.co collected 2026-10-02 15:34:02 UTC 4,779 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[769],{6477:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/purchase",function(){return n(3028)}])},7619:function(e,t,n){"use strict";n.d(t,{_9:function(){return s},ns:function(){return r},nw:function(){return i}});let r={APP_DOWNLOAD_KO:"https://enfpy.sng.link/A1smu/4kpb/oqwi",APP_DOWNLOAD_JA:"https://chemeet.sng.link/A1smu/8oy1/b93s",PURCHASE_HISTORY:{screen:"store/history",singular:"https://enfpy.sng.link/A1smu/v192/6rp2"},TERMS_OF_SERVICE:"https://link.enfpy.com/terms_of_use",PRIVACY_POLICY:"https://link.enfpy.com/privacy",PRIVACY_AGREEMENT_KO:"https://link.enfpy.com/privacy_agreement",LOCATION_TERMS_KO:"https://link.enfpy.com/location_terms",YOUTH_PROTECTION_KO:"https://link.enfpy.com/youth_protection_policy",BIZ_INFO_KO:"https://www.ftc.go.kr/bizCommPop.do?wrkr_no=8208702801",PRIVACY_AGREEMENT_JA:"https://link.enfpy.com/privacy_agreement/ja",TERMS_OF_USE_JA:"https://link.enfpy.com/terms_of_use/ja",YOUTH_PROTECTION_JA:"https://link.enfpy.com/youth_protection_policy/ja",INSTAGRAM_KO:"https://www.instagram.com/chemistry_meet/",INSTAGRAM_JA:"https://www.instagram.com/chemeet_tan/",TEST_LOVE_MBTI_JA:"https://16types.chemeet.co/ja/shindan/love-mbti/",TEST_LOVE_STYLE_JA:"https://16types.chemeet.co/ja/shindan/lovetype19/",TEST_LOVE_TYPE_16_JA:"https://16types.chemeet.co/ja/shindan/mylovetype/",TEST_SECRET_TYPE_JA:"https://16types.chemeet.co/ja/shindan/fetish/",CAREER_JA:"https://link.enfpy.com/career/ja"},s="test",i="/ja/#".concat(s)},3028:function(e,t,n){"use strict";n.r(t),n.d(t,{__N_SSG:function(){return d},default:function(){return T}});var r=n(2903),s=n(7729),i=n.n(s),o=n(2784),c=n(5632),l=n(2949),u=n(3736),a=n(9863),_=n(6650),p=n(8378),h=n(5863),m=n(8763),f=n(7619),E=n(7461);function y(){let e=(0,c.useRouter)(),{orderId:t,paymentKey:n,amount:s,_status:y}
1=e.query,{consumePurchase:d}=(0,l.Z)(),{accessToken:T}=(0,u.kP)(),{showMessenger:A}=(0,a.h)(),{open:O}=(0,_.N)(),{t:S,getLocalizedUrl:k}=(0,E.rY)(),[v,R]=(0,o.useState)("processing"),[w,g]=(0,o.useState)(!1),[N,C]=(0,o.useState)(null),[I,P]=(0,o.useState)(null),b=(0,o.useRef)(!1);(0,o.useEffect)(()=>{let e=setTimeout(()=>g(!0),1e3);return()=>clearTimeout(e)},[]);let Y=w&&"success"===v,Z="processing"===v||"success"===v&&!w;(0,o.useEffect)(()=>{},[y,S]);let H=(0,o.useCallback)(async()=>{if(t&&n&&s)try{let e=await d({orderId:t,paymentKey:n,amount:Number(s)});if(e.success){R("success");return}R("error"),C(e.errorMessage||S("결제 처리 중 오류가 발생했습니다.")),P(e.errorType||null)}catch(n){var e,r,i;console.error("Purchase consumption error:",n),R("error");let t=null==n?void 0:null===(e=n.response)||void 0===e?void 0:null===(r=e.data)||void 0===r?void 0:null===(i=r.content)||void 0===i?void 0:i.type;C((null==n?void 0:n.message)||S("결제 처리 중 오류가 발생했습니다.")),P(t||(null==n?void 0:n.code)||null)}},[t,n,s,d,y,S]);return(0,o.useEffect)(()=>{T&&t&&n&&s&&(b.current||(b.current=!0,H()))},[T,t,n,s,H]),(0,o.useEffect)(()=>{if(T||"processing"!==v||!t||!n||!s)return;let e=setTimeout(()=>{R("error"),C(S("로그인이 필요합니다")),P("SESSION_NOT_READY")},1e4);return()=>clearTimeout(e)},[T,v,t,n,s,y,S]),(0,r.BX)(r.HY,{children:[(0,r.tZ)(i(),{children:(0,r.tZ)("title",{children:S("결제 결과 - 케밋")})}),Z&&(0,r.tZ)(m.z,{title:S("결제 처리 중입니다"),description:S("잠시만 기다려주세요"),icon:(0,r.tZ)(h.J,{name:"spinner",width:40,height:40,color:p.O9.primary})}),Y&&(0,r.tZ)(m.z,{title:S("결제가 완료되었습니다"),description:(0,r.BX)(r.HY,{children:[S("구매 내역은 앱 내 '마이페이지 > 스토어'에서"),(0,r.tZ)("br",{}),S("확인하실 수 있습니다")]}),buttons:[{label:S("구매내역 보러가기"),variant:"gray",onClick:()=>{let e=window.ReactNativeWebView;if(e){e.postMessage(JSON.stringify({type:"NAVIGATE",pathname:f.ns.PURCHASE_HISTORY.screen,mode:"replace"}));return}window.open(f.ns.PURCHASE_HISTORY.singular,"_blank")}},{label:S("추가 구매하기"),variant:"outline",onClick:()=>{O()}}]}),"error"===v&&(0,r.tZ)(m.z,{title:S("결제 중 오류가 발생했습니다"),errorMessage:(0,r.BX)(r.HY,{children:[N&&(0,r.tZ)("div",{children:N}),I&&(0,r.tZ)("div",{children:I})]}),description:(0,r.BX)(r.HY,{children:[S("실패 사유를 확인 후 재시도해주세요"),(0,r.tZ)("br",{}),S("계속 실패할 경우 고객센터로 문의하여 주시기 바랍니다")]}),buttons:[{label:S("다시 시도하기"),variant:"gray",onClick:()=>{let t=!!sessionStorage.getItem("paymentData");e.push(k(t?"/payment":"/"))}},{label:S("문의하기"),variant:"outline",onClick:()=>{A()}}]})]})}var d=!0;function T(){return(0,r.tZ)(y,{})}}},function(e){e.O(0,[763,774,888,179],function(){return e(e.s=6477)}),_N_E=e.O()}]);

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.