@paypay/mini-app-js-sdk 2.64.0 → 2.65.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ export declare function isLegacySmartPayment(): boolean;
@@ -1,2 +1,2 @@
1
1
  !function(){"use strict";try{if("undefined"!=typeof document){var p=document.createElement("style");p.appendChild(document.createTextNode('.ppmna-reset-css{all:initial}.ppmna-reset-css *{text-align:unset;color:unset;background:initial;background-color:transparent;margin:revert;padding:revert;font-weight:revert;font-style:unset;font-size:unset;-webkit-user-select:none;user-select:none;border:unset;border-radius:revert;vertical-align:unset;word-break:unset;outline:none;box-sizing:content-box}.ppmna-reset-css * img{display:inline-block}.ppmna-reset-css * input,.ppmna-reset-css * select{-webkit-user-select:auto;user-select:auto}.ppmna-reset-css * li{list-style:none}.ppmna-reset-css * :where(*:not(svg,svg *)){all:revert}@font-face{font-family:Graphik;font-weight:400;font-display:swap;src:url(https://static.paypay.ne.jp/font/Graphik-Regular-Web.woff2) format("woff2"),url(https://static.paypay.ne.jp/font/Graphik-Regular-Web.woff) format("woff")}@font-face{font-family:Graphik;font-weight:600;font-display:swap;src:url(https://static.paypay.ne.jp/font/Graphik-Semibold-Web.woff2) format("woff2"),url(https://static.paypay.ne.jp/font/Graphik-Semibold-Web.woff) format("woff")}.pp-smartButtonWrapper .pp-smartBtn{display:flex;align-items:center;border-radius:8px;border:none;font-size:14px;font-weight:600;line-height:22px;color:#fff;padding:0;width:100%;height:44px;margin:auto;-webkit-tap-highlight-color:transparent;text-decoration:none;box-sizing:border-box}.pp-smartButtonWrapper .pp-smartBtn.pp-sm .pp-leftSection .pp-btnContent{flex-direction:column}.pp-smartButtonWrapper .pp-smartBtn.pp-light{background:#fff;color:#242323}.pp-smartButtonWrapper .pp-smartBtn.pp-dark{background:#000}.pp-smartButtonWrapper .pp-smartBtn.pp-red{background:#f03}.pp-smartButtonWrapper .pp-smartBtn.pp-login{min-width:180px}.pp-smartButtonWrapper .pp-smartBtn.pp-login.pp-sm{width:180px!important}.pp-smartButtonWrapper .pp-smartBtn.pp-login.pp-light{border:1px solid #e4e4e8}.pp-smartButtonWrapper .pp-smartBtn.pp-login.pp-light .pp-userProfile{margin-right:4px}.pp-smartButtonWrapper .pp-smartBtn.pp-login .pp-leftSection .pp-btnContent{display:grid}.pp-smartButtonWrapper .pp-smartBtn.pp-pay{min-width:160px}.pp-smartButtonWrapper .pp-smartBtn.pp-pay.pp-light{border:1px solid #dddddd}.pp-smartButtonWrapper .pp-smartBtn.pp-pay.pp-light .pp-cashbackInfo{color:#ff954c;background:#fff0e5}.pp-smartButtonWrapper .pp-smartBtn.pp-pay.pp-red .pp-cashbackInfo{color:#f03}.pp-smartButtonWrapper .pp-smartBtn.pp-pay.pp-ja .pp-cashbackInfo{padding:2px 16px}.pp-smartButtonWrapper .pp-smartBtn.pp-pay.pp-sm{width:160px!important}.pp-smartButtonWrapper .pp-smartBtn.pp-pay.pp-sm.pp-cashback{height:66px;flex-direction:column;justify-content:center}.pp-smartButtonWrapper .pp-smartBtn.pp-pay.pp-sm .pp-cashbackInfo{margin:8px 0 0}.pp-smartButtonWrapper .pp-smartBtn.pp-pay .pp-leftSection .pp-img{width:24px;height:24px}.pp-smartButtonWrapper .pp-smartBtn.pp-pay.pp-shortText{font-size:16px}.pp-smartButtonWrapper .pp-smartBtn.pp-pay.pp-sm .pp-smartButtonWrapper .pp-smartBtn.pp-pay.pp-cashback .pp-leftSection .pp-btnContent,.pp-smartButtonWrapper .pp-smartBtn.pp-pay.pp-shortText .pp-leftSection .pp-btnContent{margin-left:4px}.pp-smartButtonWrapper .pp-smartBtn .pp-leftSection{display:flex;justify-content:center;align-items:center;width:100%;box-sizing:border-box;padding:0 8px}.pp-smartButtonWrapper .pp-smartBtn .pp-leftSection .pp-img{width:20px;height:20px;display:inline-block}.pp-smartButtonWrapper .pp-smartBtn .pp-leftSection .pp-btnContent{margin-left:8px}.pp-smartButtonWrapper .pp-smartBtn .pp-leftSection .pp-btnContent .pp-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-smartButtonWrapper .pp-smartBtn .pp-cashbackInfo{font-size:12px;color:#242323;background:#fff;line-height:14px;padding:2px 8px;border-radius:9px;margin-left:8px}.pp-smartButtonWrapper .pp-smartBtn .pp-userProfile{width:34px;height:34px;border-radius:50%;margin-right:5px}.pp-smartButtonWrapper.pp-button{padding:0;margin:0;background:none;border:none;width:100%;border-radius:8px;-webkit-tap-highlight-color:transparent;font-family:revert!important}.pp-smartButtonWrapper.pp-button *{font-family:revert!important}')),document.head.appendChild(p)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}}();
2
- var pp=function(){"use strict";var e=Object.defineProperty,t=Object.defineProperties,n=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,i=(t,n,o)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[n]=o,s=(e,t)=>{for(var n in t||(t={}))r.call(t,n)&&i(e,n,t[n]);if(o)for(var n of o(t))a.call(t,n)&&i(e,n,t[n]);return e},l=(e,o)=>t(e,n(o)),c=(e,t,n)=>new Promise(((o,r)=>{var a=e=>{try{s(n.next(e))}catch(t){r(t)}},i=e=>{try{s(n.throw(e))}catch(t){r(t)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(a,i);s((n=n.apply(e,t)).next())}));function u(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)e[o]=n[o]}return e}var d=function e(t,n){function o(e,o,r){if("undefined"!=typeof document){"number"==typeof(r=u({},n,r)).expires&&(r.expires=new Date(Date.now()+864e5*r.expires)),r.expires&&(r.expires=r.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var a="";for(var i in r)r[i]&&(a+="; "+i,!0!==r[i]&&(a+="="+r[i].split(";")[0]));return document.cookie=e+"="+t.write(o,e)+a}}return Object.create({set:o,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var n=document.cookie?document.cookie.split("; "):[],o={},r=0;r<n.length;r++){var a=n[r].split("="),i=a.slice(1).join("=");try{var s=decodeURIComponent(a[0]);if(o[s]=t.read(i,s),e===s)break}catch(l){}}return e?o[e]:o}},remove:function(e,t){o(e,"",u({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,u({},this.attributes,t))},withConverter:function(t){return e(u({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(n)},converter:{value:Object.freeze(t)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"});const g="_PayPayJsBridge",f=["init","openWebview","openMap","closeApp","makePayment","topup","setSessionData","getSessionData","setStorageData","getStorageData","removeStorageData","getPermissionStatus","scanCode","showAlert","showErrorSheet","getTopBarHeight","setTitle","showUpdateWarning","getPlatformInformation","openApp","share","getKycInformation","getUserLocation","checkPaymentMethod","registerKyc","startMultiFactorAuth","verifyMultiFactorAuthResult","getBankInfo","logout","getUserProfile","getBalance","getUserAddress","getUAID","copyToClipboard","registerUserInfo","setEnablePullDownRefresh","registerEmail","inputAddress","getDeviceInformation","request","requestInternal","registerPaymentFeatures","initKycPassport","getKycPassportInfo","shortcutExists","addShortcut","getAllUserAddresses","getUserPaymentFeatureSettings","getPaymentSettings","getTransactionInfo","getTransactions","getPayPayCardInfo","getExternalLinkageInformation","markAsReady","renderCoupons"],m=["init","createOrder","makePayment","render","logout","getAuthStatus","getUserProfile","getBalance","getUserAddress","getUAID","getCashbackInformation","renderCoupons","getLoginUrl","renderButton"],p="2.64.0",v=new URL("https://mini-app-sdk-core.paypay.ne.jp/"),h=v.origin,y=new URL(`./iframe.html?v=${p}&rev=ad03932`,v).href,w=new URL(`./coupon/iframe.html?v=${p}`,v).href;new URL(`./button/iframe.html?v=${p}`,v).href;const b="BAD_REQUEST_INSUFFICIENT_PARAMETER",S="UNKNOWN",E="SDK_NOT_INITIALIZED",I="TOKEN_NOT_FOUND",k="TOKEN_EXPIRED",C="AUTHORIZATION_NEEDED",P="ppjssdk.refreshToken";class O extends Error{constructor(e,t){super(e),this.errorCode=t}}const _=Object.freeze(Object.defineProperty({__proto__:null,getCookie:function({name:e}){return d.get(e)},getLocalStorage:function({name:e}){return localStorage.getItem(e)},getSessionStorage:function({name:e}){return sessionStorage.getItem(e)},getUrl:function(){return window.location.href},insertIframe:function(e){var{containerSelector:t,attributes:n}=e,i=n,{styles:s}=i,l=((e,t)=>{var n={};for(var i in e)r.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&o)for(var i of o(e))t.indexOf(i)<0&&a.call(e,i)&&(n[i]=e[i]);return n})(i,["styles"]);return new Promise(((e,n)=>{const o=document.querySelector(t);if(!o)return void n(new O(`Container with selector "${t}" not found.`,b));const r=document.createElement("iframe");r.onload=()=>{e(!0)},r.onerror=()=>{n(new O("Failed to load iframe.","NOT_REACHABLE"))},Object.assign(r.style,s),Object.entries(l).forEach((([e,t])=>{r.setAttribute(e,t)})),o.innerHTML="",o.appendChild(r)}))},removeCookie:function({name:e,options:t}){return d.remove(e,t)},removeElement:function({selector:e}){const t=document.querySelector(e);return!!t&&(t.remove(),!0)},removeLocalStorage:function({name:e}){return localStorage.removeItem(e)},removeQueryParametersFromUrl:function(e){const t=new URL(window.location.href);e.forEach((e=>t.searchParams.delete(e)));const n=t.toString().replace(t.origin,"");history.replaceState(history.state,"",n)},removeSessionStorage:function({name:e}){return sessionStorage.removeItem(e)},setCookie:function({name:e,value:t,options:n}){return d.set(e,t,n)},setLocalStorage:function({name:e,value:t}){return localStorage.setItem(e,t)},setSessionStorage:function({name:e,value:t}){return sessionStorage.setItem(e,t)},updateElementStyle:function({selector:e,styles:t}){const n=document.querySelector(e);return!!n&&(Object.assign(n.style,t),!0)}},Symbol.toStringTag,{value:"Module"})),A="success",R="fail",T="complete";var L=(e=>(e.MiniApp="MiniApp",e.SmartPayment="SmartPayment",e))(L||{});function N(e=6){const t=new Uint8Array(e);return crypto.getRandomValues(t),Array.from(t,(e=>(e%36).toString(36))).join("")}const U=e=>"object"!=typeof e||null===e?e:JSON.parse(JSON.stringify(e)),D=e=>{var t;const n=null==(t=e[0])?void 0:t.callbacks;return"object"==typeof n&&null!==n},M=e=>Object.keys(e).reduce(((e,t)=>(e[t]=!0,e)),{});class x{constructor(e,t,n=[],o){this.deferredPromises={},this.functions=e,this.allowedOrigins=t,this.middlewares=n,this.registeredCallbacks={},this.messageEventHandler=this.messageEventHandler.bind(this),this.errorLogger=o,this.subscribeToMessageEvent()}subscribeToMessageEvent(){window.addEventListener("message",this.messageEventHandler)}unsubscribeToMessageEvent(){window.removeEventListener("message",this.messageEventHandler)}messageEventHandler(e){var t;if(null==(t=e.data)?void 0:t.forWindowBridge)return this.allowedOrigins&&"request"===e.data.type&&!this.allowedOrigins.includes(e.origin)?this.sendErrorResponse(e,`${e.origin} is not allowed to make requests`,"ORIGIN_NOT_ALLOWED"):void("request"===e.data.type?this.handleRequest(e):"response"===e.data.type?this.handleResponse(e):"callback"===e.data.type&&this.handleCallback(e))}handleRequest(e){return c(this,null,(function*(){var t;const n=e.data.functionName,o=this.functions[n];o||this.sendErrorResponse(e,`Function '${n}' does not exists on the target window`,"FUNCTION_NOT_FOUND");const r=U(e.data.params);D(r)&&(r[0].callbacks=Object.keys(r[0].callbacks).reduce(((t,n)=>(t[n]=(...t)=>{this.invokeCallback(e,n,t)},t)),{}));try{this.sendSuccessResponse(e,yield function(e,t,n,o){let r=-1;const a=o=>c(this,null,(function*(){if(++r,r<e.length){const n=e[r];return yield n(t,o,a)}return n(...o)}));return a(o)}([...this.middlewares,...null!=(t=o.middlewares)?t:[]],e,o,r))}catch(a){let t="Some error occurred while processing the request",n=S;a instanceof O?(t=a.message,n=a.errorCode):console.error(a),this.sendErrorResponse(e,t,n)}}))}handleResponse(e){if(!this.deferredPromises[e.data.key])return void console.warn(`Promise for ${e.data.functionName} not found`);const[t,n]=this.deferredPromises[e.data.key];delete this.deferredPromises[e.data.key],"success"===e.data.status?t(e.data.result):(delete this.registeredCallbacks[e.data.key],n(new O(e.data.message,e.data.errorCode)))}handleCallback(e){var t;const{key:n,callbackName:o,args:r}=e.data,a=null==(t=this.registeredCallbacks[n])?void 0:t[o];a?a(...r):console.warn(`Callback with key ${n} and name ${o} not found.`)}sendErrorResponse(e,t,n){this.errorLogger&&this.errorLogger(e.data.functionName,t,n),this.sendResponse(e,{status:"failure",message:t,errorCode:n})}sendSuccessResponse(e,t){this.sendResponse(e,{status:"success",result:t})}sendResponse(e,t){this.sendMessage(e.source,e.origin,s({type:"response",key:e.data.key,functionName:e.data.functionName},t))}invokeCallback(e,t,n){this.sendMessage(e.source,e.origin,{type:"callback",key:e.data.key,functionName:e.data.functionName,callbackName:t,args:n})}sendMessage(e,t,n){e.postMessage(s({forWindowBridge:!0},U(n)),t)}sendRequest(e,t,n,o){return new Promise(((r,a)=>c(this,null,(function*(){const i=`${n}--${N()}`;try{const c=yield e();if(!c)throw new Error("Target window is undefined");let u=o[0];if(D(o)){const e=o[0].callbacks;this.addFunctionCallbacks(i,e),u=l(s({},o[0]),{callbacks:M(e)})}this.deferredPromises[i]=[r,a],this.sendMessage(c,t,{type:"request",key:i,functionName:n,params:[u]})}catch(c){delete this.deferredPromises[i],delete this.registeredCallbacks[i],a(new O(c.message,"MESSAGE_SENDING_FAILED"))}}))))}addFunctionCallbacks(e,t){Object.keys(t).forEach((e=>{if("function"!=typeof t[e])throw new Error(`Callback ${e} is not a function`)})),this.registeredCallbacks[e]=s({},t)}static init(e,t,n=[],o){if(this._instance)throw new Error("WindowBridge already initialized, you can't call WindowBridge.init more than once");return this._instance=new this(e,t,n,o),this._instance}static destroy(){this._instance&&(this._instance.unsubscribeToMessageEvent(),this._instance=void 0)}static getBridge(){if(!this._instance)throw new Error("WindowBridge not initialized, please call WindowBridge.init before calling WindowBridge.getBridge");return this._instance}static getTargetWindowFunctionProxy(e,t){return x.getBridge().getTargetWindowFunctionProxy(e,t)}getTargetWindowFunctionProxy(e,t){return new Proxy(this,{get:(n,o)=>(...r)=>n.sendRequest(e,t,o.toString(),r)})}}const F="ppmna-iframe",B="ppsdk-container";let $;function j(){return $||($=function(){if(document.getElementById(F))return;const e=document.createElement("div");return document.createElement("div"),e.setAttribute("id",B),e.setAttribute("class",B),e.style.all="initial",e.style.display="none",e.style.position="fixed",e.style.width="100%",e.style.height="100%",e.style.top="0",e.style.left="0",e.style.zIndex="2147483637",document.body.appendChild(e),e}()),$}let W,q=!1,K=null;function H(e){const t=j();t&&(t.style.display=e?"initial":"none",e?null!==K||q||(K=document.body.style.overflow,document.body.style.overflow="hidden"):null!==K&&(document.body.style.overflow=K,K=null))}function J(){return W||(W=new Promise(((e,t)=>{function n(){const n=document.createElement("iframe");n.setAttribute("src",y),n.setAttribute("name",F),n.setAttribute("id",F),n.setAttribute("class",F),n.setAttribute("allow","geolocation"),n.onload=()=>{e(n),n.onerror=null},n.onerror=t,n.style.all="initial",n.style.width="100%",n.style.height="100%",n.style.border="none";const o=j();o&&(o.innerHTML="",o.append(n))}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",(()=>{n()})):n()}))),W}x.init(_,[h]);const z=x.getTargetWindowFunctionProxy((function(){return J().then((e=>null==e?void 0:e.contentWindow)).catch((()=>null))}),h);function G(e,t,n){const o=N(),r=n=>{V(n.origin)&&n.data.name===e&&n.data.messageId===o&&function(e,t,n){var o,r,a;e.result===R&&(null==(o=null==t?void 0:t.fail)||o.call(t,e.data)),e.result===A&&(null==(r=null==t?void 0:t.success)||r.call(t,null==e?void 0:e.data)),e.result===T&&(null==(a=null==t?void 0:t.complete)||a.call(t),removeEventListener("message",n))}(n.data,t,r)};addEventListener("message",r),function(e){c(this,null,(function*(){var t;const n=yield J().catch((()=>{}));null==(t=null==n?void 0:n.contentWindow)||t.postMessage(JSON.parse(JSON.stringify(e)),h)}))}({name:e,params:n,messageId:o})}function V(e){return e===h}function Z(e){return f.includes(e)}function Q(e){return m.includes(e)}function X(e,t,n){return function(o={}){const r=null==n?void 0:n(o);z.logEvent(s({event_action:`pp_${e}_called`,event_category_suffix:e},r));const a=t(o);return a.then((t=>{var n;z.logEvent(s({event_action:`pp_${e}_success`,event_category_suffix:e},r)),null==(n=o.success)||n.call(o,t)})).catch((t=>{var n;console.error(t.message),z.logEvent(s({event_action:`pp_${e}_fail`,event_category_suffix:e,error_value:t.errorCode},r)),null==(n=o.fail)||n.call(o,{errorCode:t.errorCode})})).finally((()=>{var e;null==(e=o.complete)||e.call(o)})),a}}const Y={[E]:C,[I]:C,[k]:k};let ee,te;J(),te=Promise.resolve(!1);function ne(e){const t=ee===L.MiniApp?function(e,t){if(t){const t=localStorage.getItem(`${P}.${e}`);if(t)return t}return d.get(`${P}.${e}`)||d.get(P)||""}(e.clientId,e.useLocalStorage):"",n=l(s({},e),{refreshToken:t,clientVersion:"2.64.0",clientSdkType:ee,clientUrl:window.location.href});var o;let r;null!=e.disableBackgroundScrollLock&&(o=!!e.disableBackgroundScrollLock,q=o);const a=new Promise((e=>r=e)),i=()=>{var t;r(!0),null==(t=e.complete)||t.call(e)};te.then((()=>J())).then((()=>{G("init",l(s({},e),{complete:i}),n)})).catch((()=>{var t;null==(t=e.fail)||t.call(e,{errorCode:E}),i()})),te=a}addEventListener("message",(e=>{var t;if(!(null==(t=e.data)?void 0:t.forWindowBridge)&&V(e.origin))if("reload"===e.data.name&&window.location.reload(),"makeVisible"!==e.data.name)if("showIframe"!==e.data.name)if("hideIframe"!==e.data.name){if("link"===e.data.name){const t=e.data.data;"_blank"===t.target?window.open(t.url,"_blank"):window.location.href=t.url}if("consoleDebugInfo"===e.data.name){const{params:t}=e.data.data;!function(e){console.debug(...e)}(t)}}else H(!1);else H(!0);else H(!0)})),addEventListener("popstate",(()=>{J().then((e=>{var t;const n={name:"clientPopState"};null==(t=null==e?void 0:e.contentWindow)||t.postMessage(n,h)})).catch((e=>console.warn(e)))}));var oe;oe={_handleMessageFromNative:e=>{J().then((t=>{var n;null==(n=null==t?void 0:t.contentWindow)||n.postMessage(JSON.parse(JSON.stringify({name:"handleMessageFromNative",params:{json:e}})),h)}))}},(!window.hasOwnProperty(g)||window[g]!==oe)&&(window[g]=oe);const re=["init","setTitle","copyToClipboard","getSessionData","setSessionData","getStorageData","setStorageData","removeStorageData","getLoginUrl"],ae=["renderCoupons"];const ie={version:"2.64.0",revision:"ad03932"};X("getLoginUrl",z.getLoginUrl);const se=X("getPaymentSettings",z.getPaymentSettings),le=X("markAsReady",z.markAsReady);X("renderButton",z.renderButton);var ce=(e=>(e.validToken="TOKEN_VALID",e.initialized="INITIALIZED",e.emailRegistered="EMAIL_REGISTERED",e.emailNotVerified="EMAIL_NOT_VERIFIED",e.success="SUCCESS",e.loggedOut="LOGGED_OUT",e.connected="CONNECTED",e))(ce||{});const ue=X("logout",(()=>c(this,null,(function*(){return yield z.logout(),{statusCode:ce.loggedOut}}))));const de={verifyMultiFactorAuthResult:function(e){const t=new URL(window.location.href);G("verifyMultiFactorAuthResult",e,l(s({},e),{sessionId:t.searchParams.get("ppSessionId")}))},share:function(e){if(!(null==navigator?void 0:navigator.share))return void G("share",e,e);const t={text:null==e?void 0:e.text};navigator.share(t).then((()=>{var t,n;null==(t=null==e?void 0:e.success)||t.call(e),null==(n=null==e?void 0:e.complete)||n.call(e)})).catch((()=>{var t,n;null==(t=null==e?void 0:e.fail)||t.call(e,{errorCode:S}),null==(n=null==e?void 0:e.complete)||n.call(e)}))},setTitle:function(e){var t,n,o;document.title=null!=(t=null==e?void 0:e.title)?t:"",null==(n=null==e?void 0:e.success)||n.call(e),null==(o=null==e?void 0:e.complete)||o.call(e)},renderCoupons:X("renderCoupons",(e=>c(this,null,(function*(){const{merchant:t,couponId:n,containerId:o,postLoginRedirectUrl:r=window.location.href,postLoginRedirectType:a,locale:i}=e,s=document.getElementById(o);if(!s)throw new O("Invalid coupon container Id",b);const l=yield z.fetchCoupons({merchantId:t,couponId:n,postLoginRedirectUrl:r,postLoginRedirectType:a});try{const e=document.createElement("iframe");e.src=w,e.style.cssText="width:100%;height: 0;border: none;transition: height 300ms ease-in;display: block;",yield new Promise(((t,n)=>{e.onload=()=>t(!0),e.onerror=()=>n(new Error("Failed to load coupon iframe")),s.innerHTML="",s.append(e)})),e.onload=null,e.onerror=null,window.addEventListener("message",(({data:t,source:n})=>{"update-iframe-height"===(null==t?void 0:t.eventName)&&e.contentWindow===n&&(e.style.height=`${t.height}px`)}));const n=x.getTargetWindowFunctionProxy((()=>e.contentWindow),h);yield n.renderCoupons({coupons:l,merchantId:t,locale:i,postLoginRedirectUrl:r,postLoginRedirectType:a})}catch(c){throw new O(`An error occurred while displaying coupons, merchantId=${t}, couponId=${n}, error=${c}`,S)}}))),(e=>({event_label2:e.couponId,merchant_id:e.merchant}))),scanCode:function(e){var t;G("scanCode",e,l(s({},e),{redirectUrlOnCancel:null!=(t=null==e?void 0:e.redirectUrlOnCancel)?t:window.location.href}))},copyToClipboard:function(e){var t,n,o;const r=document.createElement("textarea");r.setAttribute("readonly","true"),r.setAttribute("contenteditable","true"),r.value=e.value,document.body.appendChild(r),r.select(),r.setSelectionRange(0,r.value.length);const a=document.execCommand("copy");document.body.removeChild(r),a?null==(t=null==e?void 0:e.success)||t.call(e):null==(n=null==e?void 0:e.fail)||n.call(e,{errorCode:"other"}),null==(o=e.complete)||o.call(e)},getSessionData:function(e){var t,n;const o=sessionStorage.getItem(null==e?void 0:e.key);null==(t=null==e?void 0:e.success)||t.call(e,{[null==e?void 0:e.key]:null!=o?o:""}),null==(n=null==e?void 0:e.complete)||n.call(e)},setSessionData:function(e){var t,n,o;sessionStorage.setItem(null==e?void 0:e.key,null!=(t=null==e?void 0:e.value)?t:""),null==(n=null==e?void 0:e.success)||n.call(e),null==(o=null==e?void 0:e.complete)||o.call(e)},getStorageData:function(e){var t,n;const o=localStorage.getItem(null==e?void 0:e.key);null==(t=null==e?void 0:e.success)||t.call(e,{[null==e?void 0:e.key]:null!=o?o:""}),null==(n=null==e?void 0:e.complete)||n.call(e)},setStorageData:function(e){var t,n,o;localStorage.setItem(null==e?void 0:e.key,null!=(t=null==e?void 0:e.value)?t:""),null==(n=null==e?void 0:e.success)||n.call(e),null==(o=null==e?void 0:e.complete)||o.call(e)},removeStorageData:function(e){var t,n;localStorage.removeItem(null==e?void 0:e.key),null==(t=null==e?void 0:e.success)||t.call(e),null==(n=null==e?void 0:e.complete)||n.call(e)},getKycPassportInfo:function(e){const t=window.location.href;G("getKycPassportInfo",e,l(s({},e),{url:t}))},logout:ue,getPaymentSettings:se,markAsReady:le};return function({sdkType:e,clientFunctions:t}){ee=e;const n=e===L.MiniApp?Z:Q,o=new Proxy(l(s({},t),{init:ne}),{get(t,o){if(o in ie)return ie[o];const r=o;if(!n(r))throw new Error(`${r} is not supported by ${e} JS SDK`);return function(e,t){return(n={})=>{const o=new Promise(((o,r)=>{let a,i;e(l(s({},n),{success:e=>{var t;i=e,null==(t=n.success)||t.call(n,e)},fail:e=>{var o;"init"===t&&Y[e.errorCode]?i={statusCode:Y[e.errorCode]}:a=e,null==(o=n.fail)||o.call(n,e)},complete:()=>{var e;a?r(a):o(i),null==(e=n.complete)||e.call(n)}}))}));return n.fail&&o.catch((()=>{})),o}}((function(e){return c(this,null,(function*(){var n,a;if(!re.includes(r)&&!(yield te)){if(!ae.includes(r)||!function(e){return void 0!==e.clientId}(e))return null==(n=e.fail)||n.call(e,{errorCode:E}),void(null==(a=e.complete)||a.call(e));ne({clientId:e.clientId,env:e.env}),yield te}const i=t[r];if(i&&"function"==typeof i)return i(e);G(o,e,e)}))}),r)}});return window._pp=o,function(e){const t=window._ppcs;if(t){window._ppcs=void 0;for(const[n,o,r]of t){const t=e[n](o);r&&r(t)}}}(o),o}({sdkType:L.MiniApp,clientFunctions:de})}();
2
+ var pp=function(){"use strict";var e=Object.defineProperty,t=Object.defineProperties,n=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,a=(t,n,o)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[n]=o,i=(e,t)=>{for(var n in t||(t={}))r.call(t,n)&&a(e,n,t[n]);if(o)for(var n of o(t))s.call(t,n)&&a(e,n,t[n]);return e},l=(e,o)=>t(e,n(o)),c=(e,t,n)=>new Promise(((o,r)=>{var s=e=>{try{i(n.next(e))}catch(t){r(t)}},a=e=>{try{i(n.throw(e))}catch(t){r(t)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(s,a);i((n=n.apply(e,t)).next())}));function u(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)e[o]=n[o]}return e}var d=function e(t,n){function o(e,o,r){if("undefined"!=typeof document){"number"==typeof(r=u({},n,r)).expires&&(r.expires=new Date(Date.now()+864e5*r.expires)),r.expires&&(r.expires=r.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var s="";for(var a in r)r[a]&&(s+="; "+a,!0!==r[a]&&(s+="="+r[a].split(";")[0]));return document.cookie=e+"="+t.write(o,e)+s}}return Object.create({set:o,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var n=document.cookie?document.cookie.split("; "):[],o={},r=0;r<n.length;r++){var s=n[r].split("="),a=s.slice(1).join("=");try{var i=decodeURIComponent(s[0]);if(o[i]=t.read(a,i),e===i)break}catch(l){}}return e?o[e]:o}},remove:function(e,t){o(e,"",u({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,u({},this.attributes,t))},withConverter:function(t){return e(u({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(n)},converter:{value:Object.freeze(t)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"});const g="_PayPayJsBridge",f=["init","openWebview","openMap","closeApp","makePayment","topup","setSessionData","getSessionData","setStorageData","getStorageData","removeStorageData","getPermissionStatus","scanCode","showAlert","showErrorSheet","getTopBarHeight","setTitle","showUpdateWarning","getPlatformInformation","openApp","share","getKycInformation","getUserLocation","checkPaymentMethod","registerKyc","startMultiFactorAuth","verifyMultiFactorAuthResult","getBankInfo","logout","getUserProfile","getBalance","getUserAddress","getUAID","copyToClipboard","registerUserInfo","setEnablePullDownRefresh","registerEmail","inputAddress","getDeviceInformation","request","requestInternal","registerPaymentFeatures","initKycPassport","getKycPassportInfo","shortcutExists","addShortcut","getAllUserAddresses","getUserPaymentFeatureSettings","getPaymentSettings","getTransactionInfo","getTransactions","getPayPayCardInfo","getExternalLinkageInformation","markAsReady","renderCoupons"],m=["init","createOrder","makePayment","render","logout","getAuthStatus","getUserProfile","getBalance","getUserAddress","getUAID","getCashbackInformation","renderCoupons","getLoginUrl","renderButton"],p="2.65.0",v=new URL("https://mini-app-sdk-core.paypay.ne.jp/"),h=v.origin,y=new URL(`./iframe.html?v=${p}&rev=a90df13`,v).href,w=new URL(`./coupon/iframe.html?v=${p}`,v).href;new URL(`./button/iframe.html?v=${p}`,v).href;const b="BAD_REQUEST_INSUFFICIENT_PARAMETER",S="UNKNOWN",E="SDK_NOT_INITIALIZED",I="TOKEN_NOT_FOUND",k="TOKEN_EXPIRED",C="AUTHORIZATION_NEEDED",P="ppjssdk.refreshToken";class O extends Error{constructor(e,t){super(e),this.errorCode=t}}const _=Object.freeze(Object.defineProperty({__proto__:null,getCookie:function({name:e}){return d.get(e)},getLocalStorage:function({name:e}){return localStorage.getItem(e)},getSessionStorage:function({name:e}){return sessionStorage.getItem(e)},getUrl:function(){return window.location.href},insertIframe:function(e){var{containerSelector:t,attributes:n}=e,a=n,{styles:i}=a,l=((e,t)=>{var n={};for(var a in e)r.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&o)for(var a of o(e))t.indexOf(a)<0&&s.call(e,a)&&(n[a]=e[a]);return n})(a,["styles"]);return new Promise(((e,n)=>{const o=document.querySelector(t);if(!o)return void n(new O(`Container with selector "${t}" not found.`,b));const r=document.createElement("iframe");r.onload=()=>{e(!0)},r.onerror=()=>{n(new O("Failed to load iframe.","NOT_REACHABLE"))},Object.assign(r.style,i),Object.entries(l).forEach((([e,t])=>{r.setAttribute(e,t)})),o.innerHTML="",o.appendChild(r)}))},removeCookie:function({name:e,options:t}){return d.remove(e,t)},removeElement:function({selector:e}){const t=document.querySelector(e);return!!t&&(t.remove(),!0)},removeLocalStorage:function({name:e}){return localStorage.removeItem(e)},removeQueryParametersFromUrl:function(e){const t=new URL(window.location.href);e.forEach((e=>t.searchParams.delete(e)));const n=t.toString().replace(t.origin,"");history.replaceState(history.state,"",n)},removeSessionStorage:function({name:e}){return sessionStorage.removeItem(e)},setCookie:function({name:e,value:t,options:n}){return d.set(e,t,n)},setLocalStorage:function({name:e,value:t}){return localStorage.setItem(e,t)},setSessionStorage:function({name:e,value:t}){return sessionStorage.setItem(e,t)},updateElementStyle:function({selector:e,styles:t}){const n=document.querySelector(e);return!!n&&(Object.assign(n.style,t),!0)}},Symbol.toStringTag,{value:"Module"})),R="success",A="fail",T="complete";var L=(e=>(e.MiniApp="MiniApp",e.SmartPayment="SmartPayment",e))(L||{});function N(e=6){const t=new Uint8Array(e);return crypto.getRandomValues(t),Array.from(t,(e=>(e%36).toString(36))).join("")}const U=e=>"object"!=typeof e||null===e?e:JSON.parse(JSON.stringify(e)),D=e=>{var t;const n=null==(t=e[0])?void 0:t.callbacks;return"object"==typeof n&&null!==n},x=e=>Object.keys(e).reduce(((e,t)=>(e[t]=!0,e)),{});class M{constructor(e,t,n=[],o){this.deferredPromises={},this.functions=e,this.allowedOrigins=t,this.middlewares=n,this.registeredCallbacks={},this.messageEventHandler=this.messageEventHandler.bind(this),this.errorLogger=o,this.subscribeToMessageEvent()}subscribeToMessageEvent(){window.addEventListener("message",this.messageEventHandler)}unsubscribeToMessageEvent(){window.removeEventListener("message",this.messageEventHandler)}messageEventHandler(e){var t;if(null==(t=e.data)?void 0:t.forWindowBridge)return this.allowedOrigins&&"request"===e.data.type&&!this.allowedOrigins.includes(e.origin)?this.sendErrorResponse(e,`${e.origin} is not allowed to make requests`,"ORIGIN_NOT_ALLOWED"):void("request"===e.data.type?this.handleRequest(e):"response"===e.data.type?this.handleResponse(e):"callback"===e.data.type&&this.handleCallback(e))}handleRequest(e){return c(this,null,(function*(){var t;const n=e.data.functionName,o=this.functions[n];o||this.sendErrorResponse(e,`Function '${n}' does not exists on the target window`,"FUNCTION_NOT_FOUND");const r=U(e.data.params);D(r)&&(r[0].callbacks=Object.keys(r[0].callbacks).reduce(((t,n)=>(t[n]=(...t)=>{this.invokeCallback(e,n,t)},t)),{}));try{this.sendSuccessResponse(e,yield function(e,t,n,o){let r=-1;const s=o=>c(this,null,(function*(){if(++r,r<e.length){const n=e[r];return yield n(t,o,s)}return n(...o)}));return s(o)}([...this.middlewares,...null!=(t=o.middlewares)?t:[]],e,o,r))}catch(s){let t="Some error occurred while processing the request",n=S;s instanceof O?(t=s.message,n=s.errorCode):console.error(s),this.sendErrorResponse(e,t,n)}}))}handleResponse(e){if(!this.deferredPromises[e.data.key])return void console.warn(`Promise for ${e.data.functionName} not found`);const[t,n]=this.deferredPromises[e.data.key];delete this.deferredPromises[e.data.key],"success"===e.data.status?t(e.data.result):(delete this.registeredCallbacks[e.data.key],n(new O(e.data.message,e.data.errorCode)))}handleCallback(e){var t;const{key:n,callbackName:o,args:r}=e.data,s=null==(t=this.registeredCallbacks[n])?void 0:t[o];s?s(...r):console.warn(`Callback with key ${n} and name ${o} not found.`)}sendErrorResponse(e,t,n){this.errorLogger&&this.errorLogger(e.data.functionName,t,n),this.sendResponse(e,{status:"failure",message:t,errorCode:n})}sendSuccessResponse(e,t){this.sendResponse(e,{status:"success",result:t})}sendResponse(e,t){this.sendMessage(e.source,e.origin,i({type:"response",key:e.data.key,functionName:e.data.functionName},t))}invokeCallback(e,t,n){this.sendMessage(e.source,e.origin,{type:"callback",key:e.data.key,functionName:e.data.functionName,callbackName:t,args:n})}sendMessage(e,t,n){e.postMessage(i({forWindowBridge:!0},U(n)),t)}sendRequest(e,t,n,o){const r=`${n}--${N()}`;return new Promise(((s,a)=>{this.deferredPromises[r]=[s,a],this.setupRequest(e,t,n,o,r).catch((e=>{delete this.deferredPromises[r],delete this.registeredCallbacks[r],a(new O(e.message,"MESSAGE_SENDING_FAILED"))}))}))}setupRequest(e,t,n,o,r){return c(this,null,(function*(){const s=yield e();if(!s)throw new Error("Target window is undefined");let a=o[0];if(D(o)){const e=o[0].callbacks;this.addFunctionCallbacks(r,e),a=l(i({},o[0]),{callbacks:x(e)})}this.sendMessage(s,t,{type:"request",key:r,functionName:n,params:[a]})}))}addFunctionCallbacks(e,t){Object.keys(t).forEach((e=>{if("function"!=typeof t[e])throw new Error(`Callback ${e} is not a function`)})),this.registeredCallbacks[e]=i({},t)}static init(e,t,n=[],o){if(this._instance)throw new Error("WindowBridge already initialized, you can't call WindowBridge.init more than once");return this._instance=new this(e,t,n,o),this._instance}static destroy(){this._instance&&(this._instance.unsubscribeToMessageEvent(),this._instance=void 0)}static getBridge(){if(!this._instance)throw new Error("WindowBridge not initialized, please call WindowBridge.init before calling WindowBridge.getBridge");return this._instance}static getTargetWindowFunctionProxy(e,t){return M.getBridge().getTargetWindowFunctionProxy(e,t)}getTargetWindowFunctionProxy(e,t){return new Proxy(this,{get:(n,o)=>(...r)=>n.sendRequest(e,t,o.toString(),r)})}}const F="ppmna-iframe",B="ppsdk-container";let $;function j(){return $||($=function(){if(document.getElementById(F))return;const e=document.createElement("div");return document.createElement("div"),e.setAttribute("id",B),e.setAttribute("class",B),e.style.all="initial",e.style.display="none",e.style.position="fixed",e.style.width="100%",e.style.height="100%",e.style.top="0",e.style.left="0",e.style.zIndex="2147483637",document.body.appendChild(e),e}()),$}let W,q=!1,K=null;function H(e){const t=j();t&&(t.style.display=e?"initial":"none",e?null!==K||q||(K=document.body.style.overflow,document.body.style.overflow="hidden"):null!==K&&(document.body.style.overflow=K,K=null))}function J(){return W||(W=new Promise(((e,t)=>{function n(){const n=document.createElement("iframe");n.setAttribute("src",y),n.setAttribute("name",F),n.setAttribute("id",F),n.setAttribute("class",F),n.setAttribute("allow","geolocation"),n.onload=()=>{e(n),n.onerror=null},n.onerror=t,n.style.all="initial",n.style.width="100%",n.style.height="100%",n.style.border="none";const o=j();o&&(o.innerHTML="",o.append(n))}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",(()=>{n()})):n()}))),W}M.init(_,[h]);const z=M.getTargetWindowFunctionProxy((function(){return J().then((e=>null==e?void 0:e.contentWindow)).catch((()=>null))}),h);function G(e,t,n){const o=N(),r=n=>{V(n.origin)&&n.data.name===e&&n.data.messageId===o&&function(e,t,n){var o,r,s;e.result===A&&(null==(o=null==t?void 0:t.fail)||o.call(t,e.data)),e.result===R&&(null==(r=null==t?void 0:t.success)||r.call(t,null==e?void 0:e.data)),e.result===T&&(null==(s=null==t?void 0:t.complete)||s.call(t),removeEventListener("message",n))}(n.data,t,r)};addEventListener("message",r),function(e){c(this,null,(function*(){var t;const n=yield J().catch((()=>{}));null==(t=null==n?void 0:n.contentWindow)||t.postMessage(JSON.parse(JSON.stringify(e)),h)}))}({name:e,params:n,messageId:o})}function V(e){return e===h}function Z(e){return f.includes(e)}function Q(e){return m.includes(e)}function X(e,t,n){return function(o={}){const r=null==n?void 0:n(o);z.logEvent(i({event_action:`pp_${e}_called`,event_category_suffix:e},r));const s=t(o);return s.then((t=>{var n;z.logEvent(i({event_action:`pp_${e}_success`,event_category_suffix:e},r)),null==(n=o.success)||n.call(o,t)})).catch((t=>{var n;console.error(t.message),z.logEvent(i({event_action:`pp_${e}_fail`,event_category_suffix:e,error_value:t.errorCode},r)),null==(n=o.fail)||n.call(o,{errorCode:t.errorCode})})).finally((()=>{var e;null==(e=o.complete)||e.call(o)})),s}}const Y={[E]:C,[I]:C,[k]:k};let ee,te;J(),te=Promise.resolve(!1);function ne(e){const t=function(e,t){if(t){const t=localStorage.getItem(`${P}.${e}`);if(t)return t}return d.get(`${P}.${e}`)||d.get(P)||""}(e.clientId,e.useLocalStorage),n=l(i({},e),{refreshToken:t,clientVersion:"2.65.0",clientSdkType:ee,clientUrl:window.location.href});var o;let r;null!=e.disableBackgroundScrollLock&&(o=!!e.disableBackgroundScrollLock,q=o);const s=new Promise((e=>r=e)),a=()=>{var t;r(!0),null==(t=e.complete)||t.call(e)};te.then((()=>J())).then((()=>{G("init",l(i({},e),{complete:a}),n)})).catch((()=>{var t;null==(t=e.fail)||t.call(e,{errorCode:E}),a()})),te=s}addEventListener("message",(e=>{var t;if(!(null==(t=e.data)?void 0:t.forWindowBridge)&&V(e.origin))if("reload"===e.data.name&&window.location.reload(),"makeVisible"!==e.data.name)if("showIframe"!==e.data.name)if("hideIframe"!==e.data.name){if("link"===e.data.name){const t=e.data.data;"_blank"===t.target?window.open(t.url,"_blank"):window.location.href=t.url}if("consoleDebugInfo"===e.data.name){const{params:t}=e.data.data;!function(e){console.debug(...e)}(t)}}else H(!1);else H(!0);else H(!0)})),addEventListener("popstate",(()=>{J().then((e=>{var t;const n={name:"clientPopState"};null==(t=null==e?void 0:e.contentWindow)||t.postMessage(n,h)})).catch((e=>console.warn(e)))}));var oe;oe={_handleMessageFromNative:e=>{J().then((t=>{var n;null==(n=null==t?void 0:t.contentWindow)||n.postMessage(JSON.parse(JSON.stringify({name:"handleMessageFromNative",params:{json:e}})),h)}))}},(!window.hasOwnProperty(g)||window[g]!==oe)&&(window[g]=oe);const re=["init","setTitle","copyToClipboard","getSessionData","setSessionData","getStorageData","setStorageData","removeStorageData","getLoginUrl"],se=["renderCoupons"];const ae={version:"2.65.0",revision:"a90df13"};X("getLoginUrl",z.getLoginUrl);const ie=X("getPaymentSettings",z.getPaymentSettings),le=X("markAsReady",z.markAsReady);X("renderButton",z.renderButton);var ce=(e=>(e.validToken="TOKEN_VALID",e.initialized="INITIALIZED",e.emailRegistered="EMAIL_REGISTERED",e.emailNotVerified="EMAIL_NOT_VERIFIED",e.success="SUCCESS",e.loggedOut="LOGGED_OUT",e.connected="CONNECTED",e))(ce||{});const ue=X("logout",(()=>c(this,null,(function*(){return yield z.logout(),{statusCode:ce.loggedOut}}))));const de={verifyMultiFactorAuthResult:function(e){const t=new URL(window.location.href);G("verifyMultiFactorAuthResult",e,l(i({},e),{sessionId:t.searchParams.get("ppSessionId")}))},share:function(e){if(!(null==navigator?void 0:navigator.share))return void G("share",e,e);const t={text:null==e?void 0:e.text};navigator.share(t).then((()=>{var t,n;null==(t=null==e?void 0:e.success)||t.call(e),null==(n=null==e?void 0:e.complete)||n.call(e)})).catch((()=>{var t,n;null==(t=null==e?void 0:e.fail)||t.call(e,{errorCode:S}),null==(n=null==e?void 0:e.complete)||n.call(e)}))},setTitle:function(e){var t,n,o;document.title=null!=(t=null==e?void 0:e.title)?t:"",null==(n=null==e?void 0:e.success)||n.call(e),null==(o=null==e?void 0:e.complete)||o.call(e)},renderCoupons:X("renderCoupons",(e=>c(this,null,(function*(){const{merchant:t,couponId:n,containerId:o,postLoginRedirectUrl:r=window.location.href,postLoginRedirectType:s,locale:a}=e,i=document.getElementById(o);if(!i)throw new O("Invalid coupon container Id",b);const l=yield z.fetchCoupons({merchantId:t,couponId:n,postLoginRedirectUrl:r,postLoginRedirectType:s});try{const e=document.createElement("iframe");e.src=w,e.style.cssText="width:100%;height: 0;border: none;transition: height 300ms ease-in;display: block;",yield new Promise(((t,n)=>{e.onload=()=>t(!0),e.onerror=()=>n(new Error("Failed to load coupon iframe")),i.innerHTML="",i.append(e)})),e.onload=null,e.onerror=null,window.addEventListener("message",(({data:t,source:n})=>{"update-iframe-height"===(null==t?void 0:t.eventName)&&e.contentWindow===n&&(e.style.height=`${t.height}px`)}));const n=M.getTargetWindowFunctionProxy((()=>e.contentWindow),h);yield n.renderCoupons({coupons:l,merchantId:t,locale:a,postLoginRedirectUrl:r,postLoginRedirectType:s})}catch(c){throw new O(`An error occurred while displaying coupons, merchantId=${t}, couponId=${n}, error=${c}`,S)}}))),(e=>({event_label2:e.couponId,merchant_id:e.merchant}))),scanCode:function(e){var t;G("scanCode",e,l(i({},e),{redirectUrlOnCancel:null!=(t=null==e?void 0:e.redirectUrlOnCancel)?t:window.location.href}))},copyToClipboard:function(e){var t,n,o;const r=document.createElement("textarea");r.setAttribute("readonly","true"),r.setAttribute("contenteditable","true"),r.value=e.value,document.body.appendChild(r),r.select(),r.setSelectionRange(0,r.value.length);const s=document.execCommand("copy");document.body.removeChild(r),s?null==(t=null==e?void 0:e.success)||t.call(e):null==(n=null==e?void 0:e.fail)||n.call(e,{errorCode:"other"}),null==(o=e.complete)||o.call(e)},getSessionData:function(e){var t,n;const o=sessionStorage.getItem(null==e?void 0:e.key);null==(t=null==e?void 0:e.success)||t.call(e,{[null==e?void 0:e.key]:null!=o?o:""}),null==(n=null==e?void 0:e.complete)||n.call(e)},setSessionData:function(e){var t,n,o;sessionStorage.setItem(null==e?void 0:e.key,null!=(t=null==e?void 0:e.value)?t:""),null==(n=null==e?void 0:e.success)||n.call(e),null==(o=null==e?void 0:e.complete)||o.call(e)},getStorageData:function(e){var t,n;const o=localStorage.getItem(null==e?void 0:e.key);null==(t=null==e?void 0:e.success)||t.call(e,{[null==e?void 0:e.key]:null!=o?o:""}),null==(n=null==e?void 0:e.complete)||n.call(e)},setStorageData:function(e){var t,n,o;localStorage.setItem(null==e?void 0:e.key,null!=(t=null==e?void 0:e.value)?t:""),null==(n=null==e?void 0:e.success)||n.call(e),null==(o=null==e?void 0:e.complete)||o.call(e)},removeStorageData:function(e){var t,n;localStorage.removeItem(null==e?void 0:e.key),null==(t=null==e?void 0:e.success)||t.call(e),null==(n=null==e?void 0:e.complete)||n.call(e)},getKycPassportInfo:function(e){const t=window.location.href;G("getKycPassportInfo",e,l(i({},e),{url:t}))},logout:ue,getPaymentSettings:ie,markAsReady:le};return function({sdkType:e,clientFunctions:t}){ee=e;const n=e===L.MiniApp?Z:Q,o=new Proxy(l(i({},t),{init:ne}),{get(t,o){if(o in ae)return ae[o];const r=o;if(!n(r))throw new Error(`${r} is not supported by ${e} JS SDK`);return function(e,t){return(n={})=>{const o=new Promise(((o,r)=>{let s,a;e(l(i({},n),{success:e=>{var t;a=e,null==(t=n.success)||t.call(n,e)},fail:e=>{var o;"init"===t&&Y[e.errorCode]?a={statusCode:Y[e.errorCode]}:s=e,null==(o=n.fail)||o.call(n,e)},complete:()=>{var e;s?r(s):o(a),null==(e=n.complete)||e.call(n)}}))}));return n.fail&&o.catch((()=>{})),o}}((function(e){return c(this,null,(function*(){var n,s;if(!re.includes(r)&&!(yield te)){if(!se.includes(r)||!function(e){return void 0!==e.clientId}(e))return null==(n=e.fail)||n.call(e,{errorCode:E}),void(null==(s=e.complete)||s.call(e));ne({clientId:e.clientId,env:e.env}),yield te}const a=t[r];if(a&&"function"==typeof a)return a(e);G(o,e,e)}))}),r)}});return window._pp=o,function(e){const t=window._ppcs;if(t){window._ppcs=void 0;for(const[n,o,r]of t){const t=e[n](o);r&&r(t)}}}(o),o}({sdkType:L.MiniApp,clientFunctions:de})}();
@@ -221,8 +221,8 @@ const smartPaymentSupportedFunctions = [
221
221
  "getLoginUrl",
222
222
  "renderButton"
223
223
  ];
224
- const JS_SDK_VERSION = "2.64.0";
225
- const REVISION = "ad03932";
224
+ const JS_SDK_VERSION = "2.65.0";
225
+ const REVISION = "a90df13";
226
226
  const coreBaseUrl = new URL("https://mini-app-sdk-core.paypay.ne.jp/");
227
227
  const CORE_IFRAME_ORIGIN = coreBaseUrl.origin;
228
228
  const CORE_IFRAME_URL = new URL(
@@ -591,37 +591,45 @@ class WindowBridge {
591
591
  );
592
592
  }
593
593
  sendRequest(getTargetWindow, targetWindowOrigin, functionName, params) {
594
- return new Promise((resolve, reject) => __async(this, null, function* () {
595
- const key = `${functionName}--${getRandomString()}`;
596
- try {
597
- const targetWindow = yield getTargetWindow();
598
- if (!targetWindow) {
599
- throw new Error("Target window is undefined");
600
- }
601
- let messageParams = params[0];
602
- if (hasCallbacks(params)) {
603
- const callbacks = params[0].callbacks;
604
- this.addFunctionCallbacks(key, callbacks);
605
- messageParams = __spreadProps(__spreadValues({}, params[0]), {
606
- // Convert callbacks to a format that can be sent over postMessage
607
- callbacks: getCallbacksPlaceholder(callbacks)
608
- });
609
- }
610
- this.deferredPromises[key] = [resolve, reject];
611
- this.sendMessage(targetWindow, targetWindowOrigin, {
612
- type: "request",
613
- key,
614
- functionName,
615
- params: [messageParams]
616
- });
617
- } catch (error) {
594
+ const key = `${functionName}--${getRandomString()}`;
595
+ return new Promise((resolve, reject) => {
596
+ this.deferredPromises[key] = [resolve, reject];
597
+ this.setupRequest(
598
+ getTargetWindow,
599
+ targetWindowOrigin,
600
+ functionName,
601
+ params,
602
+ key
603
+ ).catch((error) => {
618
604
  delete this.deferredPromises[key];
619
605
  delete this.registeredCallbacks[key];
620
606
  reject(
621
607
  new PPError(error.message, messageSendingFailed)
622
608
  );
609
+ });
610
+ });
611
+ }
612
+ setupRequest(getTargetWindow, targetWindowOrigin, functionName, params, key) {
613
+ return __async(this, null, function* () {
614
+ const targetWindow = yield getTargetWindow();
615
+ if (!targetWindow) {
616
+ throw new Error("Target window is undefined");
623
617
  }
624
- }));
618
+ let messageParams = params[0];
619
+ if (hasCallbacks(params)) {
620
+ const callbacks = params[0].callbacks;
621
+ this.addFunctionCallbacks(key, callbacks);
622
+ messageParams = __spreadProps(__spreadValues({}, params[0]), {
623
+ callbacks: getCallbacksPlaceholder(callbacks)
624
+ });
625
+ }
626
+ this.sendMessage(targetWindow, targetWindowOrigin, {
627
+ type: "request",
628
+ key,
629
+ functionName,
630
+ params: [messageParams]
631
+ });
632
+ });
625
633
  }
626
634
  addFunctionCallbacks(key, callbacks) {
627
635
  Object.keys(callbacks).forEach((callbackName) => {
@@ -1012,9 +1020,8 @@ addEventListener("popstate", () => {
1012
1020
  }).catch((error) => console.warn(error));
1013
1021
  });
1014
1022
  function init(params) {
1015
- const isMiniApp = clientSdkType === SdkType.MiniApp;
1016
- const refreshToken2 = isMiniApp ? getRefreshToken(params.clientId, params.useLocalStorage) : "";
1017
- const clientVersion = "2.64.0";
1023
+ const refreshToken2 = getRefreshToken(params.clientId, params.useLocalStorage);
1024
+ const clientVersion = "2.65.0";
1018
1025
  const initParams = __spreadProps(__spreadValues({}, params), {
1019
1026
  refreshToken: refreshToken2,
1020
1027
  clientVersion,
@@ -1091,8 +1098,8 @@ function executePendingFunctionCalls(client2) {
1091
1098
  }
1092
1099
  }
1093
1100
  const clientProperties = {
1094
- version: "2.64.0",
1095
- revision: "ad03932"
1101
+ version: "2.65.0",
1102
+ revision: "a90df13"
1096
1103
  };
1097
1104
  function isInitClientParams(params) {
1098
1105
  return params.clientId !== void 0;
package/dist/types.d.ts CHANGED
@@ -387,7 +387,7 @@ export declare type SaveCodeVerifierOption = {
387
387
  codeVerifier: string;
388
388
  domain: string;
389
389
  isSecure: boolean;
390
- expires?: number | Date | undefined;
390
+ expires?: number | Date;
391
391
  };
392
392
  export declare type ClientJsBridge = {
393
393
  _handleMessageFromNative: (json: NativeResponse) => void;
@@ -66,6 +66,8 @@ export declare function hasOmittedPrimaryButton(params: {
66
66
  export declare function checkPrimaryButtonNotPresent(buttonList: UIComponentsErrorButton[] | undefined): boolean;
67
67
  export declare function getFailErrorCode(ppFetchResult: Exclude<PPFetchResult<unknown>['ppFetchResult'], 'success'>): "TIME_OUT" | "SERVER_ERROR" | "TOKEN_EXPIRED" | "NOT_AUTHORIZED" | "RATE_LIMIT_EXCEEDED" | "MAINTENANCE_MODE";
68
68
  export declare function getStoreUrl(): "https://play.google.com/store/apps/details?id=jp.ne.paypay.android.app" | "https://itunes.apple.com/app/id1435783608";
69
+ export declare function generateCodeVerifier(length?: number): string;
70
+ export declare function generateCodeChallenge(codeVerifier: string): Promise<string>;
69
71
  export declare function sha256Hex(text: string): Promise<string>;
70
72
  export declare function openUrl(linkUrl: string): void;
71
73
  export declare function getButtonType(button: UIComponentsErrorButton | ErrorSheetButton, primary?: boolean): "success" | "default" | "link" | "primary" | "warning" | "danger" | "outLined";
@@ -36,11 +36,11 @@ export declare type WindowBridgeFunctions<T extends FunctionsCollection> = {
36
36
  export declare class WindowBridge {
37
37
  private static _instance?;
38
38
  private deferredPromises;
39
- private functions;
40
- private allowedOrigins?;
41
- private middlewares;
39
+ private readonly functions;
40
+ private readonly allowedOrigins?;
41
+ private readonly middlewares;
42
42
  private registeredCallbacks;
43
- private errorLogger?;
43
+ private readonly errorLogger?;
44
44
  private constructor();
45
45
  private subscribeToMessageEvent;
46
46
  private unsubscribeToMessageEvent;
@@ -54,6 +54,7 @@ export declare class WindowBridge {
54
54
  private invokeCallback;
55
55
  private sendMessage;
56
56
  private sendRequest;
57
+ private setupRequest;
57
58
  private addFunctionCallbacks;
58
59
  static init(functions: FunctionsCollection, allowedOrigins?: Array<string>, middlewares?: Array<Middleware>, errorLogger?: ErrorLogger): WindowBridge;
59
60
  static destroy(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paypay/mini-app-js-sdk",
3
- "version": "2.64.0",
3
+ "version": "2.65.0",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "build": "yarn build:client && yarn build:core",