{"version":3,"sources":["webpack:///./node_modules/@capacitor-community/stripe/dist/esm/shared/platform.js","webpack:///./node_modules/@capacitor-community/stripe/dist/esm/web.js"],"names":["getPlatforms","win","setupPlatforms","isPlatform","winOrPlatform","platform","undefined","includes","window","Ionic","platforms","detectPlatforms","forEach","p","document","documentElement","classList","add","Object","keys","PLATFORMS_MAP","filter","isMobileWeb","isMobile","isHybrid","isIpad","testUserAgent","isIphone","isIOS","isAndroid","isAndroidTablet","isPhablet","width","innerWidth","height","innerHeight","smallest","Math","min","largest","max","isTablet","matchMedia","isDesktop","isCordova","isCapacitorNative","capacitor","isNative","isElectron","isPWA","matches","navigator","standalone","expr","test","userAgent","query","super","name","options","publishableKey","trim","length","Error","this","stripeAccount","_options","_a","paymentSheet","createElement","querySelector","appendChild","customElements","whenDefined","applicationName","intentClientSecret","paymentIntentClientSecret","intentType","withZipCode","zip","notifyListeners","Loaded","FailedToLoad","props","present","Canceled","paymentResult","detail","stripe","cardNumberElement","result","createPaymentMethod","type","card","updateProgress","remove","error","Failed","Completed","hasOwnProperty","setupIntentClientSecret","buttonLabel","sheetTitle","Opened","catch","token","createToken","flowStripe","flowCardNumberElement","Created","cardNumber","last4","isAvailable","createApplePayOption","requestApplePay","createPaymentRequestButton","requestApplePayOptions","presentPaymentRequestButton","createGooglePayOption","requestGooglePay","requestGooglePayOptions","requestButton","id","finally","requestButtonOptions","EventsEnum","Promise","async","resolve","setPaymentRequestOption","country","countryCode","toUpperCase","currency","toLowerCase","total","paymentSummaryItems","disableWallets","requestPayerName","requestPayerEmail","setPaymentMethodEventHandler","event","paymentIntent","confirmError","confirmCardPayment","payment_method","paymentMethod","handleActions","complete","status","initStripe","showButton"],"mappings":"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","file":"js/chunk-2d0cb6d4.cf22014e.js","sourcesContent":["/**\n * @url https://github.com/ionic-team/ionic-framework/blob/main/core/src/utils/platform.ts\n * So `@typescript-eslint/no-explicit-any` `@typescript-eslint/no-non-null-assertion` is disabled here\n */\nexport const getPlatforms = (win) => setupPlatforms(win);\nexport const isPlatform = (winOrPlatform, platform) => {\n if (typeof winOrPlatform === 'string') {\n platform = winOrPlatform;\n winOrPlatform = undefined;\n }\n return getPlatforms(winOrPlatform).includes(platform);\n};\nexport const setupPlatforms = (win = window) => {\n if (typeof win === 'undefined') {\n return [];\n }\n win.Ionic = win.Ionic || {};\n let platforms = win.Ionic.platforms;\n if (platforms == null) {\n platforms = win.Ionic.platforms = detectPlatforms(win);\n platforms.forEach(p => win.document.documentElement.classList.add(`plt-${p}`));\n }\n return platforms;\n};\nconst detectPlatforms = (win) => Object.keys(PLATFORMS_MAP).filter(p => PLATFORMS_MAP[p](win));\nconst isMobileWeb = (win) => isMobile(win) && !isHybrid(win);\nconst isIpad = (win) => {\n // iOS 12 and below\n if (testUserAgent(win, /iPad/i)) {\n return true;\n }\n // iOS 13+\n if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {\n return true;\n }\n return false;\n};\nconst isIphone = (win) => testUserAgent(win, /iPhone/i);\nconst isIOS = (win) => testUserAgent(win, /iPhone|iPod/i) || isIpad(win);\nconst isAndroid = (win) => testUserAgent(win, /android|sink/i);\nconst isAndroidTablet = (win) => {\n return isAndroid(win) && !testUserAgent(win, /mobile/i);\n};\nconst isPhablet = (win) => {\n const width = win.innerWidth;\n const height = win.innerHeight;\n const smallest = Math.min(width, height);\n const largest = Math.max(width, height);\n return (smallest > 390 && smallest < 520) &&\n (largest > 620 && largest < 800);\n};\nconst isTablet = (win) => {\n const width = win.innerWidth;\n const height = win.innerHeight;\n const smallest = Math.min(width, height);\n const largest = Math.max(width, height);\n return (isIpad(win) ||\n isAndroidTablet(win) ||\n ((smallest > 460 && smallest < 820) &&\n (largest > 780 && largest < 1400)));\n};\nconst isMobile = (win) => matchMedia(win, '(any-pointer:coarse)');\nconst isDesktop = (win) => !isMobile(win);\nconst isHybrid = (win) => isCordova(win) || isCapacitorNative(win);\nconst isCordova = (win) => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);\nconst isCapacitorNative = (win) => {\n const capacitor = win['Capacitor'];\n return !!(capacitor === null || capacitor === void 0 ? void 0 : capacitor.isNative);\n};\nconst isElectron = (win) => testUserAgent(win, /electron/i);\nconst isPWA = (win) => !!(win.matchMedia('(display-mode: standalone)').matches || win.navigator.standalone);\nexport const testUserAgent = (win, expr) => expr.test(win.navigator.userAgent);\nconst matchMedia = (win, query) => win.matchMedia(query).matches;\nconst PLATFORMS_MAP = {\n 'ipad': isIpad,\n 'iphone': isIphone,\n 'ios': isIOS,\n 'android': isAndroid,\n 'phablet': isPhablet,\n 'tablet': isTablet,\n 'cordova': isCordova,\n 'capacitor': isCapacitorNative,\n 'electron': isElectron,\n 'pwa': isPWA,\n 'mobile': isMobile,\n 'mobileweb': isMobileWeb,\n 'desktop': isDesktop,\n 'hybrid': isHybrid\n};\n//# sourceMappingURL=platform.js.map","import { WebPlugin } from '@capacitor/core';\nimport { ApplePayEventsEnum, GooglePayEventsEnum, PaymentFlowEventsEnum, PaymentSheetEventsEnum } from './definitions';\nimport { isPlatform } from './shared/platform';\nexport class StripeWeb extends WebPlugin {\n constructor() {\n super({\n name: 'Stripe',\n platforms: ['web'],\n });\n }\n async initialize(options) {\n if (typeof options.publishableKey !== 'string' || options.publishableKey.trim().length === 0) {\n throw new Error('you must provide a valid key');\n }\n this.publishableKey = options.publishableKey;\n if (options.stripeAccount) {\n this.stripeAccount = options.stripeAccount;\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async createIdentityVerificationSheet(_options) {\n // TODO: what is web.ts for?\n }\n presentIdentityVerificationSheet() {\n throw new Error('Method not implemented.');\n }\n async createPaymentSheet(options) {\n var _a;\n if (!this.publishableKey) {\n this.notifyListeners(PaymentSheetEventsEnum.FailedToLoad, null);\n return;\n }\n this.paymentSheet = document.createElement('stripe-payment-sheet');\n (_a = document.querySelector('body')) === null || _a === void 0 ? void 0 : _a.appendChild(this.paymentSheet);\n await customElements.whenDefined('stripe-payment-sheet');\n this.paymentSheet.publishableKey = this.publishableKey;\n if (this.stripeAccount) {\n this.paymentSheet.stripeAccount = this.stripeAccount;\n }\n this.paymentSheet.applicationName = '@capacitor-community/stripe';\n this.paymentSheet.intentClientSecret = options.paymentIntentClientSecret;\n this.paymentSheet.intentType = 'payment';\n if (options.withZipCode !== undefined) {\n this.paymentSheet.zip = options.withZipCode;\n }\n this.notifyListeners(PaymentSheetEventsEnum.Loaded, null);\n }\n async presentPaymentSheet() {\n if (!this.paymentSheet) {\n throw new Error();\n }\n const props = await this.paymentSheet.present();\n if (props === undefined) {\n this.notifyListeners(PaymentSheetEventsEnum.Canceled, null);\n return {\n paymentResult: PaymentSheetEventsEnum.Canceled,\n };\n }\n const { detail: { stripe, cardNumberElement }, } = props;\n const result = await stripe.createPaymentMethod({\n type: 'card',\n card: cardNumberElement,\n });\n this.paymentSheet.updateProgress('success');\n this.paymentSheet.remove();\n if (result.error !== undefined) {\n this.notifyListeners(PaymentSheetEventsEnum.Failed, null);\n return {\n paymentResult: PaymentSheetEventsEnum.Failed,\n };\n }\n this.notifyListeners(PaymentSheetEventsEnum.Completed, null);\n return {\n paymentResult: PaymentSheetEventsEnum.Completed,\n };\n }\n async createPaymentFlow(options) {\n var _a;\n if (!this.publishableKey) {\n this.notifyListeners(PaymentFlowEventsEnum.FailedToLoad, null);\n return;\n }\n this.paymentSheet = document.createElement('stripe-payment-sheet');\n (_a = document.querySelector('body')) === null || _a === void 0 ? void 0 : _a.appendChild(this.paymentSheet);\n await customElements.whenDefined('stripe-payment-sheet');\n this.paymentSheet.publishableKey = this.publishableKey;\n if (this.stripeAccount) {\n this.paymentSheet.stripeAccount = this.stripeAccount;\n }\n this.paymentSheet.applicationName = '@capacitor-community/stripe';\n // eslint-disable-next-line no-prototype-builtins\n if (options.hasOwnProperty('paymentIntentClientSecret')) {\n this.paymentSheet.intentType = 'payment';\n this.paymentSheet.intentClientSecret = options.paymentIntentClientSecret;\n }\n else {\n this.paymentSheet.intentType = 'setup';\n this.paymentSheet.intentClientSecret = options.setupIntentClientSecret;\n }\n if (options.withZipCode !== undefined) {\n this.paymentSheet.zip = options.withZipCode;\n }\n if (isPlatform(window, 'ios')) {\n this.paymentSheet.buttonLabel = 'Add card';\n this.paymentSheet.sheetTitle = 'Add a card';\n }\n else {\n this.paymentSheet.buttonLabel = 'Add';\n }\n this.notifyListeners(PaymentFlowEventsEnum.Loaded, null);\n }\n async presentPaymentFlow() {\n if (!this.paymentSheet) {\n throw new Error();\n }\n this.notifyListeners(PaymentFlowEventsEnum.Opened, null);\n const props = await this.paymentSheet.present().catch(() => undefined);\n if (props === undefined) {\n this.notifyListeners(PaymentFlowEventsEnum.Canceled, null);\n throw new Error();\n }\n const { detail: { stripe, cardNumberElement }, } = props;\n const { token } = await stripe.createToken(cardNumberElement);\n if (token === undefined || token.card === undefined) {\n throw new Error();\n }\n this.flowStripe = stripe;\n this.flowCardNumberElement = cardNumberElement;\n this.notifyListeners(PaymentFlowEventsEnum.Created, {\n cardNumber: token.card.last4,\n });\n return {\n cardNumber: token.card.last4,\n };\n }\n async confirmPaymentFlow() {\n if (!this.paymentSheet || !this.flowStripe || !this.flowCardNumberElement) {\n throw new Error();\n }\n const result = await this.flowStripe.createPaymentMethod({\n type: 'card',\n card: this.flowCardNumberElement,\n });\n if (result.error !== undefined) {\n this.notifyListeners(PaymentFlowEventsEnum.Failed, null);\n }\n this.paymentSheet.updateProgress('success');\n this.paymentSheet.remove();\n this.notifyListeners(PaymentFlowEventsEnum.Completed, null);\n return {\n paymentResult: PaymentFlowEventsEnum.Completed,\n };\n }\n isApplePayAvailable() {\n return this.isAvailable('applePay');\n }\n async createApplePay(createApplePayOption) {\n if (!this.publishableKey) {\n this.notifyListeners(ApplePayEventsEnum.FailedToLoad, null);\n return;\n }\n this.requestApplePay = await this.createPaymentRequestButton();\n this.requestApplePayOptions = createApplePayOption;\n this.notifyListeners(ApplePayEventsEnum.Loaded, null);\n }\n presentApplePay() {\n return this.presentPaymentRequestButton('applePay', this.requestApplePay, this.requestApplePayOptions, ApplePayEventsEnum);\n }\n isGooglePayAvailable() {\n return this.isAvailable('googlePay');\n }\n async createGooglePay(createGooglePayOption) {\n if (!this.publishableKey) {\n this.notifyListeners(GooglePayEventsEnum.FailedToLoad, null);\n return;\n }\n this.requestGooglePay = await this.createPaymentRequestButton();\n this.requestGooglePayOptions = createGooglePayOption;\n this.notifyListeners(GooglePayEventsEnum.Loaded, null);\n }\n presentGooglePay() {\n return this.presentPaymentRequestButton('googlePay', this.requestGooglePay, this.requestGooglePayOptions, GooglePayEventsEnum);\n }\n async isAvailable(type) {\n var _a;\n const requestButton = document.createElement('stripe-payment-request-button');\n requestButton.id = `isAvailable-${type}`;\n (_a = document.querySelector('body')) === null || _a === void 0 ? void 0 : _a.appendChild(requestButton);\n await customElements.whenDefined('stripe-payment-request-button');\n if (this.publishableKey) {\n requestButton.publishableKey = this.publishableKey;\n }\n if (this.stripeAccount) {\n requestButton.stripeAccount = this.stripeAccount;\n }\n requestButton.applicationName = '@capacitor-community/stripe';\n return await requestButton.isAvailable(type).finally(() => requestButton.remove());\n }\n async createPaymentRequestButton() {\n var _a;\n const requestButton = document.createElement('stripe-payment-request-button');\n (_a = document.querySelector('body')) === null || _a === void 0 ? void 0 : _a.appendChild(requestButton);\n await customElements.whenDefined('stripe-payment-request-button');\n if (this.publishableKey) {\n requestButton.publishableKey = this.publishableKey;\n }\n if (this.stripeAccount) {\n requestButton.stripeAccount = this.stripeAccount;\n }\n requestButton.applicationName = '@capacitor-community/stripe';\n return requestButton;\n }\n async presentPaymentRequestButton(type, requestButton, requestButtonOptions, EventsEnum) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve) => {\n if (requestButton === undefined || requestButtonOptions === undefined || this.publishableKey === undefined) {\n this.notifyListeners(EventsEnum.Failed, null);\n return resolve({\n paymentResult: EventsEnum.Failed,\n });\n }\n await requestButton.setPaymentRequestOption({\n country: requestButtonOptions.countryCode.toUpperCase(),\n currency: requestButtonOptions.currency.toLowerCase(),\n total: requestButtonOptions.paymentSummaryItems[requestButtonOptions.paymentSummaryItems.length - 1],\n disableWallets: type === 'applePay' ? ['googlePay', 'browserCard'] : ['applePay', 'browserCard'],\n requestPayerName: true,\n requestPayerEmail: true,\n });\n // await this.requestButton.setPaymentRequestShippingAddressEventHandler(async (event, stripe) => {});\n const intentClientSecret = requestButtonOptions.paymentIntentClientSecret;\n await requestButton.setPaymentMethodEventHandler(async (event, stripe) => {\n const { paymentIntent, error: confirmError } = await stripe.confirmCardPayment(intentClientSecret, {\n payment_method: event.paymentMethod.id,\n }, { handleActions: false });\n if (confirmError) {\n event.complete('fail');\n this.notifyListeners(EventsEnum.Failed, confirmError);\n return resolve({\n paymentResult: EventsEnum.Failed,\n });\n }\n if ((paymentIntent === null || paymentIntent === void 0 ? void 0 : paymentIntent.status) === 'requires_action') {\n const { error: confirmError } = await stripe.confirmCardPayment(intentClientSecret);\n if (confirmError) {\n event.complete('fail');\n this.notifyListeners(EventsEnum.Failed, confirmError);\n return resolve({\n paymentResult: EventsEnum.Failed,\n });\n }\n }\n event.complete('success');\n this.notifyListeners(EventsEnum.Completed, null);\n return resolve({\n paymentResult: EventsEnum.Completed,\n });\n });\n await requestButton.initStripe(this.publishableKey, {\n stripeAccount: this.stripeAccount,\n showButton: false,\n });\n });\n }\n}\n//# sourceMappingURL=web.js.map"],"sourceRoot":""}