@adyen/adyen-web 6.29.0 → 6.31.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.
- package/dist/cjs/adyen.css +8 -9
- package/dist/cjs/adyen.css.map +1 -1
- package/dist/cjs/index.cjs +2 -2
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +705 -641
- package/dist/es/adyen.css +8 -9
- package/dist/es/adyen.css.map +1 -1
- package/dist/es/components/ANCV/ANCV.js.map +1 -1
- package/dist/es/components/Ach/Ach.js +1 -1
- package/dist/es/components/Ach/Ach.js.map +1 -1
- package/dist/es/components/Ach/components/AccountTypeSelector.js.map +1 -1
- package/dist/es/components/Ach/components/AchComponent.js.map +1 -1
- package/dist/es/components/Affirm/Affirm.js.map +1 -1
- package/dist/es/components/AfterPay/AfterPay.js.map +1 -1
- package/dist/es/components/AfterPay/AfterPayB2B.js.map +1 -1
- package/dist/es/components/AmazonPay/components/AmazonPayButton.js +1 -1
- package/dist/es/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
- package/dist/es/components/AmazonPay/components/AmazonPayComponent.js +1 -1
- package/dist/es/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
- package/dist/es/components/AmazonPay/components/OrderButton.js +1 -1
- package/dist/es/components/AmazonPay/components/OrderButton.js.map +1 -1
- package/dist/es/components/AmazonPay/utils.js +1 -1
- package/dist/es/components/AmazonPay/utils.js.map +1 -1
- package/dist/es/components/ApplePay/ApplePay.js.map +1 -1
- package/dist/es/components/ApplePay/services/ApplePaySdkLoader.js.map +1 -1
- package/dist/es/components/ApplePay/services/ApplePayService.js +1 -1
- package/dist/es/components/ApplePay/services/ApplePayService.js.map +1 -1
- package/dist/es/components/ApplePay/utils/map-adyen-brands-to-applepay-brands.js.map +1 -1
- package/dist/es/components/ApplePay/utils/payment-request.js.map +1 -1
- package/dist/es/components/Atome/Atome.js.map +1 -1
- package/dist/es/components/BacsDD/BacsDD.js +1 -1
- package/dist/es/components/BacsDD/BacsDD.js.map +1 -1
- package/dist/es/components/BacsDD/components/BacsInput.js +1 -1
- package/dist/es/components/BacsDD/components/BacsInput.js.map +1 -1
- package/dist/es/components/BankTransfer/components/BankTransferInput/BankTransferInput.js +1 -1
- package/dist/es/components/BankTransfer/components/BankTransferInput/BankTransferInput.js.map +1 -1
- package/dist/es/components/Blik/Blik.js +1 -1
- package/dist/es/components/Blik/Blik.js.map +1 -1
- package/dist/es/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
- package/dist/es/components/Card/Card.js +1 -1
- package/dist/es/components/Card/Card.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
- package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/components/CardFieldsWrapper.js +1 -1
- package/dist/es/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/components/Installments/Installments.js +1 -1
- package/dist/es/components/Card/components/CardInput/components/Installments/Installments.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/components/StoredCardFieldsWrapper.js +1 -1
- package/dist/es/components/Card/components/CardInput/components/StoredCardFieldsWrapper.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/types.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/utils.js +1 -1
- package/dist/es/components/Card/components/CardInput/utils.js.map +1 -1
- package/dist/es/components/Card/components/ClickToPayWrapper.js +1 -1
- package/dist/es/components/Card/components/ClickToPayWrapper.js.map +1 -1
- package/dist/es/components/CashAppPay/CashAppPay.js +1 -1
- package/dist/es/components/CashAppPay/CashAppPay.js.map +1 -1
- package/dist/es/components/CashAppPay/services/CashAppSdkLoader.js.map +1 -1
- package/dist/es/components/CashAppPay/services/CashAppService.js +1 -1
- package/dist/es/components/CashAppPay/services/CashAppService.js.map +1 -1
- package/dist/es/components/CashAppPay/services/types.js.map +1 -1
- package/dist/es/components/ClickToPay/ClickToPay.js +1 -1
- package/dist/es/components/ClickToPay/ClickToPay.js.map +1 -1
- package/dist/es/components/CustomCard/CustomCard.js +1 -1
- package/dist/es/components/CustomCard/CustomCard.js.map +1 -1
- package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
- package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
- package/dist/es/components/Dragonpay/components/DragonpayInput/DragonpayInput.js +1 -1
- package/dist/es/components/Dragonpay/components/DragonpayInput/DragonpayInput.js.map +1 -1
- package/dist/es/components/Dropin/Dropin.js +1 -1
- package/dist/es/components/Dropin/Dropin.js.map +1 -1
- package/dist/es/components/Dropin/components/DropinComponent.js +1 -1
- package/dist/es/components/Dropin/components/DropinComponent.js.map +1 -1
- package/dist/es/components/Dropin/components/DropinSuccessState.js +2 -0
- package/dist/es/components/Dropin/components/DropinSuccessState.js.map +1 -0
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js.map +1 -1
- package/dist/es/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
- package/dist/es/components/Giftcard/Giftcard.js +1 -1
- package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
- package/dist/es/components/Giftcard/components/GiftcardComponent.js +1 -1
- package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
- package/dist/es/components/Giftcard/components/GiftcardResult.js +1 -1
- package/dist/es/components/Giftcard/components/GiftcardResult.js.map +1 -1
- package/dist/es/components/GooglePay/GooglePayService.js.map +1 -1
- package/dist/es/components/Iris/Iris.js +1 -1
- package/dist/es/components/Iris/Iris.js.map +1 -1
- package/dist/es/components/Iris/components/IrisGenerateQRCode.js +1 -1
- package/dist/es/components/Iris/components/IrisGenerateQRCode.js.map +1 -1
- package/dist/es/components/Klarna/KlarnaPayments.js +1 -1
- package/dist/es/components/Klarna/KlarnaPayments.js.map +1 -1
- package/dist/es/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
- package/dist/es/components/Multibanco/Multibanco.js +1 -1
- package/dist/es/components/Multibanco/Multibanco.js.map +1 -1
- package/dist/es/components/PayByBankPix/PayByBankPix.js +1 -1
- package/dist/es/components/PayByBankPix/PayByBankPix.js.map +1 -1
- package/dist/es/components/PayByBankPix/components/StoredPayment/StoredPayment.js +1 -1
- package/dist/es/components/PayByBankPix/components/StoredPayment/StoredPayment.js.map +1 -1
- package/dist/es/components/PayByBankPix/services/PasskeySdkLoader.js.map +1 -1
- package/dist/es/components/PayByBankPix/services/PasskeyService.js.map +1 -1
- package/dist/es/components/PayByBankUS/PayByBankUS.js +1 -1
- package/dist/es/components/PayByBankUS/PayByBankUS.js.map +1 -1
- package/dist/es/components/PayPalFastlane/FastlaneSDK.js.map +1 -1
- package/dist/es/components/PayPalFastlane/components/FastlaneComponent.js.map +1 -1
- package/dist/es/components/PayTo/PayTo.js +1 -1
- package/dist/es/components/PayTo/PayTo.js.map +1 -1
- package/dist/es/components/PayTo/components/PayToComponent.js.map +1 -1
- package/dist/es/components/PayTo/components/PayToNameFields.js +1 -1
- package/dist/es/components/PayTo/components/PayToNameFields.js.map +1 -1
- package/dist/es/components/PersonalDetails/PersonalDetails.js.map +1 -1
- package/dist/es/components/Pix/components/PixQRDetails.js +1 -1
- package/dist/es/components/Pix/components/PixQRDetails.js.map +1 -1
- package/dist/es/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js +1 -1
- package/dist/es/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js.map +1 -1
- package/dist/es/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js.map +1 -1
- package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/Form/ThreeDS2Form.js.map +1 -1
- package/dist/es/components/Twint/Twint.js +1 -1
- package/dist/es/components/Twint/Twint.js.map +1 -1
- package/dist/es/components/UPI/UPI.js +1 -1
- package/dist/es/components/UPI/UPI.js.map +1 -1
- package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
- package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
- package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js +1 -1
- package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js.map +1 -1
- package/dist/es/components/UPI/constants.js +1 -1
- package/dist/es/components/UPI/constants.js.map +1 -1
- package/dist/es/components/components-name-map.js +1 -1
- package/dist/es/components/components-name-map.js.map +1 -1
- package/dist/es/components/internal/Address/Specifications.js.map +1 -1
- package/dist/es/components/internal/Await/Await.js +1 -1
- package/dist/es/components/internal/Await/Await.js.map +1 -1
- package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
- package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
- package/dist/es/components/internal/Button/Button.js +1 -1
- package/dist/es/components/internal/Button/Button.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPCards/CtPCards.js +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPCards/CtPCards.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPInfo/CtPInfoModal/CtPInfoModal.js +1 -1
- package/dist/es/components/internal/ClickToPay/components/CtPInfo/CtPInfoModal/CtPInfoModal.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/context/ClickToPayContext.js +1 -1
- package/dist/es/components/internal/ClickToPay/context/ClickToPayContext.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/context/ClickToPayProvider.js +1 -1
- package/dist/es/components/internal/ClickToPay/context/ClickToPayProvider.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/models/ShopperCard.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js.map +1 -1
- package/dist/es/components/internal/CompanyDetails/CompanyDetails.js +1 -1
- package/dist/es/components/internal/CompanyDetails/CompanyDetails.js.map +1 -1
- package/dist/es/components/internal/Countdown/CountdownA11yReporter.js.map +1 -1
- package/dist/es/components/internal/Countdown/index.js +1 -1
- package/dist/es/components/internal/Countdown/index.js.map +1 -1
- package/dist/es/components/internal/FormFields/InputBase.js +1 -1
- package/dist/es/components/internal/FormFields/InputBase.js.map +1 -1
- package/dist/es/components/internal/IFrame/Iframe.js.map +1 -1
- package/dist/es/components/internal/PayButton/PayButton.js +1 -1
- package/dist/es/components/internal/PayButton/PayButton.js.map +1 -1
- package/dist/es/components/internal/PayButton/utils.js +1 -1
- package/dist/es/components/internal/PayButton/utils.js.map +1 -1
- package/dist/es/components/internal/PersonalDetails/PersonalDetails.js +1 -1
- package/dist/es/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
- package/dist/es/components/internal/QRLoader/QRLoader.js +1 -1
- package/dist/es/components/internal/QRLoader/QRLoader.js.map +1 -1
- package/dist/es/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -1
- package/dist/es/components/internal/QRLoader/components/QRDetails.js +1 -1
- package/dist/es/components/internal/QRLoader/components/QRDetails.js.map +1 -1
- package/dist/es/components/internal/QRLoader/components/QRImage.js +1 -1
- package/dist/es/components/internal/QRLoader/components/QRImage.js.map +1 -1
- package/dist/es/components/internal/RedirectButton/RedirectButton.js +1 -1
- package/dist/es/components/internal/RedirectButton/RedirectButton.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/AbstractCSF.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/utils.js.map +1 -1
- package/dist/es/components/internal/SendCopyToEmail/SendCopyToEmail.js +1 -1
- package/dist/es/components/internal/SendCopyToEmail/SendCopyToEmail.js.map +1 -1
- package/dist/es/components/internal/SocialSecurityNumberBrazil/SocialSecurityNumberBrazil.js +1 -1
- package/dist/es/components/internal/SocialSecurityNumberBrazil/SocialSecurityNumberBrazil.js.map +1 -1
- package/dist/es/components/internal/UIElement/UIElement.js +1 -1
- package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
- package/dist/es/components/tx-variants.js +1 -1
- package/dist/es/components/tx-variants.js.map +1 -1
- package/dist/es/core/Analytics/Analytics.js +1 -1
- package/dist/es/core/Analytics/Analytics.js.map +1 -1
- package/dist/es/core/Analytics/AnalyticsService.js.map +1 -1
- package/dist/es/core/Analytics/events/AbstractAnalyticsEvent.js.map +1 -1
- package/dist/es/core/Analytics/events/AnalyticsErrorEvent.js +1 -1
- package/dist/es/core/Analytics/events/AnalyticsErrorEvent.js.map +1 -1
- package/dist/es/core/Analytics/events/AnalyticsInfoEvent.js +1 -1
- package/dist/es/core/Analytics/events/AnalyticsInfoEvent.js.map +1 -1
- package/dist/es/core/Analytics/events/AnalyticsLogEvent.js.map +1 -1
- package/dist/es/core/Analytics/utils.js +1 -1
- package/dist/es/core/Analytics/utils.js.map +1 -1
- package/dist/es/core/CheckoutSession/CheckoutSession.js +1 -1
- package/dist/es/core/CheckoutSession/CheckoutSession.js.map +1 -1
- package/dist/es/core/Context/AmountProvider.js +2 -0
- package/dist/es/core/Context/AmountProvider.js.map +1 -0
- package/dist/es/core/Context/Resources.js.map +1 -1
- package/dist/es/core/Errors/SRPanel.js.map +1 -1
- package/dist/es/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js.map +1 -1
- package/dist/es/core/config.js +1 -1
- package/dist/es/core/core.js +1 -1
- package/dist/es/core/core.js.map +1 -1
- package/dist/es/external/preact/compat/dist/compat.js +1 -1
- package/dist/es/external/preact/compat/dist/compat.js.map +1 -1
- package/dist/es/external/preact/dist/preact.js +1 -1
- package/dist/es/external/preact/dist/preact.js.map +1 -1
- package/dist/es/external/preact/hooks/dist/hooks.js +1 -1
- package/dist/es/external/preact/hooks/dist/hooks.js.map +1 -1
- package/dist/es/index.d.ts +705 -641
- package/dist/es/language/Language.js.map +1 -1
- package/dist/es/utils/Script.js.map +1 -1
- package/dist/es/utils/Storage.js +1 -1
- package/dist/es/utils/Storage.js.map +1 -1
- package/dist/es/utils/Validator/ValidationRuleResult.js.map +1 -1
- package/dist/es/utils/Validator/Validator.js.map +1 -1
- package/dist/es/utils/amount-util.js +1 -1
- package/dist/es/utils/amount-util.js.map +1 -1
- package/dist/es/utils/browserInfo.js +1 -1
- package/dist/es/utils/browserInfo.js.map +1 -1
- package/dist/es/utils/constants/currency-minor-units.js.map +1 -1
- package/dist/es/utils/createSdkData.js.map +1 -1
- package/dist/es/utils/getErrorMessage.js.map +1 -1
- package/dist/es/utils/getProp.js +1 -1
- package/dist/es/utils/getProp.js.map +1 -1
- package/dist/es/utils/hasOwnProperty.js.map +1 -1
- package/dist/es/utils/isValidURL.js.map +1 -1
- package/dist/es/utils/listenerUtils.js.map +1 -1
- package/dist/es/utils/promiseTimeout.js.map +1 -1
- package/dist/es/utils/textUtils.js.map +1 -1
- package/dist/es/utils/validator-utils.js.map +1 -1
- package/dist/es-legacy/adyen.css +8 -9
- package/dist/es-legacy/adyen.css.map +1 -1
- package/dist/es-legacy/components/ANCV/ANCV.js.map +1 -1
- package/dist/es-legacy/components/Ach/Ach.js +1 -1
- package/dist/es-legacy/components/Ach/Ach.js.map +1 -1
- package/dist/es-legacy/components/Ach/components/AccountTypeSelector.js.map +1 -1
- package/dist/es-legacy/components/Ach/components/AchComponent.js.map +1 -1
- package/dist/es-legacy/components/Affirm/Affirm.js.map +1 -1
- package/dist/es-legacy/components/AfterPay/AfterPay.js.map +1 -1
- package/dist/es-legacy/components/AfterPay/AfterPayB2B.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/components/AmazonPayButton.js +1 -1
- package/dist/es-legacy/components/AmazonPay/components/AmazonPayButton.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js +1 -1
- package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/components/OrderButton.js +1 -1
- package/dist/es-legacy/components/AmazonPay/components/OrderButton.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/utils.js +1 -1
- package/dist/es-legacy/components/AmazonPay/utils.js.map +1 -1
- package/dist/es-legacy/components/ApplePay/ApplePay.js.map +1 -1
- package/dist/es-legacy/components/ApplePay/services/ApplePaySdkLoader.js.map +1 -1
- package/dist/es-legacy/components/ApplePay/services/ApplePayService.js +1 -1
- package/dist/es-legacy/components/ApplePay/services/ApplePayService.js.map +1 -1
- package/dist/es-legacy/components/ApplePay/utils/map-adyen-brands-to-applepay-brands.js.map +1 -1
- package/dist/es-legacy/components/ApplePay/utils/payment-request.js.map +1 -1
- package/dist/es-legacy/components/Atome/Atome.js.map +1 -1
- package/dist/es-legacy/components/BacsDD/BacsDD.js +1 -1
- package/dist/es-legacy/components/BacsDD/BacsDD.js.map +1 -1
- package/dist/es-legacy/components/BacsDD/components/BacsInput.js +1 -1
- package/dist/es-legacy/components/BacsDD/components/BacsInput.js.map +1 -1
- package/dist/es-legacy/components/BankTransfer/components/BankTransferInput/BankTransferInput.js +1 -1
- package/dist/es-legacy/components/BankTransfer/components/BankTransferInput/BankTransferInput.js.map +1 -1
- package/dist/es-legacy/components/Blik/Blik.js +1 -1
- package/dist/es-legacy/components/Blik/Blik.js.map +1 -1
- package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
- package/dist/es-legacy/components/Card/Card.js +1 -1
- package/dist/es-legacy/components/Card/Card.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/AvailableBrands/AvailableBrands.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/CardFields.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/CardFieldsWrapper.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/Installments/Installments.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/Installments/Installments.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/StoredCardFieldsWrapper.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/StoredCardFieldsWrapper.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/useSRPanelForCardInputErrors.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/utils.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/utils.js.map +1 -1
- package/dist/es-legacy/components/Card/components/ClickToPayWrapper.js +1 -1
- package/dist/es-legacy/components/Card/components/ClickToPayWrapper.js.map +1 -1
- package/dist/es-legacy/components/Card/components/Fastlane/USOnlyPhoneInput.js.map +1 -1
- package/dist/es-legacy/components/CashAppPay/CashAppPay.js +1 -1
- package/dist/es-legacy/components/CashAppPay/CashAppPay.js.map +1 -1
- package/dist/es-legacy/components/CashAppPay/services/CashAppSdkLoader.js.map +1 -1
- package/dist/es-legacy/components/CashAppPay/services/CashAppService.js +1 -1
- package/dist/es-legacy/components/CashAppPay/services/CashAppService.js.map +1 -1
- package/dist/es-legacy/components/CashAppPay/services/types.js.map +1 -1
- package/dist/es-legacy/components/ClickToPay/ClickToPay.js +1 -1
- package/dist/es-legacy/components/ClickToPay/ClickToPay.js.map +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCard.js +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCard.js.map +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
- package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
- package/dist/es-legacy/components/Doku/components/DokuInput/DokuInput.js.map +1 -1
- package/dist/es-legacy/components/Dragonpay/components/DragonpayInput/DragonpayInput.js +1 -1
- package/dist/es-legacy/components/Dragonpay/components/DragonpayInput/DragonpayInput.js.map +1 -1
- package/dist/es-legacy/components/Dropin/Dropin.js +1 -1
- package/dist/es-legacy/components/Dropin/Dropin.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/DropinComponent.js +1 -1
- package/dist/es-legacy/components/Dropin/components/DropinComponent.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/DropinSuccessState.js +2 -0
- package/dist/es-legacy/components/Dropin/components/DropinSuccessState.js.map +1 -0
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js +1 -1
- package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js.map +1 -1
- package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
- package/dist/es-legacy/components/Giftcard/Giftcard.js +1 -1
- package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
- package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js +1 -1
- package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
- package/dist/es-legacy/components/Giftcard/components/GiftcardResult.js +1 -1
- package/dist/es-legacy/components/Giftcard/components/GiftcardResult.js.map +1 -1
- package/dist/es-legacy/components/GooglePay/GooglePay.js.map +1 -1
- package/dist/es-legacy/components/GooglePay/GooglePayService.js.map +1 -1
- package/dist/es-legacy/components/Iris/Iris.js +1 -1
- package/dist/es-legacy/components/Iris/Iris.js.map +1 -1
- package/dist/es-legacy/components/Iris/components/IrisGenerateQRCode.js +1 -1
- package/dist/es-legacy/components/Iris/components/IrisGenerateQRCode.js.map +1 -1
- package/dist/es-legacy/components/Klarna/KlarnaPayments.js +1 -1
- package/dist/es-legacy/components/Klarna/KlarnaPayments.js.map +1 -1
- package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
- package/dist/es-legacy/components/Klarna/components/KlarnaWidget/KlarnaWidget.js.map +1 -1
- package/dist/es-legacy/components/MBWay/MBWay.js.map +1 -1
- package/dist/es-legacy/components/Multibanco/Multibanco.js +1 -1
- package/dist/es-legacy/components/Multibanco/Multibanco.js.map +1 -1
- package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js +1 -1
- package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js.map +1 -1
- package/dist/es-legacy/components/PayByBankPix/components/Enrollment/useIssuerWithLogo.js.map +1 -1
- package/dist/es-legacy/components/PayByBankPix/components/StoredPayment/StoredPayment.js +1 -1
- package/dist/es-legacy/components/PayByBankPix/components/StoredPayment/StoredPayment.js.map +1 -1
- package/dist/es-legacy/components/PayByBankPix/services/PasskeySdkLoader.js.map +1 -1
- package/dist/es-legacy/components/PayByBankPix/services/PasskeyService.js.map +1 -1
- package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js +1 -1
- package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js.map +1 -1
- package/dist/es-legacy/components/PayPal/Paypal.js.map +1 -1
- package/dist/es-legacy/components/PayPalFastlane/FastlaneSDK.js.map +1 -1
- package/dist/es-legacy/components/PayPalFastlane/components/FastlaneComponent.js.map +1 -1
- package/dist/es-legacy/components/PayTo/PayTo.js +1 -1
- package/dist/es-legacy/components/PayTo/PayTo.js.map +1 -1
- package/dist/es-legacy/components/PayTo/components/PayToComponent.js.map +1 -1
- package/dist/es-legacy/components/PayTo/components/PayToNameFields.js +1 -1
- package/dist/es-legacy/components/PayTo/components/PayToNameFields.js.map +1 -1
- package/dist/es-legacy/components/PersonalDetails/PersonalDetails.js.map +1 -1
- package/dist/es-legacy/components/Pix/components/PixQRDetails.js +1 -1
- package/dist/es-legacy/components/Pix/components/PixQRDetails.js.map +1 -1
- package/dist/es-legacy/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js +1 -1
- package/dist/es-legacy/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js.map +1 -1
- package/dist/es-legacy/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js.map +1 -1
- package/dist/es-legacy/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/callSubmit3DS2Fingerprint.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Form/ThreeDS2Form.js.map +1 -1
- package/dist/es-legacy/components/Twint/Twint.js +1 -1
- package/dist/es-legacy/components/Twint/Twint.js.map +1 -1
- package/dist/es-legacy/components/UPI/UPI.js +1 -1
- package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
- package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
- package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
- package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js +1 -1
- package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js.map +1 -1
- package/dist/es-legacy/components/UPI/constants.js +1 -1
- package/dist/es-legacy/components/UPI/constants.js.map +1 -1
- package/dist/es-legacy/components/components-name-map.js +1 -1
- package/dist/es-legacy/components/components-name-map.js.map +1 -1
- package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
- package/dist/es-legacy/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
- package/dist/es-legacy/components/internal/Address/Address.js.map +1 -1
- package/dist/es-legacy/components/internal/Address/Specifications.js.map +1 -1
- package/dist/es-legacy/components/internal/Address/validate.js.map +1 -1
- package/dist/es-legacy/components/internal/Await/Await.js +1 -1
- package/dist/es-legacy/components/internal/Await/Await.js.map +1 -1
- package/dist/es-legacy/components/internal/BaseElement/BaseElement.js +1 -1
- package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
- package/dist/es-legacy/components/internal/Button/Button.js +1 -1
- package/dist/es-legacy/components/internal/Button/Button.js.map +1 -1
- package/dist/es-legacy/components/internal/Button/CopyButton.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPCards.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPCards.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPInfo/CtPInfoModal/CtPInfoModal.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPInfo/CtPInfoModal/CtPInfoModal.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPLogin/CtPLogin.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePassword.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/context/ClickToPayContext.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/context/ClickToPayContext.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/context/ClickToPayProvider.js +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/context/ClickToPayProvider.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/models/ShopperCard.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/create-clicktopay-service.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js.map +1 -1
- package/dist/es-legacy/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js.map +1 -1
- package/dist/es-legacy/components/internal/CompanyDetails/CompanyDetails.js +1 -1
- package/dist/es-legacy/components/internal/CompanyDetails/CompanyDetails.js.map +1 -1
- package/dist/es-legacy/components/internal/Countdown/CountdownA11yReporter.js.map +1 -1
- package/dist/es-legacy/components/internal/Countdown/index.js +1 -1
- package/dist/es-legacy/components/internal/Countdown/index.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/Field/Field.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/InputBase.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/InputBase.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/RadioGroupExtended/RadioGroupExtended.js.map +1 -1
- package/dist/es-legacy/components/internal/IFrame/Iframe.js.map +1 -1
- package/dist/es-legacy/components/internal/IssuerList/IssuerList.js.map +1 -1
- package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
- package/dist/es-legacy/components/internal/PayButton/PayButton.js +1 -1
- package/dist/es-legacy/components/internal/PayButton/PayButton.js.map +1 -1
- package/dist/es-legacy/components/internal/PayButton/utils.js +1 -1
- package/dist/es-legacy/components/internal/PayButton/utils.js.map +1 -1
- package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js +1 -1
- package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
- package/dist/es-legacy/components/internal/PhoneInput/PhoneInputForm.js.map +1 -1
- package/dist/es-legacy/components/internal/QRLoader/QRLoader.js +1 -1
- package/dist/es-legacy/components/internal/QRLoader/QRLoader.js.map +1 -1
- package/dist/es-legacy/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -1
- package/dist/es-legacy/components/internal/QRLoader/components/QRDetails.js +1 -1
- package/dist/es-legacy/components/internal/QRLoader/components/QRDetails.js.map +1 -1
- package/dist/es-legacy/components/internal/QRLoader/components/QRImage.js +1 -1
- package/dist/es-legacy/components/internal/QRLoader/components/QRImage.js.map +1 -1
- package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js +1 -1
- package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/binLookup/extensions.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/binLookup/triggerBinLookUp.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/AbstractCSF.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/partials/processAutoComplete.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/cardType.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/utils.js.map +1 -1
- package/dist/es-legacy/components/internal/SendCopyToEmail/SendCopyToEmail.js +1 -1
- package/dist/es-legacy/components/internal/SendCopyToEmail/SendCopyToEmail.js.map +1 -1
- package/dist/es-legacy/components/internal/SocialSecurityNumberBrazil/SocialSecurityNumberBrazil.js +1 -1
- package/dist/es-legacy/components/internal/SocialSecurityNumberBrazil/SocialSecurityNumberBrazil.js.map +1 -1
- package/dist/es-legacy/components/internal/Tooltip/Tooltip.js.map +1 -1
- package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
- package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
- package/dist/es-legacy/components/tx-variants.js +1 -1
- package/dist/es-legacy/components/tx-variants.js.map +1 -1
- package/dist/es-legacy/core/Analytics/Analytics.js +1 -1
- package/dist/es-legacy/core/Analytics/Analytics.js.map +1 -1
- package/dist/es-legacy/core/Analytics/AnalyticsService.js.map +1 -1
- package/dist/es-legacy/core/Analytics/events/AbstractAnalyticsEvent.js.map +1 -1
- package/dist/es-legacy/core/Analytics/events/AnalyticsErrorEvent.js +1 -1
- package/dist/es-legacy/core/Analytics/events/AnalyticsErrorEvent.js.map +1 -1
- package/dist/es-legacy/core/Analytics/events/AnalyticsInfoEvent.js +1 -1
- package/dist/es-legacy/core/Analytics/events/AnalyticsInfoEvent.js.map +1 -1
- package/dist/es-legacy/core/Analytics/events/AnalyticsLogEvent.js.map +1 -1
- package/dist/es-legacy/core/Analytics/utils.js +1 -1
- package/dist/es-legacy/core/Analytics/utils.js.map +1 -1
- package/dist/es-legacy/core/CheckoutSession/CheckoutSession.js +1 -1
- package/dist/es-legacy/core/CheckoutSession/CheckoutSession.js.map +1 -1
- package/dist/es-legacy/core/Context/AmountProvider.js +2 -0
- package/dist/es-legacy/core/Context/AmountProvider.js.map +1 -0
- package/dist/es-legacy/core/Context/Resources.js.map +1 -1
- package/dist/es-legacy/core/Environment/Environment.js.map +1 -1
- package/dist/es-legacy/core/Errors/SRPanel.js.map +1 -1
- package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
- package/dist/es-legacy/core/ProcessResponse/PaymentMethods/utils.js.map +1 -1
- package/dist/es-legacy/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js.map +1 -1
- package/dist/es-legacy/core/Services/http.js.map +1 -1
- package/dist/es-legacy/core/config.js +1 -1
- package/dist/es-legacy/core/core.js +1 -1
- package/dist/es-legacy/core/core.js.map +1 -1
- package/dist/es-legacy/external/preact/compat/dist/compat.js +1 -1
- package/dist/es-legacy/external/preact/compat/dist/compat.js.map +1 -1
- package/dist/es-legacy/external/preact/dist/preact.js +1 -1
- package/dist/es-legacy/external/preact/dist/preact.js.map +1 -1
- package/dist/es-legacy/external/preact/hooks/dist/hooks.js +1 -1
- package/dist/es-legacy/external/preact/hooks/dist/hooks.js.map +1 -1
- package/dist/es-legacy/hooks/usePaymentStatusTimer/usePaymentStatusTimer.js.map +1 -1
- package/dist/es-legacy/language/Language.js.map +1 -1
- package/dist/es-legacy/utils/Script.js.map +1 -1
- package/dist/es-legacy/utils/Storage.js +1 -1
- package/dist/es-legacy/utils/Storage.js.map +1 -1
- package/dist/es-legacy/utils/Validator/ValidationRuleResult.js.map +1 -1
- package/dist/es-legacy/utils/Validator/Validator.js.map +1 -1
- package/dist/es-legacy/utils/amount-util.js +1 -1
- package/dist/es-legacy/utils/amount-util.js.map +1 -1
- package/dist/es-legacy/utils/browserInfo.js +1 -1
- package/dist/es-legacy/utils/browserInfo.js.map +1 -1
- package/dist/es-legacy/utils/constants/currency-minor-units.js.map +1 -1
- package/dist/es-legacy/utils/createSdkData.js.map +1 -1
- package/dist/es-legacy/utils/getConsentUrl.js.map +1 -1
- package/dist/es-legacy/utils/getErrorMessage.js.map +1 -1
- package/dist/es-legacy/utils/getProp.js +1 -1
- package/dist/es-legacy/utils/getProp.js.map +1 -1
- package/dist/es-legacy/utils/hasOwnProperty.js.map +1 -1
- package/dist/es-legacy/utils/isValidURL.js.map +1 -1
- package/dist/es-legacy/utils/listenerUtils.js.map +1 -1
- package/dist/es-legacy/utils/promiseTimeout.js.map +1 -1
- package/dist/es-legacy/utils/textUtils.js.map +1 -1
- package/dist/es-legacy/utils/useAutoFocus.js.map +1 -1
- package/dist/es-legacy/utils/useForm/reducer.js.map +1 -1
- package/dist/es-legacy/utils/validator-utils.js.map +1 -1
- package/package.json +11 -11
- package/styles/adyen.css +8 -9
- package/dist/es/components/UPI/components/VpaInput/VpaInput.js +0 -2
- package/dist/es/components/UPI/components/VpaInput/VpaInput.js.map +0 -1
- package/dist/es/components/UPI/components/VpaInput/validate.js +0 -2
- package/dist/es/components/UPI/components/VpaInput/validate.js.map +0 -1
- package/dist/es-legacy/components/UPI/components/VpaInput/VpaInput.js +0 -2
- package/dist/es-legacy/components/UPI/components/VpaInput/VpaInput.js.map +0 -1
- package/dist/es-legacy/components/UPI/components/VpaInput/validate.js +0 -2
- package/dist/es-legacy/components/UPI/components/VpaInput/validate.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KlarnaWidget.js","sources":["../../../../../../src/components/Klarna/components/KlarnaWidget/KlarnaWidget.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef, useState, useCallback } from 'preact/hooks';\nimport Script from '../../../../utils/Script';\nimport { KLARNA_WIDGET_URL, KLARNA_REFUSED_RESULT_CODE } from '../../constants';\nimport type { KlarnaWidgetAuthorizeResponse, KlarnaWidgetProps } from '../../types';\nimport './KlarnaWidget.scss';\nimport useAnalytics from '../../../../core/Analytics/useAnalytics';\n\nexport function KlarnaWidget({ sdkData, paymentMethodType, widgetInitializationTime, payButton, ...props }: KlarnaWidgetProps) {\n const klarnaWidgetRef = useRef(null);\n const [status, setStatus] = useState('ready');\n const { analytics } = useAnalytics();\n\n const handleError = useCallback(() => {\n setStatus('error');\n props.onComplete({\n data: {\n paymentData: props.paymentData,\n details: { resultCode: KLARNA_REFUSED_RESULT_CODE }\n }\n });\n }, [props.paymentData, props.onComplete]);\n\n const initializeKlarnaWidget = useCallback(() => {\n window.Klarna.Payments.init({\n client_token: sdkData.client_token\n });\n\n window.Klarna.Payments.load(\n {\n container: klarnaWidgetRef.current,\n payment_method_category: sdkData.payment_method_category\n },\n function (res: { show_form: boolean; error: unknown }) {\n // If show_form: true is received together with an error, something fixable is wrong and the consumer\n // needs to take action before moving forward\n // If show_form: false, the payment method in the loaded widget will not be offered for this order\n // based on Klarna’s pre-assessment.\n if (!res.show_form || !!res.error) {\n handleError();\n } else {\n props.onLoaded();\n }\n }\n );\n }, [sdkData.client_token, sdkData.payment_method_category]);\n\n const authorizeKlarna = useCallback(() => {\n setStatus('loading');\n try {\n window.Klarna.Payments.authorize(\n {\n payment_method_category: sdkData.payment_method_category\n },\n function (res: KlarnaWidgetAuthorizeResponse) {\n if (res.approved === true && res.show_form === true) {\n // Klarna has approved the authorization of credit for this order.\n setStatus('success');\n props.onComplete({\n data: {\n paymentData: props.paymentData,\n details: {\n authorization_token: res.authorization_token\n }\n }\n });\n } else if (!res.approved && res.show_form === true) {\n // Fixable error\n setStatus('ready');\n props.onError(res);\n } else {\n // The purchase is declined. The widget should be hidden and the user\n // should select another payment method.\n handleError();\n }\n }\n );\n } catch (e) {\n handleError();\n }\n }, [sdkData.payment_method_category, props.onComplete, props.onError]);\n\n // Workaround: See ADR-0001-uielement-keyboard-event-propagation-workaround\n const handleKeyDown = (e: h.JSX.TargetedKeyboardEvent<HTMLButtonElement>) => {\n if (e.key === 'Enter' || e.code === 'Enter') {\n e.preventDefault();\n authorizeKlarna();\n }\n };\n\n /**\n * Initializes Klarna SDK if it is already available and reinitialize\n * it when the init time refreshes\n */\n useEffect(() => {\n const isKlarnaAvailable = window.Klarna?.Payments?.init;\n if (isKlarnaAvailable) {\n initializeKlarnaWidget();\n }\n }, [widgetInitializationTime]);\n\n useEffect(() => {\n window.klarnaAsyncCallback = function () {\n initializeKlarnaWidget();\n };\n const script = new Script({\n src: KLARNA_WIDGET_URL,\n component: 'klarna',\n analytics\n });\n\n void script.load();\n\n return () => {\n script.remove();\n };\n }, [initializeKlarnaWidget, analytics]);\n\n if (status !== 'error' && status !== 'success') {\n return (\n <div className=\"adyen-checkout__klarna-widget\">\n <div ref={klarnaWidgetRef} />\n {payButton({\n status,\n disabled: status === 'loading',\n onClick: authorizeKlarna,\n onKeyDown: handleKeyDown\n })}\n </div>\n );\n }\n\n return null;\n}\n"],"names":["KlarnaWidget","_0","sdkData","paymentMethodType","widgetInitializationTime","payButton","props","klarnaWidgetRef","useRef","status","setStatus","useState","analytics","useAnalytics","handleError","useCallback","onComplete","data","paymentData","details","resultCode","KLARNA_REFUSED_RESULT_CODE","initializeKlarnaWidget","window","Klarna","Payments","init","client_token","load","container","current","payment_method_category","res","show_form","error","onLoaded","authorizeKlarna","authorize","approved","authorization_token","onError","e","handleKeyDown","key","code","preventDefault","useEffect","klarnaAsyncCallback","script","Script","src","KLARNA_WIDGET_URL","component","remove","h","div","className","ref","disabled","onClick","onKeyDown"],"mappings":"++BAQO,SAASA,EAAaC,OAAAC,QAAEA,EAAOC,kBAAEA,EAAiBC,yBAAEA,EAAwBC,UAAEA,GAAwCJ,EAA1BK,EAAAA,EAAAA,EAAAA,wEAC/F,MAAMC,EAAkBC,EAAO,OACxBC,EAAQC,GAAaC,EAAS,UAC/BC,UAAEA,GAAcC,IAEhBC,EAAcC,EAAY,KAC5BL,EAAU,SACVJ,EAAMU,WAAW,CACbC,KAAM,CACFC,YAAaZ,EAAMY,YACnBC,QAAS,CAAEC,WAAYC,OAGhC,CAACf,EAAMY,YAAaZ,EAAMU,aAEvBM,EAAyBP,EAAY,KACvCQ,OAAOC,OAAOC,SAASC,KAAK,CACxBC,aAAczB,EAAQyB,eAG1BJ,OAAOC,OAAOC,SAASG,KACnB,CACIC,UAAWtB,EAAgBuB,QAC3BC,wBAAyB7B,EAAQ6B,yBAErC,SAAUC,IAKDA,EAAIC,WAAeD,EAAIE,MACxBpB,IAEAR,EAAM6B,UAEd,IAEL,CAACjC,EAAQyB,aAAczB,EAAQ6B,0BAE5BK,EAAkBrB,EAAY,KAChCL,EAAU,WACV,IACIa,OAAOC,OAAOC,SAASY,UACnB,CACIN,wBAAyB7B,EAAQ6B,yBAErC,SAAUC,IACe,IAAjBA,EAAIM,WAAuC,IAAlBN,EAAIC,WAE7BvB,EAAU,WACVJ,EAAMU,WAAW,CACbC,KAAM,CACFC,YAAaZ,EAAMY,YACnBC,QAAS,CACLoB,oBAAqBP,EAAIO,yBAI7BP,EAAIM,WAA8B,IAAlBN,EAAIC,UAO5BnB,KALAJ,EAAU,SACVJ,EAAMkC,QAAQR,GAMtB,EAER,CAAE,MAAOS,GACL3B,GACJ,GACD,CAACZ,EAAQ6B,wBAAyBzB,EAAMU,WAAYV,EAAMkC,UAGvDE,EAAiBD,IACL,UAAVA,EAAEE,KAA8B,UAAXF,EAAEG,OACvBH,EAAEI,iBACFT,MAgCR,OAxBAU,EAAU,SACoBvB,EAAAA,GAAa,QAAbA,EAAAA,OAAOC,
|
|
1
|
+
{"version":3,"file":"KlarnaWidget.js","sources":["../../../../../../src/components/Klarna/components/KlarnaWidget/KlarnaWidget.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef, useState, useCallback } from 'preact/hooks';\nimport Script from '../../../../utils/Script';\nimport { KLARNA_WIDGET_URL, KLARNA_REFUSED_RESULT_CODE } from '../../constants';\nimport type { KlarnaWidgetAuthorizeResponse, KlarnaWidgetProps } from '../../types';\nimport './KlarnaWidget.scss';\nimport useAnalytics from '../../../../core/Analytics/useAnalytics';\n\nexport function KlarnaWidget({ sdkData, paymentMethodType, widgetInitializationTime, payButton, ...props }: KlarnaWidgetProps) {\n const klarnaWidgetRef = useRef(null);\n const [status, setStatus] = useState('ready');\n const { analytics } = useAnalytics();\n\n const handleError = useCallback(() => {\n setStatus('error');\n props.onComplete({\n data: {\n paymentData: props.paymentData,\n details: { resultCode: KLARNA_REFUSED_RESULT_CODE }\n }\n });\n }, [props.paymentData, props.onComplete]);\n\n const initializeKlarnaWidget = useCallback(() => {\n window.Klarna.Payments.init({\n client_token: sdkData.client_token\n });\n\n window.Klarna.Payments.load(\n {\n container: klarnaWidgetRef.current,\n payment_method_category: sdkData.payment_method_category\n },\n function (res: { show_form: boolean; error: unknown }) {\n // If show_form: true is received together with an error, something fixable is wrong and the consumer\n // needs to take action before moving forward\n // If show_form: false, the payment method in the loaded widget will not be offered for this order\n // based on Klarna’s pre-assessment.\n if (!res.show_form || !!res.error) {\n handleError();\n } else {\n props.onLoaded();\n }\n }\n );\n }, [sdkData.client_token, sdkData.payment_method_category]);\n\n const authorizeKlarna = useCallback(() => {\n setStatus('loading');\n try {\n window.Klarna.Payments.authorize(\n {\n payment_method_category: sdkData.payment_method_category\n },\n function (res: KlarnaWidgetAuthorizeResponse) {\n if (res.approved === true && res.show_form === true) {\n // Klarna has approved the authorization of credit for this order.\n setStatus('success');\n props.onComplete({\n data: {\n paymentData: props.paymentData,\n details: {\n authorization_token: res.authorization_token\n }\n }\n });\n } else if (!res.approved && res.show_form === true) {\n // Fixable error\n setStatus('ready');\n props.onError(res);\n } else {\n // The purchase is declined. The widget should be hidden and the user\n // should select another payment method.\n handleError();\n }\n }\n );\n } catch (e) {\n handleError();\n }\n }, [sdkData.payment_method_category, props.onComplete, props.onError]);\n\n // Workaround: See ADR-0001-uielement-keyboard-event-propagation-workaround\n const handleKeyDown = (e: h.JSX.TargetedKeyboardEvent<HTMLButtonElement>) => {\n if (e.key === 'Enter' || e.code === 'Enter') {\n e.preventDefault();\n authorizeKlarna();\n }\n };\n\n /**\n * Initializes Klarna SDK if it is already available and reinitialize\n * it when the init time refreshes\n */\n useEffect(() => {\n const isKlarnaAvailable = window.Klarna?.Payments?.init;\n if (isKlarnaAvailable) {\n initializeKlarnaWidget();\n }\n }, [widgetInitializationTime]);\n\n useEffect(() => {\n window.klarnaAsyncCallback = function () {\n initializeKlarnaWidget();\n };\n const script = new Script({\n src: KLARNA_WIDGET_URL,\n component: 'klarna',\n analytics\n });\n\n void script.load();\n\n return () => {\n script.remove();\n };\n }, [initializeKlarnaWidget, analytics]);\n\n if (status !== 'error' && status !== 'success') {\n return (\n <div className=\"adyen-checkout__klarna-widget\">\n <div ref={klarnaWidgetRef} />\n {payButton({\n status,\n disabled: status === 'loading',\n onClick: authorizeKlarna,\n onKeyDown: handleKeyDown\n })}\n </div>\n );\n }\n\n return null;\n}\n"],"names":["KlarnaWidget","_0","sdkData","paymentMethodType","widgetInitializationTime","payButton","props","klarnaWidgetRef","useRef","status","setStatus","useState","analytics","useAnalytics","handleError","useCallback","onComplete","data","paymentData","details","resultCode","KLARNA_REFUSED_RESULT_CODE","initializeKlarnaWidget","window","Klarna","Payments","init","client_token","load","container","current","payment_method_category","res","show_form","error","onLoaded","authorizeKlarna","authorize","approved","authorization_token","onError","e","handleKeyDown","key","code","preventDefault","useEffect","klarnaAsyncCallback","script","Script","src","KLARNA_WIDGET_URL","component","remove","h","div","className","ref","disabled","onClick","onKeyDown"],"mappings":"++BAQO,SAASA,EAAaC,OAAAC,QAAEA,EAAOC,kBAAEA,EAAiBC,yBAAEA,EAAwBC,UAAEA,GAAwCJ,EAA1BK,EAAAA,EAAAA,EAAAA,wEAC/F,MAAMC,EAAkBC,EAAO,OACxBC,EAAQC,GAAaC,EAAS,UAC/BC,UAAEA,GAAcC,IAEhBC,EAAcC,EAAY,KAC5BL,EAAU,SACVJ,EAAMU,WAAW,CACbC,KAAM,CACFC,YAAaZ,EAAMY,YACnBC,QAAS,CAAEC,WAAYC,OAGhC,CAACf,EAAMY,YAAaZ,EAAMU,aAEvBM,EAAyBP,EAAY,KACvCQ,OAAOC,OAAOC,SAASC,KAAK,CACxBC,aAAczB,EAAQyB,eAG1BJ,OAAOC,OAAOC,SAASG,KACnB,CACIC,UAAWtB,EAAgBuB,QAC3BC,wBAAyB7B,EAAQ6B,yBAErC,SAAUC,IAKDA,EAAIC,WAAeD,EAAIE,MACxBpB,IAEAR,EAAM6B,UAEd,IAEL,CAACjC,EAAQyB,aAAczB,EAAQ6B,0BAE5BK,EAAkBrB,EAAY,KAChCL,EAAU,WACV,IACIa,OAAOC,OAAOC,SAASY,UACnB,CACIN,wBAAyB7B,EAAQ6B,yBAErC,SAAUC,IACe,IAAjBA,EAAIM,WAAuC,IAAlBN,EAAIC,WAE7BvB,EAAU,WACVJ,EAAMU,WAAW,CACbC,KAAM,CACFC,YAAaZ,EAAMY,YACnBC,QAAS,CACLoB,oBAAqBP,EAAIO,yBAI7BP,EAAIM,WAA8B,IAAlBN,EAAIC,UAO5BnB,KALAJ,EAAU,SACVJ,EAAMkC,QAAQR,GAMtB,EAER,CAAE,MAAOS,GACL3B,GACJ,GACD,CAACZ,EAAQ6B,wBAAyBzB,EAAMU,WAAYV,EAAMkC,UAGvDE,EAAiBD,IACL,UAAVA,EAAEE,KAA8B,UAAXF,EAAEG,OACvBH,EAAEI,iBACFT,MAgCR,OAxBAU,EAAU,SACoBvB,EAAAA,GAAa,QAAbA,EAAAA,OAAOC,kBAAPD,GAAuB,QAAvBA,EAAAA,EAAeE,oBAAfF,OAAAA,EAAAA,EAAyBG,OAE/CJ,KAEL,CAAClB,IAEJ0C,EAAU,KACNvB,OAAOwB,oBAAsB,WACzBzB,GACJ,EACA,MAAM0B,EAAS,IAAIC,EAAO,CACtBC,IAAKC,EACLC,UAAW,SACXxC,cAKJ,OAFKoC,EAAOpB,OAEL,KACHoB,EAAOK,WAEZ,CAAC/B,EAAwBV,IAEb,UAAXH,GAAiC,YAAXA,EAElB6C,EAACC,MAAAA,CAAIC,UAAU,iCACXF,EAACC,MAAAA,CAAIE,IAAKlD,IACTF,EAAU,CACPI,SACAiD,SAAqB,YAAXjD,EACVkD,QAASvB,EACTwB,UAAWlB,KAMpB,IACX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MBWay.js","sources":["../../../../src/components/MBWay/MBWay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MBWayInput from './components/MBWayInput';\nimport config from './components/MBWayAwait/config';\nimport { Await } from '../../components/internal/Await';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\n\nexport class MBWayElement extends UIElement<AwaitConfiguration> {\n public static type = TxVariants.mbway;\n\n formatProps(props) {\n const { data = {}, placeholders = {} } = props;\n\n return {\n ...props,\n data: {\n phoneNumber: data.telephoneNumber || data.phoneNumber,\n phonePrefix: data.phonePrefix || '+351' // if not specified default to Portuguese country code\n },\n placeholders: {\n phoneNumber: placeholders.telephoneNumber || placeholders.phoneNumber\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): object {\n return {\n paymentMethod: {\n type: MBWayElement.type,\n ...(this.state.data?.phoneNumber && { telephoneNumber: this.state.data.phonePrefix + this.state.data.phoneNumber })\n }\n };\n }\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n get displayName(): string {\n return this.props.name;\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (this.props.paymentData) {\n return (\n <Await\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={config.type}\n messageText={this.props.i18n.get(config.messageTextId)}\n awaitText={this.props.i18n.get(config.awaitTextId)}\n showCountdownTimer={config.showCountdownTimer}\n delay={config.STATUS_INTERVAL}\n countdownTime={config.COUNTDOWN_MINUTES}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n />\n );\n }\n\n return (\n <MBWayInput\n /* @ts-ignore ref handled internally by Component */\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n setComponentRef={this.setComponentRef}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n );\n }\n}\n\nexport default MBWayElement;\n"],"names":["MBWayElement","UIElement","formatProps","props","data","placeholders","_object_spread_props","_object_spread","phoneNumber","telephoneNumber","phonePrefix","formatData","_this_state_data","paymentMethod","type","this","state","isValid","displayName","name","componentToRender","paymentData","h","Await","clientKey","onError","onComplete","brandLogo","icon","config","messageText","i18n","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","MBWayInput","ref","componentRef","setComponentRef","onChange","setState","onSubmit","submit","payButton","_define_property","TxVariants","mbway"],"mappings":"qnCAQO,MAAMA,UAAqBC,EAG9BC,WAAAA,CAAYC,GACR,MAAMC,KAAEA,EAAO,CAAA,EAAEC,aAAEA,EAAe,CAAA,GAAOF,EAEzC,OAAOG,EAAAC,EAAA,CAAA,EACAJ,GAAAA,CACHC,KAAM,CACFI,YAAaJ,EAAKK,iBAAmBL,EAAKI,YAC1CE,YAAaN,EAAKM,aAAe,QAErCL,aAAc,CACVG,YAAaH,EAAaI,iBAAmBJ,EAAaG,cAGtE,CAKAG,UAAAA,GAIgB,IAAAC,EAHZ,MAAO,CACHC,cAAeN,EAAA,CACXO,KAAMd,EAAac,OACA,QAAfF,EAAAG,KAAKC,MAAMZ,YAAX,IAAAQ,
|
|
1
|
+
{"version":3,"file":"MBWay.js","sources":["../../../../src/components/MBWay/MBWay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MBWayInput from './components/MBWayInput';\nimport config from './components/MBWayAwait/config';\nimport { Await } from '../../components/internal/Await';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\n\nexport class MBWayElement extends UIElement<AwaitConfiguration> {\n public static type = TxVariants.mbway;\n\n formatProps(props) {\n const { data = {}, placeholders = {} } = props;\n\n return {\n ...props,\n data: {\n phoneNumber: data.telephoneNumber || data.phoneNumber,\n phonePrefix: data.phonePrefix || '+351' // if not specified default to Portuguese country code\n },\n placeholders: {\n phoneNumber: placeholders.telephoneNumber || placeholders.phoneNumber\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): object {\n return {\n paymentMethod: {\n type: MBWayElement.type,\n ...(this.state.data?.phoneNumber && { telephoneNumber: this.state.data.phonePrefix + this.state.data.phoneNumber })\n }\n };\n }\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n get displayName(): string {\n return this.props.name;\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (this.props.paymentData) {\n return (\n <Await\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={config.type}\n messageText={this.props.i18n.get(config.messageTextId)}\n awaitText={this.props.i18n.get(config.awaitTextId)}\n showCountdownTimer={config.showCountdownTimer}\n delay={config.STATUS_INTERVAL}\n countdownTime={config.COUNTDOWN_MINUTES}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n />\n );\n }\n\n return (\n <MBWayInput\n /* @ts-ignore ref handled internally by Component */\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n setComponentRef={this.setComponentRef}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n );\n }\n}\n\nexport default MBWayElement;\n"],"names":["MBWayElement","UIElement","formatProps","props","data","placeholders","_object_spread_props","_object_spread","phoneNumber","telephoneNumber","phonePrefix","formatData","_this_state_data","paymentMethod","type","this","state","isValid","displayName","name","componentToRender","paymentData","h","Await","clientKey","onError","onComplete","brandLogo","icon","config","messageText","i18n","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","MBWayInput","ref","componentRef","setComponentRef","onChange","setState","onSubmit","submit","payButton","_define_property","TxVariants","mbway"],"mappings":"qnCAQO,MAAMA,UAAqBC,EAG9BC,WAAAA,CAAYC,GACR,MAAMC,KAAEA,EAAO,CAAA,EAAEC,aAAEA,EAAe,CAAA,GAAOF,EAEzC,OAAOG,EAAAC,EAAA,CAAA,EACAJ,GAAAA,CACHC,KAAM,CACFI,YAAaJ,EAAKK,iBAAmBL,EAAKI,YAC1CE,YAAaN,EAAKM,aAAe,QAErCL,aAAc,CACVG,YAAaH,EAAaI,iBAAmBJ,EAAaG,cAGtE,CAKAG,UAAAA,GAIgB,IAAAC,EAHZ,MAAO,CACHC,cAAeN,EAAA,CACXO,KAAMd,EAAac,OACA,QAAfF,EAAAG,KAAKC,MAAMZ,YAAX,IAAAQ,SAAAA,EAAiBJ,cAAe,CAAEC,gBAAiBM,KAAKC,MAAMZ,KAAKM,YAAcK,KAAKC,MAAMZ,KAAKI,cAGjH,CAEA,WAAIS,GACA,QAASF,KAAKC,MAAMC,OACxB,CAEA,eAAIC,GACA,OAAOH,KAAKZ,MAAMgB,IACtB,CAEmBC,iBAAAA,GACf,OAAIL,KAAKZ,MAAMkB,YAEPC,EAACC,EAAAA,CACGC,UAAWT,KAAKZ,MAAMqB,UACtBH,YAAaN,KAAKZ,MAAMkB,YACxBI,QAASV,KAAKZ,MAAMsB,QACpBC,WAAYX,KAAKW,WACjBC,UAAWZ,KAAKa,KAChBd,KAAMe,EAAOf,KACbgB,YAAaf,KAAKZ,MAAM4B,KAAKC,IAAIH,EAAOI,eACxCC,UAAWnB,KAAKZ,MAAM4B,KAAKC,IAAIH,EAAOM,aACtCC,mBAAoBP,EAAOO,mBAC3BC,MAAOR,EAAOS,gBACdC,cAAeV,EAAOW,kBACtBC,aAAcZ,EAAOa,cACrBC,iBAAkBd,EAAOe,kBACzBC,gBAAiB9B,KAAK8B,kBAM9BvB,EAACwB,EAAAA,EAAAA,EAAAA,CAEGC,IAAKA,IACDhC,KAAKiC,aAAeD,IAEpBhC,KAAKZ,OAAK,CACd8C,gBAAiBlC,KAAKkC,gBACtBC,SAAUnC,KAAKoC,SACfC,SAAUrC,KAAKsC,OACfC,UAAWvC,KAAKuC,YAG5B,EAxEAC,EADSvD,EACKc,OAAO0C,EAAWC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/MultibancoVoucherResult/MultibancoVoucherResult.js";import n from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as o}from"../tx-variants.js";function
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/MultibancoVoucherResult/MultibancoVoucherResult.js";import n from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as o}from"../tx-variants.js";function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function s(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),n.forEach(function(e){i(t,e,r[e])})}return t}function c(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e.push.apply(e,r)}return e}(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}),t}class p extends e{get isValid(){return!0}formatProps(t){return c(s({},t),{name:t.name||"Multibanco"})}formatData(){return{paymentMethod:{type:this.props.type||p.type}}}componentToRender(){return this.props.reference?t(r,c(s({ref:this.handleRef},this.props),{onActionHandled:this.onActionHandled})):this.props.showPayButton?t(n,{showPayButton:this.props.showPayButton,name:this.displayName,payButton:this.payButton,onSubmit:this.submit,ref:t=>{this.componentRef=t}}):null}constructor(...t){super(...t),i(this,"handleRef",t=>{this.componentRef=t})}}i(p,"type",o.multibanco);export{p as MultibancoElement,p as default};
|
|
2
2
|
//# sourceMappingURL=Multibanco.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Multibanco.js","sources":["../../../../src/components/Multibanco/Multibanco.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MultibancoVoucherResult from './components/MultibancoVoucherResult';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class MultibancoElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.multibanco;\n\n get isValid() {\n return true;\n }\n\n formatProps(props) {\n return {\n ...props,\n name: props.name || 'Multibanco'\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: this.props.type || MultibancoElement.type\n }\n };\n }\n\n private handleRef = ref => {\n this.componentRef = ref;\n };\n\n protected override componentToRender(): h.JSX.Element {\n if (this.props.reference) {\n return <MultibancoVoucherResult ref={this.handleRef} {...this.props} onActionHandled={this.onActionHandled} />;\n }\n\n if (this.props.showPayButton) {\n return (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n
|
|
1
|
+
{"version":3,"file":"Multibanco.js","sources":["../../../../src/components/Multibanco/Multibanco.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MultibancoVoucherResult from './components/MultibancoVoucherResult';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class MultibancoElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.multibanco;\n\n get isValid() {\n return true;\n }\n\n formatProps(props) {\n return {\n ...props,\n name: props.name || 'Multibanco'\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: this.props.type || MultibancoElement.type\n }\n };\n }\n\n private handleRef = ref => {\n this.componentRef = ref;\n };\n\n protected override componentToRender(): h.JSX.Element {\n if (this.props.reference) {\n return <MultibancoVoucherResult ref={this.handleRef} {...this.props} onActionHandled={this.onActionHandled} />;\n }\n\n if (this.props.showPayButton) {\n return (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default MultibancoElement;\n"],"names":["MultibancoElement","UIElement","isValid","formatProps","props","_object_spread_props","_object_spread","name","formatData","paymentMethod","type","this","componentToRender","reference","h","MultibancoVoucherResult","ref","handleRef","onActionHandled","showPayButton","RedirectButton","displayName","payButton","onSubmit","submit","componentRef","super","args","_define_property","TxVariants","multibanco"],"mappings":"umCAOO,MAAMA,UAA0BC,EAGnC,WAAIC,GACA,OAAO,CACX,CAEAC,WAAAA,CAAYC,GACR,OAAOC,EAAAC,EAAA,CAAA,EACAF,GAAAA,CACHG,KAAMH,EAAMG,MAAQ,cAE5B,CAKAC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKP,MAAMM,MAAQV,EAAkBU,MAGvD,CAMmBE,iBAAAA,GACf,OAAID,KAAKP,MAAMS,UACJC,EAACC,EAAAA,EAAAA,EAAAA,CAAwBC,IAAKL,KAAKM,WAAeN,KAAKP,OAAK,CAAEc,gBAAiBP,KAAKO,mBAG3FP,KAAKP,MAAMe,cAEPL,EAACM,EAAAA,CACGD,cAAeR,KAAKP,MAAMe,cAC1BZ,KAAMI,KAAKU,YACXC,UAAWX,KAAKW,UAChBC,SAAUZ,KAAKa,OACfR,IAAKA,IACDL,KAAKc,aAAeT,KAM7B,IACX,mBAjDGU,SAAAC,GAyBHC,EAAAjB,KAAQM,YAAYD,IAChBL,KAAKc,aAAeT,KAzBxBY,EADS5B,EACKU,OAAOmB,EAAWC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../external/preact/dist/preact.js";import{TxVariants as t}from"../tx-variants.js";import{UIElement as n}from"../internal/UIElement/UIElement.js";import r from"../internal/RedirectButton/RedirectButton.js";import o,{ERROR as i}from"../../core/Errors/AdyenCheckoutError.js";import{PasskeyService as s}from"./services/PasskeyService.js";import{authorizeEnrollment as a}from"./services/authorizeEnrollment.js";import{authorizePayment as p}from"./services/authorizePayment.js";import l from"./components/StoredPayment/StoredPayment.js";import d from"./components/Enrollment/Enrollment.js";function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){c(e,t,n[t])})}return e}function y(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function m(e,t){if(null==e)return{};var n,r,o,i={};if("undefined"!=typeof Reflect&&Reflect.ownKeys){for(n=Reflect.ownKeys(e),o=0;o<n.length;o++)r=n[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r]);return i}if(i=function(e,t){if(null==e)return{};var n,r,o={},i=Object.getOwnPropertyNames(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}(e,t),Object.getOwnPropertySymbols)for(n=Object.getOwnPropertySymbols(e),o=0;o<n.length;o++)r=n[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r]);return i}class u extends n{get isValid(){var e;return!(this.props._isAdyenHosted&&!this.props.storedPaymentMethodId)||!!(null===(e=this.state)||void 0===e?void 0:e.isValid)}get additionalInfo(){var e,t;return this.props.storedPaymentMethodId?this.props.i18n.get("paybybankpix.storedPayment.additionalLabel",{values:{receiver:null===(t=this.props)||void 0===t||null===(e=t.payByBankPixDetails)||void 0===e?void 0:e.receiver}}):""}get icon(){var e,t;return this.props.storedPaymentMethodId?this.resources.getImage({parentFolder:`${u.type}/`})(null===(t=this.props)||void 0===t||null===(e=t.payByBankPixDetails)||void 0===e?void 0:e.ispb):super.icon}async isAvailable(){const e=await this.passkeyService.getWebAuthnUnsupportedReason();if(e)return Promise.reject(new o(i,e));if(!this.props._isAdyenHosted)return Promise.resolve();try{if(await this.passkeyService.initialize(),this.props.storedPaymentMethodId){return await this.passkeyService.canUseStoredCredential()?Promise.resolve():Promise.reject(new o("ERROR","The stored payment method is not available on this device"))}return Promise.resolve()}catch(e){return Promise.reject(e instanceof Error?null==e?void 0:e.message:"Unknown error")}}handleAction(e,t={}){const n=this.core.createFromAction(e,y(h({},this.elementRef.props,t),{onAdditionalDetails:this.handleAdditionalDetails}));return n?(this.unmount(),n.isAvailable().then(()=>{n.mount(this._node)}),n):null}formatData(){if(!this.props._isAdyenHosted)return{paymentMethod:{type:t.paybybank_pix}};const e=null==this.props.storedPaymentMethodId;return h({paymentMethod:h({type:t.paybybank_pix},this.state.data)},e?{storePaymentMethod:!0}:{})}componentToRender(){var t,n,o;return this.props._isAdyenHosted?null!=this.props.storedPaymentMethodId?e(l,{txVariant:u.type,type:this.props.type,clientKey:this.props.clientKey,
|
|
1
|
+
import{createElement as e}from"../../external/preact/dist/preact.js";import{TxVariants as t}from"../tx-variants.js";import{UIElement as n}from"../internal/UIElement/UIElement.js";import r from"../internal/RedirectButton/RedirectButton.js";import o,{ERROR as i}from"../../core/Errors/AdyenCheckoutError.js";import{PasskeyService as s}from"./services/PasskeyService.js";import{authorizeEnrollment as a}from"./services/authorizeEnrollment.js";import{authorizePayment as p}from"./services/authorizePayment.js";import l from"./components/StoredPayment/StoredPayment.js";import d from"./components/Enrollment/Enrollment.js";function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){c(e,t,n[t])})}return e}function y(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function m(e,t){if(null==e)return{};var n,r,o,i={};if("undefined"!=typeof Reflect&&Reflect.ownKeys){for(n=Reflect.ownKeys(e),o=0;o<n.length;o++)r=n[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r]);return i}if(i=function(e,t){if(null==e)return{};var n,r,o={},i=Object.getOwnPropertyNames(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}(e,t),Object.getOwnPropertySymbols)for(n=Object.getOwnPropertySymbols(e),o=0;o<n.length;o++)r=n[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r]);return i}class u extends n{get isValid(){var e;return!(this.props._isAdyenHosted&&!this.props.storedPaymentMethodId)||!!(null===(e=this.state)||void 0===e?void 0:e.isValid)}get additionalInfo(){var e,t;return this.props.storedPaymentMethodId?this.props.i18n.get("paybybankpix.storedPayment.additionalLabel",{values:{receiver:null===(t=this.props)||void 0===t||null===(e=t.payByBankPixDetails)||void 0===e?void 0:e.receiver}}):""}get icon(){var e,t;return this.props.storedPaymentMethodId?this.resources.getImage({parentFolder:`${u.type}/`})(null===(t=this.props)||void 0===t||null===(e=t.payByBankPixDetails)||void 0===e?void 0:e.ispb):super.icon}async isAvailable(){const e=await this.passkeyService.getWebAuthnUnsupportedReason();if(e)return Promise.reject(new o(i,e));if(!this.props._isAdyenHosted)return Promise.resolve();try{if(await this.passkeyService.initialize(),this.props.storedPaymentMethodId){return await this.passkeyService.canUseStoredCredential()?Promise.resolve():Promise.reject(new o("ERROR","The stored payment method is not available on this device"))}return Promise.resolve()}catch(e){return Promise.reject(e instanceof Error?null==e?void 0:e.message:"Unknown error")}}handleAction(e,t={}){const n=this.core.createFromAction(e,y(h({},this.elementRef.props,t),{onAdditionalDetails:this.handleAdditionalDetails}));return n?(this.unmount(),n.isAvailable().then(()=>{n.mount(this._node)}),n):null}formatData(){if(!this.props._isAdyenHosted)return{paymentMethod:{type:t.paybybank_pix}};const e=null==this.props.storedPaymentMethodId;return h({paymentMethod:h({type:t.paybybank_pix},this.state.data)},e?{storePaymentMethod:!0}:{})}componentToRender(){var t,n,o;return this.props._isAdyenHosted?null!=this.props.storedPaymentMethodId?e(l,{txVariant:u.type,type:this.props.type,clientKey:this.props.clientKey,enrollmentId:null===(t=this.props.paymentMethodData)||void 0===t?void 0:t.enrollmentId,initiationId:null===(n=this.props.paymentMethodData)||void 0===n?void 0:n.initiationId,setComponentRef:this.setComponentRef,onPay:this.payWithStoredPayment,onAuthorize:this.authorizePayment}):e(d,{onError:this.handleError,txVariant:u.type,type:this.props.type,clientKey:this.props.clientKey,enrollmentId:null===(o=this.props.paymentMethodData)||void 0===o?void 0:o.enrollmentId,countdownTime:this.props.countdownTime,onEnroll:this.authorizeEnrollment,issuers:this.props.issuers,payButton:this.payButton,onChange:this.onIssuerSelected,onSubmitAnalytics:this.submitAnalytics,setComponentRef:this.setComponentRef}):e(r,{showPayButton:this.props.showPayButton,name:this.displayName,label:this.props.i18n.get("paybybankpix.redirectBtn.label"),payButton:this.payButton,onSubmit:this.submit,ref:e=>{this.componentRef=e}})}constructor(e,t){var n,r;super(e,t),c(this,"passkeyService",void 0),c(this,"onIssuerSelected",async e=>{try{const{data:t={}}=e;if(!t.issuer)return;const n=await this.passkeyService.captureRiskSignalsEnrollment(),{deviceId:r}=n,o=m(n,["deviceId"]);this.setState(y(h({},e),{data:y(h({},t),{riskSignals:o,deviceId:r})}))}catch(e){const t=e instanceof Error?e.message:"Unknown error in the onIssuerSelected";this.handleError(e instanceof o?e:new o(i,t))}}),c(this,"authorizeEnrollment",async e=>{try{var t;const n=await this.passkeyService.createCredentialForEnrollment(e),r={enrollmentId:null===(t=this.props.paymentMethodData)||void 0===t?void 0:t.enrollmentId,fidoAssertion:n},{redirectResult:o}=await a({enrollment:r,clientKey:this.props.clientKey,loadingContext:this.props.loadingContext});this.handleAdditionalDetails({data:{details:{redirectResult:o}}})}catch(e){const t=e instanceof Error?e.message:"Unknown error in the authorizeEnrollment";this.handleError(e instanceof o?e:new o(i,t))}}),c(this,"payWithStoredPayment",async()=>{try{const e=await this.passkeyService.captureRiskSignalsAuthentication(),{deviceId:t}=e,n=m(e,["deviceId"]);this.state=h({},this.state,{data:{storedPaymentMethodId:this.props.storedPaymentMethodId,riskSignals:n,deviceId:t}}),super.submit()}catch(e){const t=e instanceof Error?e.message:"Unknown error in the payWithStoredPayment";this.handleError(e instanceof o?e:new o(i,t))}}),c(this,"authorizePayment",async e=>{try{var t,n;const r=await this.passkeyService.authenticateWithCredential(e),o={enrollmentId:null===(t=this.props.paymentMethodData)||void 0===t?void 0:t.enrollmentId,initiationId:null===(n=this.props.paymentMethodData)||void 0===n?void 0:n.initiationId,fidoAssertion:r},{redirectResult:i}=await p({payment:o,clientKey:this.props.clientKey,loadingContext:this.props.loadingContext});this.handleAdditionalDetails({data:{details:{redirectResult:i}}})}catch(e){const t=e instanceof Error?e.message:"Unknown error in the authorizePayment";this.handleError(e instanceof o?e:new o(i,t))}});const l=this.props.storedPaymentMethodId?null===(r=this.props)||void 0===r||null===(n=r.payByBankPixDetails)||void 0===n?void 0:n.deviceId:this.props.deviceId;this.passkeyService=new s({environment:this.props.environment,deviceId:l},this.analytics),this.props._isAdyenHosted&&this.passkeyService.initialize()}}c(u,"type",t.paybybank_pix),c(u,"TIMEOUT_MINUTES",1),c(u,"defaultProps",{showPayButton:!0,_isAdyenHosted:(()=>{try{return new URL(window.location.href).hostname.endsWith(".adyen.com")}catch(e){return!1}})(),countdownTime:u.TIMEOUT_MINUTES});export{u as default};
|
|
2
2
|
//# sourceMappingURL=PayByBankPix.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PayByBankPix.js","sources":["../../../../src/components/PayByBankPix/PayByBankPix.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { PayByBankPixData, PayByBankPixConfiguration } from './types';\nimport { TxVariants } from '../tx-variants';\nimport UIElement from '../internal/UIElement';\nimport RedirectButton from '../internal/RedirectButton';\nimport AdyenCheckoutError, { ERROR } from '../../core/Errors/AdyenCheckoutError';\nimport { PasskeyService } from './services/PasskeyService';\nimport { authorizeEnrollment } from './services/authorizeEnrollment';\nimport { authorizePayment } from './services/authorizePayment';\nimport StoredPayment from './components/StoredPayment';\nimport Enrollment from './components/Enrollment';\nimport { PaymentAction } from '../../types/global-types';\nimport type { ICore } from '../../core/types';\n\nconst isAdyenHosted = () => {\n try {\n const currentUrl = new URL(window.location.href);\n return currentUrl.hostname.endsWith('.adyen.com');\n } catch (e) {\n // SSR, or it fails to parse the full url\n return false;\n }\n};\nclass PayByBankPixElement extends UIElement<PayByBankPixConfiguration> {\n public static readonly type = TxVariants.paybybank_pix;\n private static readonly TIMEOUT_MINUTES = 1;\n private readonly passkeyService: PasskeyService;\n\n public static readonly defaultProps: PayByBankPixConfiguration = {\n showPayButton: true,\n _isAdyenHosted: isAdyenHosted(),\n countdownTime: PayByBankPixElement.TIMEOUT_MINUTES\n };\n\n constructor(checkout: ICore, props?: PayByBankPixConfiguration) {\n super(checkout, props);\n const deviceId = this.props.storedPaymentMethodId ? this.props?.payByBankPixDetails?.deviceId : this.props.deviceId;\n\n this.passkeyService = new PasskeyService(\n {\n environment: this.props.environment,\n deviceId\n },\n this.analytics\n );\n\n if (this.props._isAdyenHosted) {\n void this.passkeyService.initialize();\n }\n }\n\n get isValid(): boolean {\n // Always true for non-hosted page or stored payment\n if (!this.props._isAdyenHosted || this.props.storedPaymentMethodId) {\n return true;\n }\n return !!this.state?.isValid;\n }\n\n /**\n * Display in the drop-in\n */\n get additionalInfo() {\n return this.props.storedPaymentMethodId\n ? this.props.i18n.get('paybybankpix.storedPayment.additionalLabel', { values: { receiver: this.props?.payByBankPixDetails?.receiver } })\n : '';\n }\n\n /**\n * Display in the drop-in\n */\n public override get icon() {\n return this.props.storedPaymentMethodId\n ? this.resources.getImage({ parentFolder: `${PayByBankPixElement.type}/` })(this.props?.payByBankPixDetails?.ispb)\n : super.icon;\n }\n\n /**\n * Method used to let the merchant know if the shopper's device supports WebAuthn APIs: https://featuredetect.passkeys.dev/\n */\n public override async isAvailable(): Promise<void> {\n const unsupportedReason = await this.passkeyService.getWebAuthnUnsupportedReason();\n if (unsupportedReason) {\n return Promise.reject(new AdyenCheckoutError(ERROR, unsupportedReason));\n }\n if (!this.props._isAdyenHosted) {\n return Promise.resolve();\n }\n\n // Load passkey sdk on the hosted page\n try {\n await this.passkeyService.initialize();\n\n if (this.props.storedPaymentMethodId) {\n // If the provided deviceId from the server does not match the localstorage deviceId, do not render the stored payment component.\n const shouldShowStoredPaymentMethod = await this.passkeyService.canUseStoredCredential();\n return shouldShowStoredPaymentMethod\n ? Promise.resolve()\n : Promise.reject(new AdyenCheckoutError('ERROR', 'The stored payment method is not available on this device'));\n }\n\n return Promise.resolve();\n } catch (error) {\n return Promise.reject(error instanceof Error ? error?.message : 'Unknown error');\n }\n }\n\n /**\n * Make sure the await action UIElement is available before mounting\n */\n public override handleAction(action: PaymentAction, props: {} = {}): UIElement | null {\n const paymentAction = this.core.createFromAction(action, {\n ...this.elementRef.props,\n ...props,\n onAdditionalDetails: this.handleAdditionalDetails\n });\n if (paymentAction) {\n this.unmount();\n void paymentAction.isAvailable().then(() => {\n paymentAction.mount(this._node);\n });\n return paymentAction;\n }\n\n return null;\n }\n\n formatData(): PayByBankPixData {\n if (!this.props._isAdyenHosted) {\n return {\n paymentMethod: { type: TxVariants.paybybank_pix }\n };\n }\n\n const isEnrollment = this.props.storedPaymentMethodId == null;\n return {\n paymentMethod: { type: TxVariants.paybybank_pix, ...this.state.data },\n // Always store the payment method for the enrollment flow.\n ...(isEnrollment ? { storePaymentMethod: true } : {})\n };\n }\n\n /**\n * There are 3 endpoints (stages) we need to call for the enrollment flow.\n * The first one is the regular payments call on issuer selection - we indicate to store the payment token for the selected issuer.\n * The second one is to poll the enrollment eligibility - we poll the server to get the enrollment challenge in the `getEnrollmentStatus` function.\n * The third one is in the `authorizeEnrollment` function - we create passkeys and authorize the enrollment with shopper's passkey.\n */\n private readonly onIssuerSelected = async payload => {\n try {\n const { data = {} } = payload;\n if (!data.issuer) {\n return;\n }\n\n const { deviceId, ...riskSignals } = await this.passkeyService.captureRiskSignalsEnrollment();\n this.setState({ ...payload, data: { ...data, riskSignals, deviceId } });\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the onIssuerSelected';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n private readonly authorizeEnrollment = async (registrationOptions: string): Promise<void> => {\n try {\n const fidoAssertion = await this.passkeyService.createCredentialForEnrollment(registrationOptions); // Create passkey and trigger biometrics\n const enrollment = { enrollmentId: this.props.paymentMethodData?.enrollmentId, fidoAssertion };\n const { redirectResult } = await authorizeEnrollment({\n enrollment,\n clientKey: this.props.clientKey,\n loadingContext: this.props.loadingContext\n });\n // Make paymentDetails call to finalize the enrollment.\n this.handleAdditionalDetails({ data: { details: { redirectResult } } });\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the authorizeEnrollment';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n /**\n * There are 3 endpoints (stages) we need to call for the payment flow.\n * The first one `payWithStoredPayment` is the regular payments call - we attempt to pay with the stored payment token.\n * The second one is to poll the authorization options - we poll the server to get the challenge in the `getAuthorizationStatus` function.\n * The third one is in the `authorizePayment` function - we authorize the payment with shopper's passkey.\n */\n private readonly payWithStoredPayment = async () => {\n try {\n const { deviceId, ...riskSignals } = await this.passkeyService.captureRiskSignalsAuthentication();\n this.state = { ...this.state, ...{ data: { storedPaymentMethodId: this.props.storedPaymentMethodId, riskSignals, deviceId } } };\n super.submit();\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the payWithStoredPayment';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n private readonly authorizePayment = async (authenticationOptions: string): Promise<void> => {\n try {\n const fidoAssertion = await this.passkeyService.authenticateWithCredential(authenticationOptions);\n const payment = {\n enrollmentId: this.props.paymentMethodData?.enrollmentId,\n initiationId: this.props.paymentMethodData?.initiationId,\n fidoAssertion\n };\n const { redirectResult } = await authorizePayment({\n payment,\n clientKey: this.props.clientKey,\n loadingContext: this.props.loadingContext\n });\n this.handleAdditionalDetails({ data: { details: { redirectResult } } });\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the authorizePayment';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n protected override componentToRender(): h.JSX.Element {\n // Always render the redirect button on the merchant's page\n if (!this.props._isAdyenHosted) {\n return (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n label={this.props.i18n.get('paybybankpix.redirectBtn.label')}\n amount={this.props.amount}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n );\n }\n\n return this.props.storedPaymentMethodId != null ? (\n <StoredPayment\n txVariant={PayByBankPixElement.type}\n type={this.props.type}\n clientKey={this.props.clientKey}\n amount={this.props.amount}\n enrollmentId={this.props.paymentMethodData?.enrollmentId}\n initiationId={this.props.paymentMethodData?.initiationId}\n setComponentRef={this.setComponentRef}\n onPay={this.payWithStoredPayment}\n onAuthorize={this.authorizePayment}\n />\n ) : (\n <Enrollment\n onError={this.handleError}\n txVariant={PayByBankPixElement.type}\n // Await\n type={this.props.type}\n clientKey={this.props.clientKey}\n enrollmentId={this.props.paymentMethodData?.enrollmentId}\n countdownTime={this.props.countdownTime}\n onEnroll={this.authorizeEnrollment}\n // Issuer List\n issuers={this.props.issuers}\n payButton={this.payButton}\n onChange={this.onIssuerSelected}\n onSubmitAnalytics={this.submitAnalytics}\n setComponentRef={this.setComponentRef}\n />\n );\n }\n}\n//\nexport default PayByBankPixElement;\n"],"names":["PayByBankPixElement","UIElement","isValid","_this_state","this","props","_isAdyenHosted","storedPaymentMethodId","state","additionalInfo","_this_props_payByBankPixDetails","_this_props","i18n","get","values","receiver","payByBankPixDetails","icon","resources","getImage","parentFolder","type","ispb","super","isAvailable","unsupportedReason","passkeyService","getWebAuthnUnsupportedReason","Promise","reject","AdyenCheckoutError","ERROR","resolve","initialize","canUseStoredCredential","error","Error","message","handleAction","action","paymentAction","core","createFromAction","_object_spread_props","_object_spread","elementRef","onAdditionalDetails","handleAdditionalDetails","unmount","then","mount","_node","formatData","paymentMethod","TxVariants","paybybank_pix","isEnrollment","data","storePaymentMethod","componentToRender","_this_props_paymentMethodData","_this_props_paymentMethodData1","_this_props_paymentMethodData2","h","StoredPayment","txVariant","clientKey","amount","enrollmentId","paymentMethodData","initiationId","setComponentRef","onPay","payWithStoredPayment","onAuthorize","authorizePayment","Enrollment","onError","handleError","countdownTime","onEnroll","authorizeEnrollment","issuers","payButton","onChange","onIssuerSelected","onSubmitAnalytics","submitAnalytics","RedirectButton","showPayButton","name","displayName","label","onSubmit","submit","ref","componentRef","constructor","checkout","_define_property","async","payload","issuer","_ref","captureRiskSignalsEnrollment","deviceId","riskSignals","setState","errorMsg","registrationOptions","fidoAssertion","createCredentialForEnrollment","enrollment","redirectResult","loadingContext","details","captureRiskSignalsAuthentication","authenticationOptions","authenticateWithCredential","payment","PasskeyService","environment","analytics","TIMEOUT_MINUTES","defaultProps","URL","window","location","href","hostname","endsWith","e","isAdyenHosted"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PayByBankPix.js","sources":["../../../../src/components/PayByBankPix/PayByBankPix.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { PayByBankPixData, PayByBankPixConfiguration } from './types';\nimport { TxVariants } from '../tx-variants';\nimport UIElement from '../internal/UIElement';\nimport RedirectButton from '../internal/RedirectButton';\nimport AdyenCheckoutError, { ERROR } from '../../core/Errors/AdyenCheckoutError';\nimport { PasskeyService } from './services/PasskeyService';\nimport { authorizeEnrollment } from './services/authorizeEnrollment';\nimport { authorizePayment } from './services/authorizePayment';\nimport StoredPayment from './components/StoredPayment';\nimport Enrollment from './components/Enrollment';\nimport { PaymentAction } from '../../types/global-types';\nimport type { ICore } from '../../core/types';\n\nconst isAdyenHosted = () => {\n try {\n const currentUrl = new URL(window.location.href);\n return currentUrl.hostname.endsWith('.adyen.com');\n } catch (e) {\n // SSR, or it fails to parse the full url\n return false;\n }\n};\nclass PayByBankPixElement extends UIElement<PayByBankPixConfiguration> {\n public static readonly type = TxVariants.paybybank_pix;\n private static readonly TIMEOUT_MINUTES = 1;\n private readonly passkeyService: PasskeyService;\n\n public static readonly defaultProps: PayByBankPixConfiguration = {\n showPayButton: true,\n _isAdyenHosted: isAdyenHosted(),\n countdownTime: PayByBankPixElement.TIMEOUT_MINUTES\n };\n\n constructor(checkout: ICore, props?: PayByBankPixConfiguration) {\n super(checkout, props);\n const deviceId = this.props.storedPaymentMethodId ? this.props?.payByBankPixDetails?.deviceId : this.props.deviceId;\n\n this.passkeyService = new PasskeyService(\n {\n environment: this.props.environment,\n deviceId\n },\n this.analytics\n );\n\n if (this.props._isAdyenHosted) {\n void this.passkeyService.initialize();\n }\n }\n\n get isValid(): boolean {\n // Always true for non-hosted page or stored payment\n if (!this.props._isAdyenHosted || this.props.storedPaymentMethodId) {\n return true;\n }\n return !!this.state?.isValid;\n }\n\n /**\n * Display in the drop-in\n */\n get additionalInfo() {\n return this.props.storedPaymentMethodId\n ? this.props.i18n.get('paybybankpix.storedPayment.additionalLabel', { values: { receiver: this.props?.payByBankPixDetails?.receiver } })\n : '';\n }\n\n /**\n * Display in the drop-in\n */\n public override get icon() {\n return this.props.storedPaymentMethodId\n ? this.resources.getImage({ parentFolder: `${PayByBankPixElement.type}/` })(this.props?.payByBankPixDetails?.ispb)\n : super.icon;\n }\n\n /**\n * Method used to let the merchant know if the shopper's device supports WebAuthn APIs: https://featuredetect.passkeys.dev/\n */\n public override async isAvailable(): Promise<void> {\n const unsupportedReason = await this.passkeyService.getWebAuthnUnsupportedReason();\n if (unsupportedReason) {\n return Promise.reject(new AdyenCheckoutError(ERROR, unsupportedReason));\n }\n if (!this.props._isAdyenHosted) {\n return Promise.resolve();\n }\n\n // Load passkey sdk on the hosted page\n try {\n await this.passkeyService.initialize();\n\n if (this.props.storedPaymentMethodId) {\n // If the provided deviceId from the server does not match the localstorage deviceId, do not render the stored payment component.\n const shouldShowStoredPaymentMethod = await this.passkeyService.canUseStoredCredential();\n return shouldShowStoredPaymentMethod\n ? Promise.resolve()\n : Promise.reject(new AdyenCheckoutError('ERROR', 'The stored payment method is not available on this device'));\n }\n\n return Promise.resolve();\n } catch (error) {\n return Promise.reject(error instanceof Error ? error?.message : 'Unknown error');\n }\n }\n\n /**\n * Make sure the await action UIElement is available before mounting\n */\n public override handleAction(action: PaymentAction, props: {} = {}): UIElement | null {\n const paymentAction = this.core.createFromAction(action, {\n ...this.elementRef.props,\n ...props,\n onAdditionalDetails: this.handleAdditionalDetails\n });\n if (paymentAction) {\n this.unmount();\n void paymentAction.isAvailable().then(() => {\n paymentAction.mount(this._node);\n });\n return paymentAction;\n }\n\n return null;\n }\n\n formatData(): PayByBankPixData {\n if (!this.props._isAdyenHosted) {\n return {\n paymentMethod: { type: TxVariants.paybybank_pix }\n };\n }\n\n const isEnrollment = this.props.storedPaymentMethodId == null;\n return {\n paymentMethod: { type: TxVariants.paybybank_pix, ...this.state.data },\n // Always store the payment method for the enrollment flow.\n ...(isEnrollment ? { storePaymentMethod: true } : {})\n };\n }\n\n /**\n * There are 3 endpoints (stages) we need to call for the enrollment flow.\n * The first one is the regular payments call on issuer selection - we indicate to store the payment token for the selected issuer.\n * The second one is to poll the enrollment eligibility - we poll the server to get the enrollment challenge in the `getEnrollmentStatus` function.\n * The third one is in the `authorizeEnrollment` function - we create passkeys and authorize the enrollment with shopper's passkey.\n */\n private readonly onIssuerSelected = async payload => {\n try {\n const { data = {} } = payload;\n if (!data.issuer) {\n return;\n }\n\n const { deviceId, ...riskSignals } = await this.passkeyService.captureRiskSignalsEnrollment();\n this.setState({ ...payload, data: { ...data, riskSignals, deviceId } });\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the onIssuerSelected';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n private readonly authorizeEnrollment = async (registrationOptions: string): Promise<void> => {\n try {\n const fidoAssertion = await this.passkeyService.createCredentialForEnrollment(registrationOptions); // Create passkey and trigger biometrics\n const enrollment = { enrollmentId: this.props.paymentMethodData?.enrollmentId, fidoAssertion };\n const { redirectResult } = await authorizeEnrollment({\n enrollment,\n clientKey: this.props.clientKey,\n loadingContext: this.props.loadingContext\n });\n // Make paymentDetails call to finalize the enrollment.\n this.handleAdditionalDetails({ data: { details: { redirectResult } } });\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the authorizeEnrollment';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n /**\n * There are 3 endpoints (stages) we need to call for the payment flow.\n * The first one `payWithStoredPayment` is the regular payments call - we attempt to pay with the stored payment token.\n * The second one is to poll the authorization options - we poll the server to get the challenge in the `getAuthorizationStatus` function.\n * The third one is in the `authorizePayment` function - we authorize the payment with shopper's passkey.\n */\n private readonly payWithStoredPayment = async () => {\n try {\n const { deviceId, ...riskSignals } = await this.passkeyService.captureRiskSignalsAuthentication();\n this.state = { ...this.state, ...{ data: { storedPaymentMethodId: this.props.storedPaymentMethodId, riskSignals, deviceId } } };\n super.submit();\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the payWithStoredPayment';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n private readonly authorizePayment = async (authenticationOptions: string): Promise<void> => {\n try {\n const fidoAssertion = await this.passkeyService.authenticateWithCredential(authenticationOptions);\n const payment = {\n enrollmentId: this.props.paymentMethodData?.enrollmentId,\n initiationId: this.props.paymentMethodData?.initiationId,\n fidoAssertion\n };\n const { redirectResult } = await authorizePayment({\n payment,\n clientKey: this.props.clientKey,\n loadingContext: this.props.loadingContext\n });\n this.handleAdditionalDetails({ data: { details: { redirectResult } } });\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Unknown error in the authorizePayment';\n this.handleError(error instanceof AdyenCheckoutError ? error : new AdyenCheckoutError(ERROR, errorMsg));\n }\n };\n\n protected override componentToRender(): h.JSX.Element {\n // Always render the redirect button on the merchant's page\n if (!this.props._isAdyenHosted) {\n return (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n label={this.props.i18n.get('paybybankpix.redirectBtn.label')}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n );\n }\n\n return this.props.storedPaymentMethodId != null ? (\n <StoredPayment\n txVariant={PayByBankPixElement.type}\n type={this.props.type}\n clientKey={this.props.clientKey}\n enrollmentId={this.props.paymentMethodData?.enrollmentId}\n initiationId={this.props.paymentMethodData?.initiationId}\n setComponentRef={this.setComponentRef}\n onPay={this.payWithStoredPayment}\n onAuthorize={this.authorizePayment}\n />\n ) : (\n <Enrollment\n onError={this.handleError}\n txVariant={PayByBankPixElement.type}\n // Await\n type={this.props.type}\n clientKey={this.props.clientKey}\n enrollmentId={this.props.paymentMethodData?.enrollmentId}\n countdownTime={this.props.countdownTime}\n onEnroll={this.authorizeEnrollment}\n // Issuer List\n issuers={this.props.issuers}\n payButton={this.payButton}\n onChange={this.onIssuerSelected}\n onSubmitAnalytics={this.submitAnalytics}\n setComponentRef={this.setComponentRef}\n />\n );\n }\n}\n//\nexport default PayByBankPixElement;\n"],"names":["PayByBankPixElement","UIElement","isValid","_this_state","this","props","_isAdyenHosted","storedPaymentMethodId","state","additionalInfo","_this_props_payByBankPixDetails","_this_props","i18n","get","values","receiver","payByBankPixDetails","icon","resources","getImage","parentFolder","type","ispb","super","isAvailable","unsupportedReason","passkeyService","getWebAuthnUnsupportedReason","Promise","reject","AdyenCheckoutError","ERROR","resolve","initialize","canUseStoredCredential","error","Error","message","handleAction","action","paymentAction","core","createFromAction","_object_spread_props","_object_spread","elementRef","onAdditionalDetails","handleAdditionalDetails","unmount","then","mount","_node","formatData","paymentMethod","TxVariants","paybybank_pix","isEnrollment","data","storePaymentMethod","componentToRender","_this_props_paymentMethodData","_this_props_paymentMethodData1","_this_props_paymentMethodData2","h","StoredPayment","txVariant","clientKey","enrollmentId","paymentMethodData","initiationId","setComponentRef","onPay","payWithStoredPayment","onAuthorize","authorizePayment","Enrollment","onError","handleError","countdownTime","onEnroll","authorizeEnrollment","issuers","payButton","onChange","onIssuerSelected","onSubmitAnalytics","submitAnalytics","RedirectButton","showPayButton","name","displayName","label","onSubmit","submit","ref","componentRef","constructor","checkout","_define_property","async","payload","issuer","_ref","captureRiskSignalsEnrollment","deviceId","riskSignals","setState","errorMsg","registrationOptions","fidoAssertion","createCredentialForEnrollment","enrollment","redirectResult","loadingContext","details","captureRiskSignalsAuthentication","authenticationOptions","authenticateWithCredential","payment","PasskeyService","environment","analytics","TIMEOUT_MINUTES","defaultProps","URL","window","location","href","hostname","endsWith","e","isAdyenHosted"],"mappings":"ogEAuBA,MAAMA,UAA4BC,EA4B9B,WAAIC,GAKS,IAAAC,EAHT,QAAKC,KAAKC,MAAMC,iBAAkBF,KAAKC,MAAME,2BAG1B,QAAVJ,EAAAC,KAAKI,aAAL,IAAAL,SAAAA,EAAYD,QACzB,CAKA,kBAAIO,OAE8FC,EAAAC,EAD9F,OAAOP,KAAKC,MAAME,sBACZH,KAAKC,MAAMO,KAAKC,IAAI,6CAA8C,CAAEC,OAAQ,CAAEC,SAAoB,QAAVJ,EAAAP,KAAKC,iBAALM,GAA+B,QAA/BD,EAAAC,EAAYK,2BAAZ,IAAAN,OAAA,EAAAA,EAAiCK,YACzH,EACV,CAKA,QAAoBE,OAEgEP,EAAAC,EADhF,OAAOP,KAAKC,MAAME,sBACZH,KAAKc,UAAUC,SAAS,CAAEC,aAAc,GAAGpB,EAAoBqB,SAA/DjB,SAA0EO,EAAAP,KAAKC,iBAALM,WAAAD,EAAAC,EAAYK,2BAAZ,IAAAN,OAAA,EAAAA,EAAiCY,MAC3GC,MAAMN,IAChB,CAKA,iBAAsBO,GAClB,MAAMC,QAA0BrB,KAAKsB,eAAeC,+BACpD,GAAIF,EACA,OAAOG,QAAQC,OAAO,IAAIC,EAAmBC,EAAON,IAExD,IAAKrB,KAAKC,MAAMC,eACZ,OAAOsB,QAAQI,UAInB,IAGI,SAFM5B,KAAKsB,eAAeO,aAEtB7B,KAAKC,MAAME,sBAAuB,CAGlC,aAD4CH,KAAKsB,eAAeQ,yBAE1DN,QAAQI,UACRJ,QAAQC,OAAO,IAAIC,EAAmB,QAAS,6DACzD,CAEA,OAAOF,QAAQI,SACnB,CAAE,MAAOG,GACL,OAAOP,QAAQC,OAAOM,aAAiBC,MAAQD,aAAAA,EAAAA,EAAOE,QAAU,gBACpE,CACJ,CAKA,YAAAC,CAA6BC,EAAuBlC,EAAY,IAC5D,MAAMmC,EAAgBpC,KAAKqC,KAAKC,iBAAiBH,EAAQI,EAAAC,EAAA,CAAA,EAClDxC,KAAKyC,WAAWxC,MAChBA,GAAAA,CACHyC,oBAAqB1C,KAAK2C,2BAE9B,OAAIP,GACApC,KAAK4C,UACAR,EAAchB,cAAcyB,KAAK,KAClCT,EAAcU,MAAM9C,KAAK+C,SAEtBX,GAGJ,IACX,CAEAY,UAAAA,GACI,IAAKhD,KAAKC,MAAMC,eACZ,MAAO,CACH+C,cAAe,CAAEhC,KAAMiC,EAAWC,gBAI1C,MAAMC,EAAmD,MAApCpD,KAAKC,MAAME,sBAChC,OAAOqC,EAAA,CACHS,cAAeT,EAAA,CAAEvB,KAAMiC,EAAWC,eAAkBnD,KAAKI,MAAMiD,OAE3DD,EAAe,CAAEE,oBAAoB,GAAS,GAE1D,CA6EmBC,iBAAAA,GAsBO,IAAAC,EACAC,EAYAC,EAjCtB,OAAK1D,KAAKC,MAAMC,eAe2B,MAApCF,KAAKC,MAAME,sBACdwD,EAACC,EAAAA,CACGC,UAAWjE,EAAoBqB,KAC/BA,KAAMjB,KAAKC,MAAMgB,KACjB6C,UAAW9D,KAAKC,MAAM6D,UACtBC,aAA0C,QAA5BP,EAAAxD,KAAKC,MAAM+D,yBAAX,IAAAR,OAAA,EAAAA,EAA8BO,aAC5CE,aAA0C,QAA5BR,EAAAzD,KAAKC,MAAM+D,yBAAX,IAAAP,OAAA,EAAAA,EAA8BQ,aAC5CC,gBAAiBlE,KAAKkE,gBACtBC,MAAOnE,KAAKoE,qBACZC,YAAarE,KAAKsE,mBAGtBX,EAACY,EAAAA,CACGC,QAASxE,KAAKyE,YACdZ,UAAWjE,EAAoBqB,KAE/BA,KAAMjB,KAAKC,MAAMgB,KACjB6C,UAAW9D,KAAKC,MAAM6D,UACtBC,aAA0C,QAA5BL,EAAA1D,KAAKC,MAAM+D,yBAAX,IAAAN,OAAA,EAAAA,EAA8BK,aAC5CW,cAAe1E,KAAKC,MAAMyE,cAC1BC,SAAU3E,KAAK4E,oBAEfC,QAAS7E,KAAKC,MAAM4E,QACpBC,UAAW9E,KAAK8E,UAChBC,SAAU/E,KAAKgF,iBACfC,kBAAmBjF,KAAKkF,gBACxBhB,gBAAiBlE,KAAKkE,kBAvCtBP,EAACwB,EAAAA,CACGC,cAAepF,KAAKC,MAAMmF,cAC1BC,KAAMrF,KAAKsF,YACXC,MAAOvF,KAAKC,MAAMO,KAAKC,IAAI,kCAC3BqE,UAAW9E,KAAK8E,UAChBU,SAAUxF,KAAKyF,OACfC,IAAKA,IACD1F,KAAK2F,aAAeD,IAmCxC,CArOA,WAAAE,CAAYC,EAAiB5F,OAE2BK,EAAAC,EADpDY,MAAM0E,EAAU5F,GATpB6F,EAAA9F,KAAiBsB,yBA0HjBwE,EAAA9F,KAAiBgF,mBAAmBe,MAAMC,IACtC,IACI,MAAM3C,KAAEA,EAAO,CAAA,GAAO2C,EACtB,IAAK3C,EAAK4C,OACN,OAGJ,MAAqCC,QAAMlG,KAAKsB,eAAe6E,gCAAzDC,SAAEA,GAA6BF,EAAhBG,EAAAA,EAAgBH,EAAA,cACrClG,KAAKsG,SAAS/D,EAAAC,EAAA,CAAA,EAAKwD,GAAAA,CAAS3C,KAAMd,EAAAC,EAAA,CAAA,EAAKa,GAAAA,CAAMgD,cAAaD,eAC9D,CAAE,MAAOrE,GACL,MAAMwE,EAAWxE,aAAiBC,MAAQD,EAAME,QAAU,wCAC1DjC,KAAKyE,YAAY1C,aAAiBL,EAAqBK,EAAQ,IAAIL,EAAmBC,EAAO4E,GACjG,IAGJT,EAAA9F,KAAiB4E,sBAAsBmB,MAAOS,IAC1C,IAEuC,IAAAhD,EADnC,MAAMiD,QAAsBzG,KAAKsB,eAAeoF,8BAA8BF,GACxEG,EAAa,CAAE5C,aAA0C,QAA5BP,EAAAxD,KAAKC,MAAM+D,yBAAX,IAAAR,OAAA,EAAAA,EAA8BO,aAAc0C,kBACzEG,eAAEA,SAAyBhC,EAAoB,CACjD+B,aACA7C,UAAW9D,KAAKC,MAAM6D,UACtB+C,eAAgB7G,KAAKC,MAAM4G,iBAG/B7G,KAAK2C,wBAAwB,CAAEU,KAAM,CAAEyD,QAAS,CAAEF,oBACtD,CAAE,MAAO7E,GACL,MAAMwE,EAAWxE,aAAiBC,MAAQD,EAAME,QAAU,2CAC1DjC,KAAKyE,YAAY1C,aAAiBL,EAAqBK,EAAQ,IAAIL,EAAmBC,EAAO4E,GACjG,IASJT,OAAiB1B,uBAAuB2B,UACpC,IACI,MAAqCG,QAAMlG,KAAKsB,eAAeyF,oCAAzDX,SAAEA,GAA6BF,EAAhBG,EAAAA,EAAgBH,EAAA,cACrClG,KAAKI,MAAQoC,KAAKxC,KAAKI,MAAU,CAAEiD,KAAM,CAAElD,sBAAuBH,KAAKC,MAAME,sBAAuBkG,cAAaD,cACjHjF,MAAMsE,QACV,CAAE,MAAO1D,GACL,MAAMwE,EAAWxE,aAAiBC,MAAQD,EAAME,QAAU,4CAC1DjC,KAAKyE,YAAY1C,aAAiBL,EAAqBK,EAAQ,IAAIL,EAAmBC,EAAO4E,GACjG,IAGJT,EAAA9F,KAAiBsE,mBAAmByB,MAAOiB,IACvC,QAGsBxD,EACAC,EAHlB,MAAMgD,QAAsBzG,KAAKsB,eAAe2F,2BAA2BD,GACrEE,EAAU,CACZnD,aAA0C,QAA5BP,EAAAxD,KAAKC,MAAM+D,yBAAX,IAAAR,OAAA,EAAAA,EAA8BO,aAC5CE,aAA0C,QAA5BR,EAAAzD,KAAKC,MAAM+D,yBAAX,IAAAP,OAAA,EAAAA,EAA8BQ,aAC5CwC,kBAEEG,eAAEA,SAAyBtC,EAAiB,CAC9C4C,UACApD,UAAW9D,KAAKC,MAAM6D,UACtB+C,eAAgB7G,KAAKC,MAAM4G,iBAE/B7G,KAAK2C,wBAAwB,CAAEU,KAAM,CAAEyD,QAAS,CAAEF,oBACtD,CAAE,MAAO7E,GACL,MAAMwE,EAAWxE,aAAiBC,MAAQD,EAAME,QAAU,wCAC1DjC,KAAKyE,YAAY1C,aAAiBL,EAAqBK,EAAQ,IAAIL,EAAmBC,EAAO4E,GACjG,IAlLA,MAAMH,EAAWpG,KAAKC,MAAME,sBAAkC,QAAVI,EAAAP,KAAKC,iBAALM,GAA+B,QAA/BD,EAAAC,EAAYK,2BAAZ,IAAAN,SAAAA,EAAiC8F,SAAWpG,KAAKC,MAAMmG,SAE3GpG,KAAKsB,eAAiB,IAAI6F,EACtB,CACIC,YAAapH,KAAKC,MAAMmH,YACxBhB,YAEJpG,KAAKqH,WAGLrH,KAAKC,MAAMC,gBACNF,KAAKsB,eAAeO,YAEjC,EAzBAiE,EADElG,EACqBqB,OAAOiC,EAAWC,eACzC2C,EAFElG,EAEsB0H,kBAAkB,GAG1CxB,EALElG,EAKqB2H,eAA0C,CAC7DnC,eAAe,EACflF,eAhBc,MAClB,IAEI,OADmB,IAAIsH,IAAIC,OAAOC,SAASC,MACzBC,SAASC,SAAS,aACxC,CAAE,MAAOC,GAEL,OAAO,CACX,GASoBC,GAChBrD,cAAe9E,EAAoB0H"}
|
package/dist/es-legacy/components/PayByBankPix/components/Enrollment/useIssuerWithLogo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIssuerWithLogo.js","sources":["../../../../../../src/components/PayByBankPix/components/Enrollment/useIssuerWithLogo.ts"],"sourcesContent":["import { useEffect, useState } from 'preact/hooks';\nimport { IssuerItem } from '../../../internal/IssuerList/types';\nimport getIssuerImageUrl from '../../../../utils/get-issuer-image';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport useImage from '../../../../core/Context/useImage';\n\ninterface UseIssuerWithLogoProps {\n txVariant: string;\n issuers: IssuerItem[];\n}\nexport const useIssuerWithLogo = ({ issuers = [], txVariant }: UseIssuerWithLogoProps): IssuerItem[] => {\n const { loadingContext } = useCoreContext();\n const getImage = useImage();\n const [issuersWithLogo, setIssuersWithLogo] = useState<IssuerItem[]>(issuers);\n\n useEffect(() => {\n if (issuers?.length > 0) {\n const getIssuerIcon = getIssuerImageUrl({ loadingContext }, txVariant, getImage);\n setIssuersWithLogo(\n issuers.map(item => ({\n ...item,\n icon: getIssuerIcon(item.id)\n }))\n );\n }\n }, [issuers, txVariant]);\n\n return issuersWithLogo;\n};\n"],"names":["useIssuerWithLogo","issuers","txVariant","loadingContext","useCoreContext","getImage","useImage","issuersWithLogo","setIssuersWithLogo","useState","useEffect","length","getIssuerIcon","getIssuerImageUrl","map","item","_object_spread_props","_object_spread","icon","id"],"mappings":"kvBAUO,MAAMA,EAAoB,EAAGC,UAAU,GAAIC,gBAC9C,MAAMC,eAAEA,GAAmBC,IACrBC,EAAWC,KACVC,EAAiBC,GAAsBC,EAAuBR,GAcrE,OAZAS,EAAU,KACN,IAAIT,
|
|
1
|
+
{"version":3,"file":"useIssuerWithLogo.js","sources":["../../../../../../src/components/PayByBankPix/components/Enrollment/useIssuerWithLogo.ts"],"sourcesContent":["import { useEffect, useState } from 'preact/hooks';\nimport { IssuerItem } from '../../../internal/IssuerList/types';\nimport getIssuerImageUrl from '../../../../utils/get-issuer-image';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport useImage from '../../../../core/Context/useImage';\n\ninterface UseIssuerWithLogoProps {\n txVariant: string;\n issuers: IssuerItem[];\n}\nexport const useIssuerWithLogo = ({ issuers = [], txVariant }: UseIssuerWithLogoProps): IssuerItem[] => {\n const { loadingContext } = useCoreContext();\n const getImage = useImage();\n const [issuersWithLogo, setIssuersWithLogo] = useState<IssuerItem[]>(issuers);\n\n useEffect(() => {\n if (issuers?.length > 0) {\n const getIssuerIcon = getIssuerImageUrl({ loadingContext }, txVariant, getImage);\n setIssuersWithLogo(\n issuers.map(item => ({\n ...item,\n icon: getIssuerIcon(item.id)\n }))\n );\n }\n }, [issuers, txVariant]);\n\n return issuersWithLogo;\n};\n"],"names":["useIssuerWithLogo","issuers","txVariant","loadingContext","useCoreContext","getImage","useImage","issuersWithLogo","setIssuersWithLogo","useState","useEffect","length","getIssuerIcon","getIssuerImageUrl","map","item","_object_spread_props","_object_spread","icon","id"],"mappings":"kvBAUO,MAAMA,EAAoB,EAAGC,UAAU,GAAIC,gBAC9C,MAAMC,eAAEA,GAAmBC,IACrBC,EAAWC,KACVC,EAAiBC,GAAsBC,EAAuBR,GAcrE,OAZAS,EAAU,KACN,IAAIT,eAAAA,EAASU,QAAS,EAAG,CACrB,MAAMC,EAAgBC,EAAkB,CAAEV,kBAAkBD,EAAWG,GACvEG,EACIP,EAAQa,IAAIC,GAASC,oUAAAC,CAAA,GACdF,GAAAA,CACHG,KAAMN,EAAcG,EAAKI,OAGrC,GACD,CAAClB,EAASC,IAENK"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as t}from"../../../../external/preact/dist/preact.js";import{useState as e,useRef as n,useCallback as o,useEffect as a}from"../../../../external/preact/hooks/dist/hooks.js";import{useCoreContext as i}from"../../../../core/Context/CoreProvider.js";import r from"../../../../core/Context/useImage.js";import s from"../../../internal/PayButton/PayButton.js";import l from"./getAuthorizationStatus.js";import p from"../Enrollment/components/PayByBankPixAwait.js";function c({onPay:c,type:m,countdownTime:u,
|
|
1
|
+
import{createElement as t}from"../../../../external/preact/dist/preact.js";import{useState as e,useRef as n,useCallback as o,useEffect as a}from"../../../../external/preact/hooks/dist/hooks.js";import{useCoreContext as i}from"../../../../core/Context/CoreProvider.js";import r from"../../../../core/Context/useImage.js";import s from"../../../internal/PayButton/PayButton.js";import l from"./getAuthorizationStatus.js";import p from"../Enrollment/components/PayByBankPixAwait.js";function c({onPay:c,type:m,countdownTime:u,txVariant:f,setComponentRef:y,enrollmentId:d,initiationId:x,clientKey:b,onAuthorize:g,onError:k}){const{i18n:w,loadingContext:C}=i(),h=r(),[j,P]=e("ready"),[B,E]=e(null),I=[{name:"open-finance",alt:w.get("paybybankpix.await.logoAlt.openFinance"),src:`${h({parentFolder:`${f}/`})("open-finance")}`}],z=n({setStatus:P}),A=o(async()=>{if(B)return;const t=await l({enrollmentId:d,initiationId:x,clientKey:b,loadingContext:C});return t.authorizationOptions&&E(t.authorizationOptions),t},[B,d,x,b,C]);return a(()=>{y(z.current)},[y]),a(()=>{B&&g(B)},[B]),"await"===m?t(p,{logos:I,type:f,countdownTime:u,clientKey:b,onError:k,awaitText:w.get("paybybankpix.await.fetchDetails"),pollStatus:A}):t(s,{classNameModifiers:["standalone"],label:w.get("paybybankpix.redirectBtn.label"),status:j,onClick:c})}export{c as default};
|
|
2
2
|
//# sourceMappingURL=StoredPayment.js.map
|
package/dist/es-legacy/components/PayByBankPix/components/StoredPayment/StoredPayment.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoredPayment.js","sources":["../../../../../../src/components/PayByBankPix/components/StoredPayment/StoredPayment.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef, useCallback } from 'preact/hooks';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { PaymentProps } from './types';\nimport useImage from '../../../../core/Context/useImage';\nimport PayButton from '../../../internal/PayButton';\nimport './StoredPayment.scss';\nimport getAuthorizationStatus from './getAuthorizationStatus';\nimport PayByBankPixAwait from '../Enrollment/components/PayByBankPixAwait';\n\nfunction StoredPayment({\n onPay,\n type,\n countdownTime,\n
|
|
1
|
+
{"version":3,"file":"StoredPayment.js","sources":["../../../../../../src/components/PayByBankPix/components/StoredPayment/StoredPayment.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef, useCallback } from 'preact/hooks';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { PaymentProps } from './types';\nimport useImage from '../../../../core/Context/useImage';\nimport PayButton from '../../../internal/PayButton';\nimport './StoredPayment.scss';\nimport getAuthorizationStatus from './getAuthorizationStatus';\nimport PayByBankPixAwait from '../Enrollment/components/PayByBankPixAwait';\n\nfunction StoredPayment({\n onPay,\n type,\n countdownTime,\n txVariant,\n setComponentRef,\n enrollmentId,\n initiationId,\n clientKey,\n onAuthorize,\n onError\n}: PaymentProps) {\n const { i18n, loadingContext } = useCoreContext();\n const getImage = useImage();\n const [status, setStatus] = useState('ready');\n const [authorizationOptions, setAuthorizationOptions] = useState<string>(null);\n const buttonModifiers = ['standalone'];\n const logos = [\n {\n name: 'open-finance',\n alt: i18n.get('paybybankpix.await.logoAlt.openFinance'),\n src: `${getImage({ parentFolder: `${txVariant}/` })('open-finance')}`\n }\n ];\n\n const self = useRef({\n setStatus\n });\n\n const pollStatus = useCallback(async () => {\n if (authorizationOptions) return;\n\n const response = await getAuthorizationStatus({ enrollmentId, initiationId, clientKey, loadingContext });\n if (response.authorizationOptions) {\n setAuthorizationOptions(response.authorizationOptions);\n }\n\n return response;\n }, [authorizationOptions, enrollmentId, initiationId, clientKey, loadingContext]);\n\n useEffect(() => {\n setComponentRef(self.current);\n }, [setComponentRef]);\n\n useEffect(() => {\n if (authorizationOptions) {\n onAuthorize(authorizationOptions);\n }\n }, [authorizationOptions]);\n\n return type === 'await' ? (\n <PayByBankPixAwait\n logos={logos}\n type={txVariant}\n countdownTime={countdownTime}\n clientKey={clientKey}\n onError={onError}\n awaitText={i18n.get('paybybankpix.await.fetchDetails')}\n pollStatus={pollStatus}\n ></PayByBankPixAwait>\n ) : (\n <PayButton classNameModifiers={buttonModifiers} label={i18n.get('paybybankpix.redirectBtn.label')} status={status} onClick={onPay} />\n );\n}\n\nexport default StoredPayment;\n"],"names":["StoredPayment","onPay","type","countdownTime","txVariant","setComponentRef","enrollmentId","initiationId","clientKey","onAuthorize","onError","i18n","loadingContext","useCoreContext","getImage","useImage","status","setStatus","useState","authorizationOptions","setAuthorizationOptions","logos","name","alt","get","src","parentFolder","self","useRef","pollStatus","useCallback","async","response","getAuthorizationStatus","useEffect","current","h","PayByBankPixAwait","awaitText","PayButton","classNameModifiers","label","onClick"],"mappings":"geAUA,SAASA,GAAcC,MACnBA,EAAKC,KACLA,EAAIC,cACJA,EAAaC,UACbA,EAASC,gBACTA,EAAeC,aACfA,EAAYC,aACZA,EAAYC,UACZA,EAASC,YACTA,EAAWC,QACXA,IAEA,MAAMC,KAAEA,EAAIC,eAAEA,GAAmBC,IAC3BC,EAAWC,KACVC,EAAQC,GAAaC,EAAS,UAC9BC,EAAsBC,GAA2BF,EAAiB,MAEnEG,EAAQ,CACV,CACIC,KAAM,eACNC,IAAKZ,EAAKa,IAAI,0CACdC,IAAK,GAAGX,EAAS,CAAEY,aAAc,GAAGtB,MAA5BU,CAA4C,oBAItDa,EAAOC,EAAO,CAChBX,cAGEY,EAAaC,EAAYC,UAC3B,GAAIZ,EAAsB,OAE1B,MAAMa,QAAiBC,EAAuB,CAAE3B,eAAcC,eAAcC,YAAWI,mBAKvF,OAJIoB,EAASb,sBACTC,EAAwBY,EAASb,sBAG9Ba,GACR,CAACb,EAAsBb,EAAcC,EAAcC,EAAWI,IAYjE,OAVAsB,EAAU,KACN7B,EAAgBsB,EAAKQ,UACtB,CAAC9B,IAEJ6B,EAAU,KACFf,GACAV,EAAYU,IAEjB,CAACA,IAEY,UAATjB,EACHkC,EAACC,EAAAA,CACGhB,MAAOA,EACPnB,KAAME,EACND,cAAeA,EACfK,UAAWA,EACXE,QAASA,EACT4B,UAAW3B,EAAKa,IAAI,mCACpBK,WAAYA,IAGhBO,EAACG,EAAAA,CAAUC,mBA7CS,CAAC,cA6C2BC,MAAO9B,EAAKa,IAAI,kCAAmCR,OAAQA,EAAQ0B,QAASzC,GAEpI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasskeySdkLoader.js","sources":["../../../../../src/components/PayByBankPix/services/PasskeySdkLoader.ts"],"sourcesContent":["import { IAdyenPasskey } from './types';\nimport { getUrlFromMap } from '../../../core/Environment/Environment';\nimport type { CoreConfiguration } from '../../../core/types';\nimport { CDN_ENVIRONMENTS } from '../../../core/Environment/constants';\nimport AdyenCheckoutError from '../../../core/Errors/AdyenCheckoutError';\nimport Script from '../../../utils/Script';\nimport { IAnalytics } from '../../../core/Analytics/Analytics';\n\nexport interface IPasskeySdkLoader {\n load(environment: CoreConfiguration['environment'], analytics: IAnalytics): Promise<IAdyenPasskey>;\n}\n\nclass PasskeySdkLoader implements IPasskeySdkLoader {\n private static readonly PASSKEY_SDK_URL = 'js/adyenpasskey/1.1.0/adyen-passkey.js';\n private AdyenPasskey: IAdyenPasskey;\n\n private readonly analytics: IAnalytics;\n private readonly environment: string;\n\n constructor({ analytics, environment }: { analytics: IAnalytics; environment: string }) {\n this.analytics = analytics;\n this.environment = environment;\n }\n\n private isAvailable(): boolean {\n return this.AdyenPasskey != null;\n }\n\n public async load(): Promise<IAdyenPasskey> {\n if (this.isAvailable()) {\n return this.AdyenPasskey;\n }\n\n try {\n const cdnUrl = getUrlFromMap(this.environment as CoreConfiguration['environment'], CDN_ENVIRONMENTS);\n const url = `${cdnUrl}${PasskeySdkLoader.PASSKEY_SDK_URL}`;\n\n const scriptElement = new Script({\n src: url,\n component: 'paybybank_pix',\n analytics: this.analytics\n });\n\n await scriptElement.load();\n this.AdyenPasskey = window.AdyenPasskey?.default;\n return this.AdyenPasskey;\n } catch (e: unknown) {\n throw new AdyenCheckoutError(\n 'SCRIPT_ERROR',\n `Unable to load script. Message: ${e instanceof Error ? e.message : 'Unknown error loading Passkey sdk'}`\n );\n }\n }\n}\n\nexport { PasskeySdkLoader };\n"],"names":["PasskeySdkLoader","isAvailable","this","AdyenPasskey","load","window","cdnUrl","getUrlFromMap","environment","CDN_ENVIRONMENTS","scriptElement","Script","src","PASSKEY_SDK_URL","component","analytics","default","e","AdyenCheckoutError","Error","message","constructor","_define_property"],"mappings":"6WAYA,MAAMA,EAYMC,WAAAA,GACJ,OAA4B,MAArBC,KAAKC,YAChB,CAEA,UAAaC,GACT,GAAIF,KAAKD,cACL,OAAOC,KAAKC,aAGhB,IAWwBE,IAAAA,EAVpB,MAAMC,EAASC,EAAcL,KAAKM,YAAiDC,GAG7EC,EAAgB,IAAIC,EAAO,CAC7BC,IAHQ,GAAGN,IAASN,EAAiBa,kBAIrCC,UAAW,gBACXC,UAAWb,KAAKa,YAKpB,aAFML,EAAcN,OACpBF,KAAKC,aAAkC,QAAnBE,EAAAA,OAAOF,oBAAPE,IAAAA,OAAAA,EAAAA,EAAqBW,QAClCd,KAAKC,YAChB,CAAE,MAAOc,GACL,MAAM,IAAIC,EACN,eACA,mCAAmCD,aAAaE,MAAQF,EAAEG,QAAU,sCAE5E,CACJ,CAjCA,WAAAC,EAAYN,UAAEA,EAASP,YAAEA,IALzBc,EAAApB,KAAQC,
|
|
1
|
+
{"version":3,"file":"PasskeySdkLoader.js","sources":["../../../../../src/components/PayByBankPix/services/PasskeySdkLoader.ts"],"sourcesContent":["import { IAdyenPasskey } from './types';\nimport { getUrlFromMap } from '../../../core/Environment/Environment';\nimport type { CoreConfiguration } from '../../../core/types';\nimport { CDN_ENVIRONMENTS } from '../../../core/Environment/constants';\nimport AdyenCheckoutError from '../../../core/Errors/AdyenCheckoutError';\nimport Script from '../../../utils/Script';\nimport { IAnalytics } from '../../../core/Analytics/Analytics';\n\nexport interface IPasskeySdkLoader {\n load(environment: CoreConfiguration['environment'], analytics: IAnalytics): Promise<IAdyenPasskey>;\n}\n\nclass PasskeySdkLoader implements IPasskeySdkLoader {\n private static readonly PASSKEY_SDK_URL = 'js/adyenpasskey/1.1.0/adyen-passkey.js';\n private AdyenPasskey: IAdyenPasskey;\n\n private readonly analytics: IAnalytics;\n private readonly environment: string;\n\n constructor({ analytics, environment }: { analytics: IAnalytics; environment: string }) {\n this.analytics = analytics;\n this.environment = environment;\n }\n\n private isAvailable(): boolean {\n return this.AdyenPasskey != null;\n }\n\n public async load(): Promise<IAdyenPasskey> {\n if (this.isAvailable()) {\n return this.AdyenPasskey;\n }\n\n try {\n const cdnUrl = getUrlFromMap(this.environment as CoreConfiguration['environment'], CDN_ENVIRONMENTS);\n const url = `${cdnUrl}${PasskeySdkLoader.PASSKEY_SDK_URL}`;\n\n const scriptElement = new Script({\n src: url,\n component: 'paybybank_pix',\n analytics: this.analytics\n });\n\n await scriptElement.load();\n this.AdyenPasskey = window.AdyenPasskey?.default;\n return this.AdyenPasskey;\n } catch (e: unknown) {\n throw new AdyenCheckoutError(\n 'SCRIPT_ERROR',\n `Unable to load script. Message: ${e instanceof Error ? e.message : 'Unknown error loading Passkey sdk'}`\n );\n }\n }\n}\n\nexport { PasskeySdkLoader };\n"],"names":["PasskeySdkLoader","isAvailable","this","AdyenPasskey","load","window","cdnUrl","getUrlFromMap","environment","CDN_ENVIRONMENTS","scriptElement","Script","src","PASSKEY_SDK_URL","component","analytics","default","e","AdyenCheckoutError","Error","message","constructor","_define_property"],"mappings":"6WAYA,MAAMA,EAYMC,WAAAA,GACJ,OAA4B,MAArBC,KAAKC,YAChB,CAEA,UAAaC,GACT,GAAIF,KAAKD,cACL,OAAOC,KAAKC,aAGhB,IAWwBE,IAAAA,EAVpB,MAAMC,EAASC,EAAcL,KAAKM,YAAiDC,GAG7EC,EAAgB,IAAIC,EAAO,CAC7BC,IAHQ,GAAGN,IAASN,EAAiBa,kBAIrCC,UAAW,gBACXC,UAAWb,KAAKa,YAKpB,aAFML,EAAcN,OACpBF,KAAKC,aAAkC,QAAnBE,EAAAA,OAAOF,oBAAPE,IAAAA,OAAAA,EAAAA,EAAqBW,QAClCd,KAAKC,YAChB,CAAE,MAAOc,GACL,MAAM,IAAIC,EACN,eACA,mCAAmCD,aAAaE,MAAQF,EAAEG,QAAU,sCAE5E,CACJ,CAjCA,WAAAC,EAAYN,UAAEA,EAASP,YAAEA,IALzBc,EAAApB,KAAQC,uBAERmB,EAAApB,KAAiBa,oBACjBO,EAAApB,KAAiBM,sBAGbN,KAAKa,UAAYA,EACjBb,KAAKM,YAAcA,CACvB,EATAc,EADEtB,EACsBa,kBAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasskeyService.js","sources":["../../../../../src/components/PayByBankPix/services/PasskeyService.ts"],"sourcesContent":["import { PasskeySdkLoader } from './PasskeySdkLoader';\nimport {\n PasskeyServiceConfig,\n IPasskeyService,\n IAdyenPasskey,\n PasskeyErrorTypes,\n RiskSignalsEnrollment,\n RiskSignalsAuthentication,\n NavigatorCredentialCreationsError,\n NavigatorCredentialRetrievalError\n} from './types';\nimport AdyenCheckoutError, { SDK_ERROR } from '../../../core/Errors/AdyenCheckoutError';\nimport { DecodeObject } from '../../../types/global-types';\nimport base64 from '../../../utils/base64';\nimport type { IAnalytics } from '../../../core/Analytics/Analytics';\n\nexport class PasskeyService implements IPasskeyService {\n private readonly passkeyServiceConfig: PasskeyServiceConfig;\n private readonly analytics: IAnalytics;\n\n private passkeySdk: IAdyenPasskey;\n private riskSignals: RiskSignalsEnrollment | RiskSignalsAuthentication;\n private initialized: Promise<void>;\n\n constructor(configuration: PasskeyServiceConfig, analytics: IAnalytics) {\n this.analytics = analytics;\n this.passkeyServiceConfig = configuration;\n }\n\n get deviceId() {\n return this.passkeyServiceConfig.deviceId;\n }\n\n public async getWebAuthnUnsupportedReason(): Promise<string> {\n if (!window.PublicKeyCredential) {\n return 'Browser does not support webauthn';\n }\n try {\n const platformAuthenticatorAvailable = await window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable();\n if (!platformAuthenticatorAvailable) {\n return 'Device does not have platform authenticator';\n }\n } catch (e) {\n return 'Unknown error';\n }\n\n return '';\n }\n\n public initialize() {\n if (this.initialized == null) {\n this.initialized = new PasskeySdkLoader({ environment: this.passkeyServiceConfig.environment, analytics: this.analytics })\n .load()\n .then(passkey => {\n this.passkeySdk = passkey;\n });\n }\n\n return this.initialized;\n }\n\n public async captureRiskSignalsEnrollment(): Promise<RiskSignalsEnrollment> {\n await this.initialized;\n if (this.riskSignals) {\n // Cache it so we don't create unnecessary entries in the localstorage by calling captureRiskSignalsEnrollment\n return this.riskSignals;\n }\n\n const result = await this.passkeySdk.captureRiskSignalsEnrollment(this.deviceId);\n if (result && 'type' in result && result.type === PasskeyErrorTypes.RISK_SIGNALS_ERROR) {\n throw new AdyenCheckoutError(SDK_ERROR, result.message);\n }\n this.riskSignals = result as RiskSignalsEnrollment;\n return this.riskSignals;\n }\n\n public async canUseStoredCredential(): Promise<boolean> {\n try {\n await this.captureRiskSignalsAuthentication();\n return true;\n } catch (error) {\n console.warn(\n `The device is not eligible for stored credential authentication: ${error instanceof Error ? error?.message : 'unknown error'}`\n );\n return false;\n }\n }\n\n public async captureRiskSignalsAuthentication(): Promise<RiskSignalsAuthentication> {\n await this.initialized;\n const result = await this.passkeySdk.captureRiskSignalsAuthentication(this.deviceId);\n if (result && 'type' in result && result.type === PasskeyErrorTypes.RISK_SIGNALS_ERROR) {\n throw new AdyenCheckoutError(SDK_ERROR, result.message);\n }\n return result as RiskSignalsAuthentication;\n }\n\n public async createCredentialForEnrollment(registrationOptions: string): Promise<string> {\n await this.initialized;\n const options = this.decodeJsonBase64(registrationOptions, 'Failed to decode registrationOptions');\n const result = await this.passkeySdk.createCredentialForEnrollment(options);\n if (result && 'type' in result && result.type === PasskeyErrorTypes.CREDENTIAL_CREATION_ERROR) {\n throw new AdyenCheckoutError(SDK_ERROR, (result as NavigatorCredentialCreationsError).message);\n }\n return base64.encode(JSON.stringify(result));\n }\n\n public async authenticateWithCredential(authenticationOptions: string): Promise<string> {\n await this.initialized;\n const options = this.decodeJsonBase64(authenticationOptions, 'Failed to decode authenticationOptions');\n const result = await this.passkeySdk.authenticateWithCredential(options);\n if (result && 'type' in result && result.type === PasskeyErrorTypes.CREDENTIAL_RETRIEVAL_ERROR) {\n throw new AdyenCheckoutError(SDK_ERROR, (result as NavigatorCredentialRetrievalError).message);\n }\n return base64.encode(JSON.stringify(result));\n }\n\n private decodeJsonBase64(encoded: string, errorMessage: string) {\n const decoded: DecodeObject = base64.decode(encoded);\n if (!decoded.success) {\n throw new AdyenCheckoutError(SDK_ERROR, errorMessage);\n }\n return JSON.parse(decoded.data);\n }\n}\n"],"names":["PasskeyService","deviceId","this","passkeyServiceConfig","getWebAuthnUnsupportedReason","window","PublicKeyCredential","isUserVerifyingPlatformAuthenticatorAvailable","e","initialize","initialized","PasskeySdkLoader","environment","analytics","load","then","passkey","passkeySdk","captureRiskSignalsEnrollment","riskSignals","result","type","PasskeyErrorTypes","RISK_SIGNALS_ERROR","AdyenCheckoutError","SDK_ERROR","message","canUseStoredCredential","captureRiskSignalsAuthentication","error","console","warn","Error","createCredentialForEnrollment","registrationOptions","options","decodeJsonBase64","CREDENTIAL_CREATION_ERROR","base64","encode","JSON","stringify","authenticateWithCredential","authenticationOptions","CREDENTIAL_RETRIEVAL_ERROR","encoded","errorMessage","decoded","decode","success","parse","data","constructor","configuration","_define_property"],"mappings":"kVAgBO,MAAMA,EAaT,YAAIC,GACA,OAAOC,KAAKC,qBAAqBF,QACrC,CAEA,kCAAaG,GACT,IAAKC,OAAOC,oBACR,MAAO,oCAEX,IAEI,UAD6CD,OAAOC,oBAAoBC,gDAEpE,MAAO,6CAEf,CAAE,MAAOC,GACL,MAAO,eACX,CAEA,MAAO,EACX,CAEOC,UAAAA,GASH,OARwB,MAApBP,KAAKQ,cACLR,KAAKQ,YAAc,IAAIC,EAAiB,CAAEC,YAAaV,KAAKC,qBAAqBS,YAAaC,UAAWX,KAAKW,YACzGC,OACAC,KAAKC,IACFd,KAAKe,WAAaD,KAIvBd,KAAKQ,WAChB,CAEA,kCAAaQ,GAET,SADMhB,KAAKQ,YACPR,KAAKiB,YAEL,OAAOjB,KAAKiB,YAGhB,MAAMC,QAAelB,KAAKe,WAAWC,6BAA6BhB,KAAKD,UACvE,GAAImB,GAAU,SAAUA,GAAUA,EAAOC,OAASC,EAAkBC,mBAChE,MAAM,IAAIC,EAAmBC,EAAWL,EAAOM,SAGnD,OADAxB,KAAKiB,YAAcC,EACZlB,KAAKiB,WAChB,CAEA,4BAAaQ,GACT,IAEI,aADMzB,KAAK0B,oCACJ,CACX,CAAE,MAAOC,GAIL,OAHAC,QAAQC,KACJ,oEAAoEF,aAAiBG,MAAQH,aAAAA,EAAAA,EAAOH,QAAU,oBAE3G,CACX,CACJ,CAEA,sCAAaE,SACH1B,KAAKQ,YACX,MAAMU,QAAelB,KAAKe,WAAWW,iCAAiC1B,KAAKD,UAC3E,GAAImB,GAAU,SAAUA,GAAUA,EAAOC,OAASC,EAAkBC,mBAChE,MAAM,IAAIC,EAAmBC,EAAWL,EAAOM,SAEnD,OAAON,CACX,CAEA,mCAAaa,CAA8BC,SACjChC,KAAKQ,YACX,MAAMyB,EAAUjC,KAAKkC,iBAAiBF,EAAqB,wCACrDd,QAAelB,KAAKe,WAAWgB,8BAA8BE,GACnE,GAAIf,GAAU,SAAUA,GAAUA,EAAOC,OAASC,EAAkBe,0BAChE,MAAM,IAAIb,EAAmBC,EAAYL,EAA6CM,SAE1F,OAAOY,EAAOC,OAAOC,KAAKC,UAAUrB,GACxC,CAEA,gCAAasB,CAA2BC,SAC9BzC,KAAKQ,YACX,MAAMyB,EAAUjC,KAAKkC,iBAAiBO,EAAuB,0CACvDvB,QAAelB,KAAKe,WAAWyB,2BAA2BP,GAChE,GAAIf,GAAU,SAAUA,GAAUA,EAAOC,OAASC,EAAkBsB,2BAChE,MAAM,IAAIpB,EAAmBC,EAAYL,EAA6CM,SAE1F,OAAOY,EAAOC,OAAOC,KAAKC,UAAUrB,GACxC,CAEQgB,gBAAAA,CAAiBS,EAAiBC,GACtC,MAAMC,EAAwBT,EAAOU,OAAOH,GAC5C,IAAKE,EAAQE,QACT,MAAM,IAAIzB,EAAmBC,EAAWqB,GAE5C,OAAON,KAAKU,MAAMH,EAAQI,KAC9B,CAnGA,WAAAC,CAAYC,EAAqCxC,GAPjDyC,EAAApD,KAAiBC,
|
|
1
|
+
{"version":3,"file":"PasskeyService.js","sources":["../../../../../src/components/PayByBankPix/services/PasskeyService.ts"],"sourcesContent":["import { PasskeySdkLoader } from './PasskeySdkLoader';\nimport {\n PasskeyServiceConfig,\n IPasskeyService,\n IAdyenPasskey,\n PasskeyErrorTypes,\n RiskSignalsEnrollment,\n RiskSignalsAuthentication,\n NavigatorCredentialCreationsError,\n NavigatorCredentialRetrievalError\n} from './types';\nimport AdyenCheckoutError, { SDK_ERROR } from '../../../core/Errors/AdyenCheckoutError';\nimport { DecodeObject } from '../../../types/global-types';\nimport base64 from '../../../utils/base64';\nimport type { IAnalytics } from '../../../core/Analytics/Analytics';\n\nexport class PasskeyService implements IPasskeyService {\n private readonly passkeyServiceConfig: PasskeyServiceConfig;\n private readonly analytics: IAnalytics;\n\n private passkeySdk: IAdyenPasskey;\n private riskSignals: RiskSignalsEnrollment | RiskSignalsAuthentication;\n private initialized: Promise<void>;\n\n constructor(configuration: PasskeyServiceConfig, analytics: IAnalytics) {\n this.analytics = analytics;\n this.passkeyServiceConfig = configuration;\n }\n\n get deviceId() {\n return this.passkeyServiceConfig.deviceId;\n }\n\n public async getWebAuthnUnsupportedReason(): Promise<string> {\n if (!window.PublicKeyCredential) {\n return 'Browser does not support webauthn';\n }\n try {\n const platformAuthenticatorAvailable = await window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable();\n if (!platformAuthenticatorAvailable) {\n return 'Device does not have platform authenticator';\n }\n } catch (e) {\n return 'Unknown error';\n }\n\n return '';\n }\n\n public initialize() {\n if (this.initialized == null) {\n this.initialized = new PasskeySdkLoader({ environment: this.passkeyServiceConfig.environment, analytics: this.analytics })\n .load()\n .then(passkey => {\n this.passkeySdk = passkey;\n });\n }\n\n return this.initialized;\n }\n\n public async captureRiskSignalsEnrollment(): Promise<RiskSignalsEnrollment> {\n await this.initialized;\n if (this.riskSignals) {\n // Cache it so we don't create unnecessary entries in the localstorage by calling captureRiskSignalsEnrollment\n return this.riskSignals;\n }\n\n const result = await this.passkeySdk.captureRiskSignalsEnrollment(this.deviceId);\n if (result && 'type' in result && result.type === PasskeyErrorTypes.RISK_SIGNALS_ERROR) {\n throw new AdyenCheckoutError(SDK_ERROR, result.message);\n }\n this.riskSignals = result as RiskSignalsEnrollment;\n return this.riskSignals;\n }\n\n public async canUseStoredCredential(): Promise<boolean> {\n try {\n await this.captureRiskSignalsAuthentication();\n return true;\n } catch (error) {\n console.warn(\n `The device is not eligible for stored credential authentication: ${error instanceof Error ? error?.message : 'unknown error'}`\n );\n return false;\n }\n }\n\n public async captureRiskSignalsAuthentication(): Promise<RiskSignalsAuthentication> {\n await this.initialized;\n const result = await this.passkeySdk.captureRiskSignalsAuthentication(this.deviceId);\n if (result && 'type' in result && result.type === PasskeyErrorTypes.RISK_SIGNALS_ERROR) {\n throw new AdyenCheckoutError(SDK_ERROR, result.message);\n }\n return result as RiskSignalsAuthentication;\n }\n\n public async createCredentialForEnrollment(registrationOptions: string): Promise<string> {\n await this.initialized;\n const options = this.decodeJsonBase64(registrationOptions, 'Failed to decode registrationOptions');\n const result = await this.passkeySdk.createCredentialForEnrollment(options);\n if (result && 'type' in result && result.type === PasskeyErrorTypes.CREDENTIAL_CREATION_ERROR) {\n throw new AdyenCheckoutError(SDK_ERROR, (result as NavigatorCredentialCreationsError).message);\n }\n return base64.encode(JSON.stringify(result));\n }\n\n public async authenticateWithCredential(authenticationOptions: string): Promise<string> {\n await this.initialized;\n const options = this.decodeJsonBase64(authenticationOptions, 'Failed to decode authenticationOptions');\n const result = await this.passkeySdk.authenticateWithCredential(options);\n if (result && 'type' in result && result.type === PasskeyErrorTypes.CREDENTIAL_RETRIEVAL_ERROR) {\n throw new AdyenCheckoutError(SDK_ERROR, (result as NavigatorCredentialRetrievalError).message);\n }\n return base64.encode(JSON.stringify(result));\n }\n\n private decodeJsonBase64(encoded: string, errorMessage: string) {\n const decoded: DecodeObject = base64.decode(encoded);\n if (!decoded.success) {\n throw new AdyenCheckoutError(SDK_ERROR, errorMessage);\n }\n return JSON.parse(decoded.data);\n }\n}\n"],"names":["PasskeyService","deviceId","this","passkeyServiceConfig","getWebAuthnUnsupportedReason","window","PublicKeyCredential","isUserVerifyingPlatformAuthenticatorAvailable","e","initialize","initialized","PasskeySdkLoader","environment","analytics","load","then","passkey","passkeySdk","captureRiskSignalsEnrollment","riskSignals","result","type","PasskeyErrorTypes","RISK_SIGNALS_ERROR","AdyenCheckoutError","SDK_ERROR","message","canUseStoredCredential","captureRiskSignalsAuthentication","error","console","warn","Error","createCredentialForEnrollment","registrationOptions","options","decodeJsonBase64","CREDENTIAL_CREATION_ERROR","base64","encode","JSON","stringify","authenticateWithCredential","authenticationOptions","CREDENTIAL_RETRIEVAL_ERROR","encoded","errorMessage","decoded","decode","success","parse","data","constructor","configuration","_define_property"],"mappings":"kVAgBO,MAAMA,EAaT,YAAIC,GACA,OAAOC,KAAKC,qBAAqBF,QACrC,CAEA,kCAAaG,GACT,IAAKC,OAAOC,oBACR,MAAO,oCAEX,IAEI,UAD6CD,OAAOC,oBAAoBC,gDAEpE,MAAO,6CAEf,CAAE,MAAOC,GACL,MAAO,eACX,CAEA,MAAO,EACX,CAEOC,UAAAA,GASH,OARwB,MAApBP,KAAKQ,cACLR,KAAKQ,YAAc,IAAIC,EAAiB,CAAEC,YAAaV,KAAKC,qBAAqBS,YAAaC,UAAWX,KAAKW,YACzGC,OACAC,KAAKC,IACFd,KAAKe,WAAaD,KAIvBd,KAAKQ,WAChB,CAEA,kCAAaQ,GAET,SADMhB,KAAKQ,YACPR,KAAKiB,YAEL,OAAOjB,KAAKiB,YAGhB,MAAMC,QAAelB,KAAKe,WAAWC,6BAA6BhB,KAAKD,UACvE,GAAImB,GAAU,SAAUA,GAAUA,EAAOC,OAASC,EAAkBC,mBAChE,MAAM,IAAIC,EAAmBC,EAAWL,EAAOM,SAGnD,OADAxB,KAAKiB,YAAcC,EACZlB,KAAKiB,WAChB,CAEA,4BAAaQ,GACT,IAEI,aADMzB,KAAK0B,oCACJ,CACX,CAAE,MAAOC,GAIL,OAHAC,QAAQC,KACJ,oEAAoEF,aAAiBG,MAAQH,aAAAA,EAAAA,EAAOH,QAAU,oBAE3G,CACX,CACJ,CAEA,sCAAaE,SACH1B,KAAKQ,YACX,MAAMU,QAAelB,KAAKe,WAAWW,iCAAiC1B,KAAKD,UAC3E,GAAImB,GAAU,SAAUA,GAAUA,EAAOC,OAASC,EAAkBC,mBAChE,MAAM,IAAIC,EAAmBC,EAAWL,EAAOM,SAEnD,OAAON,CACX,CAEA,mCAAaa,CAA8BC,SACjChC,KAAKQ,YACX,MAAMyB,EAAUjC,KAAKkC,iBAAiBF,EAAqB,wCACrDd,QAAelB,KAAKe,WAAWgB,8BAA8BE,GACnE,GAAIf,GAAU,SAAUA,GAAUA,EAAOC,OAASC,EAAkBe,0BAChE,MAAM,IAAIb,EAAmBC,EAAYL,EAA6CM,SAE1F,OAAOY,EAAOC,OAAOC,KAAKC,UAAUrB,GACxC,CAEA,gCAAasB,CAA2BC,SAC9BzC,KAAKQ,YACX,MAAMyB,EAAUjC,KAAKkC,iBAAiBO,EAAuB,0CACvDvB,QAAelB,KAAKe,WAAWyB,2BAA2BP,GAChE,GAAIf,GAAU,SAAUA,GAAUA,EAAOC,OAASC,EAAkBsB,2BAChE,MAAM,IAAIpB,EAAmBC,EAAYL,EAA6CM,SAE1F,OAAOY,EAAOC,OAAOC,KAAKC,UAAUrB,GACxC,CAEQgB,gBAAAA,CAAiBS,EAAiBC,GACtC,MAAMC,EAAwBT,EAAOU,OAAOH,GAC5C,IAAKE,EAAQE,QACT,MAAM,IAAIzB,EAAmBC,EAAWqB,GAE5C,OAAON,KAAKU,MAAMH,EAAQI,KAC9B,CAnGA,WAAAC,CAAYC,EAAqCxC,GAPjDyC,EAAApD,KAAiBC,+BACjBmD,EAAApD,KAAiBW,oBAEjByC,EAAApD,KAAQe,qBACRqC,EAAApD,KAAQiB,sBACRmC,EAAApD,KAAQQ,sBAGJR,KAAKW,UAAYA,EACjBX,KAAKC,qBAAuBkD,CAChC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as t,Fragment as e}from"../../external/preact/dist/preact.js";import r from"../Redirect/Redirect.js";import o from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as n}from"../tx-variants.js";import s from"../../utils/get-issuer-image.js";import a from"../internal/PayButton/PayButton.js";import{payAmountLabel as i}from"../internal/PayButton/utils.js";function p(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function c(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),o.forEach(function(e){p(t,e,r[e])})}return t}function
|
|
1
|
+
import{createElement as t,Fragment as e}from"../../external/preact/dist/preact.js";import r from"../Redirect/Redirect.js";import o from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as n}from"../tx-variants.js";import s from"../../utils/get-issuer-image.js";import a from"../internal/PayButton/PayButton.js";import{payAmountLabel as i}from"../internal/PayButton/utils.js";function p(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function c(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),o.forEach(function(e){p(t,e,r[e])})}return t}function y(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e.push.apply(e,r)}return e}(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}),t}class m extends r{formatProps(t){return c({keepBrandsVisible:!0,showOtherInsteadOfNumber:!0},t)}formatData(){return{paymentMethod:c({type:this.type},this.props.storedPaymentMethodId&&{storedPaymentMethodId:this.props.storedPaymentMethodId}),browserInfo:this.browserInfo}}get displayName(){return this.props.storedPaymentMethodId&&this.props.label?this.props.label:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId?this.props.name:""}get brands(){const t=s({},"paybybank",t=>this.resources.getImage(t));return[{icon:t("US-1"),name:"Wells Fargo"},{icon:t("US-2"),name:"Bank of America"},{icon:t("US-3"),name:"Chase"},{icon:t("US-4"),name:"Citi"}]}componentToRender(){return this.props.storedPaymentMethodId?this.props.showPayButton&&t(a,y(c({},this.props),{classNameModifiers:["standalone"],label:i(this.props.i18n,this.props.amount),onClick:this.submit})):t(e,null,t("div",{className:"adyen-checkout-paybybank_AIS_DD"},t("p",{className:"adyen-checkout-paybybank_AIS_DD__description-header"},this.props.i18n.get("payByBankAISDD.disclaimer.header")),t("p",{className:"adyen-checkout-paybybank_AIS_DD__description-body"},this.props.i18n.get("payByBankAISDD.disclaimer.body"))),this.props.showPayButton&&t(o,y(c({},this.props),{showPayButton:this.props.showPayButton,name:this.displayName,onSubmit:this.submit,payButton:this.payButton,ref:t=>{this.componentRef=t}})))}}p(m,"type",n.paybybank_AIS_DD);export{m as default};
|
|
2
2
|
//# sourceMappingURL=PayByBankUS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PayByBankUS.js","sources":["../../../../src/components/PayByBankUS/PayByBankUS.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport RedirectElement from '../Redirect';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport './PayByBankUS.scss';\nimport getIssuerImageUrl from '../../utils/get-issuer-image';\nimport PayButton
|
|
1
|
+
{"version":3,"file":"PayByBankUS.js","sources":["../../../../src/components/PayByBankUS/PayByBankUS.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport RedirectElement from '../Redirect';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport './PayByBankUS.scss';\nimport getIssuerImageUrl from '../../utils/get-issuer-image';\nimport PayButton from '../internal/PayButton';\nimport { payAmountLabel } from '../internal/PayButton/utils';\nexport default class PayByBankUS extends RedirectElement {\n public static type = TxVariants.paybybank_AIS_DD;\n\n protected formatProps(props) {\n return {\n // paymentMethodBrands configuration\n keepBrandsVisible: true,\n showOtherInsteadOfNumber: true,\n ...props\n };\n }\n\n public formatData() {\n return {\n paymentMethod: {\n type: this.type,\n ...(this.props.storedPaymentMethodId && {\n storedPaymentMethodId: this.props.storedPaymentMethodId\n })\n },\n browserInfo: this.browserInfo\n };\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.label;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n return this.props.storedPaymentMethodId ? this.props.name : '';\n }\n\n /*\n Hardcode US brands \n */\n get brands(): { icon: string; name: string }[] {\n const getImage = props => this.resources.getImage(props);\n // paybybank_AIS_DD / tx_variant not used here since images are kept in paybybank subfolder\n const getIssuerIcon = getIssuerImageUrl({}, 'paybybank', getImage);\n\n // hardcoding\n return [\n { icon: getIssuerIcon('US-1'), name: 'Wells Fargo' },\n { icon: getIssuerIcon('US-2'), name: 'Bank of America' },\n { icon: getIssuerIcon('US-3'), name: 'Chase' },\n { icon: getIssuerIcon('US-4'), name: 'Citi' }\n ];\n }\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.storedPaymentMethodId ? (\n this.props.showPayButton && (\n <PayButton\n {...this.props}\n classNameModifiers={['standalone']}\n label={payAmountLabel(this.props.i18n, this.props.amount)}\n onClick={this.submit}\n />\n )\n ) : (\n <Fragment>\n <div className=\"adyen-checkout-paybybank_AIS_DD\">\n <p className=\"adyen-checkout-paybybank_AIS_DD__description-header\">{this.props.i18n.get('payByBankAISDD.disclaimer.header')}</p>\n <p className=\"adyen-checkout-paybybank_AIS_DD__description-body\">{this.props.i18n.get('payByBankAISDD.disclaimer.body')}</p>\n </div>\n\n {this.props.showPayButton && (\n <RedirectButton\n {...this.props}\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n )}\n </Fragment>\n );\n }\n}\n"],"names":["PayByBankUS","RedirectElement","formatProps","props","_object_spread","keepBrandsVisible","showOtherInsteadOfNumber","formatData","paymentMethod","type","this","storedPaymentMethodId","browserInfo","displayName","label","name","additionalInfo","brands","getIssuerIcon","getIssuerImageUrl","resources","getImage","icon","componentToRender","showPayButton","h","PayButton","classNameModifiers","payAmountLabel","i18n","amount","onClick","submit","Fragment","div","className","p","get","RedirectButton","onSubmit","payButton","ref","componentRef","_define_property","TxVariants","paybybank_AIS_DD"],"mappings":"+qCAQe,MAAMA,UAAoBC,EAG3BC,WAAAA,CAAYC,GAClB,OAAOC,EAAA,CAEHC,mBAAmB,EACnBC,0BAA0B,GACvBH,EAEX,CAEOI,UAAAA,GACH,MAAO,CACHC,cAAeJ,EAAA,CACXK,KAAMC,KAAKD,MACPC,KAAKP,MAAMQ,uBAAyB,CACpCA,sBAAuBD,KAAKP,MAAMQ,wBAG1CC,YAAaF,KAAKE,YAE1B,CAEA,eAAIC,GACA,OAAIH,KAAKP,MAAMQ,uBAAyBD,KAAKP,MAAMW,MACxCJ,KAAKP,MAAMW,MAEfJ,KAAKP,MAAMY,IACtB,CAEA,kBAAIC,GACA,OAAON,KAAKP,MAAMQ,sBAAwBD,KAAKP,MAAMY,KAAO,EAChE,CAKA,UAAIE,GACA,MAEMC,EAAgBC,EAAkB,GAAI,YAF3BhB,GAASO,KAAKU,UAAUC,SAASlB,IAKlD,MAAO,CACH,CAAEmB,KAAMJ,EAAc,QAASH,KAAM,eACrC,CAAEO,KAAMJ,EAAc,QAASH,KAAM,mBACrC,CAAEO,KAAMJ,EAAc,QAASH,KAAM,SACrC,CAAEO,KAAMJ,EAAc,QAASH,KAAM,QAE7C,CAEmBQ,iBAAAA,GACf,OAAOb,KAAKP,MAAMQ,sBACdD,KAAKP,MAAMqB,eACPC,EAACC,EAAAA,EAAAA,EAAAA,CAAAA,EACOhB,KAAKP,OAAK,CACdwB,mBAAoB,CAAC,cACrBb,MAAOc,EAAelB,KAAKP,MAAM0B,KAAMnB,KAAKP,MAAM2B,QAClDC,QAASrB,KAAKsB,UAItBP,EAACQ,OACGR,EAACS,MAAAA,CAAIC,UAAU,mCACXV,EAACW,IAAAA,CAAED,UAAU,uDAAuDzB,KAAKP,MAAM0B,KAAKQ,IAAI,qCACxFZ,EAACW,IAAAA,CAAED,UAAU,qDAAqDzB,KAAKP,MAAM0B,KAAKQ,IAAI,oCAGzF3B,KAAKP,MAAMqB,eACRC,EAACa,EAAAA,EAAAA,EAAAA,GACO5B,KAAKP,OAAK,CACdqB,cAAed,KAAKP,MAAMqB,cAC1BT,KAAML,KAAKG,YACX0B,SAAU7B,KAAKsB,OACfQ,UAAW9B,KAAK8B,UAChBC,IAAKA,IACD/B,KAAKgC,aAAeD,MAM5C,EAlFAE,EADiB3C,EACHS,OAAOmC,EAAWC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Paypal.js","sources":["../../../../src/components/PayPal/Paypal.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport PaypalComponent from './components/PaypalComponent';\nimport defaultProps from './defaultProps';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { ERRORS } from './constants';\nimport { TxVariants } from '../tx-variants';\nimport { formatPaypalOrderContactToAdyenFormat } from './utils/format-paypal-order-contact-to-adyen-format';\n\nimport type { ICore } from '../../core/types';\nimport type { PaymentAction } from '../../types/global-types';\nimport type { Intent, PayPalConfiguration } from './types';\n\nimport './Paypal.scss';\nimport { AnalyticsInfoEvent, InfoEventType } from '../../core/Analytics/events/AnalyticsInfoEvent';\n\nclass PaypalElement extends UIElement<PayPalConfiguration> {\n public static type = TxVariants.paypal;\n public static subtype = 'sdk';\n\n public paymentData: string = null;\n\n private resolve = null;\n private reject = null;\n\n protected static defaultProps = defaultProps;\n\n constructor(checkout: ICore, props?: PayPalConfiguration) {\n super(checkout, props);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.handleOnShippingAddressChange = this.handleOnShippingAddressChange.bind(this);\n this.handleOnShippingOptionsChange = this.handleOnShippingOptionsChange.bind(this);\n }\n\n formatProps(props: PayPalConfiguration): PayPalConfiguration {\n const merchantId = props.configuration?.merchantId;\n const intentFromConfig = props.configuration?.intent;\n const isZeroAuth = props.amount?.value === 0;\n const intent: Intent = isZeroAuth ? 'tokenize' : props.intent || intentFromConfig;\n const vault = intent === 'tokenize' || props.vault;\n\n const displayContinueToReviewPageButton = props.userAction === 'continue';\n\n return {\n ...props,\n commit: displayContinueToReviewPageButton ? false : props.commit,\n vault,\n configuration: {\n intent,\n merchantId\n }\n };\n }\n\n protected override beforeRender(configSetByMerchant?: PayPalConfiguration) {\n const event = new AnalyticsInfoEvent({\n type: InfoEventType.rendered,\n component: this.type,\n configData: { ...configSetByMerchant, showPayButton: this.props.showPayButton },\n ...(configSetByMerchant?.isExpress && { isExpress: configSetByMerchant.isExpress }),\n ...(configSetByMerchant?.expressPage && { expressPage: configSetByMerchant.expressPage })\n });\n\n this.analytics.sendAnalytics(event);\n }\n\n public submit = () => {\n this.handleError(new AdyenCheckoutError('IMPLEMENTATION_ERROR', ERRORS.SUBMIT_NOT_SUPPORTED));\n };\n\n /**\n * Updates the paymentData value. It must be used in the PayPal Express flow, when patching the amount\n * @param paymentData - Payment data value\n */\n public updatePaymentData(paymentData: string): void {\n if (!paymentData) console.warn('PayPal - Updating payment data with an invalid value');\n this.paymentData = paymentData;\n }\n\n /**\n * Formats the component data output\n */\n protected formatData() {\n const { isExpress, userAction } = this.props;\n\n return {\n paymentMethod: {\n type: PaypalElement.type,\n userAction,\n subtype: isExpress ? 'express' : PaypalElement.subtype\n }\n };\n }\n\n public handleAction = (action: PaymentAction) => {\n return this.updateWithAction(action);\n };\n\n public updateWithAction = (action: PaymentAction) => {\n if (action.paymentMethodType !== this.type) throw new Error('Invalid Action');\n\n if (action.paymentData) {\n this.paymentData = action.paymentData;\n }\n\n if (action.sdkData && action.sdkData.token) {\n this.onActionHandled({ componentType: this.type, actionDescription: 'sdk-loaded', originalAction: action });\n this.handleResolve(action.sdkData.token);\n } else {\n this.handleReject(ERRORS.NO_TOKEN_PROVIDED);\n }\n\n return null;\n };\n\n /**\n * Dropin Validation\n *\n * @remarks\n * Paypal does not require any specific Dropin validation\n */\n get isValid() {\n return true;\n }\n\n private handleOnApprove = (data: any, actions: any): Promise<void> | void => {\n const { onAuthorized } = this.props;\n const state = { data: { details: data, paymentData: this.paymentData } };\n\n if (!onAuthorized) {\n this.handleAdditionalDetails(state);\n return;\n }\n\n return actions.order\n .get()\n .then((paypalOrder: any) => {\n const billingAddress = formatPaypalOrderContactToAdyenFormat(paypalOrder?.payer);\n const deliveryAddress = formatPaypalOrderContactToAdyenFormat(paypalOrder?.purchase_units?.[0].shipping, true);\n\n this.setState({\n authorizedEvent: paypalOrder,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<void>((resolve, reject) =>\n onAuthorized(\n {\n authorizedEvent: paypalOrder,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n )\n );\n })\n .then(() => this.handleAdditionalDetails(state))\n .catch(error => this.handleError(new AdyenCheckoutError('ERROR', 'Something went wrong while parsing PayPal Order', { cause: error })));\n };\n\n handleResolve(token: string) {\n if (!this.resolve) return this.handleError(new AdyenCheckoutError('ERROR', ERRORS.WRONG_INSTANCE));\n this.resolve(token);\n }\n\n handleReject(errorMessage: string) {\n if (!this.reject) return this.handleError(new AdyenCheckoutError('ERROR', ERRORS.WRONG_INSTANCE));\n this.reject(new Error(errorMessage));\n }\n\n private handleSubmit(): Promise<void> {\n super.submit();\n\n return new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n\n /**\n * If the merchant provides the 'onShippingAddressChange' callback, then this method is used as a wrapper to it, in order\n * to expose to the merchant the 'component' instance. The merchant needs the 'component' in order to manipulate the\n * paymentData\n *\n * @param data - PayPal data\n * @param actions - PayPal actions.\n */\n private handleOnShippingAddressChange(data: any, actions: any): Promise<void> {\n return this.props.onShippingAddressChange(data, actions, this);\n }\n\n /**\n * If the merchant provides the 'onShippingOptionsChange' callback, then this method is used as a wrapper to it, in order\n * to expose to the merchant the 'component' instance. The merchant needs the 'component' in order to manipulate the\n * paymentData\n *\n * @param data - PayPal data\n * @param actions - PayPal actions.\n */\n private handleOnShippingOptionsChange(data: any, actions: any): Promise<void> {\n return this.props.onShippingOptionsChange(data, actions, this);\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (!this.props.showPayButton) return null;\n\n const { onShippingAddressChange, onShippingOptionsChange, ...rest } = this.props;\n\n return (\n <PaypalComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n {...rest}\n {...(onShippingAddressChange && { onShippingAddressChange: this.handleOnShippingAddressChange })}\n {...(onShippingOptionsChange && { onShippingOptionsChange: this.handleOnShippingOptionsChange })}\n onCancel={() => this.handleError(new AdyenCheckoutError('CANCEL'))}\n onChange={this.setState}\n onApprove={this.handleOnApprove}\n onError={error => {\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n }}\n onScriptLoadFailure={error => this.handleError(error)}\n onSubmit={this.handleSubmit}\n />\n );\n }\n}\n\nexport default PaypalElement;\n"],"names":["PaypalElement","UIElement","formatProps","props","merchantId","configuration","intentFromConfig","intent","amount","value","vault","displayContinueToReviewPageButton","userAction","_object_spread_props","_object_spread","commit","beforeRender","configSetByMerchant","event","AnalyticsInfoEvent","type","InfoEventType","rendered","component","this","configData","showPayButton","isExpress","expressPage","analytics","sendAnalytics","updatePaymentData","paymentData","console","warn","formatData","paymentMethod","subtype","isValid","handleResolve","token","resolve","handleError","AdyenCheckoutError","ERRORS","WRONG_INSTANCE","handleReject","errorMessage","reject","Error","handleSubmit","super","submit","Promise","handleOnShippingAddressChange","data","actions","onShippingAddressChange","handleOnShippingOptionsChange","onShippingOptionsChange","componentToRender","_this_props","rest","h","PaypalComponent","ref","componentRef","onCancel","onChange","setState","onApprove","handleOnApprove","onError","error","toString","cause","onScriptLoadFailure","onSubmit","constructor","checkout","_define_property","SUBMIT_NOT_SUPPORTED","handleAction","action","updateWithAction","paymentMethodType","sdkData","onActionHandled","componentType","actionDescription","originalAction","NO_TOKEN_PROVIDED","onAuthorized","state","details","order","get","then","paypalOrder","billingAddress","formatPaypalOrderContactToAdyenFormat","payer","deliveryAddress","purchase_units","shipping","authorizedEvent","handleAdditionalDetails","catch","bind","TxVariants","paypal","defaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Paypal.js","sources":["../../../../src/components/PayPal/Paypal.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport PaypalComponent from './components/PaypalComponent';\nimport defaultProps from './defaultProps';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { ERRORS } from './constants';\nimport { TxVariants } from '../tx-variants';\nimport { formatPaypalOrderContactToAdyenFormat } from './utils/format-paypal-order-contact-to-adyen-format';\n\nimport type { ICore } from '../../core/types';\nimport type { PaymentAction } from '../../types/global-types';\nimport type { Intent, PayPalConfiguration } from './types';\n\nimport './Paypal.scss';\nimport { AnalyticsInfoEvent, InfoEventType } from '../../core/Analytics/events/AnalyticsInfoEvent';\n\nclass PaypalElement extends UIElement<PayPalConfiguration> {\n public static type = TxVariants.paypal;\n public static subtype = 'sdk';\n\n public paymentData: string = null;\n\n private resolve = null;\n private reject = null;\n\n protected static defaultProps = defaultProps;\n\n constructor(checkout: ICore, props?: PayPalConfiguration) {\n super(checkout, props);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.handleOnShippingAddressChange = this.handleOnShippingAddressChange.bind(this);\n this.handleOnShippingOptionsChange = this.handleOnShippingOptionsChange.bind(this);\n }\n\n formatProps(props: PayPalConfiguration): PayPalConfiguration {\n const merchantId = props.configuration?.merchantId;\n const intentFromConfig = props.configuration?.intent;\n const isZeroAuth = props.amount?.value === 0;\n const intent: Intent = isZeroAuth ? 'tokenize' : props.intent || intentFromConfig;\n const vault = intent === 'tokenize' || props.vault;\n\n const displayContinueToReviewPageButton = props.userAction === 'continue';\n\n return {\n ...props,\n commit: displayContinueToReviewPageButton ? false : props.commit,\n vault,\n configuration: {\n intent,\n merchantId\n }\n };\n }\n\n protected override beforeRender(configSetByMerchant?: PayPalConfiguration) {\n const event = new AnalyticsInfoEvent({\n type: InfoEventType.rendered,\n component: this.type,\n configData: { ...configSetByMerchant, showPayButton: this.props.showPayButton },\n ...(configSetByMerchant?.isExpress && { isExpress: configSetByMerchant.isExpress }),\n ...(configSetByMerchant?.expressPage && { expressPage: configSetByMerchant.expressPage })\n });\n\n this.analytics.sendAnalytics(event);\n }\n\n public submit = () => {\n this.handleError(new AdyenCheckoutError('IMPLEMENTATION_ERROR', ERRORS.SUBMIT_NOT_SUPPORTED));\n };\n\n /**\n * Updates the paymentData value. It must be used in the PayPal Express flow, when patching the amount\n * @param paymentData - Payment data value\n */\n public updatePaymentData(paymentData: string): void {\n if (!paymentData) console.warn('PayPal - Updating payment data with an invalid value');\n this.paymentData = paymentData;\n }\n\n /**\n * Formats the component data output\n */\n protected formatData() {\n const { isExpress, userAction } = this.props;\n\n return {\n paymentMethod: {\n type: PaypalElement.type,\n userAction,\n subtype: isExpress ? 'express' : PaypalElement.subtype\n }\n };\n }\n\n public handleAction = (action: PaymentAction) => {\n return this.updateWithAction(action);\n };\n\n public updateWithAction = (action: PaymentAction) => {\n if (action.paymentMethodType !== this.type) throw new Error('Invalid Action');\n\n if (action.paymentData) {\n this.paymentData = action.paymentData;\n }\n\n if (action.sdkData && action.sdkData.token) {\n this.onActionHandled({ componentType: this.type, actionDescription: 'sdk-loaded', originalAction: action });\n this.handleResolve(action.sdkData.token);\n } else {\n this.handleReject(ERRORS.NO_TOKEN_PROVIDED);\n }\n\n return null;\n };\n\n /**\n * Dropin Validation\n *\n * @remarks\n * Paypal does not require any specific Dropin validation\n */\n get isValid() {\n return true;\n }\n\n private handleOnApprove = (data: any, actions: any): Promise<void> | void => {\n const { onAuthorized } = this.props;\n const state = { data: { details: data, paymentData: this.paymentData } };\n\n if (!onAuthorized) {\n this.handleAdditionalDetails(state);\n return;\n }\n\n return actions.order\n .get()\n .then((paypalOrder: any) => {\n const billingAddress = formatPaypalOrderContactToAdyenFormat(paypalOrder?.payer);\n const deliveryAddress = formatPaypalOrderContactToAdyenFormat(paypalOrder?.purchase_units?.[0].shipping, true);\n\n this.setState({\n authorizedEvent: paypalOrder,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<void>((resolve, reject) =>\n onAuthorized(\n {\n authorizedEvent: paypalOrder,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n )\n );\n })\n .then(() => this.handleAdditionalDetails(state))\n .catch(error => this.handleError(new AdyenCheckoutError('ERROR', 'Something went wrong while parsing PayPal Order', { cause: error })));\n };\n\n handleResolve(token: string) {\n if (!this.resolve) return this.handleError(new AdyenCheckoutError('ERROR', ERRORS.WRONG_INSTANCE));\n this.resolve(token);\n }\n\n handleReject(errorMessage: string) {\n if (!this.reject) return this.handleError(new AdyenCheckoutError('ERROR', ERRORS.WRONG_INSTANCE));\n this.reject(new Error(errorMessage));\n }\n\n private handleSubmit(): Promise<void> {\n super.submit();\n\n return new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n\n /**\n * If the merchant provides the 'onShippingAddressChange' callback, then this method is used as a wrapper to it, in order\n * to expose to the merchant the 'component' instance. The merchant needs the 'component' in order to manipulate the\n * paymentData\n *\n * @param data - PayPal data\n * @param actions - PayPal actions.\n */\n private handleOnShippingAddressChange(data: any, actions: any): Promise<void> {\n return this.props.onShippingAddressChange(data, actions, this);\n }\n\n /**\n * If the merchant provides the 'onShippingOptionsChange' callback, then this method is used as a wrapper to it, in order\n * to expose to the merchant the 'component' instance. The merchant needs the 'component' in order to manipulate the\n * paymentData\n *\n * @param data - PayPal data\n * @param actions - PayPal actions.\n */\n private handleOnShippingOptionsChange(data: any, actions: any): Promise<void> {\n return this.props.onShippingOptionsChange(data, actions, this);\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (!this.props.showPayButton) return null;\n\n const { onShippingAddressChange, onShippingOptionsChange, ...rest } = this.props;\n\n return (\n <PaypalComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n {...rest}\n {...(onShippingAddressChange && { onShippingAddressChange: this.handleOnShippingAddressChange })}\n {...(onShippingOptionsChange && { onShippingOptionsChange: this.handleOnShippingOptionsChange })}\n onCancel={() => this.handleError(new AdyenCheckoutError('CANCEL'))}\n onChange={this.setState}\n onApprove={this.handleOnApprove}\n onError={error => {\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n }}\n onScriptLoadFailure={error => this.handleError(error)}\n onSubmit={this.handleSubmit}\n />\n );\n }\n}\n\nexport default PaypalElement;\n"],"names":["PaypalElement","UIElement","formatProps","props","merchantId","configuration","intentFromConfig","intent","amount","value","vault","displayContinueToReviewPageButton","userAction","_object_spread_props","_object_spread","commit","beforeRender","configSetByMerchant","event","AnalyticsInfoEvent","type","InfoEventType","rendered","component","this","configData","showPayButton","isExpress","expressPage","analytics","sendAnalytics","updatePaymentData","paymentData","console","warn","formatData","paymentMethod","subtype","isValid","handleResolve","token","resolve","handleError","AdyenCheckoutError","ERRORS","WRONG_INSTANCE","handleReject","errorMessage","reject","Error","handleSubmit","super","submit","Promise","handleOnShippingAddressChange","data","actions","onShippingAddressChange","handleOnShippingOptionsChange","onShippingOptionsChange","componentToRender","_this_props","rest","h","PaypalComponent","ref","componentRef","onCancel","onChange","setState","onApprove","handleOnApprove","onError","error","toString","cause","onScriptLoadFailure","onSubmit","constructor","checkout","_define_property","SUBMIT_NOT_SUPPORTED","handleAction","action","updateWithAction","paymentMethodType","sdkData","onActionHandled","componentType","actionDescription","originalAction","NO_TOKEN_PROVIDED","onAuthorized","state","details","order","get","then","paypalOrder","billingAddress","formatPaypalOrderContactToAdyenFormat","payer","deliveryAddress","purchase_units","shipping","authorizedEvent","handleAdditionalDetails","catch","bind","TxVariants","paypal","defaultProps"],"mappings":"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"}
|