@adyen/adyen-web 6.4.0 → 6.5.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/README.md +16 -5
- package/dist/cjs/adyen.css +7 -3
- 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 +27 -19
- package/dist/es/adyen.css +7 -3
- package/dist/es/adyen.css.map +1 -1
- package/dist/es/components/ANCV/ANCV.js +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/Address/Address.js +1 -1
- package/dist/es/components/Address/Address.js.map +1 -1
- package/dist/es/components/Affirm/Affirm.js +1 -1
- package/dist/es/components/Affirm/Affirm.js.map +1 -1
- package/dist/es/components/AfterPay/AfterPay.js +1 -1
- package/dist/es/components/AfterPay/AfterPay.js.map +1 -1
- package/dist/es/components/AfterPay/AfterPayB2B.js +1 -1
- package/dist/es/components/AfterPay/AfterPayB2B.js.map +1 -1
- package/dist/es/components/AmazonPay/AmazonPay.js +1 -1
- package/dist/es/components/AmazonPay/AmazonPay.js.map +1 -1
- package/dist/es/components/ApplePay/ApplePay.js +1 -1
- package/dist/es/components/ApplePay/ApplePay.js.map +1 -1
- package/dist/es/components/ApplePay/ApplePayService.js +1 -1
- package/dist/es/components/ApplePay/ApplePayService.js.map +1 -1
- package/dist/es/components/ApplePay/components/ApplePayButton.js +1 -1
- package/dist/es/components/ApplePay/components/ApplePayButton.js.map +1 -1
- package/dist/es/components/Atome/Atome.js +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/BankTransfer/BankTransfer.js +1 -1
- package/dist/es/components/BankTransfer/BankTransfer.js.map +1 -1
- package/dist/es/components/BcmcMobile/BcmcMobile.js +1 -1
- package/dist/es/components/BcmcMobile/BcmcMobile.js.map +1 -1
- package/dist/es/components/BillDesk/BillDeskOnline.js +1 -1
- package/dist/es/components/BillDesk/BillDeskOnline.js.map +1 -1
- package/dist/es/components/BillDesk/BillDeskWallet.js +1 -1
- package/dist/es/components/BillDesk/BillDeskWallet.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/Boleto.js +1 -1
- package/dist/es/components/Boleto/Boleto.js.map +1 -1
- package/dist/es/components/Card/Bancontact.js +1 -1
- package/dist/es/components/Card/Bancontact.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/CashAppPay/CashAppPay.js +1 -1
- package/dist/es/components/CashAppPay/CashAppPay.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/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/Doku/Doku.js +1 -1
- package/dist/es/components/Doku/Doku.js.map +1 -1
- package/dist/es/components/Donation/Donation.js +1 -1
- package/dist/es/components/Donation/Donation.js.map +1 -1
- package/dist/es/components/Dotpay/index.js +1 -1
- package/dist/es/components/Dotpay/index.js.map +1 -1
- package/dist/es/components/Dragonpay/Dragonpay.js +1 -1
- package/dist/es/components/Dragonpay/Dragonpay.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/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
- package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
- package/dist/es/components/DuitNow/DuitNow.js +1 -1
- package/dist/es/components/DuitNow/DuitNow.js.map +1 -1
- package/dist/es/components/EPS/index.js +1 -1
- package/dist/es/components/EPS/index.js.map +1 -1
- package/dist/es/components/Econtext/Econtext.js +1 -1
- package/dist/es/components/Econtext/Econtext.js.map +1 -1
- package/dist/es/components/FacilyPay/FacilyPay10x.js +1 -1
- package/dist/es/components/FacilyPay/FacilyPay10x.js.map +1 -1
- package/dist/es/components/FacilyPay/FacilyPay12x.js +1 -1
- package/dist/es/components/FacilyPay/FacilyPay12x.js.map +1 -1
- package/dist/es/components/FacilyPay/FacilyPay3x.js +1 -1
- package/dist/es/components/FacilyPay/FacilyPay3x.js.map +1 -1
- package/dist/es/components/FacilyPay/FacilyPay4x.js +1 -1
- package/dist/es/components/FacilyPay/FacilyPay4x.js.map +1 -1
- package/dist/es/components/FacilyPay/FacilyPay6x.js +1 -1
- package/dist/es/components/FacilyPay/FacilyPay6x.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/Giropay/Giropay.js +1 -1
- package/dist/es/components/Giropay/Giropay.js.map +1 -1
- package/dist/es/components/GooglePay/GooglePay.js +1 -1
- package/dist/es/components/GooglePay/GooglePay.js.map +1 -1
- package/dist/es/components/GooglePay/GooglePayService.js +1 -1
- package/dist/es/components/GooglePay/GooglePayService.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/MBWay/MBWay.js +1 -1
- package/dist/es/components/MBWay/MBWay.js.map +1 -1
- package/dist/es/components/MealVoucherFR/MealVoucherFR.js +1 -1
- package/dist/es/components/MealVoucherFR/MealVoucherFR.js.map +1 -1
- package/dist/es/components/MolPayEBanking/MolPayEBankingMY.js +1 -1
- package/dist/es/components/MolPayEBanking/MolPayEBankingMY.js.map +1 -1
- package/dist/es/components/MolPayEBanking/MolPayEBankingTH.js +1 -1
- package/dist/es/components/MolPayEBanking/MolPayEBankingTH.js.map +1 -1
- package/dist/es/components/MolPayEBanking/MolPayEBankingVN.js +1 -1
- package/dist/es/components/MolPayEBanking/MolPayEBankingVN.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/OnlineBankingCZ/index.js +1 -1
- package/dist/es/components/OnlineBankingCZ/index.js.map +1 -1
- package/dist/es/components/OnlineBankingFI/OnlineBankingFI.js +1 -1
- package/dist/es/components/OnlineBankingFI/OnlineBankingFI.js.map +1 -1
- package/dist/es/components/OnlineBankingIN/index.js +1 -1
- package/dist/es/components/OnlineBankingIN/index.js.map +1 -1
- package/dist/es/components/OnlineBankingPL/OnlineBankingPL.js +1 -1
- package/dist/es/components/OnlineBankingPL/OnlineBankingPL.js.map +1 -1
- package/dist/es/components/OnlineBankingSK/index.js +1 -1
- package/dist/es/components/OnlineBankingSK/index.js.map +1 -1
- package/dist/es/components/Oxxo/Oxxo.js +1 -1
- package/dist/es/components/Oxxo/Oxxo.js.map +1 -1
- package/dist/es/components/PayByBank/PayByBank.js +1 -1
- package/dist/es/components/PayByBank/PayByBank.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/PayMe/PayMe.js +1 -1
- package/dist/es/components/PayMe/PayMe.js.map +1 -1
- package/dist/es/components/PayMe/components/PayMeInstructions.js +2 -0
- package/dist/es/components/PayMe/components/PayMeInstructions.js.map +1 -0
- package/dist/es/components/PayMe/components/PayMeIntroduction.js +2 -0
- package/dist/es/components/PayMe/components/PayMeIntroduction.js.map +1 -0
- package/dist/es/components/PayNow/PayNow.js +1 -1
- package/dist/es/components/PayNow/PayNow.js.map +1 -1
- package/dist/es/components/PayNow/components/PayNowInstructions.js +2 -0
- package/dist/es/components/PayNow/components/PayNowInstructions.js.map +1 -0
- package/dist/es/components/PayNow/components/PayNowIntroduction.js +2 -0
- package/dist/es/components/PayNow/components/PayNowIntroduction.js.map +1 -0
- package/dist/es/components/PayPal/Paypal.js +1 -1
- package/dist/es/components/PayPal/Paypal.js.map +1 -1
- package/dist/es/components/PayU/PayuCashcard.js +1 -1
- package/dist/es/components/PayU/PayuCashcard.js.map +1 -1
- package/dist/es/components/PayU/PayuNetBanking.js +1 -1
- package/dist/es/components/PayU/PayuNetBanking.js.map +1 -1
- package/dist/es/components/PersonalDetails/PersonalDetails.js +1 -1
- package/dist/es/components/PersonalDetails/PersonalDetails.js.map +1 -1
- package/dist/es/components/Pix/Pix.js +1 -1
- package/dist/es/components/Pix/Pix.js.map +1 -1
- package/dist/es/components/PromptPay/PromptPay.js +1 -1
- package/dist/es/components/PromptPay/PromptPay.js.map +1 -1
- package/dist/es/components/RatePay/RatePay.js +1 -1
- package/dist/es/components/RatePay/RatePay.js.map +1 -1
- package/dist/es/components/RatePay/RatePayDirectDebit.js +1 -1
- package/dist/es/components/RatePay/RatePayDirectDebit.js.map +1 -1
- package/dist/es/components/Redirect/Redirect.js +1 -1
- package/dist/es/components/Redirect/Redirect.js.map +1 -1
- package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js +1 -1
- package/dist/es/components/Redirect/components/RedirectShopper/RedirectShopper.js.map +1 -1
- package/dist/es/components/Riverty/Riverty.js +1 -1
- package/dist/es/components/Riverty/Riverty.js.map +1 -1
- package/dist/es/components/Sepa/Sepa.js +1 -1
- package/dist/es/components/Sepa/Sepa.js.map +1 -1
- package/dist/es/components/Swish/Swish.js +1 -1
- package/dist/es/components/Swish/Swish.js.map +1 -1
- package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js +1 -1
- package/dist/es/components/ThreeDS2/ThreeDS2Challenge.js.map +1 -1
- package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
- package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js +1 -1
- package/dist/es/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
- package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js +1 -1
- package/dist/es/components/ThreeDS2/components/DeviceFingerprint/DoFingerprint3DS2.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
- package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/Form/ThreeDS2Form.js +1 -1
- package/dist/es/components/ThreeDS2/components/Form/ThreeDS2Form.js.map +1 -1
- package/dist/es/components/Trustly/Trustly.js +1 -1
- package/dist/es/components/Trustly/Trustly.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/Vipps/Vipps.js +1 -1
- package/dist/es/components/Vipps/Vipps.js.map +1 -1
- package/dist/es/components/WalletIN/index.js +1 -1
- package/dist/es/components/WalletIN/index.js.map +1 -1
- package/dist/es/components/WeChat/WeChat.js +1 -1
- package/dist/es/components/WeChat/WeChat.js.map +1 -1
- package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
- package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
- package/dist/es/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js +1 -1
- package/dist/es/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
- package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
- package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
- package/dist/es/components/internal/Address/Address.js +1 -1
- package/dist/es/components/internal/Address/Address.js.map +1 -1
- package/dist/es/components/internal/Address/Specifications.js +1 -1
- package/dist/es/components/internal/Address/Specifications.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/errors/TimeoutError.js +1 -1
- package/dist/es/components/internal/ClickToPay/errors/TimeoutError.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/models/ShopperCard.js +1 -1
- package/dist/es/components/internal/ClickToPay/models/ShopperCard.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js +1 -1
- package/dist/es/components/internal/ClickToPay/services/ClickToPayService.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/MastercardSdk.js +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/MastercardSdk.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/SrcSdkLoader.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/SrciError.js +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/SrciError.js.map +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/VisaSdk.js +1 -1
- package/dist/es/components/internal/ClickToPay/services/sdks/VisaSdk.js.map +1 -1
- package/dist/es/components/internal/Countdown/CountdownA11yReporter.js +1 -1
- package/dist/es/components/internal/Countdown/CountdownA11yReporter.js.map +1 -1
- package/dist/es/components/internal/FormFields/ConsentCheckbox/ConsentCheckbox.js +1 -1
- package/dist/es/components/internal/FormFields/ConsentCheckbox/ConsentCheckbox.js.map +1 -1
- package/dist/es/components/internal/IFrame/Iframe.js +1 -1
- package/dist/es/components/internal/IFrame/Iframe.js.map +1 -1
- package/dist/es/components/internal/IbanInput/IbanInput.js +1 -1
- package/dist/es/components/internal/IbanInput/IbanInput.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/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 +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/AbstractCSF.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/CSF.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/CSF.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/Timeline/Timeline.js +2 -0
- package/dist/es/components/internal/Timeline/Timeline.js.map +1 -0
- package/dist/es/components/internal/Timeline/TimelineWrapper.js +2 -0
- package/dist/es/components/internal/Timeline/TimelineWrapper.js.map +1 -0
- package/dist/es/components/internal/UIElement/UIElement.js +1 -1
- package/dist/es/components/internal/UIElement/UIElement.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/Resources.js +1 -1
- package/dist/es/core/Context/Resources.js.map +1 -1
- package/dist/es/core/Errors/AdyenCheckoutError.js +1 -1
- package/dist/es/core/Errors/AdyenCheckoutError.js.map +1 -1
- package/dist/es/core/Errors/SRPanel.js +1 -1
- package/dist/es/core/Errors/SRPanel.js.map +1 -1
- package/dist/es/core/ProcessResponse/PaymentMethods/PaymentMethods.js +1 -1
- package/dist/es/core/ProcessResponse/PaymentMethods/PaymentMethods.js.map +1 -1
- package/dist/es/core/RiskModule/RiskModule.js +1 -1
- package/dist/es/core/RiskModule/RiskModule.js.map +1 -1
- package/dist/es/core/RiskModule/components/DeviceFingerprint/DeviceFingerprint.js +1 -1
- package/dist/es/core/RiskModule/components/DeviceFingerprint/DeviceFingerprint.js.map +1 -1
- package/dist/es/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js +1 -1
- package/dist/es/core/RiskModule/components/DeviceFingerprint/GetDeviceFingerprint.js.map +1 -1
- package/dist/es/core/Services/analytics/collect-id.js +1 -1
- package/dist/es/core/core.js +1 -1
- package/dist/es/core/core.js.map +1 -1
- package/dist/es/core/core.registry.js +1 -1
- package/dist/es/core/core.registry.js.map +1 -1
- package/dist/es/index.d.ts +27 -19
- package/dist/es/language/Language.js +1 -1
- package/dist/es/language/Language.js.map +1 -1
- package/dist/es/utils/Script.js +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 +1 -1
- package/dist/es/utils/Validator/ValidationRuleResult.js.map +1 -1
- package/dist/es/utils/Validator/Validator.js +1 -1
- package/dist/es/utils/Validator/Validator.js.map +1 -1
- package/dist/es/utils/constants/currency-decimals.js +1 -1
- package/dist/es/utils/constants/currency-decimals.js.map +1 -1
- package/dist/es/utils/constants/currency-minor-units.js.map +1 -1
- package/dist/es/utils/useForm/reducer.js +1 -1
- package/dist/es/utils/useForm/reducer.js.map +1 -1
- package/dist/es/utils/useForm/useForm.js +1 -1
- package/dist/es/utils/useForm/useForm.js.map +1 -1
- package/dist/es/utils/useIsMobile.js +2 -0
- package/dist/es/utils/useIsMobile.js.map +1 -0
- package/dist/es-legacy/adyen.css +7 -3
- package/dist/es-legacy/adyen.css.map +1 -1
- package/dist/es-legacy/components/BcmcMobile/BcmcMobile.js +1 -1
- package/dist/es-legacy/components/BcmcMobile/BcmcMobile.js.map +1 -1
- package/dist/es-legacy/components/PayMe/PayMe.js +1 -1
- package/dist/es-legacy/components/PayMe/PayMe.js.map +1 -1
- package/dist/es-legacy/components/PayMe/components/PayMeInstructions.js +2 -0
- package/dist/es-legacy/components/PayMe/components/PayMeInstructions.js.map +1 -0
- package/dist/es-legacy/components/PayMe/components/PayMeIntroduction.js +2 -0
- package/dist/es-legacy/components/PayMe/components/PayMeIntroduction.js.map +1 -0
- package/dist/es-legacy/components/PayNow/PayNow.js +1 -1
- package/dist/es-legacy/components/PayNow/PayNow.js.map +1 -1
- package/dist/es-legacy/components/PayNow/components/PayNowInstructions.js +2 -0
- package/dist/es-legacy/components/PayNow/components/PayNowInstructions.js.map +1 -0
- package/dist/es-legacy/components/PayNow/components/PayNowIntroduction.js +2 -0
- package/dist/es-legacy/components/PayNow/components/PayNowIntroduction.js.map +1 -0
- package/dist/es-legacy/components/Swish/Swish.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/internal/Address/Address.js +1 -1
- package/dist/es-legacy/components/internal/Address/Address.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/Timeline/Timeline.js +2 -0
- package/dist/es-legacy/components/internal/Timeline/Timeline.js.map +1 -0
- package/dist/es-legacy/components/internal/Timeline/TimelineWrapper.js +2 -0
- package/dist/es-legacy/components/internal/Timeline/TimelineWrapper.js.map +1 -0
- package/dist/es-legacy/core/Services/analytics/collect-id.js +1 -1
- package/dist/es-legacy/core/core.js +1 -1
- package/dist/es-legacy/utils/constants/currency-decimals.js +1 -1
- package/dist/es-legacy/utils/constants/currency-decimals.js.map +1 -1
- package/dist/es-legacy/utils/constants/currency-minor-units.js.map +1 -1
- package/dist/es-legacy/utils/useForm/reducer.js +1 -1
- package/dist/es-legacy/utils/useForm/reducer.js.map +1 -1
- package/dist/es-legacy/utils/useForm/useForm.js +1 -1
- package/dist/es-legacy/utils/useForm/useForm.js.map +1 -1
- package/dist/es-legacy/utils/useIsMobile.js +2 -0
- package/dist/es-legacy/utils/useIsMobile.js.map +1 -0
- package/package.json +4 -2
- package/styles/adyen.css +7 -3
- package/dist/es/components/PayMe/Instructions.js +0 -2
- package/dist/es/components/PayMe/Instructions.js.map +0 -1
- package/dist/es-legacy/components/PayMe/Instructions.js +0 -2
- package/dist/es-legacy/components/PayMe/Instructions.js.map +0 -1
|
@@ -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/ANCVInput.js";import{CoreProvider as s}from"../../core/Context/CoreProvider.js";import o from"./components/ANCVAwait/config.js";import
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/ANCVInput.js";import{CoreProvider as s}from"../../core/Context/CoreProvider.js";import o from"./components/ANCVAwait/config.js";import n from"../internal/Await/Await.js";import i from"../../core/Errors/SRPanelProvider.js";import a from"../../core/Errors/AdyenCheckoutError.js";import p from"../internal/PayButton/PayButton.js";import{sanitizeResponse as h,verifyPaymentDidNotFail as m}from"../internal/UIElement/utils.js";function l(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}class d extends e{formatData(){return{paymentMethod:{type:d.type,beneficiaryId:this.state.data?.beneficiaryId}}}submit(){if(!this.isValid)return this.showValidation(),!1;this.createOrder().then(this.makePaymentsCall).then(h).then(m).then(this.handleResponse).catch(this.handleFailedResult)}get isValid(){return!!this.state.isValid}get displayName(){return this.props.name}render(){return this.props.paymentData?t(s,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(i,{srPanel:this.props.modules.srPanel},t(n,{ref:t=>{this.componentRef=t},clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.props.onError,onComplete:this.onComplete,brandLogo:this.icon,type:this.constructor.type,messageText:this.props.i18n.get("ancv.confirmPayment"),awaitText:this.props.i18n.get("await.waitForConfirmation"),showCountdownTimer:o.showCountdownTimer,throttleTime:o.THROTTLE_TIME,throttleInterval:o.THROTTLE_INTERVAL,onActionHandled:this.onActionHandled}))):t(s,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(r,{ref:t=>{this.componentRef=t},...this.props,onSubmit:this.submit,onChange:this.setState,payButton:this.payButton,showPayButton:this.props.showPayButton}))}constructor(...e){super(...e),l(this,"onOrderRequest",(t=>this.props.onOrderRequest?new Promise(((e,r)=>{this.props.onOrderRequest(e,r,t)})):this.props.session?this.props.session.createOrder():void 0)),l(this,"createOrder",(()=>(this.setStatus("loading"),this.props.order?Promise.resolve():this.onOrderRequest(this.data).then((t=>{const e={order:{orderData:t.orderData,pspReference:t.pspReference}};return this.setState(e),Promise.resolve()})).catch((t=>{this.setStatus(t?.message||"error"),this.props.onError&&this.handleError(new a("ERROR",t))}))))),l(this,"payButton",(e=>t(p,e)))}}l(d,"type","ancv");export{d as ANCVElement,d as default};
|
|
2
2
|
//# sourceMappingURL=ANCV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ANCV.js","sources":["../../../../src/components/ANCV/ANCV.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport ANCVInput from './components/ANCVInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport config from './components/ANCVAwait/config';\nimport Await from '../../components/internal/Await';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport PayButton from '../internal/PayButton';\nimport { ANCVConfiguration } from './types';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\n\nexport class ANCVElement extends UIElement<ANCVConfiguration> {\n public static type = 'ancv';\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: ANCVElement.type,\n beneficiaryId: this.state.data?.beneficiaryId\n }\n };\n }\n\n private onOrderRequest = data => {\n if (this.props.onOrderRequest)\n return new Promise((resolve, reject) => {\n this.props.onOrderRequest(resolve, reject, data);\n });\n\n if (this.props.session) {\n return this.props.session.createOrder();\n }\n };\n\n /**\n * Check if order exists, if it does Resolve.\n * Otherwise createOrder and then Resolve.\n */\n public createOrder = (): Promise<void> => {\n this.setStatus('loading');\n\n // allow for multiple ANCV payments, follow giftcard logic and just use order if it exists\n if (this.props.order) {\n return Promise.resolve();\n }\n\n return this.onOrderRequest(this.data)\n .then((order: { orderData: string; pspReference: string }) => {\n const stateOrder = { order: { orderData: order.orderData, pspReference: order.pspReference } };\n this.setState(stateOrder);\n return Promise.resolve();\n })\n .catch(error => {\n this.setStatus(error?.message || 'error');\n if (this.props.onError) this.handleError(new AdyenCheckoutError('ERROR', error));\n });\n };\n\n public submit() {\n if (!this.isValid) {\n this.showValidation();\n return false;\n }\n\n this.createOrder()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then(this.handleResponse)\n .catch(this.handleFailedResult);\n }\n\n // Reimplement payButton similar to GiftCard to allow to set onClick\n public payButton = props => {\n return <PayButton {...props} />;\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 render() {\n if (this.props.paymentData) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <Await\n ref={ref => {\n this.componentRef = ref;\n }}\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={this.constructor['type']}\n messageText={this.props.i18n.get('ancv.confirmPayment')}\n awaitText={this.props.i18n.get('await.waitForConfirmation')}\n showCountdownTimer={config.showCountdownTimer}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <ANCVInput\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onSubmit={this.submit}\n onChange={this.setState}\n payButton={this.payButton}\n showPayButton={this.props.showPayButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default ANCVElement;\n"],"names":["ANCVElement","UIElement","
|
|
1
|
+
{"version":3,"file":"ANCV.js","sources":["../../../../src/components/ANCV/ANCV.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport ANCVInput from './components/ANCVInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport config from './components/ANCVAwait/config';\nimport Await from '../../components/internal/Await';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport PayButton from '../internal/PayButton';\nimport { ANCVConfiguration } from './types';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\n\nexport class ANCVElement extends UIElement<ANCVConfiguration> {\n public static type = 'ancv';\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: ANCVElement.type,\n beneficiaryId: this.state.data?.beneficiaryId\n }\n };\n }\n\n private onOrderRequest = data => {\n if (this.props.onOrderRequest)\n return new Promise((resolve, reject) => {\n this.props.onOrderRequest(resolve, reject, data);\n });\n\n if (this.props.session) {\n return this.props.session.createOrder();\n }\n };\n\n /**\n * Check if order exists, if it does Resolve.\n * Otherwise createOrder and then Resolve.\n */\n public createOrder = (): Promise<void> => {\n this.setStatus('loading');\n\n // allow for multiple ANCV payments, follow giftcard logic and just use order if it exists\n if (this.props.order) {\n return Promise.resolve();\n }\n\n return this.onOrderRequest(this.data)\n .then((order: { orderData: string; pspReference: string }) => {\n const stateOrder = { order: { orderData: order.orderData, pspReference: order.pspReference } };\n this.setState(stateOrder);\n return Promise.resolve();\n })\n .catch(error => {\n this.setStatus(error?.message || 'error');\n if (this.props.onError) this.handleError(new AdyenCheckoutError('ERROR', error));\n });\n };\n\n public submit() {\n if (!this.isValid) {\n this.showValidation();\n return false;\n }\n\n this.createOrder()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then(this.handleResponse)\n .catch(this.handleFailedResult);\n }\n\n // Reimplement payButton similar to GiftCard to allow to set onClick\n public payButton = props => {\n return <PayButton {...props} />;\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 render() {\n if (this.props.paymentData) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <Await\n ref={ref => {\n this.componentRef = ref;\n }}\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={this.constructor['type']}\n messageText={this.props.i18n.get('ancv.confirmPayment')}\n awaitText={this.props.i18n.get('await.waitForConfirmation')}\n showCountdownTimer={config.showCountdownTimer}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <ANCVInput\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onSubmit={this.submit}\n onChange={this.setState}\n payButton={this.payButton}\n showPayButton={this.props.showPayButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default ANCVElement;\n"],"names":["ANCVElement","UIElement","formatData","paymentMethod","type","beneficiaryId","this","state","data","submit","isValid","showValidation","createOrder","then","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","handleResponse","catch","handleFailedResult","displayName","props","name","render","paymentData","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","Await","ref","componentRef","clientKey","onError","onComplete","brandLogo","icon","constructor","messageText","get","awaitText","showCountdownTimer","config","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","ANCVInput","onSubmit","onChange","setState","payButton","showPayButton","_define_property","onOrderRequest","Promise","resolve","reject","session","setStatus","order","stateOrder","orderData","pspReference","error","message","handleError","AdyenCheckoutError","PayButton"],"mappings":"6rBAYO,MAAMA,UAAoBC,EAM7BC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMJ,EAAYI,KAClBC,cAAeC,KAAKC,MAAMC,MAAMH,eAG5C,CAqCOI,MAAAA,GACH,IAAKH,KAAKI,QAEN,OADAJ,KAAKK,kBACE,EAGXL,KAAKM,cACAC,KAAKP,KAAKQ,kBACVD,KAAKE,GACLF,KAAKG,GACLH,KAAKP,KAAKW,gBACVC,MAAMZ,KAAKa,mBACpB,CAOA,WAAIT,GACA,QAASJ,KAAKC,MAAMG,OACxB,CAEA,eAAIU,GACA,OAAOd,KAAKe,MAAMC,IACtB,CAEAC,MAAAA,GACI,OAAIjB,KAAKe,MAAMG,YAEPC,EAACC,EAAAA,CAAaC,KAAMrB,KAAKe,MAAMM,KAAMC,eAAgBtB,KAAKe,MAAMO,eAAgBC,UAAWvB,KAAKuB,WAC5FJ,EAACK,EAAAA,CAAgBC,QAASzB,KAAKe,MAAMW,QAAQD,SACzCN,EAACQ,EAAAA,CACGC,IAAKA,IACD5B,KAAK6B,aAAeD,CAAAA,EAExBE,UAAW9B,KAAKe,MAAMe,UACtBZ,YAAalB,KAAKe,MAAMG,YACxBa,QAAS/B,KAAKe,MAAMgB,QACpBC,WAAYhC,KAAKgC,WACjBC,UAAWjC,KAAKkC,KAChBpC,KAAME,KAAKmC,YAAmB,KAC9BC,YAAapC,KAAKe,MAAMM,KAAKgB,IAAI,uBACjCC,UAAWtC,KAAKe,MAAMM,KAAKgB,IAAI,6BAC/BE,mBAAoBC,EAAOD,mBAC3BE,aAAcD,EAAOE,cACrBC,iBAAkBH,EAAOI,kBACzBC,gBAAiB7C,KAAK6C,oBAQtC1B,EAACC,EAAAA,CAAaC,KAAMrB,KAAKe,MAAMM,KAAMC,eAAgBtB,KAAKe,MAAMO,eAAgBC,UAAWvB,KAAKuB,WAC5FJ,EAAC2B,EAAAA,CACGlB,IAAKA,IACD5B,KAAK6B,aAAeD,CAAAA,KAEpB5B,KAAKe,MACTgC,SAAU/C,KAAKG,OACf6C,SAAUhD,KAAKiD,SACfC,UAAWlD,KAAKkD,UAChBC,cAAenD,KAAKe,MAAMoC,gBAI1C,+BAvGAC,EAAApD,KAAQqD,kBAAiBnD,GACjBF,KAAKe,MAAMsC,eACJ,IAAIC,SAAQ,CAACC,EAASC,KACzBxD,KAAKe,MAAMsC,eAAeE,EAASC,EAAQtD,EAAAA,IAG/CF,KAAKe,MAAM0C,QACJzD,KAAKe,MAAM0C,QAAQnD,mBAD9B,IASJ8C,OAAO9C,eAAc,KACjBN,KAAK0D,UAAU,WAGX1D,KAAKe,MAAM4C,MACJL,QAAQC,UAGZvD,KAAKqD,eAAerD,KAAKE,MAC3BK,MAAMoD,IACH,MAAMC,EAAa,CAAED,MAAO,CAAEE,UAAWF,EAAME,UAAWC,aAAcH,EAAMG,eAE9E,OADA9D,KAAKiD,SAASW,GACPN,QAAQC,SAAO,IAEzB3C,OAAMmD,IACH/D,KAAK0D,UAAUK,GAAOC,SAAW,SAC7BhE,KAAKe,MAAMgB,SAAS/B,KAAKiE,YAAY,IAAIC,EAAmB,QAASH,GAAAA,OAmBrFX,EAAApD,KAAOkD,aAAYnC,GACRI,EAACgD,EAAcpD,MAjE1BqC,EADS1D,EACKI,OAAO"}
|
|
@@ -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 s from"./components/AchInput/AchInput.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import r from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as n}from"../tx-variants.js";class a extends e{
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import s from"./components/AchInput/AchInput.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import r from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as n}from"../tx-variants.js";class a extends e{formatProps(t){return{...t,holderNameRequired:t.hasHolderName??t.holderNameRequired}}formatData(){const t=!!this.props.storedPaymentMethodId,e={type:a.type,...this.state.data,ownerName:this.state.data?.holderName,...t&&{storedPaymentMethodId:this.props.storedPaymentMethodId}};return delete e.holderName,{paymentMethod:e,...this.state.storePaymentMethod&&{storePaymentMethod:this.state.storePaymentMethod}}}updateStyles(t){return this.componentRef&&this.componentRef.updateStyles&&this.componentRef.updateStyles(t),this}setFocusOn(t){return this.componentRef&&this.componentRef.setFocusOn&&this.componentRef.setFocusOn(t),this}get isValid(){return!!this.props.storedPaymentMethodId||!!this.state.isValid}get displayName(){return this.props.storedPaymentMethodId&&this.props.bankAccountNumber?`•••• ${this.props.bankAccountNumber.slice(-4)}`:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId?this.props.i18n.get("ach.savedBankAccount"):""}render(){return t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.storedPaymentMethodId?t(r,{showPayButton:this.props.showPayButton,name:this.displayName,amount:this.props.amount,payButton:this.payButton,onSubmit:this.submit,ref:t=>{this.componentRef=t}}):t(s,{setComponentRef:this.setComponentRef,handleKeyPress:this.handleKeyPress,...this.props,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton,resources:this.resources}))}}var i,p,h;i=a,p="type",h=n.ach,p in i?Object.defineProperty(i,p,{value:h,enumerable:!0,configurable:!0,writable:!0}):i[p]=h;export{a as AchElement,a as default};
|
|
2
2
|
//# sourceMappingURL=Ach.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ach.js","sources":["../../../../src/components/Ach/Ach.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport AchInput from './components/AchInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectButton from '../internal/RedirectButton';\nimport { AchConfiguration } from './types';\nimport { TxVariants } from '../tx-variants';\n\nexport class AchElement extends UIElement<AchConfiguration> {\n public static type = TxVariants.ach;\n\n formatProps(props: AchConfiguration) {\n return {\n ...props,\n // Fix mismatch between passed hasHolderName & holderNameRequired props\n // (when holderNameRequired = true, but hasHolderName = false - which means component will never be valid)\n holderNameRequired: props.hasHolderName ?? props.holderNameRequired\n // TODO - if it turns out that hasHolderName & holderNameRequired are not configurable by the merchant\n // then we will need to force these properties to true\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const recurringPayment = !!this.props.storedPaymentMethodId;\n\n // Map holderName to ownerName\n const paymentMethod = {\n type: AchElement.type,\n ...this.state.data,\n ownerName: this.state.data?.holderName,\n ...(recurringPayment && { storedPaymentMethodId: this.props.storedPaymentMethodId })\n };\n\n delete paymentMethod.holderName;\n\n return {\n paymentMethod,\n ...(this.state.storePaymentMethod && { storePaymentMethod: this.state.storePaymentMethod })\n };\n }\n\n updateStyles(stylesObj) {\n if (this.componentRef && this.componentRef.updateStyles) this.componentRef.updateStyles(stylesObj);\n return this;\n }\n\n setFocusOn(fieldName) {\n if (this.componentRef && this.componentRef.setFocusOn) this.componentRef.setFocusOn(fieldName);\n return this;\n }\n\n get isValid() {\n if (this.props.storedPaymentMethodId) {\n return true;\n }\n\n return !!this.state.isValid;\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.bankAccountNumber) {\n // get lastFour from bankAccountNumber, value comes from storedPaymentMethods\n return `•••• ${this.props.bankAccountNumber.slice(-4)}`;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n return this.props.storedPaymentMethodId ? this.props.i18n.get('ach.savedBankAccount') : '';\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.storedPaymentMethodId ? (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n amount={this.props.amount}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n ) : (\n <AchInput\n setComponentRef={this.setComponentRef}\n handleKeyPress={this.handleKeyPress}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n resources={this.resources}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default AchElement;\n"],"names":["AchElement","UIElement","
|
|
1
|
+
{"version":3,"file":"Ach.js","sources":["../../../../src/components/Ach/Ach.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport AchInput from './components/AchInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectButton from '../internal/RedirectButton';\nimport { AchConfiguration } from './types';\nimport { TxVariants } from '../tx-variants';\n\nexport class AchElement extends UIElement<AchConfiguration> {\n public static type = TxVariants.ach;\n\n formatProps(props: AchConfiguration) {\n return {\n ...props,\n // Fix mismatch between passed hasHolderName & holderNameRequired props\n // (when holderNameRequired = true, but hasHolderName = false - which means component will never be valid)\n holderNameRequired: props.hasHolderName ?? props.holderNameRequired\n // TODO - if it turns out that hasHolderName & holderNameRequired are not configurable by the merchant\n // then we will need to force these properties to true\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const recurringPayment = !!this.props.storedPaymentMethodId;\n\n // Map holderName to ownerName\n const paymentMethod = {\n type: AchElement.type,\n ...this.state.data,\n ownerName: this.state.data?.holderName,\n ...(recurringPayment && { storedPaymentMethodId: this.props.storedPaymentMethodId })\n };\n\n delete paymentMethod.holderName;\n\n return {\n paymentMethod,\n ...(this.state.storePaymentMethod && { storePaymentMethod: this.state.storePaymentMethod })\n };\n }\n\n updateStyles(stylesObj) {\n if (this.componentRef && this.componentRef.updateStyles) this.componentRef.updateStyles(stylesObj);\n return this;\n }\n\n setFocusOn(fieldName) {\n if (this.componentRef && this.componentRef.setFocusOn) this.componentRef.setFocusOn(fieldName);\n return this;\n }\n\n get isValid() {\n if (this.props.storedPaymentMethodId) {\n return true;\n }\n\n return !!this.state.isValid;\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.bankAccountNumber) {\n // get lastFour from bankAccountNumber, value comes from storedPaymentMethods\n return `•••• ${this.props.bankAccountNumber.slice(-4)}`;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n return this.props.storedPaymentMethodId ? this.props.i18n.get('ach.savedBankAccount') : '';\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.storedPaymentMethodId ? (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n amount={this.props.amount}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n ) : (\n <AchInput\n setComponentRef={this.setComponentRef}\n handleKeyPress={this.handleKeyPress}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n resources={this.resources}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default AchElement;\n"],"names":["AchElement","UIElement","formatProps","props","holderNameRequired","hasHolderName","formatData","recurringPayment","this","storedPaymentMethodId","paymentMethod","type","state","data","ownerName","holderName","storePaymentMethod","updateStyles","stylesObj","componentRef","setFocusOn","fieldName","isValid","displayName","bankAccountNumber","slice","name","additionalInfo","i18n","get","render","h","CoreProvider","loadingContext","resources","RedirectButton","showPayButton","amount","payButton","onSubmit","submit","ref","AchInput","setComponentRef","handleKeyPress","onChange","setState","TxVariants","ach"],"mappings":"kWAQO,MAAMA,UAAmBC,EAG5BC,WAAAA,CAAYC,GACR,MAAO,IACAA,EAGHC,mBAAoBD,EAAME,eAAiBF,EAAMC,mBAIzD,CAKAE,UAAAA,GACI,MAAMC,IAAqBC,KAAKL,MAAMM,sBAGhCC,EAAgB,CAClBC,KAAMX,EAAWW,QACdH,KAAKI,MAAMC,KACdC,UAAWN,KAAKI,MAAMC,MAAME,cACxBR,GAAoB,CAAEE,sBAAuBD,KAAKL,MAAMM,wBAKhE,cAFOC,EAAcK,WAEd,CACHL,mBACIF,KAAKI,MAAMI,oBAAsB,CAAEA,mBAAoBR,KAAKI,MAAMI,oBAE9E,CAEAC,YAAAA,CAAaC,GAET,OADIV,KAAKW,cAAgBX,KAAKW,aAAaF,cAAcT,KAAKW,aAAaF,aAAaC,GACjFV,IACX,CAEAY,UAAAA,CAAWC,GAEP,OADIb,KAAKW,cAAgBX,KAAKW,aAAaC,YAAYZ,KAAKW,aAAaC,WAAWC,GAC7Eb,IACX,CAEA,WAAIc,GACA,QAAId,KAAKL,MAAMM,yBAIND,KAAKI,MAAMU,OACxB,CAEA,eAAIC,GACA,OAAIf,KAAKL,MAAMM,uBAAyBD,KAAKL,MAAMqB,kBAExC,QAAQhB,KAAKL,MAAMqB,kBAAkBC,OAAO,KAEhDjB,KAAKL,MAAMuB,IACtB,CAEA,kBAAIC,GACA,OAAOnB,KAAKL,MAAMM,sBAAwBD,KAAKL,MAAMyB,KAAKC,IAAI,wBAA0B,EAC5F,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaJ,KAAMpB,KAAKL,MAAMyB,KAAMK,eAAgBzB,KAAKL,MAAM8B,eAAgBC,UAAW1B,KAAK0B,WAC3F1B,KAAKL,MAAMM,sBACRsB,EAACI,EAAAA,CACGC,cAAe5B,KAAKL,MAAMiC,cAC1BV,KAAMlB,KAAKe,YACXc,OAAQ7B,KAAKL,MAAMkC,OACnBC,UAAW9B,KAAK8B,UAChBC,SAAU/B,KAAKgC,OACfC,IAAKA,IACDjC,KAAKW,aAAesB,CAAAA,IAI5BV,EAACW,EAAAA,CACGC,gBAAiBnC,KAAKmC,gBACtBC,eAAgBpC,KAAKoC,kBACjBpC,KAAKL,MACT0C,SAAUrC,KAAKsC,SACfP,SAAU/B,KAAKgC,OACfF,UAAW9B,KAAK8B,UAChBJ,UAAW1B,KAAK0B,YAKpC,cA7FSlC,IACKW,SAAOoC,EAAWC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as
|
|
1
|
+
import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import r from"../internal/Address/Address.js";import{CoreProvider as s}from"../../core/Context/CoreProvider.js";import{TxVariants as n}from"../tx-variants.js";class o extends t{get data(){return this.state.data}get isValid(){return!!this.state.isValid}render(){return e(s,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(r,{setComponentRef:this.setComponentRef,...this.props,onChange:this.setState}))}}var a,i,d;a=o,i="type",d=n.address,i in a?Object.defineProperty(a,i,{value:d,enumerable:!0,configurable:!0,writable:!0}):a[i]=d;export{o as AddressElement,o as default};
|
|
2
2
|
//# sourceMappingURL=Address.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Address.js","sources":["../../../../src/components/Address/Address.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport Address from '../internal/Address';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { TxVariants } from '../tx-variants';\n\nexport class AddressElement extends UIElement {\n public static type = TxVariants.address;\n\n get data() {\n return this.state.data;\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <Address\n setComponentRef={this.setComponentRef}\n {...this.props}\n onChange={this.setState}\n {...(process.env.NODE_ENV !== 'production' && { payButton: this.payButton })}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default AddressElement;\n"],"names":["AddressElement","UIElement","
|
|
1
|
+
{"version":3,"file":"Address.js","sources":["../../../../src/components/Address/Address.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport Address from '../internal/Address';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { TxVariants } from '../tx-variants';\n\nexport class AddressElement extends UIElement {\n public static type = TxVariants.address;\n\n get data() {\n return this.state.data;\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <Address\n setComponentRef={this.setComponentRef}\n {...this.props}\n onChange={this.setState}\n {...(process.env.NODE_ENV !== 'production' && { payButton: this.payButton })}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default AddressElement;\n"],"names":["AddressElement","UIElement","data","this","state","isValid","render","h","CoreProvider","i18n","props","loadingContext","resources","Address","setComponentRef","onChange","setState","type","TxVariants","address"],"mappings":"mSAMO,MAAMA,UAAuBC,EAGhC,QAAIC,GACA,OAAOC,KAAKC,MAAMF,IACtB,CAEA,WAAIG,GACA,QAASF,KAAKC,MAAMC,OACxB,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMN,KAAKO,MAAMD,KAAME,eAAgBR,KAAKO,MAAMC,eAAgBC,UAAWT,KAAKS,WAC5FL,EAACM,EAAAA,CACGC,gBAAiBX,KAAKW,mBAClBX,KAAKO,MACTK,SAAUZ,KAAKa,WAK/B,cAtBShB,IACKiB,SAAOC,EAAWC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"../helpers/OpenInvoiceContainer/OpenInvoiceContainer.js";import{ALLOWED_COUNTRIES as r}from"./config.js";import{TxVariants as o}from"../tx-variants.js";class
|
|
1
|
+
import e from"../helpers/OpenInvoiceContainer/OpenInvoiceContainer.js";import{ALLOWED_COUNTRIES as r}from"./config.js";import{TxVariants as o}from"../tx-variants.js";class a extends e{formatProps(e){return{...super.formatProps(e),allowedCountries:r,personalDetailsRequiredFields:["firstName","lastName","telephoneNumber","shopperEmail"]}}}var t,i,n;t=a,i="type",n=o.affirm,i in t?Object.defineProperty(t,i,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[i]=n;export{a as default};
|
|
2
2
|
//# sourceMappingURL=Affirm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Affirm.js","sources":["../../../../src/components/Affirm/Affirm.tsx"],"sourcesContent":["import OpenInvoiceContainer from '../helpers/OpenInvoiceContainer';\nimport { ALLOWED_COUNTRIES } from './config';\nimport { TxVariants } from '../tx-variants';\n\nexport default class Affirm extends OpenInvoiceContainer {\n public static type = TxVariants.affirm;\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n allowedCountries: ALLOWED_COUNTRIES,\n personalDetailsRequiredFields: ['firstName', 'lastName', 'telephoneNumber', 'shopperEmail']\n };\n }\n}\n"],"names":["Affirm","OpenInvoiceContainer","
|
|
1
|
+
{"version":3,"file":"Affirm.js","sources":["../../../../src/components/Affirm/Affirm.tsx"],"sourcesContent":["import OpenInvoiceContainer from '../helpers/OpenInvoiceContainer';\nimport { ALLOWED_COUNTRIES } from './config';\nimport { TxVariants } from '../tx-variants';\n\nexport default class Affirm extends OpenInvoiceContainer {\n public static type = TxVariants.affirm;\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n allowedCountries: ALLOWED_COUNTRIES,\n personalDetailsRequiredFields: ['firstName', 'lastName', 'telephoneNumber', 'shopperEmail']\n };\n }\n}\n"],"names":["Affirm","OpenInvoiceContainer","formatProps","props","super","allowedCountries","ALLOWED_COUNTRIES","personalDetailsRequiredFields","type","TxVariants","affirm"],"mappings":"sKAIe,MAAMA,UAAeC,EAGhCC,WAAAA,CAAYC,GACR,MAAO,IACAC,MAAMF,YAAYC,GACrBE,iBAAkBC,EAClBC,8BAA+B,CAAC,YAAa,WAAY,kBAAmB,gBAEpF,cATiBP,IACHQ,SAAOC,EAAWC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../external/preact/dist/preact.js";import
|
|
1
|
+
import{createElement as e}from"../../external/preact/dist/preact.js";import r from"../helpers/OpenInvoiceContainer/OpenInvoiceContainer.js";import t from"../internal/ConsentCheckboxLabel/ConsentCheckboxLabel.js";import{ALLOWED_COUNTRIES as o,rivertyConsentUrlMap as n}from"./config.js";import{getConsentUrl as a}from"../../utils/getConsentUrl.js";import{TxVariants as s}from"../tx-variants.js";function i(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}class l extends r{formatProps(r){return{...super.formatProps(r),allowedCountries:r.countryCode?[r.countryCode]:o,consentCheckboxLabel:e(t,{url:a(r.countryCode,r.i18n?.locale,n)})}}}i(l,"type",s.afterpay_default),i(l,"txVariants",[s.afterpay_default,s.afterpay]);export{l as default};
|
|
2
2
|
//# sourceMappingURL=AfterPay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AfterPay.js","sources":["../../../../src/components/AfterPay/AfterPay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport OpenInvoiceContainer from '../helpers/OpenInvoiceContainer';\nimport ConsentCheckboxLabel from '../internal/ConsentCheckboxLabel';\nimport { ALLOWED_COUNTRIES, rivertyConsentUrlMap } from './config';\nimport { getConsentUrl } from '../../utils/getConsentUrl';\nimport { TxVariants } from '../tx-variants';\n\nexport default class AfterPay extends OpenInvoiceContainer {\n public static type = TxVariants.afterpay_default;\n public static txVariants = [TxVariants.afterpay_default, TxVariants.afterpay];\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n allowedCountries: props.countryCode ? [props.countryCode] : ALLOWED_COUNTRIES,\n consentCheckboxLabel: <ConsentCheckboxLabel url={getConsentUrl(props.countryCode, props.i18n?.locale, rivertyConsentUrlMap)} />\n };\n }\n}\n"],"names":["AfterPay","OpenInvoiceContainer","
|
|
1
|
+
{"version":3,"file":"AfterPay.js","sources":["../../../../src/components/AfterPay/AfterPay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport OpenInvoiceContainer from '../helpers/OpenInvoiceContainer';\nimport ConsentCheckboxLabel from '../internal/ConsentCheckboxLabel';\nimport { ALLOWED_COUNTRIES, rivertyConsentUrlMap } from './config';\nimport { getConsentUrl } from '../../utils/getConsentUrl';\nimport { TxVariants } from '../tx-variants';\n\nexport default class AfterPay extends OpenInvoiceContainer {\n public static type = TxVariants.afterpay_default;\n public static txVariants = [TxVariants.afterpay_default, TxVariants.afterpay];\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n allowedCountries: props.countryCode ? [props.countryCode] : ALLOWED_COUNTRIES,\n consentCheckboxLabel: <ConsentCheckboxLabel url={getConsentUrl(props.countryCode, props.i18n?.locale, rivertyConsentUrlMap)} />\n };\n }\n}\n"],"names":["AfterPay","OpenInvoiceContainer","formatProps","props","super","allowedCountries","countryCode","ALLOWED_COUNTRIES","consentCheckboxLabel","h","ConsentCheckboxLabel","url","getConsentUrl","i18n","locale","rivertyConsentUrlMap","_define_property","type","TxVariants","afterpay_default","txVariants","afterpay"],"mappings":"kgBAOe,MAAMA,UAAiBC,EAIlCC,WAAAA,CAAYC,GACR,MAAO,IACAC,MAAMF,YAAYC,GACrBE,iBAAkBF,EAAMG,YAAc,CAACH,EAAMG,aAAeC,EAC5DC,qBAAsBC,EAACC,EAAAA,CAAqBC,IAAKC,EAAcT,EAAMG,YAAaH,EAAMU,MAAMC,OAAQC,KAE9G,EATAC,EADiBhB,EACHiB,OAAOC,EAAWC,kBAChCH,EAFiBhB,EAEHoB,aAAa,CAACF,EAAWC,iBAAkBD,EAAWG"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"../helpers/OpenInvoiceContainer/OpenInvoiceContainer.js";import{TxVariants as
|
|
1
|
+
import e from"../helpers/OpenInvoiceContainer/OpenInvoiceContainer.js";import{TxVariants as r}from"../tx-variants.js";import{ALLOWED_COUNTRIES as t}from"./config.js";function i(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}class a extends e{formatProps(e){return{...super.formatProps(e),allowedCountries:e.countryCode?[e.countryCode]:t}}}i(a,"type",r.afterpay_b2b),i(a,"defaultProps",{onChange:()=>{},data:{companyDetails:{},personalDetails:{},billingAddress:{},deliveryAddress:{}},visibility:{companyDetails:"editable",personalDetails:"editable",billingAddress:"editable",deliveryAddress:"editable"}});export{a as default};
|
|
2
2
|
//# sourceMappingURL=AfterPayB2B.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AfterPayB2B.js","sources":["../../../../src/components/AfterPay/AfterPayB2B.tsx"],"sourcesContent":["import OpenInvoiceContainer from '../helpers/OpenInvoiceContainer';\nimport { TxVariants } from '../tx-variants';\nimport { OpenInvoiceConfiguration } from '../helpers/OpenInvoiceContainer/types';\nimport { ALLOWED_COUNTRIES } from './config';\n\nexport default class AfterPayB2B extends OpenInvoiceContainer {\n public static type = TxVariants.afterpay_b2b;\n\n protected static defaultProps: Partial<OpenInvoiceConfiguration> = {\n onChange: () => {},\n data: { companyDetails: {}, personalDetails: {}, billingAddress: {}, deliveryAddress: {} },\n visibility: {\n companyDetails: 'editable',\n personalDetails: 'editable',\n billingAddress: 'editable',\n deliveryAddress: 'editable'\n }\n };\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n allowedCountries: props.countryCode ? [props.countryCode] : ALLOWED_COUNTRIES\n };\n }\n}\n"],"names":["AfterPayB2B","OpenInvoiceContainer","
|
|
1
|
+
{"version":3,"file":"AfterPayB2B.js","sources":["../../../../src/components/AfterPay/AfterPayB2B.tsx"],"sourcesContent":["import OpenInvoiceContainer from '../helpers/OpenInvoiceContainer';\nimport { TxVariants } from '../tx-variants';\nimport { OpenInvoiceConfiguration } from '../helpers/OpenInvoiceContainer/types';\nimport { ALLOWED_COUNTRIES } from './config';\n\nexport default class AfterPayB2B extends OpenInvoiceContainer {\n public static type = TxVariants.afterpay_b2b;\n\n protected static defaultProps: Partial<OpenInvoiceConfiguration> = {\n onChange: () => {},\n data: { companyDetails: {}, personalDetails: {}, billingAddress: {}, deliveryAddress: {} },\n visibility: {\n companyDetails: 'editable',\n personalDetails: 'editable',\n billingAddress: 'editable',\n deliveryAddress: 'editable'\n }\n };\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n allowedCountries: props.countryCode ? [props.countryCode] : ALLOWED_COUNTRIES\n };\n }\n}\n"],"names":["AfterPayB2B","OpenInvoiceContainer","formatProps","props","super","allowedCountries","countryCode","ALLOWED_COUNTRIES","_define_property","type","TxVariants","afterpay_b2b","defaultProps","onChange","data","companyDetails","personalDetails","billingAddress","deliveryAddress","visibility"],"mappings":"8RAKe,MAAMA,UAAoBC,EAcrCC,WAAAA,CAAYC,GACR,MAAO,IACAC,MAAMF,YAAYC,GACrBE,iBAAkBF,EAAMG,YAAc,CAACH,EAAMG,aAAeC,EAEpE,EAlBAC,EADiBR,EACHS,OAAOC,EAAWC,cAEhCH,EAHiBR,EAGAY,eAAkD,CAC/DC,SAAU,OACVC,KAAM,CAAEC,eAAgB,CAAC,EAAGC,gBAAiB,CAAC,EAAGC,eAAgB,CAAC,EAAGC,gBAAiB,CAAC,GACvFC,WAAY,CACRJ,eAAgB,WAChBC,gBAAiB,WACjBC,eAAgB,WAChBC,gBAAiB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as
|
|
1
|
+
import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as o}from"../internal/UIElement/UIElement.js";import{CoreProvider as t}from"../../core/Context/CoreProvider.js";import r from"../../utils/browserInfo.js";import n from"./components/AmazonPayComponent.js";import s from"./defaultProps.js";import{getCheckoutDetails as i}from"./services.js";import{TxVariants as p}from"../tx-variants.js";import{sanitizeResponse as c,verifyPaymentDidNotFail as l}from"../internal/UIElement/utils.js";function a(e,o,t){return o in e?Object.defineProperty(e,o,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[o]=t,e}class u extends o{formatProps(e){return{...e,checkoutMode:e.isDropin?"ProcessOrder":e.checkoutMode,environment:e.environment.toUpperCase(),locale:e.locale.replace("-","_"),productType:e.isDropin&&!e.addressDetails?"PayOnly":e.productType}}formatData(){const{amazonCheckoutSessionId:e}=this.props;return{paymentMethod:{type:u.type,...e&&{checkoutSessionId:e}},browserInfo:this.browserInfo}}submitAnalytics(e){super.submitAnalytics({...e},this.props)}getShopperDetails(){const{amazonCheckoutSessionId:e,configuration:o={},loadingContext:t,clientKey:r}=this.props;if(!e)return console.error("Could not shopper details. Missing checkoutSessionId.");const n={checkoutSessionId:e,getDeliveryAddress:!0,publicKeyId:o.publicKeyId,region:o.region};return i(t,r,n)}handleDeclineFlow(){const{amazonCheckoutSessionId:e,configuration:o={},loadingContext:t,clientKey:r}=this.props;if(!e)return console.error("Could handle the decline flow. Missing checkoutSessionId.");const n={checkoutSessionId:e,getDeclineFlowUrl:!0,publicKeyId:o.publicKeyId,region:o.region};i(t,r,n).then(((e={})=>{if(!e?.declineFlowUrl)throw e;window.location.assign(e.declineFlowUrl)})).catch((e=>{this.props.onError&&this.props.onError(e,this.componentRef)}))}get isValid(){return!0}get browserInfo(){return r()}submit(){const e=this.componentRef&&this.componentRef.getSubmitFunction();if(e)return e();this.makePaymentsCall().then(c).then(l).then(this.handleResponse).catch(this.handleFailedResult)}render(){return e(t,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(n,{ref:e=>{this.componentRef=e},showPayButton:this.props.showPayButton,onClick:this.props.onClick,onError:this.props.onError,onSignOut:this.props.onSignOut,...this.props}))}}a(u,"type",p.amazonpay),a(u,"defaultProps",s);export{u as AmazonPayElement,u as default};
|
|
2
2
|
//# sourceMappingURL=AmazonPay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmazonPay.js","sources":["../../../../src/components/AmazonPay/AmazonPay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AmazonPayComponent from './components/AmazonPayComponent';\nimport { AmazonPayElementData, AmazonPayConfiguration, CheckoutDetailsRequest } from './types';\nimport defaultProps from './defaultProps';\nimport { getCheckoutDetails } from './services';\nimport './AmazonPay.scss';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nexport class AmazonPayElement extends UIElement<AmazonPayConfiguration> {\n public static type = TxVariants.amazonpay;\n\n protected static defaultProps = defaultProps;\n\n formatProps(props) {\n return {\n ...props,\n checkoutMode: props.isDropin ? 'ProcessOrder' : props.checkoutMode,\n environment: props.environment.toUpperCase(),\n locale: props.locale.replace('-', '_'),\n productType: props.isDropin && !props.addressDetails ? 'PayOnly' : props.productType\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): AmazonPayElementData {\n const { amazonCheckoutSessionId: checkoutSessionId } = this.props;\n return {\n paymentMethod: {\n type: AmazonPayElement.type,\n ...(checkoutSessionId && { checkoutSessionId })\n },\n browserInfo: this.browserInfo\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n getShopperDetails() {\n const { amazonCheckoutSessionId, configuration = {}, loadingContext, clientKey } = this.props;\n if (!amazonCheckoutSessionId) return console.error('Could not shopper details. Missing checkoutSessionId.');\n\n const request: CheckoutDetailsRequest = {\n checkoutSessionId: amazonCheckoutSessionId,\n getDeliveryAddress: true,\n publicKeyId: configuration.publicKeyId,\n region: configuration.region\n };\n\n return getCheckoutDetails(loadingContext, clientKey, request);\n }\n\n public handleDeclineFlow() {\n const { amazonCheckoutSessionId, configuration = {}, loadingContext, clientKey } = this.props;\n if (!amazonCheckoutSessionId) return console.error('Could handle the decline flow. Missing checkoutSessionId.');\n\n const request: CheckoutDetailsRequest = {\n checkoutSessionId: amazonCheckoutSessionId,\n getDeclineFlowUrl: true,\n publicKeyId: configuration.publicKeyId,\n region: configuration.region\n };\n\n getCheckoutDetails(loadingContext, clientKey, request)\n .then((response = {}) => {\n if (!response?.declineFlowUrl) throw response;\n window.location.assign(response.declineFlowUrl);\n })\n .catch(error => {\n if (this.props.onError) this.props.onError(error, this.componentRef);\n });\n }\n\n get isValid() {\n return true;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n public submit(): void {\n const amazonComponentSubmit = this.componentRef && this.componentRef.getSubmitFunction();\n if (amazonComponentSubmit) {\n return amazonComponentSubmit();\n }\n this.makePaymentsCall().then(sanitizeResponse).then(verifyPaymentDidNotFail).then(this.handleResponse).catch(this.handleFailedResult);\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <AmazonPayComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n showPayButton={this.props.showPayButton}\n onClick={this.props.onClick}\n onError={this.props.onError}\n onSignOut={this.props.onSignOut}\n {...this.props}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default AmazonPayElement;\n"],"names":["AmazonPayElement","UIElement","
|
|
1
|
+
{"version":3,"file":"AmazonPay.js","sources":["../../../../src/components/AmazonPay/AmazonPay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AmazonPayComponent from './components/AmazonPayComponent';\nimport { AmazonPayElementData, AmazonPayConfiguration, CheckoutDetailsRequest } from './types';\nimport defaultProps from './defaultProps';\nimport { getCheckoutDetails } from './services';\nimport './AmazonPay.scss';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nexport class AmazonPayElement extends UIElement<AmazonPayConfiguration> {\n public static type = TxVariants.amazonpay;\n\n protected static defaultProps = defaultProps;\n\n formatProps(props) {\n return {\n ...props,\n checkoutMode: props.isDropin ? 'ProcessOrder' : props.checkoutMode,\n environment: props.environment.toUpperCase(),\n locale: props.locale.replace('-', '_'),\n productType: props.isDropin && !props.addressDetails ? 'PayOnly' : props.productType\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): AmazonPayElementData {\n const { amazonCheckoutSessionId: checkoutSessionId } = this.props;\n return {\n paymentMethod: {\n type: AmazonPayElement.type,\n ...(checkoutSessionId && { checkoutSessionId })\n },\n browserInfo: this.browserInfo\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n getShopperDetails() {\n const { amazonCheckoutSessionId, configuration = {}, loadingContext, clientKey } = this.props;\n if (!amazonCheckoutSessionId) return console.error('Could not shopper details. Missing checkoutSessionId.');\n\n const request: CheckoutDetailsRequest = {\n checkoutSessionId: amazonCheckoutSessionId,\n getDeliveryAddress: true,\n publicKeyId: configuration.publicKeyId,\n region: configuration.region\n };\n\n return getCheckoutDetails(loadingContext, clientKey, request);\n }\n\n public handleDeclineFlow() {\n const { amazonCheckoutSessionId, configuration = {}, loadingContext, clientKey } = this.props;\n if (!amazonCheckoutSessionId) return console.error('Could handle the decline flow. Missing checkoutSessionId.');\n\n const request: CheckoutDetailsRequest = {\n checkoutSessionId: amazonCheckoutSessionId,\n getDeclineFlowUrl: true,\n publicKeyId: configuration.publicKeyId,\n region: configuration.region\n };\n\n getCheckoutDetails(loadingContext, clientKey, request)\n .then((response = {}) => {\n if (!response?.declineFlowUrl) throw response;\n window.location.assign(response.declineFlowUrl);\n })\n .catch(error => {\n if (this.props.onError) this.props.onError(error, this.componentRef);\n });\n }\n\n get isValid() {\n return true;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n public submit(): void {\n const amazonComponentSubmit = this.componentRef && this.componentRef.getSubmitFunction();\n if (amazonComponentSubmit) {\n return amazonComponentSubmit();\n }\n this.makePaymentsCall().then(sanitizeResponse).then(verifyPaymentDidNotFail).then(this.handleResponse).catch(this.handleFailedResult);\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <AmazonPayComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n showPayButton={this.props.showPayButton}\n onClick={this.props.onClick}\n onError={this.props.onError}\n onSignOut={this.props.onSignOut}\n {...this.props}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default AmazonPayElement;\n"],"names":["AmazonPayElement","UIElement","formatProps","props","checkoutMode","isDropin","environment","toUpperCase","locale","replace","productType","addressDetails","formatData","amazonCheckoutSessionId","checkoutSessionId","this","paymentMethod","type","browserInfo","submitAnalytics","analyticsObj","super","getShopperDetails","configuration","loadingContext","clientKey","console","error","request","getDeliveryAddress","publicKeyId","region","getCheckoutDetails","handleDeclineFlow","getDeclineFlowUrl","then","response","declineFlowUrl","window","location","assign","catch","onError","componentRef","isValid","collectBrowserInfo","submit","amazonComponentSubmit","getSubmitFunction","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","handleResponse","handleFailedResult","render","h","CoreProvider","i18n","resources","AmazonPayComponent","ref","showPayButton","onClick","onSignOut","_define_property","TxVariants","amazonpay","defaultProps"],"mappings":"4nBAaO,MAAMA,UAAyBC,EAKlCC,WAAAA,CAAYC,GACR,MAAO,IACAA,EACHC,aAAcD,EAAME,SAAW,eAAiBF,EAAMC,aACtDE,YAAaH,EAAMG,YAAYC,cAC/BC,OAAQL,EAAMK,OAAOC,QAAQ,IAAK,KAClCC,YAAaP,EAAME,WAAaF,EAAMQ,eAAiB,UAAYR,EAAMO,YAEjF,CAKAE,UAAAA,GACI,MAAQC,wBAAyBC,GAAsBC,KAAKZ,MAC5D,MAAO,CACHa,cAAe,CACXC,KAAMjB,EAAiBiB,QACnBH,GAAqB,CAAEA,sBAE/BI,YAAaH,KAAKG,YAE1B,CAEUC,eAAAA,CAAgBC,GAEtBC,MAAMF,gBAAgB,IAAKC,GAAgBL,KAAKZ,MACpD,CAEAmB,iBAAAA,GACI,MAAMT,wBAAEA,EAAuBU,cAAEA,EAAgB,CAAE,EAAAC,eAAEA,EAAcC,UAAEA,GAAcV,KAAKZ,MACxF,IAAKU,EAAyB,OAAOa,QAAQC,MAAM,yDAEnD,MAAMC,EAAkC,CACpCd,kBAAmBD,EACnBgB,oBAAoB,EACpBC,YAAaP,EAAcO,YAC3BC,OAAQR,EAAcQ,QAG1B,OAAOC,EAAmBR,EAAgBC,EAAWG,EACzD,CAEOK,iBAAAA,GACH,MAAMpB,wBAAEA,EAAuBU,cAAEA,EAAgB,CAAE,EAAAC,eAAEA,EAAcC,UAAEA,GAAcV,KAAKZ,MACxF,IAAKU,EAAyB,OAAOa,QAAQC,MAAM,6DAEnD,MAAMC,EAAkC,CACpCd,kBAAmBD,EACnBqB,mBAAmB,EACnBJ,YAAaP,EAAcO,YAC3BC,OAAQR,EAAcQ,QAG1BC,EAAmBR,EAAgBC,EAAWG,GACzCO,MAAK,CAACC,EAAW,MACd,IAAKA,GAAUC,eAAgB,MAAMD,EACrCE,OAAOC,SAASC,OAAOJ,EAASC,eAAc,IAEjDI,OAAMd,IACCZ,KAAKZ,MAAMuC,SAAS3B,KAAKZ,MAAMuC,QAAQf,EAAOZ,KAAK4B,aAAY,GAE/E,CAEA,WAAIC,GACA,OAAO,CACX,CAEA,eAAI1B,GACA,OAAO2B,GACX,CAEOC,MAAAA,GACH,MAAMC,EAAwBhC,KAAK4B,cAAgB5B,KAAK4B,aAAaK,oBACrE,GAAID,EACA,OAAOA,IAEXhC,KAAKkC,mBAAmBd,KAAKe,GAAkBf,KAAKgB,GAAyBhB,KAAKpB,KAAKqC,gBAAgBX,MAAM1B,KAAKsC,mBACtH,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAM1C,KAAKZ,MAAMsD,KAAMjC,eAAgBT,KAAKZ,MAAMqB,eAAgBkC,UAAW3C,KAAK2C,WAC5FH,EAACI,EAAAA,CACGC,IAAKA,IACD7C,KAAK4B,aAAeiB,CAAAA,EAExBC,cAAe9C,KAAKZ,MAAM0D,cAC1BC,QAAS/C,KAAKZ,MAAM2D,QACpBpB,QAAS3B,KAAKZ,MAAMuC,QACpBqB,UAAWhD,KAAKZ,MAAM4D,aAClBhD,KAAKZ,QAIzB,EAnGA6D,EADShE,EACKiB,OAAOgD,EAAWC,WAEhCF,EAHShE,EAGQmE,eAAeA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import s from"./components/ApplePayButton.js";import r from"./ApplePayService.js";import n from"../../utils/base64.js";import i from"./defaultProps.js";import{httpPost as o}from"../../core/Services/http.js";import{APPLEPAY_SESSION_ENDPOINT as a}from"./config.js";import{preparePaymentRequest as p}from"./payment-request.js";import{resolveSupportedVersion as l,mapBrands as c,formatApplePayContactToAdyenAddressFormat as d}from"./utils.js";import h from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as m}from"../tx-variants.js";import{sanitizeResponse as u,verifyPaymentDidNotFail as y}from"../internal/UIElement/utils.js";import{ANALYTICS_SELECTED_STR as A,ANALYTICS_INSTANT_PAYMENT_BUTTON as P}from"../../core/Analytics/constants.js";
|
|
1
|
+
import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import s from"./components/ApplePayButton.js";import r from"./ApplePayService.js";import n from"../../utils/base64.js";import i from"./defaultProps.js";import{httpPost as o}from"../../core/Services/http.js";import{APPLEPAY_SESSION_ENDPOINT as a}from"./config.js";import{preparePaymentRequest as p}from"./payment-request.js";import{resolveSupportedVersion as l,mapBrands as c,formatApplePayContactToAdyenAddressFormat as d}from"./utils.js";import h from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as m}from"../tx-variants.js";import{sanitizeResponse as u,verifyPaymentDidNotFail as y}from"../internal/UIElement/utils.js";import{ANALYTICS_SELECTED_STR as A,ANALYTICS_INSTANT_PAYMENT_BUTTON as P}from"../../core/Analytics/constants.js";function f(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class S extends t{formatProps(e){const t=e.version||l(14),s=e.brands?.length?c(e.brands):e.supportedNetworks;return{...e,configuration:e.configuration,supportedNetworks:s,version:t,totalPriceLabel:e.totalPriceLabel||e.configuration?.merchantName}}formatData(){const{applePayToken:e,billingAddress:t,deliveryAddress:s}=this.state,{isExpress:r}=this.props;return{paymentMethod:{type:S.type,applePayToken:e,...r&&{subtype:"express"}},...t&&{billingAddress:t},...s&&{deliveryAddress:s}}}submitAnalytics(e){super.submitAnalytics({...e},this.props)}startSession(){const{version:e,onValidateMerchant:t,onPaymentMethodSelected:s,onShippingMethodSelected:n,onShippingContactSelected:i}=this.props,o=p({companyName:this.props.configuration.merchantName,countryCode:this.core.options.countryCode,...this.props}),a=new r(o,{version:e,onError:e=>{this.handleError(new h("ERROR","ApplePay - Something went wrong on ApplePayService",{cause:e}))},onCancel:e=>{this.handleError(new h("CANCEL","ApplePay UI dismissed",{cause:e}))},onPaymentMethodSelected:s,onShippingMethodSelected:n,onShippingContactSelected:i,onValidateMerchant:t||this.validateMerchant,onPaymentAuthorized:(e,t,s)=>{const r=d(s.payment.billingContact),n=d(s.payment.shippingContact,!0);this.setState({applePayToken:btoa(JSON.stringify(s.payment.token.paymentData)),authorizedEvent:s,...r&&{billingAddress:r},...n&&{deliveryAddress:n}}),this.handleAuthorization().then(this.makePaymentsCall).then(u).then(y).then(this.collectOrderTrackingDetailsIfNeeded).then((({paymentResponse:t,orderDetails:s})=>(e({status:ApplePaySession.STATUS_SUCCESS,...s&&{orderDetails:s}}),t))).then((e=>{this.handleResponse(e)})).catch((e=>{const s=e?.error?.applePayError;t({status:ApplePaySession.STATUS_FAILURE,errors:s?Array.isArray(s)?s:[s]:void 0});const r={...e,error:{applePayError:s}};this.handleFailedResult(r)}))}});return new Promise(((e,t)=>this.props.onClick(e,t))).then((()=>{a.begin()})).catch((()=>({})))}async handleAuthorization(){return new Promise(((e,t)=>{this.props.onAuthorized||e();const{authorizedEvent:s,billingAddress:r,deliveryAddress:n}=this.state;this.props.onAuthorized({authorizedEvent:s,...r&&{billingAddress:r},...n&&{deliveryAddress:n}},{resolve:e,reject:t})})).catch((e=>{const t={error:{applePayError:e}};return Promise.reject(t)}))}async collectOrderTrackingDetailsIfNeeded(e){return new Promise(((e,t)=>{if(!this.props.onOrderTrackingRequest)return e();this.props.onOrderTrackingRequest(e,t)})).then((t=>({paymentResponse:e,...t&&{orderDetails:t}}))).catch((()=>({paymentResponse:e})))}async validateMerchant(e,t){const{hostname:s}=window.location,{clientKey:r,configuration:i,loadingContext:p,initiative:l}=this.props,{merchantName:c,merchantId:d}=i,h={loadingContext:p,path:`${a}?clientKey=${r}`},m={displayName:c,domainName:s,initiative:l,merchantIdentifier:d};try{const s=await o(h,m),r=n.decode(s.data);if(r.success){e(JSON.parse(r.data))}else t("Could not decode Apple Pay session")}catch(e){t("Could not get Apple Pay session")}}get isValid(){return!0}async isAvailable(){if("https:"!==document.location.protocol)return Promise.reject(new h("IMPLEMENTATION_ERROR","Trying to start an Apple Pay session from an insecure document"));if(!this.props.onValidateMerchant&&!this.props.clientKey)return Promise.reject(new h("IMPLEMENTATION_ERROR","clientKey was not provided"));try{if(window.ApplePaySession&&ApplePaySession.canMakePayments()&&ApplePaySession.supportsVersion(this.props.version))return Promise.resolve()}catch(e){console.warn(e)}return Promise.reject(new h("ERROR","Apple Pay is not available on this device"))}render(){return this.props.showPayButton?e(s,{i18n:this.props.i18n,buttonColor:this.props.buttonColor,buttonType:this.props.buttonType,onClick:e=>{e.preventDefault(),this.submit()}}):null}constructor(e,t){super(e,t),f(this,"submit",(()=>{this.props.isInstantPayment&&this.submitAnalytics({type:A,target:P}),this.startSession()}));const{isExpress:s,onShippingContactSelected:r,onShippingMethodSelected:n}=this.props;if(!1===s&&(r||n))throw new h("IMPLEMENTATION_ERROR",'ApplePay - You must set "isExpress" flag to "true" in order to use "onShippingContactSelected" and/or "onShippingMethodSelected" callbacks');this.startSession=this.startSession.bind(this),this.submit=this.submit.bind(this),this.validateMerchant=this.validateMerchant.bind(this),this.collectOrderTrackingDetailsIfNeeded=this.collectOrderTrackingDetailsIfNeeded.bind(this),this.handleAuthorization=this.handleAuthorization.bind(this)}}f(S,"type",m.applepay),f(S,"defaultProps",i);export{S as default};
|
|
2
2
|
//# sourceMappingURL=ApplePay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplePay.js","sources":["../../../../src/components/ApplePay/ApplePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport ApplePayButton from './components/ApplePayButton';\nimport ApplePayService from './ApplePayService';\nimport base64 from '../../utils/base64';\nimport defaultProps from './defaultProps';\nimport { httpPost } from '../../core/Services/http';\nimport { APPLEPAY_SESSION_ENDPOINT } from './config';\nimport { preparePaymentRequest } from './payment-request';\nimport { resolveSupportedVersion, mapBrands, formatApplePayContactToAdyenAddressFormat } from './utils';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { DecodeObject } from '../../types/global-types';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { ANALYTICS_INSTANT_PAYMENT_BUTTON, ANALYTICS_SELECTED_STR } from '../../core/Analytics/constants';\n\nimport type { ApplePayConfiguration, ApplePayElementData, ApplePayPaymentOrderDetails, ApplePaySessionRequest } from './types';\nimport type { ICore } from '../../core/types';\nimport type { PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nconst latestSupportedVersion = 14;\n\nclass ApplePayElement extends UIElement<ApplePayConfiguration> {\n public static type = TxVariants.applepay;\n protected static defaultProps = defaultProps;\n\n constructor(checkout: ICore, props?: ApplePayConfiguration) {\n super(checkout, props);\n\n const { isExpress, onShippingContactSelected, onShippingMethodSelected } = this.props;\n\n if (isExpress === false && (onShippingContactSelected || onShippingMethodSelected)) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'ApplePay - You must set \"isExpress\" flag to \"true\" in order to use \"onShippingContactSelected\" and/or \"onShippingMethodSelected\" callbacks'\n );\n }\n\n this.startSession = this.startSession.bind(this);\n this.submit = this.submit.bind(this);\n this.validateMerchant = this.validateMerchant.bind(this);\n this.collectOrderTrackingDetailsIfNeeded = this.collectOrderTrackingDetailsIfNeeded.bind(this);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n }\n\n /**\n * Formats the component props\n */\n protected override formatProps(props) {\n const version = props.version || resolveSupportedVersion(latestSupportedVersion);\n const supportedNetworks = props.brands?.length ? mapBrands(props.brands) : props.supportedNetworks;\n\n return {\n ...props,\n configuration: props.configuration,\n supportedNetworks,\n version,\n totalPriceLabel: props.totalPriceLabel || props.configuration?.merchantName\n };\n }\n\n /**\n * Formats the component data output\n */\n protected override formatData(): ApplePayElementData {\n const { applePayToken, billingAddress, deliveryAddress } = this.state;\n const { isExpress } = this.props;\n\n return {\n paymentMethod: {\n type: ApplePayElement.type,\n applePayToken,\n ...(isExpress && { subtype: 'express' })\n },\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n public override submit = (): void => {\n // Analytics\n if (this.props.isInstantPayment) {\n this.submitAnalytics({ type: ANALYTICS_SELECTED_STR, target: ANALYTICS_INSTANT_PAYMENT_BUTTON });\n }\n void this.startSession();\n };\n\n private startSession() {\n const { version, onValidateMerchant, onPaymentMethodSelected, onShippingMethodSelected, onShippingContactSelected } = this.props;\n\n const paymentRequest = preparePaymentRequest({\n companyName: this.props.configuration.merchantName,\n countryCode: this.core.options.countryCode,\n ...this.props\n });\n\n const session = new ApplePayService(paymentRequest, {\n version,\n onError: (error: unknown) => {\n this.handleError(\n new AdyenCheckoutError('ERROR', 'ApplePay - Something went wrong on ApplePayService', {\n cause: error\n })\n );\n },\n onCancel: event => {\n this.handleError(new AdyenCheckoutError('CANCEL', 'ApplePay UI dismissed', { cause: event }));\n },\n onPaymentMethodSelected,\n onShippingMethodSelected,\n onShippingContactSelected,\n onValidateMerchant: onValidateMerchant || this.validateMerchant,\n onPaymentAuthorized: (resolve, reject, event) => {\n const billingAddress = formatApplePayContactToAdyenAddressFormat(event.payment.billingContact);\n const deliveryAddress = formatApplePayContactToAdyenAddressFormat(event.payment.shippingContact, true);\n\n this.setState({\n applePayToken: btoa(JSON.stringify(event.payment.token.paymentData)),\n authorizedEvent: event,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then(this.collectOrderTrackingDetailsIfNeeded)\n .then(({ paymentResponse, orderDetails }) => {\n resolve({\n status: ApplePaySession.STATUS_SUCCESS,\n ...(orderDetails && { orderDetails })\n });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse?: RawPaymentResponse) => {\n const errors = paymentResponse?.error?.applePayError;\n\n reject({\n status: ApplePaySession.STATUS_FAILURE,\n errors: errors ? (Array.isArray(errors) ? errors : [errors]) : undefined\n });\n\n const responseWithError: RawPaymentResponse = {\n ...paymentResponse,\n error: {\n applePayError: errors\n }\n };\n\n this.handleFailedResult(responseWithError);\n });\n }\n });\n\n return new Promise((resolve, reject) => this.props.onClick(resolve, reject))\n .then(() => {\n session.begin();\n })\n .catch(() => ({\n // Swallow exception triggered by onClick reject\n }));\n }\n\n /**\n * Call the 'onAuthorized' callback if available.\n * Must be resolved/reject for the payment flow to continue\n *\n * @private\n */\n private async handleAuthorization(): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (!this.props.onAuthorized) {\n resolve();\n }\n\n const { authorizedEvent, billingAddress, deliveryAddress } = this.state;\n\n this.props.onAuthorized(\n {\n authorizedEvent,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n );\n }).catch((error?: ApplePayJS.ApplePayError) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { applePayError: error } };\n return Promise.reject(data);\n });\n }\n\n /**\n * Verify if the 'onOrderTrackingRequest' is provided. If so, triggers the callback expecting an\n * Apple Pay order details back\n *\n * @private\n */\n private async collectOrderTrackingDetailsIfNeeded(\n paymentResponse: PaymentResponseData\n ): Promise<{ orderDetails?: ApplePayPaymentOrderDetails; paymentResponse: PaymentResponseData }> {\n return new Promise<ApplePayPaymentOrderDetails | void>((resolve, reject) => {\n if (!this.props.onOrderTrackingRequest) {\n return resolve();\n }\n\n this.props.onOrderTrackingRequest(resolve, reject);\n })\n .then(orderDetails => {\n return {\n paymentResponse,\n ...(orderDetails && { orderDetails })\n };\n })\n .catch(() => {\n return { paymentResponse };\n });\n }\n\n private async validateMerchant(resolve, reject) {\n const { hostname: domainName } = window.location;\n const { clientKey, configuration, loadingContext, initiative } = this.props;\n const { merchantName, merchantId } = configuration;\n const path = `${APPLEPAY_SESSION_ENDPOINT}?clientKey=${clientKey}`;\n const options = { loadingContext, path };\n const request: ApplePaySessionRequest = {\n displayName: merchantName,\n domainName,\n initiative,\n merchantIdentifier: merchantId\n };\n\n try {\n const response = await httpPost(options, request);\n const decodedData: DecodeObject = base64.decode(response.data);\n if (!decodedData.success) {\n reject('Could not decode Apple Pay session');\n } else {\n const session = JSON.parse(decodedData.data);\n resolve(session);\n }\n } catch (e) {\n reject('Could not get Apple Pay session');\n }\n }\n\n /**\n * Validation\n *\n * @remarks\n * Apple Pay does not require any specific validation\n */\n get isValid(): boolean {\n return true;\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from Apple Pay.\n * @returns Promise Resolve/Reject whether the shopper can use Apple Pay\n */\n public override async isAvailable(): Promise<void> {\n if (document.location.protocol !== 'https:') {\n return Promise.reject(new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'Trying to start an Apple Pay session from an insecure document'));\n }\n\n if (!this.props.onValidateMerchant && !this.props.clientKey) {\n return Promise.reject(new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'clientKey was not provided'));\n }\n\n try {\n if (window.ApplePaySession && ApplePaySession.canMakePayments() && ApplePaySession.supportsVersion(this.props.version)) {\n return Promise.resolve();\n }\n } catch (error) {\n console.warn(error);\n }\n\n return Promise.reject(new AdyenCheckoutError('ERROR', 'Apple Pay is not available on this device'));\n }\n\n /**\n * Renders the Apple Pay button or nothing in the Dropin\n */\n render() {\n if (this.props.showPayButton) {\n return (\n <ApplePayButton\n i18n={this.props.i18n}\n buttonColor={this.props.buttonColor}\n buttonType={this.props.buttonType}\n onClick={e => {\n e.preventDefault();\n this.submit();\n }}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default ApplePayElement;\n"],"names":["ApplePayElement","UIElement","static","TxVariants","applepay","defaultProps","constructor","checkout","props","super","isExpress","onShippingContactSelected","onShippingMethodSelected","this","AdyenCheckoutError","startSession","bind","submit","validateMerchant","collectOrderTrackingDetailsIfNeeded","handleAuthorization","formatProps","version","resolveSupportedVersion","supportedNetworks","brands","length","mapBrands","configuration","totalPriceLabel","merchantName","formatData","applePayToken","billingAddress","deliveryAddress","state","paymentMethod","type","subtype","submitAnalytics","analyticsObj","isInstantPayment","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","onValidateMerchant","onPaymentMethodSelected","paymentRequest","preparePaymentRequest","companyName","countryCode","core","options","session","ApplePayService","onError","error","handleError","cause","onCancel","event","onPaymentAuthorized","resolve","reject","formatApplePayContactToAdyenAddressFormat","payment","billingContact","shippingContact","setState","btoa","JSON","stringify","token","paymentData","authorizedEvent","then","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","paymentResponse","orderDetails","status","ApplePaySession","STATUS_SUCCESS","handleResponse","catch","errors","applePayError","STATUS_FAILURE","Array","isArray","undefined","responseWithError","handleFailedResult","Promise","onClick","begin","onAuthorized","data","onOrderTrackingRequest","hostname","domainName","window","location","clientKey","loadingContext","initiative","merchantId","path","APPLEPAY_SESSION_ENDPOINT","request","displayName","merchantIdentifier","response","httpPost","decodedData","base64","decode","success","parse","e","isValid","isAvailable","document","protocol","canMakePayments","supportsVersion","console","warn","render","showPayButton","h","ApplePayButton","i18n","buttonColor","buttonType","preventDefault"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ApplePay.js","sources":["../../../../src/components/ApplePay/ApplePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport ApplePayButton from './components/ApplePayButton';\nimport ApplePayService from './ApplePayService';\nimport base64 from '../../utils/base64';\nimport defaultProps from './defaultProps';\nimport { httpPost } from '../../core/Services/http';\nimport { APPLEPAY_SESSION_ENDPOINT } from './config';\nimport { preparePaymentRequest } from './payment-request';\nimport { resolveSupportedVersion, mapBrands, formatApplePayContactToAdyenAddressFormat } from './utils';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { DecodeObject } from '../../types/global-types';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { ANALYTICS_INSTANT_PAYMENT_BUTTON, ANALYTICS_SELECTED_STR } from '../../core/Analytics/constants';\n\nimport type { ApplePayConfiguration, ApplePayElementData, ApplePayPaymentOrderDetails, ApplePaySessionRequest } from './types';\nimport type { ICore } from '../../core/types';\nimport type { PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nconst latestSupportedVersion = 14;\n\nclass ApplePayElement extends UIElement<ApplePayConfiguration> {\n public static type = TxVariants.applepay;\n protected static defaultProps = defaultProps;\n\n constructor(checkout: ICore, props?: ApplePayConfiguration) {\n super(checkout, props);\n\n const { isExpress, onShippingContactSelected, onShippingMethodSelected } = this.props;\n\n if (isExpress === false && (onShippingContactSelected || onShippingMethodSelected)) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'ApplePay - You must set \"isExpress\" flag to \"true\" in order to use \"onShippingContactSelected\" and/or \"onShippingMethodSelected\" callbacks'\n );\n }\n\n this.startSession = this.startSession.bind(this);\n this.submit = this.submit.bind(this);\n this.validateMerchant = this.validateMerchant.bind(this);\n this.collectOrderTrackingDetailsIfNeeded = this.collectOrderTrackingDetailsIfNeeded.bind(this);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n }\n\n /**\n * Formats the component props\n */\n protected override formatProps(props) {\n const version = props.version || resolveSupportedVersion(latestSupportedVersion);\n const supportedNetworks = props.brands?.length ? mapBrands(props.brands) : props.supportedNetworks;\n\n return {\n ...props,\n configuration: props.configuration,\n supportedNetworks,\n version,\n totalPriceLabel: props.totalPriceLabel || props.configuration?.merchantName\n };\n }\n\n /**\n * Formats the component data output\n */\n protected override formatData(): ApplePayElementData {\n const { applePayToken, billingAddress, deliveryAddress } = this.state;\n const { isExpress } = this.props;\n\n return {\n paymentMethod: {\n type: ApplePayElement.type,\n applePayToken,\n ...(isExpress && { subtype: 'express' })\n },\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n public override submit = (): void => {\n // Analytics\n if (this.props.isInstantPayment) {\n this.submitAnalytics({ type: ANALYTICS_SELECTED_STR, target: ANALYTICS_INSTANT_PAYMENT_BUTTON });\n }\n void this.startSession();\n };\n\n private startSession() {\n const { version, onValidateMerchant, onPaymentMethodSelected, onShippingMethodSelected, onShippingContactSelected } = this.props;\n\n const paymentRequest = preparePaymentRequest({\n companyName: this.props.configuration.merchantName,\n countryCode: this.core.options.countryCode,\n ...this.props\n });\n\n const session = new ApplePayService(paymentRequest, {\n version,\n onError: (error: unknown) => {\n this.handleError(\n new AdyenCheckoutError('ERROR', 'ApplePay - Something went wrong on ApplePayService', {\n cause: error\n })\n );\n },\n onCancel: event => {\n this.handleError(new AdyenCheckoutError('CANCEL', 'ApplePay UI dismissed', { cause: event }));\n },\n onPaymentMethodSelected,\n onShippingMethodSelected,\n onShippingContactSelected,\n onValidateMerchant: onValidateMerchant || this.validateMerchant,\n onPaymentAuthorized: (resolve, reject, event) => {\n const billingAddress = formatApplePayContactToAdyenAddressFormat(event.payment.billingContact);\n const deliveryAddress = formatApplePayContactToAdyenAddressFormat(event.payment.shippingContact, true);\n\n this.setState({\n applePayToken: btoa(JSON.stringify(event.payment.token.paymentData)),\n authorizedEvent: event,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then(this.collectOrderTrackingDetailsIfNeeded)\n .then(({ paymentResponse, orderDetails }) => {\n resolve({\n status: ApplePaySession.STATUS_SUCCESS,\n ...(orderDetails && { orderDetails })\n });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse?: RawPaymentResponse) => {\n const errors = paymentResponse?.error?.applePayError;\n\n reject({\n status: ApplePaySession.STATUS_FAILURE,\n errors: errors ? (Array.isArray(errors) ? errors : [errors]) : undefined\n });\n\n const responseWithError: RawPaymentResponse = {\n ...paymentResponse,\n error: {\n applePayError: errors\n }\n };\n\n this.handleFailedResult(responseWithError);\n });\n }\n });\n\n return new Promise((resolve, reject) => this.props.onClick(resolve, reject))\n .then(() => {\n session.begin();\n })\n .catch(() => ({\n // Swallow exception triggered by onClick reject\n }));\n }\n\n /**\n * Call the 'onAuthorized' callback if available.\n * Must be resolved/reject for the payment flow to continue\n *\n * @private\n */\n private async handleAuthorization(): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (!this.props.onAuthorized) {\n resolve();\n }\n\n const { authorizedEvent, billingAddress, deliveryAddress } = this.state;\n\n this.props.onAuthorized(\n {\n authorizedEvent,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n );\n }).catch((error?: ApplePayJS.ApplePayError) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { applePayError: error } };\n return Promise.reject(data);\n });\n }\n\n /**\n * Verify if the 'onOrderTrackingRequest' is provided. If so, triggers the callback expecting an\n * Apple Pay order details back\n *\n * @private\n */\n private async collectOrderTrackingDetailsIfNeeded(\n paymentResponse: PaymentResponseData\n ): Promise<{ orderDetails?: ApplePayPaymentOrderDetails; paymentResponse: PaymentResponseData }> {\n return new Promise<ApplePayPaymentOrderDetails | void>((resolve, reject) => {\n if (!this.props.onOrderTrackingRequest) {\n return resolve();\n }\n\n this.props.onOrderTrackingRequest(resolve, reject);\n })\n .then(orderDetails => {\n return {\n paymentResponse,\n ...(orderDetails && { orderDetails })\n };\n })\n .catch(() => {\n return { paymentResponse };\n });\n }\n\n private async validateMerchant(resolve, reject) {\n const { hostname: domainName } = window.location;\n const { clientKey, configuration, loadingContext, initiative } = this.props;\n const { merchantName, merchantId } = configuration;\n const path = `${APPLEPAY_SESSION_ENDPOINT}?clientKey=${clientKey}`;\n const options = { loadingContext, path };\n const request: ApplePaySessionRequest = {\n displayName: merchantName,\n domainName,\n initiative,\n merchantIdentifier: merchantId\n };\n\n try {\n const response = await httpPost(options, request);\n const decodedData: DecodeObject = base64.decode(response.data);\n if (!decodedData.success) {\n reject('Could not decode Apple Pay session');\n } else {\n const session = JSON.parse(decodedData.data);\n resolve(session);\n }\n } catch (e) {\n reject('Could not get Apple Pay session');\n }\n }\n\n /**\n * Validation\n *\n * @remarks\n * Apple Pay does not require any specific validation\n */\n get isValid(): boolean {\n return true;\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from Apple Pay.\n * @returns Promise Resolve/Reject whether the shopper can use Apple Pay\n */\n public override async isAvailable(): Promise<void> {\n if (document.location.protocol !== 'https:') {\n return Promise.reject(new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'Trying to start an Apple Pay session from an insecure document'));\n }\n\n if (!this.props.onValidateMerchant && !this.props.clientKey) {\n return Promise.reject(new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'clientKey was not provided'));\n }\n\n try {\n if (window.ApplePaySession && ApplePaySession.canMakePayments() && ApplePaySession.supportsVersion(this.props.version)) {\n return Promise.resolve();\n }\n } catch (error) {\n console.warn(error);\n }\n\n return Promise.reject(new AdyenCheckoutError('ERROR', 'Apple Pay is not available on this device'));\n }\n\n /**\n * Renders the Apple Pay button or nothing in the Dropin\n */\n render() {\n if (this.props.showPayButton) {\n return (\n <ApplePayButton\n i18n={this.props.i18n}\n buttonColor={this.props.buttonColor}\n buttonType={this.props.buttonType}\n onClick={e => {\n e.preventDefault();\n this.submit();\n }}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default ApplePayElement;\n"],"names":["ApplePayElement","UIElement","formatProps","props","version","resolveSupportedVersion","supportedNetworks","brands","length","mapBrands","configuration","totalPriceLabel","merchantName","formatData","applePayToken","billingAddress","deliveryAddress","this","state","isExpress","paymentMethod","type","subtype","submitAnalytics","analyticsObj","super","startSession","onValidateMerchant","onPaymentMethodSelected","onShippingMethodSelected","onShippingContactSelected","paymentRequest","preparePaymentRequest","companyName","countryCode","core","options","session","ApplePayService","onError","error","handleError","AdyenCheckoutError","cause","onCancel","event","validateMerchant","onPaymentAuthorized","resolve","reject","formatApplePayContactToAdyenAddressFormat","payment","billingContact","shippingContact","setState","btoa","JSON","stringify","token","paymentData","authorizedEvent","handleAuthorization","then","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","collectOrderTrackingDetailsIfNeeded","paymentResponse","orderDetails","status","ApplePaySession","STATUS_SUCCESS","handleResponse","catch","errors","applePayError","STATUS_FAILURE","Array","isArray","undefined","responseWithError","handleFailedResult","Promise","onClick","begin","onAuthorized","data","onOrderTrackingRequest","hostname","domainName","window","location","clientKey","loadingContext","initiative","merchantId","path","APPLEPAY_SESSION_ENDPOINT","request","displayName","merchantIdentifier","response","httpPost","decodedData","base64","decode","success","parse","e","isValid","isAvailable","document","protocol","canMakePayments","supportsVersion","console","warn","render","showPayButton","h","ApplePayButton","i18n","buttonColor","buttonType","preventDefault","submit","constructor","checkout","_define_property","isInstantPayment","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","bind","TxVariants","applepay","defaultProps"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
function e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class t{begin(){return this.session.begin()}onvalidatemerchant(e,t){return new Promise(((n,o)=>t(n,o,e.validationURL))).then((e=>{this.session.completeMerchantValidation(e)})).catch((e=>{console.error(e),this.session.abort(),this.options.onError(e)}))}onpaymentauthorized(e,t){return new Promise(((n,o)=>t(n,o,e))).then((e=>{this.session.completePayment(e)})).catch((e=>{this.session.completePayment(e)}))}onpaymentmethodselected(e,t){return new Promise(((n,o)=>t(n,o,e))).then((e=>{this.session.completePaymentMethodSelection(e)})).catch((e=>{this.session.completePaymentMethodSelection(e)}))}onshippingcontactselected(e,t){return new Promise(((n,o)=>t(n,o,e))).then((e=>{this.session.completeShippingContactSelection(e)})).catch((e=>{this.session.completeShippingContactSelection(e)}))}onshippingmethodselected(e,t){return new Promise(((n,o)=>t(n,o,e))).then((e=>{this.session.completeShippingMethodSelection(e)})).catch((e=>{this.session.completeShippingMethodSelection(e)}))}oncancel(e,t){t(e)}constructor(t,n){e(this,"session",void 0),e(this,"options",void 0),this.options=n,this.session=new ApplePaySession(n.version,t),this.session.onvalidatemerchant=e=>{this.onvalidatemerchant(e,n.onValidateMerchant)},this.session.onpaymentauthorized=e=>{this.onpaymentauthorized(e,n.onPaymentAuthorized)},this.session.oncancel=e=>{this.oncancel(e,n.onCancel)},"function"==typeof n.onPaymentMethodSelected&&(this.session.onpaymentmethodselected=e=>{this.onpaymentmethodselected(e,n.onPaymentMethodSelected)}),"function"==typeof n.onShippingContactSelected&&(this.session.onshippingcontactselected=e=>{this.onshippingcontactselected(e,n.onShippingContactSelected)}),"function"==typeof n.onShippingMethodSelected&&(this.session.onshippingmethodselected=e=>{this.onshippingmethodselected(e,n.onShippingMethodSelected)})}}export{t as default};
|
|
2
2
|
//# sourceMappingURL=ApplePayService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplePayService.js","sources":["../../../../src/components/ApplePay/ApplePayService.ts"],"sourcesContent":["import { ApplePayPaymentAuthorizationResult } from './types';\n\ninterface ApplePayServiceOptions {\n version: number;\n onValidateMerchant: (resolve, reject, url) => void;\n onError: (error?: unknown) => void;\n onCancel?: (event: ApplePayJS.Event) => void;\n onPaymentMethodSelected?: (resolve, reject, event: ApplePayJS.ApplePayPaymentMethodSelectedEvent) => void;\n onShippingMethodSelected?: (resolve, reject, event: ApplePayJS.ApplePayShippingMethodSelectedEvent) => void;\n onShippingContactSelected?: (resolve, reject, event: ApplePayJS.ApplePayShippingContactSelectedEvent) => void;\n onPaymentAuthorized: (\n resolve: (result: ApplePayPaymentAuthorizationResult) => void,\n reject: (result: ApplePayPaymentAuthorizationResult) => void,\n event: ApplePayJS.ApplePayPaymentAuthorizedEvent\n ) => void;\n}\n\nclass ApplePayService {\n private session: ApplePaySession;\n private readonly options: ApplePayServiceOptions;\n\n constructor(paymentRequest: ApplePayJS.ApplePayPaymentRequest, options: ApplePayServiceOptions) {\n this.options = options;\n\n this.session = new ApplePaySession(options.version, paymentRequest);\n this.session.onvalidatemerchant = event => {\n void this.onvalidatemerchant(event, options.onValidateMerchant);\n };\n this.session.onpaymentauthorized = event => {\n void this.onpaymentauthorized(event, options.onPaymentAuthorized);\n };\n\n this.session.oncancel = event => {\n this.oncancel(event, options.onCancel);\n };\n\n if (typeof options.onPaymentMethodSelected === 'function') {\n this.session.onpaymentmethodselected = event => {\n void this.onpaymentmethodselected(event, options.onPaymentMethodSelected);\n };\n }\n\n if (typeof options.onShippingContactSelected === 'function') {\n this.session.onshippingcontactselected = event => {\n void this.onshippingcontactselected(event, options.onShippingContactSelected);\n };\n }\n\n if (typeof options.onShippingMethodSelected === 'function') {\n this.session.onshippingmethodselected = event => {\n void this.onshippingmethodselected(event, options.onShippingMethodSelected);\n };\n }\n }\n\n /**\n * Begins the merchant validation process.\n * When this method is called, the payment sheet is presented and the merchant validation process is initiated.\n * @see {@link https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778001-begin}\n */\n begin() {\n return this.session.begin();\n }\n\n /**\n * An event handler that is called when the payment sheet is displayed.\n * Use this attribute to request and return a merchant session.\n * @param event - An ApplePayValidateMerchantEvent object (contains validationURL)\n * @param onValidateMerchant - A promise implemented by the merchant that will resolve with the merchantSession\n * @see {@link https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api/providing_merchant_validation}\n */\n onvalidatemerchant(event: ApplePayJS.ApplePayValidateMerchantEvent, onValidateMerchant) {\n return new Promise((resolve, reject) => onValidateMerchant(resolve, reject, event.validationURL))\n .then(response => {\n this.session.completeMerchantValidation(response);\n })\n .catch(error => {\n console.error(error);\n this.session.abort();\n this.options.onError(error);\n });\n }\n\n /**\n * An event handler that is called when the user has authorized the Apple Pay payment with Touch ID, Face ID, or passcode.\n * The onpaymentauthorized function must complete the payment and respond by calling completePayment before the 30 second timeout.\n *\n * @param event - The event parameter contains the payment (ApplePayPayment) attribute.\n * @param onPaymentAuthorized - A promise that will complete the payment when resolved. Use this promise to process the payment.\n * @see {@link https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778020-onpaymentauthorized}\n */\n onpaymentauthorized(\n event: ApplePayJS.ApplePayPaymentAuthorizedEvent,\n onPaymentAuthorized: ApplePayServiceOptions['onPaymentAuthorized']\n ): Promise<void> {\n return new Promise((resolve, reject) => onPaymentAuthorized(resolve, reject, event))\n .then((result: ApplePayPaymentAuthorizationResult) => {\n this.session.completePayment(result);\n })\n .catch((result: ApplePayPaymentAuthorizationResult) => {\n this.session.completePayment(result);\n });\n }\n\n /**\n * An event handler that is called when a new payment method is selected.\n * The onpaymentmethodselected function must resolve before the 30 second timeout\n *\n * @param event - The event parameter contains the payment (ApplePayPayment) attribute.\n * @param onPaymentMethodSelected - A promise that will complete the payment when resolved. Use this promise to process the payment.\n * @see {@link https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778013-onpaymentmethodselected}\n */\n onpaymentmethodselected(event: ApplePayJS.ApplePayPaymentMethodSelectedEvent, onPaymentMethodSelected) {\n return new Promise((resolve, reject) => onPaymentMethodSelected(resolve, reject, event))\n .then((paymentMethodUpdate: ApplePayJS.ApplePayPaymentMethodUpdate) => {\n this.session.completePaymentMethodSelection(paymentMethodUpdate);\n })\n .catch((paymentMethodUpdate: ApplePayJS.ApplePayPaymentMethodUpdate) => {\n this.session.completePaymentMethodSelection(paymentMethodUpdate);\n });\n }\n\n /**\n * An event handler that is called when a new payment method is selected.\n * The onpaymentmethodselected function must resolve before the 30 second timeout\n * @param event - The event parameter contains the shippingContact attribute.\n * @param onShippingContactSelected - A promise that will complete the selection of a shipping contact with an update.\n * @see {@link https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778009-onshippingcontactselected}\n */\n onshippingcontactselected(event: ApplePayJS.ApplePayShippingContactSelectedEvent, onShippingContactSelected) {\n return new Promise((resolve, reject) => onShippingContactSelected(resolve, reject, event))\n .then((shippingContactUpdate: ApplePayJS.ApplePayShippingContactUpdate) => {\n this.session.completeShippingContactSelection(shippingContactUpdate);\n })\n .catch((shippingContactUpdate: ApplePayJS.ApplePayShippingContactUpdate) => {\n this.session.completeShippingContactSelection(shippingContactUpdate);\n });\n }\n\n /**\n * An event handler that is called when a new payment method is selected.\n * The onpaymentmethodselected function must resolve before the 30 second timeout\n * @param event - The event parameter contains the shippingMethod attribute.\n * @param onShippingMethodSelected - A promise that will complete the selection of a shipping method with an update.\n * @see {@link https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778009-onshippingcontactselected}\n */\n onshippingmethodselected(event: ApplePayJS.ApplePayShippingMethodSelectedEvent, onShippingMethodSelected) {\n return new Promise((resolve, reject) => onShippingMethodSelected(resolve, reject, event))\n .then((shippingMethodUpdate: ApplePayJS.ApplePayShippingMethodUpdate) => {\n this.session.completeShippingMethodSelection(shippingMethodUpdate);\n })\n .catch((shippingMethodUpdate: ApplePayJS.ApplePayShippingMethodUpdate) => {\n this.session.completeShippingMethodSelection(shippingMethodUpdate);\n });\n }\n\n /**\n * An event handler that is automatically called when the payment UI is dismissed.\n * This function can be called even after an onpaymentauthorized event has been dispatched.\n * @param event -\n * @param onCancel -\n * @see {@link https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778029-oncancel}\n */\n oncancel(event: ApplePayJS.Event, onCancel): void {\n onCancel(event);\n }\n}\n\nexport default ApplePayService;\n"],"names":["ApplePayService","session","options","constructor","paymentRequest","this","ApplePaySession","version","onvalidatemerchant","event","onValidateMerchant","onpaymentauthorized","onPaymentAuthorized","oncancel","onCancel","onPaymentMethodSelected","onpaymentmethodselected","onShippingContactSelected","onshippingcontactselected","onShippingMethodSelected","onshippingmethodselected","begin","Promise","resolve","reject","validationURL","then","response","completeMerchantValidation","catch","error","console","abort","onError","result","completePayment","paymentMethodUpdate","completePaymentMethodSelection","shippingContactUpdate","completeShippingContactSelection","shippingMethodUpdate","completeShippingMethodSelection"],"mappings":"AAiBA,MAAMA,EACMC,QACSC,QAEjBC,WAAAA,CAAYC,EAAmDF,GAC3DG,KAAKH,QAAUA,EAEfG,KAAKJ,QAAU,IAAIK,gBAAgBJ,EAAQK,QAASH,GACpDC,KAAKJ,QAAQO,mBAAqBC,IACzBJ,KAAKG,mBAAmBC,EAAOP,EAAQQ,mBAAkB,EAElEL,KAAKJ,QAAQU,oBAAsBF,IAC1BJ,KAAKM,oBAAoBF,EAAOP,EAAQU,oBAAmB,EAGpEP,KAAKJ,QAAQY,SAAWJ,IACpBJ,KAAKQ,SAASJ,EAAOP,EAAQY,SAAQ,EAGM,mBAApCZ,EAAQa,0BACfV,KAAKJ,QAAQe,wBAA0BP,IAC9BJ,KAAKW,wBAAwBP,EAAOP,EAAQa,wBAAuB,GAI/B,mBAAtCb,EAAQe,4BACfZ,KAAKJ,QAAQiB,0BAA4BT,IAChCJ,KAAKa,0BAA0BT,EAAOP,EAAQe,0BAAyB,GAIpC,mBAArCf,EAAQiB,2BACfd,KAAKJ,QAAQmB,yBAA2BX,IAC/BJ,KAAKe,yBAAyBX,EAAOP,EAAQiB,yBAAwB,EAGtF,CAOAE,KAAAA,GACI,OAAOhB,KAAKJ,QAAQoB,OACxB,CASAb,kBAAAA,CAAmBC,EAAiDC,GAChE,OAAO,IAAIY,SAAQ,CAACC,EAASC,IAAWd,EAAmBa,EAASC,EAAQf,EAAMgB,iBAC7EC,MAAKC,IACFtB,KAAKJ,QAAQ2B,2BAA2BD,EAAAA,IAE3CE,OAAMC,IACHC,QAAQD,MAAMA,GACdzB,KAAKJ,QAAQ+B,QACb3B,KAAKH,QAAQ+B,QAAQH,EAAAA,GAEjC,CAUAnB,mBAAAA,CACIF,EACAG,GAEA,OAAO,IAAIU,SAAQ,CAACC,EAASC,IAAWZ,EAAoBW,EAASC,EAAQf,KACxEiB,MAAMQ,IACH7B,KAAKJ,QAAQkC,gBAAgBD,EAAAA,IAEhCL,OAAOK,IACJ7B,KAAKJ,QAAQkC,gBAAgBD,EAAAA,GAEzC,CAUAlB,uBAAAA,CAAwBP,EAAsDM,GAC1E,OAAO,IAAIO,SAAQ,CAACC,EAASC,IAAWT,EAAwBQ,EAASC,EAAQf,KAC5EiB,MAAMU,IACH/B,KAAKJ,QAAQoC,+BAA+BD,EAAAA,IAE/CP,OAAOO,IACJ/B,KAAKJ,QAAQoC,+BAA+BD,EAAAA,GAExD,CASAlB,yBAAAA,CAA0BT,EAAwDQ,GAC9E,OAAO,IAAIK,SAAQ,CAACC,EAASC,IAAWP,EAA0BM,EAASC,EAAQf,KAC9EiB,MAAMY,IACHjC,KAAKJ,QAAQsC,iCAAiCD,EAAAA,IAEjDT,OAAOS,IACJjC,KAAKJ,QAAQsC,iCAAiCD,EAAAA,GAE1D,CASAlB,wBAAAA,CAAyBX,EAAuDU,GAC5E,OAAO,IAAIG,SAAQ,CAACC,EAASC,IAAWL,EAAyBI,EAASC,EAAQf,KAC7EiB,MAAMc,IACHnC,KAAKJ,QAAQwC,gCAAgCD,EAAAA,IAEhDX,OAAOW,IACJnC,KAAKJ,QAAQwC,gCAAgCD,EAAAA,GAEzD,CASA3B,QAAAA,CAASJ,EAAyBK,GAC9BA,EAASL,EACb"}
|
|
1
|
+
{"version":3,"file":"ApplePayService.js","sources":["../../../../src/components/ApplePay/ApplePayService.ts"],"sourcesContent":["import { ApplePayPaymentAuthorizationResult } from './types';\n\ninterface ApplePayServiceOptions {\n version: number;\n onValidateMerchant: (resolve, reject, url) => void;\n onError: (error?: unknown) => void;\n onCancel?: (event: ApplePayJS.Event) => void;\n onPaymentMethodSelected?: (resolve, reject, event: ApplePayJS.ApplePayPaymentMethodSelectedEvent) => void;\n onShippingMethodSelected?: (resolve, reject, event: ApplePayJS.ApplePayShippingMethodSelectedEvent) => void;\n onShippingContactSelected?: (resolve, reject, event: ApplePayJS.ApplePayShippingContactSelectedEvent) => void;\n onPaymentAuthorized: (\n resolve: (result: ApplePayPaymentAuthorizationResult) => void,\n reject: (result: ApplePayPaymentAuthorizationResult) => void,\n event: ApplePayJS.ApplePayPaymentAuthorizedEvent\n ) => void;\n}\n\nclass ApplePayService {\n private session: ApplePaySession;\n private readonly options: ApplePayServiceOptions;\n\n constructor(paymentRequest: ApplePayJS.ApplePayPaymentRequest, options: ApplePayServiceOptions) {\n this.options = options;\n\n this.session = new ApplePaySession(options.version, paymentRequest);\n this.session.onvalidatemerchant = event => {\n void this.onvalidatemerchant(event, options.onValidateMerchant);\n };\n this.session.onpaymentauthorized = event => {\n void this.onpaymentauthorized(event, options.onPaymentAuthorized);\n };\n\n this.session.oncancel = event => {\n this.oncancel(event, options.onCancel);\n };\n\n if (typeof options.onPaymentMethodSelected === 'function') {\n this.session.onpaymentmethodselected = event => {\n void this.onpaymentmethodselected(event, options.onPaymentMethodSelected);\n };\n }\n\n if (typeof options.onShippingContactSelected === 'function') {\n this.session.onshippingcontactselected = event => {\n void this.onshippingcontactselected(event, options.onShippingContactSelected);\n };\n }\n\n if (typeof options.onShippingMethodSelected === 'function') {\n this.session.onshippingmethodselected = event => {\n void this.onshippingmethodselected(event, options.onShippingMethodSelected);\n };\n }\n }\n\n /**\n * Begins the merchant validation process.\n * When this method is called, the payment sheet is presented and the merchant validation process is initiated.\n * @see {@link https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778001-begin}\n */\n begin() {\n return this.session.begin();\n }\n\n /**\n * An event handler that is called when the payment sheet is displayed.\n * Use this attribute to request and return a merchant session.\n * @param event - An ApplePayValidateMerchantEvent object (contains validationURL)\n * @param onValidateMerchant - A promise implemented by the merchant that will resolve with the merchantSession\n * @see {@link https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api/providing_merchant_validation}\n */\n onvalidatemerchant(event: ApplePayJS.ApplePayValidateMerchantEvent, onValidateMerchant) {\n return new Promise((resolve, reject) => onValidateMerchant(resolve, reject, event.validationURL))\n .then(response => {\n this.session.completeMerchantValidation(response);\n })\n .catch(error => {\n console.error(error);\n this.session.abort();\n this.options.onError(error);\n });\n }\n\n /**\n * An event handler that is called when the user has authorized the Apple Pay payment with Touch ID, Face ID, or passcode.\n * The onpaymentauthorized function must complete the payment and respond by calling completePayment before the 30 second timeout.\n *\n * @param event - The event parameter contains the payment (ApplePayPayment) attribute.\n * @param onPaymentAuthorized - A promise that will complete the payment when resolved. Use this promise to process the payment.\n * @see {@link https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778020-onpaymentauthorized}\n */\n onpaymentauthorized(\n event: ApplePayJS.ApplePayPaymentAuthorizedEvent,\n onPaymentAuthorized: ApplePayServiceOptions['onPaymentAuthorized']\n ): Promise<void> {\n return new Promise((resolve, reject) => onPaymentAuthorized(resolve, reject, event))\n .then((result: ApplePayPaymentAuthorizationResult) => {\n this.session.completePayment(result);\n })\n .catch((result: ApplePayPaymentAuthorizationResult) => {\n this.session.completePayment(result);\n });\n }\n\n /**\n * An event handler that is called when a new payment method is selected.\n * The onpaymentmethodselected function must resolve before the 30 second timeout\n *\n * @param event - The event parameter contains the payment (ApplePayPayment) attribute.\n * @param onPaymentMethodSelected - A promise that will complete the payment when resolved. Use this promise to process the payment.\n * @see {@link https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778013-onpaymentmethodselected}\n */\n onpaymentmethodselected(event: ApplePayJS.ApplePayPaymentMethodSelectedEvent, onPaymentMethodSelected) {\n return new Promise((resolve, reject) => onPaymentMethodSelected(resolve, reject, event))\n .then((paymentMethodUpdate: ApplePayJS.ApplePayPaymentMethodUpdate) => {\n this.session.completePaymentMethodSelection(paymentMethodUpdate);\n })\n .catch((paymentMethodUpdate: ApplePayJS.ApplePayPaymentMethodUpdate) => {\n this.session.completePaymentMethodSelection(paymentMethodUpdate);\n });\n }\n\n /**\n * An event handler that is called when a new payment method is selected.\n * The onpaymentmethodselected function must resolve before the 30 second timeout\n * @param event - The event parameter contains the shippingContact attribute.\n * @param onShippingContactSelected - A promise that will complete the selection of a shipping contact with an update.\n * @see {@link https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778009-onshippingcontactselected}\n */\n onshippingcontactselected(event: ApplePayJS.ApplePayShippingContactSelectedEvent, onShippingContactSelected) {\n return new Promise((resolve, reject) => onShippingContactSelected(resolve, reject, event))\n .then((shippingContactUpdate: ApplePayJS.ApplePayShippingContactUpdate) => {\n this.session.completeShippingContactSelection(shippingContactUpdate);\n })\n .catch((shippingContactUpdate: ApplePayJS.ApplePayShippingContactUpdate) => {\n this.session.completeShippingContactSelection(shippingContactUpdate);\n });\n }\n\n /**\n * An event handler that is called when a new payment method is selected.\n * The onpaymentmethodselected function must resolve before the 30 second timeout\n * @param event - The event parameter contains the shippingMethod attribute.\n * @param onShippingMethodSelected - A promise that will complete the selection of a shipping method with an update.\n * @see {@link https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778009-onshippingcontactselected}\n */\n onshippingmethodselected(event: ApplePayJS.ApplePayShippingMethodSelectedEvent, onShippingMethodSelected) {\n return new Promise((resolve, reject) => onShippingMethodSelected(resolve, reject, event))\n .then((shippingMethodUpdate: ApplePayJS.ApplePayShippingMethodUpdate) => {\n this.session.completeShippingMethodSelection(shippingMethodUpdate);\n })\n .catch((shippingMethodUpdate: ApplePayJS.ApplePayShippingMethodUpdate) => {\n this.session.completeShippingMethodSelection(shippingMethodUpdate);\n });\n }\n\n /**\n * An event handler that is automatically called when the payment UI is dismissed.\n * This function can be called even after an onpaymentauthorized event has been dispatched.\n * @param event -\n * @param onCancel -\n * @see {@link https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778029-oncancel}\n */\n oncancel(event: ApplePayJS.Event, onCancel): void {\n onCancel(event);\n }\n}\n\nexport default ApplePayService;\n"],"names":["ApplePayService","begin","this","session","onvalidatemerchant","event","onValidateMerchant","Promise","resolve","reject","validationURL","then","response","completeMerchantValidation","catch","error","console","abort","options","onError","onpaymentauthorized","onPaymentAuthorized","result","completePayment","onpaymentmethodselected","onPaymentMethodSelected","paymentMethodUpdate","completePaymentMethodSelection","onshippingcontactselected","onShippingContactSelected","shippingContactUpdate","completeShippingContactSelection","onshippingmethodselected","onShippingMethodSelected","shippingMethodUpdate","completeShippingMethodSelection","oncancel","onCancel","constructor","paymentRequest","_define_property","ApplePaySession","version"],"mappings":"wHAiBA,MAAMA,EA2CFC,KAAAA,GACI,OAAOC,KAAKC,QAAQF,OACxB,CASAG,kBAAAA,CAAmBC,EAAiDC,GAChE,OAAO,IAAIC,SAAQ,CAACC,EAASC,IAAWH,EAAmBE,EAASC,EAAQJ,EAAMK,iBAC7EC,MAAKC,IACFV,KAAKC,QAAQU,2BAA2BD,EAAAA,IAE3CE,OAAMC,IACHC,QAAQD,MAAMA,GACdb,KAAKC,QAAQc,QACbf,KAAKgB,QAAQC,QAAQJ,EAAAA,GAEjC,CAUAK,mBAAAA,CACIf,EACAgB,GAEA,OAAO,IAAId,SAAQ,CAACC,EAASC,IAAWY,EAAoBb,EAASC,EAAQJ,KACxEM,MAAMW,IACHpB,KAAKC,QAAQoB,gBAAgBD,EAAAA,IAEhCR,OAAOQ,IACJpB,KAAKC,QAAQoB,gBAAgBD,EAAAA,GAEzC,CAUAE,uBAAAA,CAAwBnB,EAAsDoB,GAC1E,OAAO,IAAIlB,SAAQ,CAACC,EAASC,IAAWgB,EAAwBjB,EAASC,EAAQJ,KAC5EM,MAAMe,IACHxB,KAAKC,QAAQwB,+BAA+BD,EAAAA,IAE/CZ,OAAOY,IACJxB,KAAKC,QAAQwB,+BAA+BD,EAAAA,GAExD,CASAE,yBAAAA,CAA0BvB,EAAwDwB,GAC9E,OAAO,IAAItB,SAAQ,CAACC,EAASC,IAAWoB,EAA0BrB,EAASC,EAAQJ,KAC9EM,MAAMmB,IACH5B,KAAKC,QAAQ4B,iCAAiCD,EAAAA,IAEjDhB,OAAOgB,IACJ5B,KAAKC,QAAQ4B,iCAAiCD,EAAAA,GAE1D,CASAE,wBAAAA,CAAyB3B,EAAuD4B,GAC5E,OAAO,IAAI1B,SAAQ,CAACC,EAASC,IAAWwB,EAAyBzB,EAASC,EAAQJ,KAC7EM,MAAMuB,IACHhC,KAAKC,QAAQgC,gCAAgCD,EAAAA,IAEhDpB,OAAOoB,IACJhC,KAAKC,QAAQgC,gCAAgCD,EAAAA,GAEzD,CASAE,QAAAA,CAAS/B,EAAyBgC,GAC9BA,EAAShC,EACb,CAhJAiC,WAAAA,CAAYC,EAAmDrB,GAH/DsB,EAAAtC,KAAQC,eAAR,GACAqC,EAAAtC,KAAiBgB,eAAjB,GAGIhB,KAAKgB,QAAUA,EAEfhB,KAAKC,QAAU,IAAIsC,gBAAgBvB,EAAQwB,QAASH,GACpDrC,KAAKC,QAAQC,mBAAqBC,IACzBH,KAAKE,mBAAmBC,EAAOa,EAAQZ,mBAAkB,EAElEJ,KAAKC,QAAQiB,oBAAsBf,IAC1BH,KAAKkB,oBAAoBf,EAAOa,EAAQG,oBAAmB,EAGpEnB,KAAKC,QAAQiC,SAAW/B,IACpBH,KAAKkC,SAAS/B,EAAOa,EAAQmB,SAAQ,EAGM,mBAApCnB,EAAQO,0BACfvB,KAAKC,QAAQqB,wBAA0BnB,IAC9BH,KAAKsB,wBAAwBnB,EAAOa,EAAQO,wBAAuB,GAI/B,mBAAtCP,EAAQW,4BACf3B,KAAKC,QAAQyB,0BAA4BvB,IAChCH,KAAK0B,0BAA0BvB,EAAOa,EAAQW,0BAAyB,GAIpC,mBAArCX,EAAQe,2BACf/B,KAAKC,QAAQ6B,yBAA2B3B,IAC/BH,KAAK8B,yBAAyB3B,EAAOa,EAAQe,yBAAwB,EAGtF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Component as
|
|
1
|
+
import{Component as e,createElement as t}from"../../../external/preact/dist/preact.js";import a from"../../../external/classnames/index.js";class p extends e{render({buttonColor:e,buttonType:p}){return t("button",{type:"button","aria-label":this.props.i18n.get("payButton"),lang:this.props.i18n.languageCode,className:a("adyen-checkout__applepay__button",`adyen-checkout__applepay__button--${e}`,`adyen-checkout__applepay__button--${p}`,"apple-pay","apple-pay-button",`apple-pay-button-${e}`,`apple-pay-button--type-${p}`),onClick:this.props.onClick})}}var n,o,l;l={onClick:()=>{},buttonColor:"black",buttonType:"plain"},(o="defaultProps")in(n=p)?Object.defineProperty(n,o,{value:l,enumerable:!0,configurable:!0,writable:!0}):n[o]=l;export{p as default};
|
|
2
2
|
//# sourceMappingURL=ApplePayButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplePayButton.js","sources":["../../../../../src/components/ApplePay/components/ApplePayButton.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport cx from 'classnames';\nimport './ApplePayButton.scss';\nimport Language from '../../../language/Language';\nimport { ApplePayButtonType } from '../types';\n\ninterface ApplePayButtonProps {\n i18n: Language;\n buttonColor: 'black' | 'white' | 'white-with-line';\n buttonType: ApplePayButtonType;\n onClick: (event) => void;\n}\n\nclass ApplePayButton extends Component<ApplePayButtonProps> {\n public static defaultProps = {\n onClick: () => {},\n buttonColor: 'black',\n buttonType: 'plain'\n };\n\n render({ buttonColor, buttonType }) {\n return (\n <button\n type=\"button\"\n aria-label={this.props.i18n.get('payButton')}\n lang={this.props.i18n.languageCode}\n className={cx(\n 'adyen-checkout__applepay__button',\n `adyen-checkout__applepay__button--${buttonColor}`,\n `adyen-checkout__applepay__button--${buttonType}`,\n 'apple-pay',\n 'apple-pay-button',\n `apple-pay-button-${buttonColor}`,\n `apple-pay-button--type-${buttonType}`\n )}\n onClick={this.props.onClick}\n />\n );\n \n }\n}\n\nexport default ApplePayButton;\n"],"names":["ApplePayButton","Component","
|
|
1
|
+
{"version":3,"file":"ApplePayButton.js","sources":["../../../../../src/components/ApplePay/components/ApplePayButton.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport cx from 'classnames';\nimport './ApplePayButton.scss';\nimport Language from '../../../language/Language';\nimport { ApplePayButtonType } from '../types';\n\ninterface ApplePayButtonProps {\n i18n: Language;\n buttonColor: 'black' | 'white' | 'white-with-line';\n buttonType: ApplePayButtonType;\n onClick: (event) => void;\n}\n\nclass ApplePayButton extends Component<ApplePayButtonProps> {\n public static defaultProps = {\n onClick: () => {},\n buttonColor: 'black',\n buttonType: 'plain'\n };\n\n render({ buttonColor, buttonType }) {\n return (\n <button\n type=\"button\"\n aria-label={this.props.i18n.get('payButton')}\n lang={this.props.i18n.languageCode}\n className={cx(\n 'adyen-checkout__applepay__button',\n `adyen-checkout__applepay__button--${buttonColor}`,\n `adyen-checkout__applepay__button--${buttonType}`,\n 'apple-pay',\n 'apple-pay-button',\n `apple-pay-button-${buttonColor}`,\n `apple-pay-button--type-${buttonType}`\n )}\n onClick={this.props.onClick}\n />\n );\n \n }\n}\n\nexport default ApplePayButton;\n"],"names":["ApplePayButton","Component","render","buttonColor","buttonType","h","button","type","aria-label","this","props","i18n","get","lang","languageCode","className","cx","onClick","defaultProps"],"mappings":"4IAaA,MAAMA,UAAuBC,EAOzBC,MAAAA,EAAOC,YAAEA,EAAWC,WAAEA,IAClB,OACIC,EAACC,SAAAA,CACGC,KAAK,SACLC,aAAYC,KAAKC,MAAMC,KAAKC,IAAI,aAChCC,KAAMJ,KAAKC,MAAMC,KAAKG,aACtBC,UAAWC,EACP,mCACA,qCAAqCb,IACrC,qCAAqCC,IACrC,YACA,mBACA,oBAAoBD,IACpB,0BAA0BC,KAE9Ba,QAASR,KAAKC,MAAMO,SAIhC,cAzB6B,CACzBA,QAAS,OACTd,YAAa,QACbC,WAAY,YAHFc,oBADZlB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"../helpers/OpenInvoiceContainer/OpenInvoiceContainer.js";import{ATOME_SUPPORTED_COUNTRIES as
|
|
1
|
+
import e from"../helpers/OpenInvoiceContainer/OpenInvoiceContainer.js";import{ATOME_SUPPORTED_COUNTRIES as r,BILLING_ADDRESS_SPECIFICATION as i}from"./config.js";import{TxVariants as t}from"../tx-variants.js";class s extends e{formatProps(e){return{...super.formatProps({...e,visibility:{deliveryAddress:"hidden",companyDetails:"hidden"}}),allowedCountries:r,personalDetailsRequiredFields:["firstName","lastName","telephoneNumber"],billingAddressRequiredFields:["country","street","postalCode"],billingAddressSpecification:i}}}var o,n,a;o=s,n="type",a=t.atome,n in o?Object.defineProperty(o,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):o[n]=a;export{s as default};
|
|
2
2
|
//# sourceMappingURL=Atome.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Atome.js","sources":["../../../../src/components/Atome/Atome.tsx"],"sourcesContent":["import OpenInvoiceContainer from '../helpers/OpenInvoiceContainer';\nimport { ATOME_SUPPORTED_COUNTRIES, BILLING_ADDRESS_SPECIFICATION } from './config';\nimport { TxVariants } from '../tx-variants';\n\nexport default class Atome extends OpenInvoiceContainer {\n public static type = TxVariants.atome;\n\n formatProps(props) {\n return {\n ...super.formatProps({ ...props, ...{ visibility: { deliveryAddress: 'hidden', companyDetails: 'hidden' } } }),\n allowedCountries: ATOME_SUPPORTED_COUNTRIES,\n personalDetailsRequiredFields: ['firstName', 'lastName', 'telephoneNumber'],\n billingAddressRequiredFields: ['country', 'street', 'postalCode'],\n billingAddressSpecification: BILLING_ADDRESS_SPECIFICATION\n };\n }\n}\n"],"names":["Atome","OpenInvoiceContainer","
|
|
1
|
+
{"version":3,"file":"Atome.js","sources":["../../../../src/components/Atome/Atome.tsx"],"sourcesContent":["import OpenInvoiceContainer from '../helpers/OpenInvoiceContainer';\nimport { ATOME_SUPPORTED_COUNTRIES, BILLING_ADDRESS_SPECIFICATION } from './config';\nimport { TxVariants } from '../tx-variants';\n\nexport default class Atome extends OpenInvoiceContainer {\n public static type = TxVariants.atome;\n\n formatProps(props) {\n return {\n ...super.formatProps({ ...props, ...{ visibility: { deliveryAddress: 'hidden', companyDetails: 'hidden' } } }),\n allowedCountries: ATOME_SUPPORTED_COUNTRIES,\n personalDetailsRequiredFields: ['firstName', 'lastName', 'telephoneNumber'],\n billingAddressRequiredFields: ['country', 'street', 'postalCode'],\n billingAddressSpecification: BILLING_ADDRESS_SPECIFICATION\n };\n }\n}\n"],"names":["Atome","OpenInvoiceContainer","formatProps","props","super","visibility","deliveryAddress","companyDetails","allowedCountries","ATOME_SUPPORTED_COUNTRIES","personalDetailsRequiredFields","billingAddressRequiredFields","billingAddressSpecification","BILLING_ADDRESS_SPECIFICATION","type","TxVariants","atome"],"mappings":"iNAIe,MAAMA,UAAcC,EAG/BC,WAAAA,CAAYC,GACR,MAAO,IACAC,MAAMF,YAAY,IAAKC,EAAYE,WAAY,CAAEC,gBAAiB,SAAUC,eAAgB,YAC/FC,iBAAkBC,EAClBC,8BAA+B,CAAC,YAAa,WAAY,mBACzDC,6BAA8B,CAAC,UAAW,SAAU,cACpDC,4BAA6BC,EAErC,cAXiBb,IACHc,SAAOC,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
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./components/BacsInput.js";import{CoreProvider as a}from"../../core/Context/CoreProvider.js";import s from"./components/BacsResult.js";import n from"../internal/PayButton/PayButton.js";import{TxVariants as r}from"../tx-variants.js";function i(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}class p extends e{formatData(){return{paymentMethod:{type:p.type,...this.state.data?.holderName&&{holderName:this.state.data.holderName},...this.state.data?.bankAccountNumber&&{bankAccountNumber:this.state.data.bankAccountNumber},...this.state.data?.bankLocationId&&{bankLocationId:this.state.data.bankLocationId}},...this.state.data?.shopperEmail&&{shopperEmail:this.state.data.shopperEmail}}}get isValid(){return!!this.state.isValid}render(){return t(a,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.url?t(s,{ref:t=>{this.componentRef=t},icon:this.icon,url:this.props.url,paymentMethodType:this.props.paymentMethodType,onActionHandled:this.onActionHandled}):t(o,{ref:t=>{this.componentRef=t},...this.props,onChange:this.setState,payButton:this.payButton,onSubmit:this.submit}))}constructor(...e){super(...e),i(this,"payButton",(e=>t(n,{amount:this.props.amount,onClick:this.submit,...e})))}}i(p,"type",r.directdebit_GB);export{p as default};
|
|
2
2
|
//# sourceMappingURL=BacsDD.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BacsDD.js","sources":["../../../../src/components/BacsDD/BacsDD.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport BacsInput from './components/BacsInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport BacsResult from './components/BacsResult';\nimport PayButton from '../internal/PayButton';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\nimport { BacsElementData } from './types';\n\nclass BacsElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.directdebit_GB;\n\n formatData(): BacsElementData {\n return {\n paymentMethod: {\n type: BacsElement.type,\n ...(this.state.data?.holderName && { holderName: this.state.data.holderName }),\n ...(this.state.data?.bankAccountNumber && { bankAccountNumber: this.state.data.bankAccountNumber }),\n ...(this.state.data?.bankLocationId && { bankLocationId: this.state.data.bankLocationId })\n },\n ...(this.state.data?.shopperEmail && { shopperEmail: this.state.data.shopperEmail })\n };\n }\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n public payButton = props => {\n return <PayButton amount={this.props.amount} onClick={this.submit} {...props} />;\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.url ? (\n <BacsResult\n ref={ref => {\n this.componentRef = ref;\n }}\n icon={this.icon}\n url={this.props.url}\n paymentMethodType={this.props.paymentMethodType}\n onActionHandled={this.onActionHandled}\n // originalAction={this.props.originalAction}\n />\n ) : (\n <BacsInput\n // @ts-ignore ref is internal from the Component\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onChange={this.setState}\n payButton={this.payButton}\n onSubmit={this.submit}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default BacsElement;\n"],"names":["BacsElement","UIElement","
|
|
1
|
+
{"version":3,"file":"BacsDD.js","sources":["../../../../src/components/BacsDD/BacsDD.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport BacsInput from './components/BacsInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport BacsResult from './components/BacsResult';\nimport PayButton from '../internal/PayButton';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\nimport { BacsElementData } from './types';\n\nclass BacsElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.directdebit_GB;\n\n formatData(): BacsElementData {\n return {\n paymentMethod: {\n type: BacsElement.type,\n ...(this.state.data?.holderName && { holderName: this.state.data.holderName }),\n ...(this.state.data?.bankAccountNumber && { bankAccountNumber: this.state.data.bankAccountNumber }),\n ...(this.state.data?.bankLocationId && { bankLocationId: this.state.data.bankLocationId })\n },\n ...(this.state.data?.shopperEmail && { shopperEmail: this.state.data.shopperEmail })\n };\n }\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n public payButton = props => {\n return <PayButton amount={this.props.amount} onClick={this.submit} {...props} />;\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.url ? (\n <BacsResult\n ref={ref => {\n this.componentRef = ref;\n }}\n icon={this.icon}\n url={this.props.url}\n paymentMethodType={this.props.paymentMethodType}\n onActionHandled={this.onActionHandled}\n // originalAction={this.props.originalAction}\n />\n ) : (\n <BacsInput\n // @ts-ignore ref is internal from the Component\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onChange={this.setState}\n payButton={this.payButton}\n onSubmit={this.submit}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default BacsElement;\n"],"names":["BacsElement","UIElement","formatData","paymentMethod","type","this","state","data","holderName","bankAccountNumber","bankLocationId","shopperEmail","isValid","render","h","CoreProvider","i18n","props","loadingContext","resources","url","BacsResult","ref","componentRef","icon","paymentMethodType","onActionHandled","BacsInput","onChange","setState","payButton","onSubmit","submit","_define_property","PayButton","amount","onClick","TxVariants","directdebit_GB"],"mappings":"kfAUA,MAAMA,UAAoBC,EAGtBC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMJ,EAAYI,QACdC,KAAKC,MAAMC,MAAMC,YAAc,CAAEA,WAAYH,KAAKC,MAAMC,KAAKC,eAC7DH,KAAKC,MAAMC,MAAME,mBAAqB,CAAEA,kBAAmBJ,KAAKC,MAAMC,KAAKE,sBAC3EJ,KAAKC,MAAMC,MAAMG,gBAAkB,CAAEA,eAAgBL,KAAKC,MAAMC,KAAKG,oBAEzEL,KAAKC,MAAMC,MAAMI,cAAgB,CAAEA,aAAcN,KAAKC,MAAMC,KAAKI,cAE7E,CAEA,WAAIC,GACA,QAASP,KAAKC,MAAMM,OACxB,CAMAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMX,KAAKY,MAAMD,KAAME,eAAgBb,KAAKY,MAAMC,eAAgBC,UAAWd,KAAKc,WAC3Fd,KAAKY,MAAMG,IACRN,EAACO,EAAAA,CACGC,IAAKA,IACDjB,KAAKkB,aAAeD,CAAAA,EAExBE,KAAMnB,KAAKmB,KACXJ,IAAKf,KAAKY,MAAMG,IAChBK,kBAAmBpB,KAAKY,MAAMQ,kBAC9BC,gBAAiBrB,KAAKqB,kBAI1BZ,EAACa,EAAAA,CAEGL,IAAKA,IACDjB,KAAKkB,aAAeD,CAAAA,KAEpBjB,KAAKY,MACTW,SAAUvB,KAAKwB,SACfC,UAAWzB,KAAKyB,UAChBC,SAAU1B,KAAK2B,SAKnC,+BAhCAC,EAAA5B,KAAOyB,aAAYb,GACRH,EAACoB,EAAAA,CAAUC,OAAQ9B,KAAKY,MAAMkB,OAAQC,QAAS/B,KAAK2B,UAAYf,OAnB3EgB,EADEjC,EACYI,OAAOiC,EAAWC"}
|