@adyen/adyen-web 6.0.0-alpha.0 → 6.0.0-alpha.3
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 +166 -0
- package/auto/auto.js +2 -0
- package/dist/cjs/adyen.css +3 -3
- package/dist/cjs/index.cjs +2 -2
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +2414 -2537
- package/dist/es/adyen.css +3 -3
- package/dist/es/components/AmazonPay/AmazonPay.js +1 -1
- package/dist/es/components/AmazonPay/AmazonPay.js.map +1 -1
- package/dist/es/components/AmazonPay/components/AmazonPayComponent.js +1 -1
- package/dist/es/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
- package/dist/es/components/ApplePay/ApplePay.js +1 -1
- package/dist/es/components/ApplePay/ApplePay.js.map +1 -1
- package/dist/es/components/ApplePay/defaultProps.js +1 -1
- package/dist/es/components/ApplePay/defaultProps.js.map +1 -1
- package/dist/es/components/ApplePay/payment-request.js.map +1 -1
- package/dist/es/components/Boleto/components/BoletoInput/validate.js +1 -1
- package/dist/es/components/Boleto/components/BoletoInput/validate.js.map +1 -1
- package/dist/es/components/Card/Card.js +1 -1
- package/dist/es/components/Card/Card.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
- package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/components/CardFieldsWrapper.js +1 -1
- package/dist/es/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/components/CardHolderName.js +1 -1
- package/dist/es/components/Card/components/CardInput/components/CardHolderName.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/components/KCPAuthentication.js +1 -1
- package/dist/es/components/Card/components/CardInput/components/KCPAuthentication.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/types.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/utils.js +1 -1
- package/dist/es/components/Card/components/CardInput/utils.js.map +1 -1
- package/dist/es/components/Card/components/CardInput/validate.js +1 -1
- package/dist/es/components/Card/components/CardInput/validate.js.map +1 -1
- package/dist/es/components/CashAppPay/defaultProps.js +1 -1
- package/dist/es/components/CashAppPay/defaultProps.js.map +1 -1
- package/dist/es/components/Donation/Donation.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/defaultProps.js +1 -1
- package/dist/es/components/Dropin/defaultProps.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/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
- package/dist/es/components/Giftcard/Giftcard.js +1 -1
- package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
- package/dist/es/components/Giftcard/components/GiftcardComponent.js.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/GooglePay/defaultProps.js +1 -1
- package/dist/es/components/GooglePay/defaultProps.js.map +1 -1
- package/dist/es/components/GooglePay/requests.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/PayPal/Paypal.js +1 -1
- package/dist/es/components/PayPal/Paypal.js.map +1 -1
- package/dist/es/components/PayPal/components/PaypalButtons.js +1 -1
- package/dist/es/components/PayPal/components/PaypalButtons.js.map +1 -1
- package/dist/es/components/PayPal/components/PaypalComponent.js +1 -1
- package/dist/es/components/PayPal/components/PaypalComponent.js.map +1 -1
- package/dist/es/components/PayPal/defaultProps.js +1 -1
- package/dist/es/components/PayPal/defaultProps.js.map +1 -1
- package/dist/es/components/PayPal/utils/format-paypal-order-contact-to-adyen-format.js +1 -1
- package/dist/es/components/PayPal/utils/format-paypal-order-contact-to-adyen-format.js.map +1 -1
- package/dist/es/components/PayPal/utils/get-paypal-locale.js +2 -0
- package/dist/es/components/PayPal/utils/get-paypal-locale.js.map +1 -0
- package/dist/es/components/PayPal/utils/get-paypal-settings.js +2 -0
- package/dist/es/components/PayPal/utils/get-paypal-settings.js.map +1 -0
- package/dist/es/components/PayPal/utils/get-paypal-styles.js +2 -0
- package/dist/es/components/PayPal/utils/get-paypal-styles.js.map +1 -0
- package/dist/es/components/PayPal/utils/get-paypal-url.js +2 -0
- package/dist/es/components/PayPal/utils/get-paypal-url.js.map +1 -0
- package/dist/es/components/Pix/Pix.js +1 -1
- package/dist/es/components/Pix/Pix.js.map +1 -1
- package/dist/es/components/Pix/PixInput/PixInput.js +1 -1
- package/dist/es/components/Pix/PixInput/PixInput.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/PrepareFingerprint3DS2.js.map +1 -1
- package/dist/es/components/ThreeDS2/components/utils.js +1 -1
- package/dist/es/components/ThreeDS2/components/utils.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/internal/Address/Address.js +1 -1
- package/dist/es/components/internal/Address/Address.js.map +1 -1
- package/dist/es/components/internal/Address/validate.js +1 -1
- package/dist/es/components/internal/Address/validate.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/CompanyDetails/validate.js +1 -1
- package/dist/es/components/internal/CompanyDetails/validate.js.map +1 -1
- package/dist/es/components/internal/IbanInput/IbanInput.js.map +1 -1
- package/dist/es/components/internal/Img/Img.js +1 -1
- package/dist/es/components/internal/Img/Img.js.map +1 -1
- package/dist/es/components/internal/PersonalDetails/PersonalDetails.js +1 -1
- package/dist/es/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
- package/dist/es/components/internal/PersonalDetails/validate.js +1 -1
- package/dist/es/components/internal/PersonalDetails/validate.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/SFPUtils.js +1 -1
- package/dist/es/components/internal/SecuredFields/SFP/SFPUtils.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/binLookup/triggerBinLookUp.js +1 -1
- package/dist/es/components/internal/SecuredFields/binLookup/triggerBinLookUp.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/utils/cardType.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/utils/cardType.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/utils/processErrors.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/CSF/utils/processErrors.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/configuration/constants.js +1 -1
- package/dist/es/components/internal/SecuredFields/lib/configuration/constants.js.map +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.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/securedField/utils/processAriaConfig.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/securedField/utils/processPlaceholders.js.map +1 -1
- package/dist/es/components/internal/SecuredFields/lib/utilities/addContextTranslations.js.map +1 -1
- package/dist/es/components/internal/SegmentedControl/SegmentedControl.js +1 -1
- package/dist/es/components/internal/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/es/components/internal/UIElement/UIElement.js +1 -1
- package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
- package/dist/es/components/internal/UIElement/utils.js +1 -1
- package/dist/es/components/internal/UIElement/utils.js.map +1 -1
- package/dist/es/core/AdyenCheckout.js +1 -1
- package/dist/es/core/AdyenCheckout.js.map +1 -1
- package/dist/es/core/Analytics/Analytics.js +1 -1
- package/dist/es/core/Analytics/Analytics.js.map +1 -1
- package/dist/es/core/Analytics/EventsQueue.js +1 -1
- package/dist/es/core/Analytics/EventsQueue.js.map +1 -1
- package/dist/es/core/Analytics/constants.js +1 -1
- package/dist/es/core/Analytics/constants.js.map +1 -1
- package/dist/es/core/Analytics/utils.js +1 -1
- package/dist/es/core/Analytics/utils.js.map +1 -1
- package/dist/es/core/Errors/AdyenCheckoutError.js +1 -1
- package/dist/es/core/Errors/AdyenCheckoutError.js.map +1 -1
- package/dist/es/core/Errors/constants.js +1 -1
- package/dist/es/core/Errors/constants.js.map +1 -1
- package/dist/es/core/Errors/utils.js +1 -1
- package/dist/es/core/Errors/utils.js.map +1 -1
- package/dist/es/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
- package/dist/es/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
- package/dist/es/core/Services/analytics/collect-id.js +1 -1
- package/dist/es/core/Services/analytics/collect-id.js.map +1 -1
- package/dist/es/core/Services/analytics/log-event.js +1 -1
- package/dist/es/core/config.js +1 -1
- package/dist/es/core/config.js.map +1 -1
- package/dist/es/core/core.js +1 -1
- package/dist/es/core/core.js.map +1 -1
- package/dist/es/core/utils.js +1 -1
- package/dist/es/core/utils.js.map +1 -1
- package/dist/es/index.d.ts +2414 -2537
- package/dist/es/language/locales/ar.json.js +1 -1
- package/dist/es/language/locales/cs-CZ.json.js +1 -1
- package/dist/es/language/locales/da-DK.json.js +1 -1
- package/dist/es/language/locales/de-DE.json.js +1 -1
- package/dist/es/language/locales/el-GR.json.js +1 -1
- package/dist/es/language/locales/en-US.json.js +1 -1
- package/dist/es/language/locales/es-ES.json.js +1 -1
- package/dist/es/language/locales/fi-FI.json.js +1 -1
- package/dist/es/language/locales/fr-FR.json.js +1 -1
- package/dist/es/language/locales/hr-HR.json.js +1 -1
- package/dist/es/language/locales/hu-HU.json.js +1 -1
- package/dist/es/language/locales/it-IT.json.js +1 -1
- package/dist/es/language/locales/ja-JP.json.js +1 -1
- package/dist/es/language/locales/ko-KR.json.js +1 -1
- package/dist/es/language/locales/nl-NL.json.js +1 -1
- package/dist/es/language/locales/no-NO.json.js +1 -1
- package/dist/es/language/locales/pl-PL.json.js +1 -1
- package/dist/es/language/locales/pt-BR.json.js +1 -1
- package/dist/es/language/locales/pt-PT.json.js +1 -1
- package/dist/es/language/locales/ro-RO.json.js +1 -1
- package/dist/es/language/locales/ru-RU.json.js +1 -1
- package/dist/es/language/locales/sk-SK.json.js +1 -1
- package/dist/es/language/locales/sl-SI.json.js +1 -1
- package/dist/es/language/locales/sv-SE.json.js +1 -1
- package/dist/es/language/locales/zh-CN.json.js +1 -1
- package/dist/es/language/locales/zh-TW.json.js +1 -1
- package/dist/es/utils/Formatters/formatters.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/Validator/defaultRules.js +1 -1
- package/dist/es/utils/Validator/defaultRules.js.map +1 -1
- package/dist/es/utils/base64.js +1 -1
- package/dist/es/utils/base64.js.map +1 -1
- package/dist/es/utils/getErrorMessage.js +1 -1
- package/dist/es/utils/getErrorMessage.js.map +1 -1
- package/dist/es-legacy/adyen.css +3 -3
- package/dist/es-legacy/components/AmazonPay/AmazonPay.js +1 -1
- package/dist/es-legacy/components/AmazonPay/AmazonPay.js.map +1 -1
- package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js +1 -1
- package/dist/es-legacy/components/AmazonPay/components/AmazonPayComponent.js.map +1 -1
- package/dist/es-legacy/components/ApplePay/ApplePay.js +1 -1
- package/dist/es-legacy/components/ApplePay/ApplePay.js.map +1 -1
- package/dist/es-legacy/components/ApplePay/defaultProps.js +1 -1
- package/dist/es-legacy/components/ApplePay/defaultProps.js.map +1 -1
- package/dist/es-legacy/components/ApplePay/payment-request.js.map +1 -1
- package/dist/es-legacy/components/Boleto/components/BoletoInput/validate.js +1 -1
- package/dist/es-legacy/components/Boleto/components/BoletoInput/validate.js.map +1 -1
- package/dist/es-legacy/components/Card/Card.js +1 -1
- package/dist/es-legacy/components/Card/Card.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/CardFieldsWrapper.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/CardFieldsWrapper.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/CardHolderName.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/CardHolderName.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/KCPAuthentication.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/components/KCPAuthentication.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/utils.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/utils.js.map +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/validate.js +1 -1
- package/dist/es-legacy/components/Card/components/CardInput/validate.js.map +1 -1
- package/dist/es-legacy/components/CashAppPay/defaultProps.js +1 -1
- package/dist/es-legacy/components/CashAppPay/defaultProps.js.map +1 -1
- package/dist/es-legacy/components/Donation/Donation.js.map +1 -1
- package/dist/es-legacy/components/Dragonpay/Dragonpay.js +1 -1
- package/dist/es-legacy/components/Dragonpay/Dragonpay.js.map +1 -1
- package/dist/es-legacy/components/Dropin/Dropin.js +1 -1
- package/dist/es-legacy/components/Dropin/Dropin.js.map +1 -1
- package/dist/es-legacy/components/Dropin/components/DropinComponent.js +1 -1
- package/dist/es-legacy/components/Dropin/components/DropinComponent.js.map +1 -1
- package/dist/es-legacy/components/Dropin/defaultProps.js +1 -1
- package/dist/es-legacy/components/Dropin/defaultProps.js.map +1 -1
- package/dist/es-legacy/components/Econtext/Econtext.js +1 -1
- package/dist/es-legacy/components/Econtext/Econtext.js.map +1 -1
- package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
- package/dist/es-legacy/components/Giftcard/Giftcard.js +1 -1
- package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
- package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
- package/dist/es-legacy/components/Giropay/Giropay.js +1 -1
- package/dist/es-legacy/components/Giropay/Giropay.js.map +1 -1
- package/dist/es-legacy/components/GooglePay/GooglePay.js +1 -1
- package/dist/es-legacy/components/GooglePay/GooglePay.js.map +1 -1
- package/dist/es-legacy/components/GooglePay/GooglePayService.js +1 -1
- package/dist/es-legacy/components/GooglePay/GooglePayService.js.map +1 -1
- package/dist/es-legacy/components/GooglePay/defaultProps.js +1 -1
- package/dist/es-legacy/components/GooglePay/defaultProps.js.map +1 -1
- package/dist/es-legacy/components/GooglePay/requests.js.map +1 -1
- package/dist/es-legacy/components/Multibanco/Multibanco.js +1 -1
- package/dist/es-legacy/components/Multibanco/Multibanco.js.map +1 -1
- package/dist/es-legacy/components/PayPal/Paypal.js +1 -1
- package/dist/es-legacy/components/PayPal/Paypal.js.map +1 -1
- package/dist/es-legacy/components/PayPal/components/PaypalButtons.js +1 -1
- package/dist/es-legacy/components/PayPal/components/PaypalButtons.js.map +1 -1
- package/dist/es-legacy/components/PayPal/components/PaypalComponent.js +1 -1
- package/dist/es-legacy/components/PayPal/components/PaypalComponent.js.map +1 -1
- package/dist/es-legacy/components/PayPal/defaultProps.js +1 -1
- package/dist/es-legacy/components/PayPal/defaultProps.js.map +1 -1
- package/dist/es-legacy/components/PayPal/utils/format-paypal-order-contact-to-adyen-format.js +1 -1
- package/dist/es-legacy/components/PayPal/utils/format-paypal-order-contact-to-adyen-format.js.map +1 -1
- package/dist/es-legacy/components/PayPal/utils/get-paypal-locale.js +2 -0
- package/dist/es-legacy/components/PayPal/utils/get-paypal-locale.js.map +1 -0
- package/dist/es-legacy/components/PayPal/utils/get-paypal-settings.js +2 -0
- package/dist/es-legacy/components/PayPal/utils/get-paypal-settings.js.map +1 -0
- package/dist/es-legacy/components/PayPal/utils/get-paypal-styles.js +2 -0
- package/dist/es-legacy/components/PayPal/utils/get-paypal-styles.js.map +1 -0
- package/dist/es-legacy/components/PayPal/utils/get-paypal-url.js +2 -0
- package/dist/es-legacy/components/PayPal/utils/get-paypal-url.js.map +1 -0
- package/dist/es-legacy/components/Pix/Pix.js +1 -1
- package/dist/es-legacy/components/Pix/Pix.js.map +1 -1
- package/dist/es-legacy/components/Pix/PixInput/PixInput.js +1 -1
- package/dist/es-legacy/components/Pix/PixInput/PixInput.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/utils.js +1 -1
- package/dist/es-legacy/components/ThreeDS2/components/utils.js.map +1 -1
- package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
- package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.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/Address/validate.js +1 -1
- package/dist/es-legacy/components/internal/Address/validate.js.map +1 -1
- package/dist/es-legacy/components/internal/BaseElement/BaseElement.js +1 -1
- package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
- package/dist/es-legacy/components/internal/CompanyDetails/validate.js +1 -1
- package/dist/es-legacy/components/internal/CompanyDetails/validate.js.map +1 -1
- package/dist/es-legacy/components/internal/IbanInput/IbanInput.js.map +1 -1
- package/dist/es-legacy/components/internal/Img/Img.js +1 -1
- package/dist/es-legacy/components/internal/Img/Img.js.map +1 -1
- package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js +1 -1
- package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
- package/dist/es-legacy/components/internal/PersonalDetails/validate.js +1 -1
- package/dist/es-legacy/components/internal/PersonalDetails/validate.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/SFPUtils.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/SFPUtils.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/binLookup/triggerBinLookUp.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/binLookup/triggerBinLookUp.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/cardType.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/cardType.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/processErrors.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/processErrors.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/configuration/constants.js +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/configuration/constants.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/utils/processAriaConfig.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/utils/processPlaceholders.js.map +1 -1
- package/dist/es-legacy/components/internal/SecuredFields/lib/utilities/addContextTranslations.js.map +1 -1
- package/dist/es-legacy/components/internal/SegmentedControl/SegmentedControl.js +1 -1
- package/dist/es-legacy/components/internal/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
- package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
- package/dist/es-legacy/components/internal/UIElement/utils.js +1 -1
- package/dist/es-legacy/components/internal/UIElement/utils.js.map +1 -1
- package/dist/es-legacy/core/AdyenCheckout.js +1 -1
- package/dist/es-legacy/core/AdyenCheckout.js.map +1 -1
- package/dist/es-legacy/core/Analytics/Analytics.js +1 -1
- package/dist/es-legacy/core/Analytics/Analytics.js.map +1 -1
- package/dist/es-legacy/core/Analytics/EventsQueue.js +1 -1
- package/dist/es-legacy/core/Analytics/EventsQueue.js.map +1 -1
- package/dist/es-legacy/core/Analytics/constants.js +1 -1
- package/dist/es-legacy/core/Analytics/constants.js.map +1 -1
- package/dist/es-legacy/core/Analytics/utils.js +1 -1
- package/dist/es-legacy/core/Analytics/utils.js.map +1 -1
- package/dist/es-legacy/core/Errors/AdyenCheckoutError.js +1 -1
- package/dist/es-legacy/core/Errors/AdyenCheckoutError.js.map +1 -1
- package/dist/es-legacy/core/Errors/constants.js +1 -1
- package/dist/es-legacy/core/Errors/constants.js.map +1 -1
- package/dist/es-legacy/core/Errors/utils.js +1 -1
- package/dist/es-legacy/core/Errors/utils.js.map +1 -1
- package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
- package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
- package/dist/es-legacy/core/Services/analytics/collect-id.js +1 -1
- package/dist/es-legacy/core/Services/analytics/collect-id.js.map +1 -1
- package/dist/es-legacy/core/Services/analytics/log-event.js +1 -1
- package/dist/es-legacy/core/config.js +1 -1
- package/dist/es-legacy/core/config.js.map +1 -1
- package/dist/es-legacy/core/core.js +1 -1
- package/dist/es-legacy/core/core.js.map +1 -1
- package/dist/es-legacy/core/utils.js +1 -1
- package/dist/es-legacy/core/utils.js.map +1 -1
- package/dist/es-legacy/language/locales/ar.json.js +1 -1
- package/dist/es-legacy/language/locales/cs-CZ.json.js +1 -1
- package/dist/es-legacy/language/locales/da-DK.json.js +1 -1
- package/dist/es-legacy/language/locales/de-DE.json.js +1 -1
- package/dist/es-legacy/language/locales/el-GR.json.js +1 -1
- package/dist/es-legacy/language/locales/en-US.json.js +1 -1
- package/dist/es-legacy/language/locales/es-ES.json.js +1 -1
- package/dist/es-legacy/language/locales/fi-FI.json.js +1 -1
- package/dist/es-legacy/language/locales/fr-FR.json.js +1 -1
- package/dist/es-legacy/language/locales/hr-HR.json.js +1 -1
- package/dist/es-legacy/language/locales/hu-HU.json.js +1 -1
- package/dist/es-legacy/language/locales/it-IT.json.js +1 -1
- package/dist/es-legacy/language/locales/ja-JP.json.js +1 -1
- package/dist/es-legacy/language/locales/ko-KR.json.js +1 -1
- package/dist/es-legacy/language/locales/nl-NL.json.js +1 -1
- package/dist/es-legacy/language/locales/no-NO.json.js +1 -1
- package/dist/es-legacy/language/locales/pl-PL.json.js +1 -1
- package/dist/es-legacy/language/locales/pt-BR.json.js +1 -1
- package/dist/es-legacy/language/locales/pt-PT.json.js +1 -1
- package/dist/es-legacy/language/locales/ro-RO.json.js +1 -1
- package/dist/es-legacy/language/locales/ru-RU.json.js +1 -1
- package/dist/es-legacy/language/locales/sk-SK.json.js +1 -1
- package/dist/es-legacy/language/locales/sl-SI.json.js +1 -1
- package/dist/es-legacy/language/locales/sv-SE.json.js +1 -1
- package/dist/es-legacy/language/locales/zh-CN.json.js +1 -1
- package/dist/es-legacy/language/locales/zh-TW.json.js +1 -1
- package/dist/es-legacy/utils/Formatters/formatters.js.map +1 -1
- package/dist/es-legacy/utils/Script.js +1 -1
- package/dist/es-legacy/utils/Script.js.map +1 -1
- package/dist/es-legacy/utils/Validator/defaultRules.js +1 -1
- package/dist/es-legacy/utils/Validator/defaultRules.js.map +1 -1
- package/dist/es-legacy/utils/base64.js +1 -1
- package/dist/es-legacy/utils/base64.js.map +1 -1
- package/dist/es-legacy/utils/getErrorMessage.js +1 -1
- package/dist/es-legacy/utils/getErrorMessage.js.map +1 -1
- package/dist/umd/adyen.css +3 -3
- package/dist/umd/adyen.js +2 -2
- package/dist/umd/adyen.js.map +1 -1
- package/package.json +2 -2
- package/dist/es/components/PayPal/utils.js +0 -2
- package/dist/es/components/PayPal/utils.js.map +0 -1
- package/dist/es-legacy/components/PayPal/utils.js +0 -2
- package/dist/es-legacy/components/PayPal/utils.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GiftcardComponent.js","sources":["../../../../../src/components/Giftcard/components/GiftcardComponent.tsx"],"sourcesContent":["import { Component, FunctionComponent, h } from 'preact';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport Alert from '../../internal/Alert';\nimport GiftcardResult from './GiftcardResult';\nimport useCoreContext from '../../../core/Context/useCoreContext';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { GIFT_CARD } from '../../internal/SecuredFields/lib/configuration/constants';\nimport { GiftCardFields } from './GiftcardFields';\nimport { GiftcardFieldsProps, Placeholders } from './types';\n\ninterface GiftcardComponentProps {\n onChange: (state) => void;\n onFocus: (event) => void;\n onBlur: (event) => void;\n onSubmit: (event) => void;\n onBalanceCheck: (event) => void;\n\n amount?: PaymentAmount;\n showPayButton
|
|
1
|
+
{"version":3,"file":"GiftcardComponent.js","sources":["../../../../../src/components/Giftcard/components/GiftcardComponent.tsx"],"sourcesContent":["import { Component, FunctionComponent, h } from 'preact';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport Alert from '../../internal/Alert';\nimport GiftcardResult from './GiftcardResult';\nimport useCoreContext from '../../../core/Context/useCoreContext';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { GIFT_CARD } from '../../internal/SecuredFields/lib/configuration/constants';\nimport { GiftCardFields } from './GiftcardFields';\nimport { GiftcardFieldsProps, Placeholders } from './types';\n\ninterface GiftcardComponentProps {\n onChange: (state) => void;\n onFocus: (event) => void;\n onBlur: (event) => void;\n onSubmit: (event) => void;\n onBalanceCheck: (event) => void;\n\n amount?: PaymentAmount;\n showPayButton: boolean;\n payButton: (config) => any;\n\n pinRequired: boolean;\n expiryDateRequired?: boolean;\n fieldsLayoutComponent: FunctionComponent<GiftcardFieldsProps>;\n placeholders?: Placeholders;\n}\n\nclass Giftcard extends Component<GiftcardComponentProps> {\n public state = {\n status: 'ready',\n data: {},\n balance: null,\n transactionLimit: null,\n focusedElement: false,\n isValid: false\n };\n\n public static defaultProps = {\n pinRequired: true,\n expiryDateRequired: false,\n onChange: () => {},\n onFocus: () => {},\n onBlur: () => {},\n fieldsLayoutComponent: GiftCardFields\n };\n\n public sfp;\n\n public onChange = sfpState => {\n this.props.onChange({\n data: sfpState.data,\n isValid: sfpState.isSfpValid\n });\n };\n\n public showValidation = () => {\n this.sfp.showValidation();\n };\n\n setStatus(status) {\n this.setState({ status });\n }\n\n public handleFocus = e => {\n this.setState({ focusedElement: e.currentFocusObject });\n\n const isFocused = e.focus === true;\n if (isFocused) {\n this.props.onFocus(e);\n } else {\n this.props.onBlur(e);\n }\n };\n\n public setBalance = ({ balance, transactionLimit }) => {\n this.setState({ balance, transactionLimit });\n };\n\n render(props, { focusedElement, balance, transactionLimit }) {\n const { i18n } = useCoreContext();\n\n const transactionAmount = transactionLimit?.value < balance?.value ? transactionLimit : balance;\n const hasEnoughBalance = transactionAmount?.value >= this.props.amount?.value;\n\n if (transactionAmount && hasEnoughBalance) {\n return <GiftcardResult balance={balance} transactionLimit={transactionLimit} onSubmit={props.onSubmit} {...props} />;\n }\n\n const getCardErrorMessage = sfpState => {\n if (sfpState.errors.encryptedCardNumber) return i18n.get(sfpState.errors.encryptedCardNumber);\n\n switch (this.state.status) {\n case 'no-balance':\n return i18n.get('error.giftcard.no-balance');\n case 'card-error':\n return i18n.get('error.giftcard.card-error');\n case 'currency-error':\n return i18n.get('error.giftcard.currency-error');\n default:\n return null;\n }\n };\n\n return (\n <div className=\"adyen-checkout__giftcard\">\n {this.state.status === 'error' && <Alert icon={'cross'}>{i18n.get('error.message.unknown')}</Alert>}\n\n <SecuredFieldsProvider\n {...this.props}\n ref={ref => {\n this.sfp = ref;\n }}\n onChange={this.onChange}\n onFocus={this.handleFocus}\n type={GIFT_CARD}\n render={({ setRootNode, setFocusOn }, sfpState) =>\n this.props.fieldsLayoutComponent({\n i18n: i18n,\n pinRequired: this.props.pinRequired,\n focusedElement: focusedElement,\n getCardErrorMessage: getCardErrorMessage,\n setRootNode: setRootNode,\n setFocusOn: setFocusOn,\n sfpState: sfpState\n })\n }\n />\n\n {this.props.showPayButton &&\n this.props.payButton({\n status: this.state.status,\n onClick: this.props.onBalanceCheck,\n label: i18n.get('applyGiftcard')\n })}\n </div>\n );\n }\n}\n\nexport default Giftcard;\n"],"names":["Giftcard","Component","state","status","data","balance","transactionLimit","focusedElement","isValid","static","pinRequired","expiryDateRequired","onChange","onFocus","onBlur","fieldsLayoutComponent","GiftCardFields","sfp","sfpState","this","props","isSfpValid","showValidation","setStatus","setState","handleFocus","e","currentFocusObject","focus","setBalance","render","i18n","useCoreContext","transactionAmount","value","hasEnoughBalance","amount","h","GiftcardResult","onSubmit","getCardErrorMessage","errors","encryptedCardNumber","get","div","className","Alert","icon","SecuredFieldsProvider","ref","type","GIFT_CARD","setRootNode","setFocusOn","showPayButton","payButton","onClick","onBalanceCheck","label"],"mappings":"obA2BA,MAAMA,UAAiBC,EACZC,MAAQ,CACXC,OAAQ,QACRC,KAAM,CAAC,EACPC,QAAS,KACTC,iBAAkB,KAClBC,gBAAgB,EAChBC,SAAS,GAGbC,oBAA6B,CACzBC,aAAa,EACbC,oBAAoB,EACpBC,SAAU,OACVC,QAAS,OACTC,OAAQ,OACRC,sBAAuBC,GAGpBC,IAEAL,SAAWM,IACdC,KAAKC,MAAMR,SAAS,CAChBR,KAAMc,EAASd,KACfI,QAASU,EAASG,YACtB,EAGGC,eAAiB,KACpBH,KAAKF,IAAIK,gBAAc,EAG3BC,SAAAA,CAAUpB,GACNgB,KAAKK,SAAS,CAAErB,UACpB,CAEOsB,YAAcC,IACjBP,KAAKK,SAAS,CAAEjB,eAAgBmB,EAAEC,sBAEJ,IAAZD,EAAEE,MAEhBT,KAAKC,MAAMP,QAAQa,GAEnBP,KAAKC,MAAMN,OAAOY,EACtB,EAGGG,WAAa,EAAGxB,UAASC,uBAC5Ba,KAAKK,SAAS,CAAEnB,UAASC,oBAAiB,EAG9CwB,MAAAA,CAAOV,GAAOb,eAAEA,EAAcF,QAAEA,EAAOC,iBAAEA,IACrC,MAAMyB,KAAEA,GAASC,IAEXC,EAAoB3B,GAAkB4B,MAAQ7B,GAAS6B,MAAQ5B,EAAmBD,EAClF8B,EAAmBF,GAAmBC,OAASf,KAAKC,MAAMgB,QAAQF,MAExE,GAAID,GAAqBE,EACrB,OAAOE,EAACC,EAAAA,CAAejC,QAASA,EAASC,iBAAkBA,EAAkBiC,SAAUnB,EAAMmB,YAAcnB,IAG/G,MAAMoB,EAAsBtB,IACxB,GAAIA,EAASuB,OAAOC,oBAAqB,OAAOX,EAAKY,IAAIzB,EAASuB,OAAOC,qBAEzE,OAAQvB,KAAKjB,MAAMC,QACf,IAAK,aACD,OAAO4B,EAAKY,IAAI,6BACpB,IAAK,aACD,OAAOZ,EAAKY,IAAI,6BACpB,IAAK,iBACD,OAAOZ,EAAKY,IAAI,iCACpB,QACI,OAAO,KACf,EAGJ,OACIN,EAACO,MAAAA,CAAIC,UAAU,4BACY,UAAtB1B,KAAKjB,MAAMC,QAAsBkC,EAACS,EAAAA,CAAMC,KAAM,SAAUhB,EAAKY,IAAI,0BAElEN,EAACW,EAAAA,IACO7B,KAAKC,MACT6B,IAAKA,IACD9B,KAAKF,IAAMgC,CAAAA,EAEfrC,SAAUO,KAAKP,SACfC,QAASM,KAAKM,YACdyB,KAAMC,EACNrB,OAAQ,EAAGsB,cAAaC,cAAcnC,IAClCC,KAAKC,MAAML,sBAAsB,CAC7BgB,KAAMA,EACNrB,YAAaS,KAAKC,MAAMV,YACxBH,eAAgBA,EAChBiC,oBAAqBA,EACrBY,YAAaA,EACbC,WAAYA,EACZnC,SAAUA,MAKrBC,KAAKC,MAAMkC,eACRnC,KAAKC,MAAMmC,UAAU,CACjBpD,OAAQgB,KAAKjB,MAAMC,OACnBqD,QAASrC,KAAKC,MAAMqC,eACpBC,MAAO3B,EAAKY,IAAI,mBAIpC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as t}from"../../external/preact/dist/preact.js";import
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import e from"../../core/Context/CoreProvider.js";import r from"../Redirect/Redirect.js";import o from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as s}from"../tx-variants.js";class i extends r{static type=s.giropay;get displayName(){return this.props.name||this.constructor.type}render(){return this.props.showPayButton?t(e,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(o,{...this.props,name:this.displayName,onSubmit:this.submit,payButton:this.payButton,ref:t=>{this.componentRef=t}})):null}}export{i as default};
|
|
2
2
|
//# sourceMappingURL=Giropay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Giropay.js","sources":["../../../../src/components/Giropay/Giropay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport CoreProvider from '../../core/Context/CoreProvider';\nimport RedirectElement from '../Redirect';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\n\nclass GiropayElement extends RedirectElement {\n public static type = TxVariants.giropay;\n\n
|
|
1
|
+
{"version":3,"file":"Giropay.js","sources":["../../../../src/components/Giropay/Giropay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport CoreProvider from '../../core/Context/CoreProvider';\nimport RedirectElement from '../Redirect';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\n\nclass GiropayElement extends RedirectElement {\n public static type = TxVariants.giropay;\n\n get displayName() {\n return this.props.name || this.constructor['type'];\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <RedirectButton\n {...this.props}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n </CoreProvider>\n );\n }\n\n return null;\n }\n}\n\nexport default GiropayElement;\n"],"names":["GiropayElement","RedirectElement","static","TxVariants","giropay","displayName","this","props","name","constructor","render","showPayButton","h","CoreProvider","i18n","loadingContext","resources","RedirectButton","onSubmit","submit","payButton","ref","componentRef"],"mappings":"yQAMA,MAAMA,UAAuBC,EACzBC,YAAqBC,EAAWC,QAEhC,eAAIC,GACA,OAAOC,KAAKC,MAAMC,MAAQF,KAAKG,YAAmB,IACtD,CAEAC,MAAAA,GACI,OAAIJ,KAAKC,MAAMI,cAEPC,EAACC,EAAAA,CAAaC,KAAMR,KAAKC,MAAMO,KAAMC,eAAgBT,KAAKC,MAAMQ,eAAgBC,UAAWV,KAAKU,WAC5FJ,EAACK,EAAAA,IACOX,KAAKC,MACTC,KAAMF,KAAKD,YACXa,SAAUZ,KAAKa,OACfC,UAAWd,KAAKc,UAChBC,IAAKA,IACDf,KAAKgB,aAAeD,CAAAA,KAOjC,IACX"}
|
|
@@ -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 o from"./GooglePayService.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"./GooglePayService.js";import s from"./components/GooglePayButton.js";import r from"./defaultProps.js";import{getGooglePayLocale as n,formatGooglePayContactToAdyenAddressFormat as a}from"./utils.js";import i from"../../utils/browserInfo.js";import l from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as h}from"../tx-variants.js";import{sanitizeResponse as p,verifyPaymentDidNotFail as d}from"../internal/UIElement/utils.js";import{ANALYTICS_SELECTED_STR as y,ANALYTICS_INSTANT_PAYMENT_BUTTON as g}from"../../core/Analytics/constants.js";class c extends e{static type=h.googlepay;static txVariants=[h.googlepay,h.paywithgoogle];static defaultProps=r;googlePay;constructor(t,e){super(t,e),this.handleAuthorization=this.handleAuthorization.bind(this);const{isExpress:s,paymentDataCallbacks:r}=this.props;if(!1===s&&r?.onPaymentDataChanged)throw new l("IMPLEMENTATION_ERROR",'GooglePay - You must set "isExpress" flag to "true" in order to use "onPaymentDataChanged" callback');this.googlePay=new o(this.props.environment,{...s&&r?.onPaymentDataChanged&&{onPaymentDataChanged:r.onPaymentDataChanged},onPaymentAuthorized:this.onPaymentAuthorized})}formatProps(t){const e=t.buttonSizeMode??(t.isDropin?"fill":"static"),o=n(t.buttonLocale??t.i18n?.locale),s=[...t.callbackIntents,"PAYMENT_AUTHORIZATION"];return{...t,configuration:t.configuration,buttonSizeMode:e,buttonLocale:o,callbackIntents:s}}formatData(){const{googlePayCardNetwork:t,googlePayToken:e,billingAddress:o,deliveryAddress:s}=this.state,{isExpress:r}=this.props;return{paymentMethod:{type:this.type,googlePayCardNetwork:t,googlePayToken:e,...r&&{subtype:"express"}},browserInfo:this.browserInfo,origin:!!window&&window.location.origin,...o&&{billingAddress:o},...s&&{deliveryAddress:s}}}submit=()=>{this.props.isInstantPayment&&this.submitAnalytics({type:y,target:g}),new Promise(((t,e)=>this.props.onClick(t,e))).then((()=>this.googlePay.initiatePayment(this.props,this.core.options.countryCode))).catch((t=>{"CANCELED"===t.statusCode?this.handleError(new l("CANCEL",t.toString(),{cause:t})):this.handleError(new l("ERROR",t.toString(),{cause:t}))}))};onPaymentAuthorized=async t=>{const e=a(t.paymentMethodData.info.billingAddress),o=a(t.shippingAddress,!0);return this.setState({authorizedEvent:t,googlePayToken:t.paymentMethodData.tokenizationData.token,googlePayCardNetwork:t.paymentMethodData.info.cardNetwork,...e&&{billingAddress:e},...o&&{deliveryAddress:o}}),new Promise((t=>{this.handleAuthorization().then(this.makePaymentsCall).then(p).then(d).then((e=>(t({transactionState:"SUCCESS"}),e))).then((t=>{this.handleResponse(t)})).catch((e=>{this.setElementStatus("ready");const o=e?.error?.googlePayError,s=this.props.i18n.get("error.subtitle.payment"),r="string"==typeof o?{intent:"PAYMENT_AUTHORIZATION",reason:"OTHER_ERROR",message:o||s}:{intent:o?.intent||"PAYMENT_AUTHORIZATION",reason:o?.reason||"OTHER_ERROR",message:o?.message||s};t({transactionState:"ERROR",error:r});const n={...e,error:{googlePayError:r}};this.handleFailedResult(n)}))}))};async handleAuthorization(){return new Promise(((t,e)=>{this.props.onAuthorized||t();const{authorizedEvent:o,billingAddress:s,deliveryAddress:r}=this.state;this.props.onAuthorized({authorizedEvent:o,...s&&{billingAddress:s},...r&&{deliveryAddress:r}},{resolve:t,reject:e})})).catch((t=>{const e={error:{googlePayError:t}};return Promise.reject(e)}))}get isValid(){return!!this.state.googlePayToken}async isAvailable(){return this.isReadyToPay().then((t=>{if(!t.result)throw new l("ERROR","GooglePay is not available");if(!1===t.paymentMethodPresent)throw new l("ERROR","GooglePay - No paymentMethodPresent");return Promise.resolve()})).catch((t=>Promise.reject(t)))}isReadyToPay=()=>this.googlePay.isReadyToPay(this.props);prefetch=()=>this.googlePay.prefetchPaymentData(this.props,this.core.options.countryCode);get browserInfo(){return i()}get icon(){return this.props.icon??this.resources.getImage()("googlepay")}render(){return this.props.showPayButton?t(s,{buttonColor:this.props.buttonColor,buttonType:this.props.buttonType,buttonSizeMode:this.props.buttonSizeMode,buttonLocale:this.props.buttonLocale,buttonRootNode:this.props.buttonRootNode,paymentsClient:this.googlePay.paymentsClient,onClick:this.submit}):null}}export{c as default};
|
|
2
2
|
//# sourceMappingURL=GooglePay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GooglePay.js","sources":["../../../../src/components/GooglePay/GooglePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GooglePayService from './GooglePayService';\nimport GooglePayButton from './components/GooglePayButton';\nimport defaultProps from './defaultProps';\nimport { formatGooglePayContactToAdyenAddressFormat, getGooglePayLocale } from './utils';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport type { AddressData, PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport type { GooglePayConfiguration } from './types';\nimport { ICore } from '../../core/types';\nimport { ANALYTICS_INSTANT_PAYMENT_BUTTON, ANALYTICS_SELECTED_STR } from '../../core/Analytics/constants';\n\nclass GooglePay extends UIElement<GooglePayConfiguration> {\n public static type = TxVariants.googlepay;\n public static txVariants = [TxVariants.googlepay, TxVariants.paywithgoogle];\n public static defaultProps = defaultProps;\n\n protected readonly googlePay;\n\n constructor(checkout: ICore, props?: GooglePayConfiguration) {\n super(checkout, props);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n\n this.googlePay = new GooglePayService({\n ...this.props,\n paymentDataCallbacks: {\n ...this.props.paymentDataCallbacks,\n onPaymentAuthorized: this.onPaymentAuthorized\n }\n });\n }\n\n formatProps(props): GooglePayConfiguration {\n const buttonSizeMode = props.buttonSizeMode ?? (props.isDropin ? 'fill' : 'static');\n const buttonLocale = getGooglePayLocale(props.buttonLocale ?? props.i18n?.locale);\n\n const callbackIntents: google.payments.api.CallbackIntent[] = [...props.callbackIntents, 'PAYMENT_AUTHORIZATION'];\n\n return {\n ...props,\n configuration: props.configuration,\n buttonSizeMode,\n buttonLocale,\n callbackIntents\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { googlePayCardNetwork, googlePayToken, billingAddress, deliveryAddress } = this.state;\n\n return {\n paymentMethod: {\n type: this.type,\n googlePayCardNetwork,\n googlePayToken\n },\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n };\n }\n\n public override submit = () => {\n // Analytics\n if (this.props.isInstantPayment) {\n this.submitAnalytics({ type: ANALYTICS_SELECTED_STR, target: ANALYTICS_INSTANT_PAYMENT_BUTTON });\n }\n\n new Promise((resolve, reject) => this.props.onClick(resolve, reject))\n .then(() => this.googlePay.initiatePayment(this.props, this.core.options.countryCode))\n .catch((error: google.payments.api.PaymentsError) => {\n if (error.statusCode === 'CANCELED') {\n this.handleError(new AdyenCheckoutError('CANCEL', error.toString(), { cause: error }));\n } else {\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n }\n });\n };\n\n /**\n * Method called when the payment is authorized in the payment sheet\n *\n * @see https://developers.google.com/pay/api/web/reference/client#onPaymentAuthorized\n **/\n private onPaymentAuthorized = async (paymentData: google.payments.api.PaymentData): Promise<google.payments.api.PaymentAuthorizationResult> => {\n const billingAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.paymentMethodData.info.billingAddress);\n const deliveryAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.shippingAddress, true);\n\n this.setState({\n authorizedEvent: paymentData,\n googlePayToken: paymentData.paymentMethodData.tokenizationData.token,\n googlePayCardNetwork: paymentData.paymentMethodData.info.cardNetwork,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<google.payments.api.PaymentAuthorizationResult>(resolve => {\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then((paymentResponse: PaymentResponseData) => {\n resolve({ transactionState: 'SUCCESS' });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse: RawPaymentResponse) => {\n this.setElementStatus('ready');\n\n const googlePayError = paymentResponse.error?.googlePayError;\n const fallbackMessage = this.props.i18n.get('error.subtitle.payment');\n\n const error: google.payments.api.PaymentDataError =\n typeof googlePayError === 'string' || undefined\n ? {\n intent: 'PAYMENT_AUTHORIZATION',\n reason: 'OTHER_ERROR',\n message: (googlePayError as string) || fallbackMessage\n }\n : {\n intent: googlePayError?.intent || 'PAYMENT_AUTHORIZATION',\n reason: googlePayError?.reason || 'OTHER_ERROR',\n message: googlePayError?.message || fallbackMessage\n };\n\n resolve({\n transactionState: 'ERROR',\n error\n });\n\n this.handleFailedResult(paymentResponse);\n });\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 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?: google.payments.api.PaymentDataError | string) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { googlePayError: error } };\n return Promise.reject(data);\n });\n }\n\n /**\n * Validation\n */\n get isValid(): boolean {\n return !!this.state.googlePayToken;\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public override async isAvailable(): Promise<void> {\n return this.isReadyToPay()\n .then(response => {\n if (!response.result) {\n throw new Error('Google Pay is not available');\n }\n\n if (response.paymentMethodPresent === false) {\n throw new Error('Google Pay - No paymentMethodPresent');\n }\n\n return Promise.resolve();\n })\n .catch(error => {\n return Promise.reject(error);\n });\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public isReadyToPay = (): Promise<google.payments.api.IsReadyToPayResponse> => {\n return this.googlePay.isReadyToPay(this.props);\n };\n\n /**\n * Use this method to prefetch a PaymentDataRequest configuration to improve loadPaymentData execution time on later user interaction. No value is returned.\n */\n public prefetch = (): void => {\n return this.googlePay.prefetchPaymentData(this.props, this.core.options.countryCode);\n };\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n get icon(): string {\n return this.props.icon ?? this.resources.getImage()('googlepay');\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <GooglePayButton\n buttonColor={this.props.buttonColor}\n buttonType={this.props.buttonType}\n buttonSizeMode={this.props.buttonSizeMode}\n buttonLocale={this.props.buttonLocale}\n buttonRootNode={this.props.buttonRootNode}\n paymentsClient={this.googlePay.paymentsClient}\n onClick={this.submit}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default GooglePay;\n"],"names":["GooglePay","UIElement","static","TxVariants","googlepay","paywithgoogle","defaultProps","googlePay","constructor","checkout","props","super","this","handleAuthorization","bind","GooglePayService","paymentDataCallbacks","onPaymentAuthorized","formatProps","buttonSizeMode","isDropin","buttonLocale","getGooglePayLocale","i18n","locale","callbackIntents","configuration","formatData","googlePayCardNetwork","googlePayToken","billingAddress","deliveryAddress","state","paymentMethod","type","browserInfo","origin","window","location","submit","isInstantPayment","submitAnalytics","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","Promise","resolve","reject","onClick","then","initiatePayment","core","options","countryCode","catch","error","statusCode","handleError","AdyenCheckoutError","toString","cause","async","paymentData","formatGooglePayContactToAdyenAddressFormat","paymentMethodData","info","shippingAddress","setState","authorizedEvent","tokenizationData","token","cardNetwork","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","paymentResponse","transactionState","handleResponse","setElementStatus","googlePayError","fallbackMessage","get","intent","reason","message","handleFailedResult","onAuthorized","data","isValid","isAvailable","isReadyToPay","response","result","Error","paymentMethodPresent","prefetch","prefetchPaymentData","collectBrowserInfo","icon","resources","getImage","render","showPayButton","h","GooglePayButton","buttonColor","buttonType","buttonRootNode","paymentsClient"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GooglePay.js","sources":["../../../../src/components/GooglePay/GooglePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GooglePayService from './GooglePayService';\nimport GooglePayButton from './components/GooglePayButton';\nimport defaultProps from './defaultProps';\nimport { formatGooglePayContactToAdyenAddressFormat, getGooglePayLocale } from './utils';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\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 { AddressData, PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport type { GooglePayConfiguration } from './types';\nimport type { ICore } from '../../core/types';\n\nclass GooglePay extends UIElement<GooglePayConfiguration> {\n public static type = TxVariants.googlepay;\n public static txVariants = [TxVariants.googlepay, TxVariants.paywithgoogle];\n public static defaultProps = defaultProps;\n\n protected readonly googlePay;\n\n constructor(checkout: ICore, props?: GooglePayConfiguration) {\n super(checkout, props);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n\n const { isExpress, paymentDataCallbacks } = this.props;\n\n if (isExpress === false && paymentDataCallbacks?.onPaymentDataChanged) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'GooglePay - You must set \"isExpress\" flag to \"true\" in order to use \"onPaymentDataChanged\" callback'\n );\n }\n\n this.googlePay = new GooglePayService(this.props.environment, {\n ...(isExpress && paymentDataCallbacks?.onPaymentDataChanged && { onPaymentDataChanged: paymentDataCallbacks.onPaymentDataChanged }),\n onPaymentAuthorized: this.onPaymentAuthorized\n });\n }\n\n protected override formatProps(props): GooglePayConfiguration {\n const buttonSizeMode = props.buttonSizeMode ?? (props.isDropin ? 'fill' : 'static');\n const buttonLocale = getGooglePayLocale(props.buttonLocale ?? props.i18n?.locale);\n\n const callbackIntents: google.payments.api.CallbackIntent[] = [...props.callbackIntents, 'PAYMENT_AUTHORIZATION'];\n\n return {\n ...props,\n configuration: props.configuration,\n buttonSizeMode,\n buttonLocale,\n callbackIntents\n };\n }\n\n /**\n * Formats the component data output\n */\n protected override formatData() {\n const { googlePayCardNetwork, googlePayToken, billingAddress, deliveryAddress } = this.state;\n const { isExpress } = this.props;\n\n return {\n paymentMethod: {\n type: this.type,\n googlePayCardNetwork,\n googlePayToken,\n ...(isExpress && { subtype: 'express' })\n },\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n };\n }\n\n public override submit = () => {\n // Analytics\n if (this.props.isInstantPayment) {\n this.submitAnalytics({ type: ANALYTICS_SELECTED_STR, target: ANALYTICS_INSTANT_PAYMENT_BUTTON });\n }\n\n new Promise((resolve, reject) => this.props.onClick(resolve, reject))\n .then(() => this.googlePay.initiatePayment(this.props, this.core.options.countryCode))\n .catch((error: google.payments.api.PaymentsError) => {\n if (error.statusCode === 'CANCELED') {\n this.handleError(new AdyenCheckoutError('CANCEL', error.toString(), { cause: error }));\n } else {\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n }\n });\n };\n\n /**\n * Method called when the payment is authorized in the payment sheet\n *\n * @see https://developers.google.com/pay/api/web/reference/client#onPaymentAuthorized\n **/\n private onPaymentAuthorized = async (paymentData: google.payments.api.PaymentData): Promise<google.payments.api.PaymentAuthorizationResult> => {\n const billingAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.paymentMethodData.info.billingAddress);\n const deliveryAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.shippingAddress, true);\n\n this.setState({\n authorizedEvent: paymentData,\n googlePayToken: paymentData.paymentMethodData.tokenizationData.token,\n googlePayCardNetwork: paymentData.paymentMethodData.info.cardNetwork,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<google.payments.api.PaymentAuthorizationResult>(resolve => {\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then((paymentResponse: PaymentResponseData) => {\n resolve({ transactionState: 'SUCCESS' });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse?: RawPaymentResponse) => {\n this.setElementStatus('ready');\n\n const googlePayError = paymentResponse?.error?.googlePayError;\n const fallbackMessage = this.props.i18n.get('error.subtitle.payment');\n\n const error: google.payments.api.PaymentDataError =\n typeof googlePayError === 'string' || undefined\n ? {\n intent: 'PAYMENT_AUTHORIZATION',\n reason: 'OTHER_ERROR',\n message: (googlePayError as string) || fallbackMessage\n }\n : {\n intent: googlePayError?.intent || 'PAYMENT_AUTHORIZATION',\n reason: googlePayError?.reason || 'OTHER_ERROR',\n message: googlePayError?.message || fallbackMessage\n };\n\n resolve({\n transactionState: 'ERROR',\n error\n });\n\n const responseWithError = {\n ...paymentResponse,\n error: {\n googlePayError: error\n }\n };\n\n this.handleFailedResult(responseWithError);\n });\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 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?: google.payments.api.PaymentDataError | string) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { googlePayError: error } };\n return Promise.reject(data);\n });\n }\n\n /**\n * Validation\n */\n get isValid(): boolean {\n return !!this.state.googlePayToken;\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public override async isAvailable(): Promise<void> {\n return this.isReadyToPay()\n .then(response => {\n if (!response.result) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay is not available');\n }\n\n if (response.paymentMethodPresent === false) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay - No paymentMethodPresent');\n }\n\n return Promise.resolve();\n })\n .catch(error => {\n return Promise.reject(error);\n });\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public isReadyToPay = (): Promise<google.payments.api.IsReadyToPayResponse> => {\n return this.googlePay.isReadyToPay(this.props);\n };\n\n /**\n * Use this method to prefetch a PaymentDataRequest configuration to improve loadPaymentData execution time on later user interaction. No value is returned.\n */\n public prefetch = (): void => {\n return this.googlePay.prefetchPaymentData(this.props, this.core.options.countryCode);\n };\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n get icon(): string {\n return this.props.icon ?? this.resources.getImage()('googlepay');\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <GooglePayButton\n buttonColor={this.props.buttonColor}\n buttonType={this.props.buttonType}\n buttonSizeMode={this.props.buttonSizeMode}\n buttonLocale={this.props.buttonLocale}\n buttonRootNode={this.props.buttonRootNode}\n paymentsClient={this.googlePay.paymentsClient}\n onClick={this.submit}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default GooglePay;\n"],"names":["GooglePay","UIElement","static","TxVariants","googlepay","paywithgoogle","defaultProps","googlePay","constructor","checkout","props","super","this","handleAuthorization","bind","isExpress","paymentDataCallbacks","onPaymentDataChanged","AdyenCheckoutError","GooglePayService","environment","onPaymentAuthorized","formatProps","buttonSizeMode","isDropin","buttonLocale","getGooglePayLocale","i18n","locale","callbackIntents","configuration","formatData","googlePayCardNetwork","googlePayToken","billingAddress","deliveryAddress","state","paymentMethod","type","subtype","browserInfo","origin","window","location","submit","isInstantPayment","submitAnalytics","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","Promise","resolve","reject","onClick","then","initiatePayment","core","options","countryCode","catch","error","statusCode","handleError","toString","cause","async","paymentData","formatGooglePayContactToAdyenAddressFormat","paymentMethodData","info","shippingAddress","setState","authorizedEvent","tokenizationData","token","cardNetwork","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","paymentResponse","transactionState","handleResponse","setElementStatus","googlePayError","fallbackMessage","get","intent","reason","message","responseWithError","handleFailedResult","onAuthorized","data","isValid","isAvailable","isReadyToPay","response","result","paymentMethodPresent","prefetch","prefetchPaymentData","collectBrowserInfo","icon","resources","getImage","render","showPayButton","h","GooglePayButton","buttonColor","buttonType","buttonRootNode","paymentsClient"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{isReadyToPayRequest as t,initiatePaymentRequest as e}from"./requests.js";import{resolveEnvironment as
|
|
1
|
+
import{isReadyToPayRequest as t,initiatePaymentRequest as e}from"./requests.js";import{resolveEnvironment as n}from"./utils.js";import a from"../../utils/Script.js";import i from"./config.js";class o{paymentsClient;constructor(t,e){const a=n(t);this.paymentsClient=this.getGooglePaymentsClient({environment:a,paymentDataCallbacks:e})}async getGooglePaymentsClient(t){if(!window.google?.payments){const t=new a(i.URL);await t.load()}return new google.payments.api.PaymentsClient(t)}isReadyToPay(e){return this.paymentsClient?this.paymentsClient.then((n=>n.isReadyToPay(t(e)))):Promise.reject(new Error("Google Pay is not available"))}prefetchPaymentData(t,n){if(!this.paymentsClient)throw new Error("Google Pay is not available");const a=e(t,n);this.paymentsClient.then((t=>t.prefetchPaymentData(a)))}initiatePayment(t,n){if(!this.paymentsClient)throw new Error("Google Pay is not available");const a=e(t,n);return this.paymentsClient.then((t=>t.loadPaymentData(a)))}}export{o as default};
|
|
2
2
|
//# sourceMappingURL=GooglePayService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GooglePayService.js","sources":["../../../../src/components/GooglePay/GooglePayService.ts"],"sourcesContent":["import { isReadyToPayRequest, initiatePaymentRequest } from './requests';\nimport { resolveEnvironment } from './utils';\nimport Script from '../../utils/Script';\nimport config from './config';\nimport type { GooglePayConfiguration } from './types';\n\nclass GooglePayService {\n public readonly paymentsClient: Promise<google.payments.api.PaymentsClient>;\n\n constructor(
|
|
1
|
+
{"version":3,"file":"GooglePayService.js","sources":["../../../../src/components/GooglePay/GooglePayService.ts"],"sourcesContent":["import { isReadyToPayRequest, initiatePaymentRequest } from './requests';\nimport { resolveEnvironment } from './utils';\nimport Script from '../../utils/Script';\nimport config from './config';\nimport type { GooglePayConfiguration } from './types';\n\nclass GooglePayService {\n public readonly paymentsClient: Promise<google.payments.api.PaymentsClient>;\n\n constructor(environment: string, paymentDataCallbacks: google.payments.api.PaymentDataCallbacks) {\n const googlePayEnvironment = resolveEnvironment(environment);\n\n this.paymentsClient = this.getGooglePaymentsClient({\n environment: googlePayEnvironment,\n paymentDataCallbacks\n });\n }\n\n /**\n * Initialize a Google Pay API client\n *\n * @see {@link https://developers.google.com/pay/api/web/reference/client#PaymentsClient|PaymentsClient constructor}\n * @returns Google Pay API client\n */\n async getGooglePaymentsClient(paymentOptions: google.payments.api.PaymentOptions): Promise<google.payments.api.PaymentsClient> {\n if (!window.google?.payments) {\n const script = new Script(config.URL);\n await script.load();\n }\n\n return new google.payments.api.PaymentsClient(paymentOptions);\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n * @see {@link https://developers.google.com/pay/api/web/reference/client#isReadyToPay|isReadyToPay}\n */\n isReadyToPay(props): Promise<google.payments.api.IsReadyToPayResponse> {\n if (!this.paymentsClient) return Promise.reject(new Error('Google Pay is not available'));\n\n return this.paymentsClient.then(client => client.isReadyToPay(isReadyToPayRequest(props)));\n }\n\n prefetchPaymentData(props: GooglePayConfiguration, countryCode: string): void {\n if (!this.paymentsClient) throw new Error('Google Pay is not available');\n\n const paymentDataRequest = initiatePaymentRequest(props, countryCode);\n this.paymentsClient.then(client => client.prefetchPaymentData(paymentDataRequest));\n }\n\n /**\n * Show Google Pay payment sheet when Google Pay payment button is clicked\n * @returns paymentData response from Google Pay API after user approves payment\n * @see {@link https://developers.google.com/pay/api/web/reference/object#PaymentData|PaymentData object reference}\n */\n initiatePayment(props: GooglePayConfiguration, countryCode: string): Promise<google.payments.api.PaymentData> {\n if (!this.paymentsClient) throw new Error('Google Pay is not available');\n\n const paymentDataRequest = initiatePaymentRequest(props, countryCode);\n return this.paymentsClient.then(client => client.loadPaymentData(paymentDataRequest));\n }\n}\n\nexport default GooglePayService;\n"],"names":["GooglePayService","paymentsClient","constructor","environment","paymentDataCallbacks","googlePayEnvironment","resolveEnvironment","this","getGooglePaymentsClient","paymentOptions","window","google","payments","script","Script","config","URL","load","api","PaymentsClient","isReadyToPay","props","then","client","isReadyToPayRequest","Promise","reject","Error","prefetchPaymentData","countryCode","paymentDataRequest","initiatePaymentRequest","initiatePayment","loadPaymentData"],"mappings":"gMAMA,MAAMA,EACcC,eAEhBC,WAAAA,CAAYC,EAAqBC,GAC7B,MAAMC,EAAuBC,EAAmBH,GAEhDI,KAAKN,eAAiBM,KAAKC,wBAAwB,CAC/CL,YAAaE,EACbD,wBAER,CAQA,6BAAMI,CAAwBC,GAC1B,IAAKC,OAAOC,QAAQC,SAAU,CAC1B,MAAMC,EAAS,IAAIC,EAAOC,EAAOC,WAC3BH,EAAOI,MACjB,CAEA,OAAO,IAAIN,OAAOC,SAASM,IAAIC,eAAeV,EAClD,CAMAW,YAAAA,CAAaC,GACT,OAAKd,KAAKN,eAEHM,KAAKN,eAAeqB,MAAKC,GAAUA,EAAOH,aAAaI,EAAoBH,MAFjDI,QAAQC,OAAO,IAAIC,MAAM,+BAG9D,CAEAC,mBAAAA,CAAoBP,EAA+BQ,GAC/C,IAAKtB,KAAKN,eAAgB,MAAM,IAAI0B,MAAM,+BAE1C,MAAMG,EAAqBC,EAAuBV,EAAOQ,GACzDtB,KAAKN,eAAeqB,MAAKC,GAAUA,EAAOK,oBAAoBE,IAClE,CAOAE,eAAAA,CAAgBX,EAA+BQ,GAC3C,IAAKtB,KAAKN,eAAgB,MAAM,IAAI0B,MAAM,+BAE1C,MAAMG,EAAqBC,EAAuBV,EAAOQ,GACzD,OAAOtB,KAAKN,eAAeqB,MAAKC,GAAUA,EAAOU,gBAAgBH,IACrE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
const e={isExpress:!1,existingPaymentMethodRequired:!1,buttonColor:"default",buttonType:"long",buttonSizeMode:void 0,configuration:{gatewayMerchantId:"",merchantId:"",merchantName:""},amount:{value:0,currency:"USD"},totalPriceStatus:"FINAL",onClick:e=>e(),allowedAuthMethods:["PAN_ONLY","CRYPTOGRAM_3DS"],allowedCardNetworks:["AMEX","DISCOVER","JCB","MASTERCARD","VISA"],allowCreditCards:!0,allowPrepaidCards:!0,billingAddressRequired:!1,billingAddressParameters:void 0,assuranceDetailsRequired:!1,emailRequired:!1,shippingAddressRequired:!1,shippingAddressParameters:void 0,shippingOptionRequired:!1,shippingOptionParameters:void 0,callbackIntents:[]};export{e as default};
|
|
2
2
|
//# sourceMappingURL=defaultProps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultProps.js","sources":["../../../../src/components/GooglePay/defaultProps.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"defaultProps.js","sources":["../../../../src/components/GooglePay/defaultProps.ts"],"sourcesContent":["import { GooglePayConfiguration } from './types';\n\nconst defaultProps: GooglePayConfiguration = {\n isExpress: false,\n\n // isReadyToPayRequest\n existingPaymentMethodRequired: false,\n\n // ButtonOptions\n // https://developers.google.com/pay/api/web/reference/object#ButtonOptions\n buttonColor: 'default' as google.payments.api.ButtonColor, // default/black/white\n buttonType: 'long' as google.payments.api.ButtonType, // long/short\n buttonSizeMode: undefined,\n\n // PaymentDataRequest\n configuration: {\n // Adyen's merchant account\n gatewayMerchantId: '', // E.g TestMerchant\n\n // https://developers.google.com/pay/api/web/reference/object#MerchantInfo\n merchantId: '', // E.g 039484839309\n merchantName: '' // E.g Example Merchant,\n },\n\n // Payment\n amount: {\n value: 0,\n currency: 'USD'\n },\n\n totalPriceStatus: 'FINAL' as google.payments.api.TotalPriceStatus,\n\n // Callbacks\n onClick: resolve => resolve(),\n\n // CardParameters\n // https://developers.google.com/pay/api/web/reference/object#CardParameters\n allowedAuthMethods: ['PAN_ONLY', 'CRYPTOGRAM_3DS'] as google.payments.api.CardAuthMethod[],\n allowedCardNetworks: ['AMEX', 'DISCOVER', 'JCB', 'MASTERCARD', 'VISA'] as google.payments.api.CardNetwork[],\n allowCreditCards: true, // Set to false if you don't support credit cards.\n allowPrepaidCards: true, // Set to false if you don't support prepaid cards.\n billingAddressRequired: false, // A billing address should only be requested if it's required to process the transaction.\n billingAddressParameters: undefined, // The expected fields returned if billingAddressRequired is set to true.\n assuranceDetailsRequired: false, // https://developers.google.com/pay/api/web/reference/response-objects#assurance-details-specifications\n\n emailRequired: false,\n shippingAddressRequired: false,\n shippingAddressParameters: undefined, // https://developers.google.com/pay/api/web/reference/object#ShippingAddressParameters\n shippingOptionRequired: false,\n shippingOptionParameters: undefined,\n callbackIntents: []\n};\n\nexport default defaultProps;\n"],"names":["defaultProps","isExpress","existingPaymentMethodRequired","buttonColor","buttonType","buttonSizeMode","undefined","configuration","gatewayMerchantId","merchantId","merchantName","amount","value","currency","totalPriceStatus","onClick","resolve","allowedAuthMethods","allowedCardNetworks","allowCreditCards","allowPrepaidCards","billingAddressRequired","billingAddressParameters","assuranceDetailsRequired","emailRequired","shippingAddressRequired","shippingAddressParameters","shippingOptionRequired","shippingOptionParameters","callbackIntents"],"mappings":"AAEA,MAAMA,EAAuC,CACzCC,WAAW,EAGXC,+BAA+B,EAI/BC,YAAa,UACbC,WAAY,OACZC,oBAAgBC,EAGhBC,cAAe,CAEXC,kBAAmB,GAGnBC,WAAY,GACZC,aAAc,IAIlBC,OAAQ,CACJC,MAAO,EACPC,SAAU,OAGdC,iBAAkB,QAGlBC,QAASC,GAAWA,IAIpBC,mBAAoB,CAAC,WAAY,kBACjCC,oBAAqB,CAAC,OAAQ,WAAY,MAAO,aAAc,QAC/DC,kBAAkB,EAClBC,mBAAmB,EACnBC,wBAAwB,EACxBC,8BAA0BhB,EAC1BiB,0BAA0B,EAE1BC,eAAe,EACfC,yBAAyB,EACzBC,+BAA2BpB,EAC3BqB,wBAAwB,EACxBC,8BAA0BtB,EAC1BuB,gBAAiB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requests.js","sources":["../../../../src/components/GooglePay/requests.ts"],"sourcesContent":["import { getDecimalAmount } from '../../utils/amount-util';\nimport config from './config';\nimport { GooglePaymentDataRequest, GooglePayConfiguration } from './types';\n\n/**\n * Configure your site's support for payment methods supported by the Google Pay API.\n *\n * @see {@link https://developers.google.com/pay/api/web/reference/object#IsReadyToPayRequest|isReadyToPayRequest}\n * @returns Google Pay API version, payment methods supported by the site\n */\nexport function isReadyToPayRequest({\n allowedAuthMethods,\n allowedCardNetworks,\n existingPaymentMethodRequired = false\n}): google.payments.api.IsReadyToPayRequest {\n return {\n apiVersion: config.API_VERSION,\n apiVersionMinor: config.API_VERSION_MINOR,\n allowedPaymentMethods: [\n {\n type: 'CARD',\n parameters: {\n allowedAuthMethods,\n allowedCardNetworks\n },\n tokenizationSpecification: {\n type: 'PAYMENT_GATEWAY',\n parameters: {}\n }\n }\n ],\n existingPaymentMethodRequired\n };\n}\n\n/**\n * Provide Google Pay API with a payment amount, currency, and amount status\n *\n * @see {@link https://developers.google.com/pay/api/web/reference/object#TransactionInfo|TransactionInfo}\n * @returns transaction info, suitable for use as transactionInfo property of PaymentDataRequest\n */\nexport function getTransactionInfo({\n amount,\n countryCode = 'US',\n totalPriceStatus = 'FINAL',\n ...props\n}: GooglePayConfiguration): google.payments.api.TransactionInfo {\n const formattedPrice = String(getDecimalAmount(amount.value, amount.currency));\n\n return {\n countryCode,\n currencyCode: amount.currency,\n totalPrice: formattedPrice,\n totalPriceStatus: totalPriceStatus as google.payments.api.TotalPriceStatus,\n ...props.transactionInfo\n };\n}\n\nexport function initiatePaymentRequest({ configuration, ...props }: GooglePayConfiguration, countryCode: string): GooglePaymentDataRequest {\n return {\n apiVersion: config.API_VERSION,\n apiVersionMinor: config.API_VERSION_MINOR,\n transactionInfo: getTransactionInfo({ countryCode, ...props }),\n merchantInfo: {\n merchantId: configuration.merchantId,\n merchantName: configuration.merchantName,\n ...(configuration.merchantOrigin ? { merchantOrigin: configuration.merchantOrigin } : {}),\n ...(configuration.authJwt ? { authJwt: configuration.authJwt } : {})\n },\n allowedPaymentMethods: [\n {\n type: 'CARD',\n tokenizationSpecification: {\n type: 'PAYMENT_GATEWAY',\n parameters: {\n gateway: config.GATEWAY,\n gatewayMerchantId: configuration.gatewayMerchantId\n }\n },\n parameters: {\n allowedAuthMethods: props.allowedAuthMethods,\n allowedCardNetworks: props.allowedCardNetworks,\n assuranceDetailsRequired: props.assuranceDetailsRequired,\n allowPrepaidCards: props.allowPrepaidCards,\n allowCreditCards: props.allowCreditCards,\n billingAddressRequired: props.billingAddressRequired,\n billingAddressParameters: props.billingAddressParameters\n }\n }\n ],\n emailRequired: props.emailRequired,\n shippingAddressRequired: props.shippingAddressRequired,\n shippingAddressParameters: props.shippingAddressParameters,\n shippingOptionRequired: props.shippingOptionRequired,\n shippingOptionParameters: props.shippingOptionParameters,\n callbackIntents: props.callbackIntents\n };\n}\n"],"names":["isReadyToPayRequest","allowedAuthMethods","allowedCardNetworks","existingPaymentMethodRequired","apiVersion","config","API_VERSION","apiVersionMinor","API_VERSION_MINOR","allowedPaymentMethods","type","parameters","tokenizationSpecification","getTransactionInfo","amount","countryCode","totalPriceStatus","props","formattedPrice","String","getDecimalAmount","value","currency","currencyCode","totalPrice","transactionInfo","initiatePaymentRequest","configuration","merchantInfo","merchantId","merchantName","merchantOrigin","authJwt","gateway","GATEWAY","gatewayMerchantId","assuranceDetailsRequired","allowPrepaidCards","allowCreditCards","billingAddressRequired","billingAddressParameters","emailRequired","shippingAddressRequired","shippingAddressParameters","shippingOptionRequired","shippingOptionParameters","callbackIntents"],"mappings":"yFAUO,SAASA,GAAoBC,mBAChCA,EAAkBC,oBAClBA,EAAmBC,8BACnBA,GAAgC,
|
|
1
|
+
{"version":3,"file":"requests.js","sources":["../../../../src/components/GooglePay/requests.ts"],"sourcesContent":["import { getDecimalAmount } from '../../utils/amount-util';\nimport config from './config';\nimport { GooglePaymentDataRequest, GooglePayConfiguration } from './types';\n\n/**\n * Configure your site's support for payment methods supported by the Google Pay API.\n *\n * @see {@link https://developers.google.com/pay/api/web/reference/object#IsReadyToPayRequest|isReadyToPayRequest}\n * @returns Google Pay API version, payment methods supported by the site\n */\nexport function isReadyToPayRequest({\n allowedAuthMethods,\n allowedCardNetworks,\n existingPaymentMethodRequired = false\n}: Pick<\n GooglePayConfiguration,\n 'allowedAuthMethods' | 'allowedCardNetworks' | 'existingPaymentMethodRequired'\n>): google.payments.api.IsReadyToPayRequest {\n return {\n apiVersion: config.API_VERSION,\n apiVersionMinor: config.API_VERSION_MINOR,\n allowedPaymentMethods: [\n {\n type: 'CARD',\n parameters: {\n allowedAuthMethods,\n allowedCardNetworks\n },\n tokenizationSpecification: {\n type: 'PAYMENT_GATEWAY',\n parameters: {}\n }\n }\n ],\n existingPaymentMethodRequired\n };\n}\n\n/**\n * Provide Google Pay API with a payment amount, currency, and amount status\n *\n * @see {@link https://developers.google.com/pay/api/web/reference/object#TransactionInfo|TransactionInfo}\n * @returns transaction info, suitable for use as transactionInfo property of PaymentDataRequest\n */\nexport function getTransactionInfo({\n amount,\n countryCode = 'US',\n totalPriceStatus = 'FINAL',\n ...props\n}: GooglePayConfiguration): google.payments.api.TransactionInfo {\n const formattedPrice = String(getDecimalAmount(amount.value, amount.currency));\n\n return {\n countryCode,\n currencyCode: amount.currency,\n totalPrice: formattedPrice,\n totalPriceStatus: totalPriceStatus as google.payments.api.TotalPriceStatus,\n ...props.transactionInfo\n };\n}\n\nexport function initiatePaymentRequest({ configuration, ...props }: GooglePayConfiguration, countryCode: string): GooglePaymentDataRequest {\n return {\n apiVersion: config.API_VERSION,\n apiVersionMinor: config.API_VERSION_MINOR,\n transactionInfo: getTransactionInfo({ countryCode, ...props }),\n merchantInfo: {\n merchantId: configuration.merchantId,\n merchantName: configuration.merchantName,\n ...(configuration.merchantOrigin ? { merchantOrigin: configuration.merchantOrigin } : {}),\n ...(configuration.authJwt ? { authJwt: configuration.authJwt } : {})\n },\n allowedPaymentMethods: [\n {\n type: 'CARD',\n tokenizationSpecification: {\n type: 'PAYMENT_GATEWAY',\n parameters: {\n gateway: config.GATEWAY,\n gatewayMerchantId: configuration.gatewayMerchantId\n }\n },\n parameters: {\n allowedAuthMethods: props.allowedAuthMethods,\n allowedCardNetworks: props.allowedCardNetworks,\n assuranceDetailsRequired: props.assuranceDetailsRequired,\n allowPrepaidCards: props.allowPrepaidCards,\n allowCreditCards: props.allowCreditCards,\n billingAddressRequired: props.billingAddressRequired,\n billingAddressParameters: props.billingAddressParameters\n }\n }\n ],\n emailRequired: props.emailRequired,\n shippingAddressRequired: props.shippingAddressRequired,\n shippingAddressParameters: props.shippingAddressParameters,\n shippingOptionRequired: props.shippingOptionRequired,\n shippingOptionParameters: props.shippingOptionParameters,\n callbackIntents: props.callbackIntents\n };\n}\n"],"names":["isReadyToPayRequest","allowedAuthMethods","allowedCardNetworks","existingPaymentMethodRequired","apiVersion","config","API_VERSION","apiVersionMinor","API_VERSION_MINOR","allowedPaymentMethods","type","parameters","tokenizationSpecification","getTransactionInfo","amount","countryCode","totalPriceStatus","props","formattedPrice","String","getDecimalAmount","value","currency","currencyCode","totalPrice","transactionInfo","initiatePaymentRequest","configuration","merchantInfo","merchantId","merchantName","merchantOrigin","authJwt","gateway","GATEWAY","gatewayMerchantId","assuranceDetailsRequired","allowPrepaidCards","allowCreditCards","billingAddressRequired","billingAddressParameters","emailRequired","shippingAddressRequired","shippingAddressParameters","shippingOptionRequired","shippingOptionParameters","callbackIntents"],"mappings":"yFAUO,SAASA,GAAoBC,mBAChCA,EAAkBC,oBAClBA,EAAmBC,8BACnBA,GAAgC,IAKhC,MAAO,CACHC,WAAYC,EAAOC,YACnBC,gBAAiBF,EAAOG,kBACxBC,sBAAuB,CACnB,CACIC,KAAM,OACNC,WAAY,CACRV,qBACAC,uBAEJU,0BAA2B,CACvBF,KAAM,kBACNC,WAAY,CAAC,KAIzBR,gCAER,CAQO,SAASU,GAAmBC,OAC/BA,EAAMC,YACNA,EAAc,KAAIC,iBAClBA,EAAmB,WAChBC,IAEH,MAAMC,EAAiBC,OAAOC,EAAiBN,EAAOO,MAAOP,EAAOQ,WAEpE,MAAO,CACHP,cACAQ,aAAcT,EAAOQ,SACrBE,WAAYN,EACZF,iBAAkBA,KACfC,EAAMQ,gBAEjB,CAEO,SAASC,GAAuBC,cAAEA,KAAkBV,GAAiCF,GACxF,MAAO,CACHX,WAAYC,EAAOC,YACnBC,gBAAiBF,EAAOG,kBACxBiB,gBAAiBZ,EAAmB,CAAEE,iBAAgBE,IACtDW,aAAc,CACVC,WAAYF,EAAcE,WAC1BC,aAAcH,EAAcG,gBACxBH,EAAcI,eAAiB,CAAEA,eAAgBJ,EAAcI,gBAAmB,CAAE,KACpFJ,EAAcK,QAAU,CAAEA,QAASL,EAAcK,SAAY,CAAE,GAEvEvB,sBAAuB,CACnB,CACIC,KAAM,OACNE,0BAA2B,CACvBF,KAAM,kBACNC,WAAY,CACRsB,QAAS5B,EAAO6B,QAChBC,kBAAmBR,EAAcQ,oBAGzCxB,WAAY,CACRV,mBAAoBgB,EAAMhB,mBAC1BC,oBAAqBe,EAAMf,oBAC3BkC,yBAA0BnB,EAAMmB,yBAChCC,kBAAmBpB,EAAMoB,kBACzBC,iBAAkBrB,EAAMqB,iBACxBC,uBAAwBtB,EAAMsB,uBAC9BC,yBAA0BvB,EAAMuB,4BAI5CC,cAAexB,EAAMwB,cACrBC,wBAAyBzB,EAAMyB,wBAC/BC,0BAA2B1B,EAAM0B,0BACjCC,uBAAwB3B,EAAM2B,uBAC9BC,yBAA0B5B,EAAM4B,yBAChCC,gBAAiB7B,EAAM6B,gBAE/B"}
|
|
@@ -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 o from"./components/MultibancoVoucherResult/MultibancoVoucherResult.js";import r from"../../core/Context/CoreProvider.js";import s from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as n}from"../tx-variants.js";class i extends e{static type=n.multibanco;
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./components/MultibancoVoucherResult/MultibancoVoucherResult.js";import r from"../../core/Context/CoreProvider.js";import s from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as n}from"../tx-variants.js";class i extends e{static type=n.multibanco;get isValid(){return!0}formatProps(t){return{...t,name:t.name||"Multibanco"}}formatData(){return{paymentMethod:{type:this.props.type||i.type}}}handleRef=t=>{this.componentRef=t};render(){return this.props.reference?t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(o,{ref:this.handleRef,...this.props})):this.props.showPayButton?t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(s,{name:this.displayName,amount:this.props.amount,payButton:this.payButton,onSubmit:this.submit,ref:t=>{this.componentRef=t}})):null}}export{i as MultibancoElement,i as default};
|
|
2
2
|
//# sourceMappingURL=Multibanco.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Multibanco.js","sources":["../../../../src/components/Multibanco/Multibanco.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MultibancoVoucherResult from './components/MultibancoVoucherResult';\nimport CoreProvider from '../../core/Context/CoreProvider';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class MultibancoElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.multibanco;\n
|
|
1
|
+
{"version":3,"file":"Multibanco.js","sources":["../../../../src/components/Multibanco/Multibanco.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MultibancoVoucherResult from './components/MultibancoVoucherResult';\nimport CoreProvider from '../../core/Context/CoreProvider';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class MultibancoElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.multibanco;\n\n get isValid() {\n return true;\n }\n\n formatProps(props) {\n return {\n ...props,\n name: props.name || 'Multibanco'\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n paymentMethod: {\n type: this.props.type || MultibancoElement.type\n }\n };\n }\n\n private handleRef = ref => {\n this.componentRef = ref;\n };\n\n render() {\n if (this.props.reference) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <MultibancoVoucherResult ref={this.handleRef} {...this.props} />\n </CoreProvider>\n );\n }\n\n if (this.props.showPayButton) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <RedirectButton\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 </CoreProvider>\n );\n }\n\n return null;\n }\n}\n\nexport default MultibancoElement;\n"],"names":["MultibancoElement","UIElement","static","TxVariants","multibanco","isValid","formatProps","props","name","formatData","paymentMethod","type","this","handleRef","ref","componentRef","render","reference","h","CoreProvider","i18n","loadingContext","resources","MultibancoVoucherResult","showPayButton","RedirectButton","displayName","amount","payButton","onSubmit","submit"],"mappings":"gXAQO,MAAMA,UAA0BC,EACnCC,YAAqBC,EAAWC,WAEhC,WAAIC,GACA,OAAO,CACX,CAEAC,WAAAA,CAAYC,GACR,MAAO,IACAA,EACHC,KAAMD,EAAMC,MAAQ,aAE5B,CAKAC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMC,KAAKL,MAAMI,MAAQX,EAAkBW,MAGvD,CAEQE,UAAYC,IAChBF,KAAKG,aAAeD,CAAAA,EAGxBE,MAAAA,GACI,OAAIJ,KAAKL,MAAMU,UAEPC,EAACC,EAAAA,CAAaC,KAAMR,KAAKL,MAAMa,KAAMC,eAAgBT,KAAKL,MAAMc,eAAgBC,UAAWV,KAAKU,WAC5FJ,EAACK,EAAAA,CAAwBT,IAAKF,KAAKC,aAAeD,KAAKL,SAK/DK,KAAKL,MAAMiB,cAEPN,EAACC,EAAAA,CAAaC,KAAMR,KAAKL,MAAMa,KAAMC,eAAgBT,KAAKL,MAAMc,eAAgBC,UAAWV,KAAKU,WAC5FJ,EAACO,EAAAA,CACGjB,KAAMI,KAAKc,YACXC,OAAQf,KAAKL,MAAMoB,OACnBC,UAAWhB,KAAKgB,UAChBC,SAAUjB,KAAKkB,OACfhB,IAAKA,IACDF,KAAKG,aAAeD,CAAAA,KAOjC,IACX"}
|
|
@@ -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 n from"./components/PaypalComponent.js";import i from"./defaultProps.js";import r from"../../core/Context/CoreProvider.js";import s from"../../core/Errors/AdyenCheckoutError.js";import{ERRORS as a}from"./constants.js";import{TxVariants as o}from"../tx-variants.js";import{
|
|
1
|
+
import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import n from"./components/PaypalComponent.js";import i from"./defaultProps.js";import r from"../../core/Context/CoreProvider.js";import s from"../../core/Errors/AdyenCheckoutError.js";import{ERRORS as a}from"./constants.js";import{TxVariants as o}from"../tx-variants.js";import{formatPaypalOrderContactToAdyenFormat as h}from"./utils/format-paypal-order-contact-to-adyen-format.js";class p extends e{static type=o.paypal;static subtype="sdk";paymentData=null;resolve=null;reject=null;static defaultProps=i;constructor(t,e){super(t,e),this.handleSubmit=this.handleSubmit.bind(this),this.handleOnShippingAddressChange=this.handleOnShippingAddressChange.bind(this),this.handleOnShippingOptionsChange=this.handleOnShippingOptionsChange.bind(this)}formatProps(t){const e=t.configuration?.merchantId,n=t.configuration?.intent,i=0===t.amount?.value?"tokenize":t.intent||n,r="tokenize"===i||t.vault,s="continue"===t.userAction;return{...t,commit:!s&&t.commit,vault:r,configuration:{intent:i,merchantId:e}}}submit=()=>{this.handleError(new s("IMPLEMENTATION_ERROR",a.SUBMIT_NOT_SUPPORTED))};updatePaymentData(t){t||console.warn("PayPal - Updating payment data with an invalid value"),this.paymentData=t}formatData(){const{isExpress:t,userAction:e}=this.props;return{paymentMethod:{type:p.type,userAction:e,subtype:t?"express":p.subtype}}}handleAction=t=>this.updateWithAction(t);updateWithAction=t=>{if(t.paymentMethodType!==this.type)throw new Error("Invalid Action");return t.paymentData&&(this.paymentData=t.paymentData),t.sdkData&&t.sdkData.token?this.handleResolve(t.sdkData.token):this.handleReject(a.NO_TOKEN_PROVIDED),null};get isValid(){return!0}handleOnApprove=(t,e)=>{const{onAuthorized:n}=this.props,i={data:{details:t,paymentData:this.paymentData}};if(n)return e.order.get().then((t=>{const e=h(t?.payer),i=h(t?.purchase_units?.[0].shipping,!0);return this.setState({authorizedEvent:t,...e&&{billingAddress:e},...i&&{deliveryAddress:i}}),new Promise(((r,s)=>n({authorizedEvent:t,...e&&{billingAddress:e},...i&&{deliveryAddress:i}},{resolve:r,reject:s})))})).then((()=>this.handleAdditionalDetails(i))).catch((t=>this.handleError(new s("ERROR","Something went wrong while parsing PayPal Order",{cause:t}))));this.handleAdditionalDetails(i)};handleResolve(t){if(!this.resolve)return this.handleError(new s("ERROR",a.WRONG_INSTANCE));this.resolve(t)}handleReject(t){if(!this.reject)return this.handleError(new s("ERROR",a.WRONG_INSTANCE));this.reject(new Error(t))}handleSubmit(){return super.submit(),new Promise(((t,e)=>{this.resolve=t,this.reject=e}))}handleOnShippingAddressChange(t,e){return this.props.onShippingAddressChange(t,e,this)}handleOnShippingOptionsChange(t,e){return this.props.onShippingOptionsChange(t,e,this)}render(){if(!this.props.showPayButton)return null;const{onShippingAddressChange:e,onShippingOptionsChange:i,...a}=this.props;return t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(n,{ref:t=>{this.componentRef=t},...a,...e&&{onShippingAddressChange:this.handleOnShippingAddressChange},...i&&{onShippingOptionsChange:this.handleOnShippingOptionsChange},onCancel:()=>this.handleError(new s("CANCEL")),onChange:this.setState,onApprove:this.handleOnApprove,onError:t=>{this.handleError(new s("ERROR",t.toString(),{cause:t}))},onScriptLoadFailure:t=>this.handleError(t),onSubmit:this.handleSubmit}))}}export{p as default};
|
|
2
2
|
//# sourceMappingURL=Paypal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Paypal.js","sources":["../../../../src/components/PayPal/Paypal.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport PaypalComponent from './components/PaypalComponent';\nimport defaultProps from './defaultProps';\nimport CoreProvider from '../../core/Context/CoreProvider';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { ERRORS } from './constants';\nimport { TxVariants } from '../tx-variants';\nimport { formatPaypalOrderContatcToAdyenFormat } from './utils/format-paypal-order-contact-to-adyen-format';\n\nimport type { ICore } from '../../core/types';\nimport type { PaymentAction } from '../../types/global-types';\nimport type { Intent, PayPalConfiguration } from './types';\n\nimport './Paypal.scss';\n\nclass PaypalElement extends UIElement<PayPalConfiguration> {\n public static type = TxVariants.paypal;\n public static subtype = 'sdk';\n\n public paymentData: string = null;\n\n private resolve = null;\n private reject = null;\n\n protected static defaultProps = defaultProps;\n\n constructor(checkout: ICore, props?: PayPalConfiguration) {\n super(checkout, props);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.handleOnShippingAddressChange = this.handleOnShippingAddressChange.bind(this);\n this.handleOnShippingOptionsChange = this.handleOnShippingOptionsChange.bind(this);\n }\n\n formatProps(props: PayPalConfiguration): PayPalConfiguration {\n const { merchantId, intent: intentFromConfig } = props.configuration;\n const isZeroAuth = props.amount?.value === 0;\n const intent: Intent = isZeroAuth ? 'tokenize' : props.intent || intentFromConfig;\n const vault = intent === 'tokenize' || props.vault;\n\n const displayContinueToReviewPageButton = props.userAction === 'continue';\n\n return {\n ...props,\n commit: displayContinueToReviewPageButton ? false : props.commit,\n vault,\n configuration: {\n intent,\n merchantId\n }\n };\n }\n\n public submit = () => {\n this.handleError(new AdyenCheckoutError('IMPLEMENTATION_ERROR', ERRORS.SUBMIT_NOT_SUPPORTED));\n };\n\n /**\n * Updates the paymentData value. It must be used in the PayPal Express flow, when patching the amount\n * @param paymentData - Payment data value\n */\n public updatePaymentData(paymentData: string): void {\n if (!paymentData) console.warn('PayPal - Updating payment data with an invalid value');\n this.paymentData = paymentData;\n }\n\n /**\n * Formats the component data output\n */\n protected formatData() {\n const { isExpress, userAction } = this.props;\n\n return {\n paymentMethod: {\n type: PaypalElement.type,\n userAction,\n subtype: isExpress ? 'express' : PaypalElement.subtype\n }\n };\n }\n\n public handleAction = (action: PaymentAction) => {\n return this.updateWithAction(action);\n };\n\n public updateWithAction = (action: PaymentAction) => {\n if (action.paymentMethodType !== this.type) throw new Error('Invalid Action');\n\n if (action.paymentData) {\n this.paymentData = action.paymentData;\n }\n\n if (action.sdkData && action.sdkData.token) {\n this.handleResolve(action.sdkData.token);\n } else {\n this.handleReject(ERRORS.NO_TOKEN_PROVIDED);\n }\n\n return null;\n };\n\n /**\n * Dropin Validation\n *\n * @remarks\n * Paypal does not require any specific Dropin validation\n */\n get isValid() {\n return true;\n }\n\n private handleOnApprove = (data: any, actions: any): Promise<void> | void => {\n const { onAuthorized } = this.props;\n const state = { data: { details: data, paymentData: this.paymentData } };\n\n if (!onAuthorized) {\n this.handleAdditionalDetails(state);\n return;\n }\n\n return actions.order\n .get()\n .then((paypalOrder: any) => {\n const billingAddress = formatPaypalOrderContatcToAdyenFormat(paypalOrder?.payer);\n const deliveryAddress = formatPaypalOrderContatcToAdyenFormat(paypalOrder?.purchase_units?.[0].shipping, true);\n\n this.setState({\n authorizedEvent: paypalOrder,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<void>((resolve, reject) =>\n onAuthorized(\n {\n authorizedEvent: paypalOrder,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n )\n );\n })\n .then(() => this.handleAdditionalDetails(state))\n .catch(error => this.handleError(new AdyenCheckoutError('ERROR', 'Something went wrong while parsing PayPal Order', { cause: error })));\n };\n\n handleResolve(token: string) {\n if (!this.resolve) return this.handleError(new AdyenCheckoutError('ERROR', ERRORS.WRONG_INSTANCE));\n this.resolve(token);\n }\n\n handleReject(errorMessage: string) {\n if (!this.reject) return this.handleError(new AdyenCheckoutError('ERROR', ERRORS.WRONG_INSTANCE));\n this.reject(new Error(errorMessage));\n }\n\n private handleSubmit(): Promise<void> {\n super.submit();\n\n return new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n\n /**\n * If the merchant provides the 'onShippingAddressChange' callback, then this method is used as a wrapper to it, in order\n * to expose to the merchant the 'component' instance. The merchant needs the 'component' in order to manipulate the\n * paymentData\n *\n * @param data - PayPal data\n * @param actions - PayPal actions.\n */\n private handleOnShippingAddressChange(data, actions): Promise<void> {\n return this.props.onShippingAddressChange(data, actions, this);\n }\n\n /**\n * If the merchant provides the 'onShippingOptionsChange' callback, then this method is used as a wrapper to it, in order\n * to expose to the merchant the 'component' instance. The merchant needs the 'component' in order to manipulate the\n * paymentData\n *\n * @param data - PayPal data\n * @param actions - PayPal actions.\n */\n private handleOnShippingOptionsChange(data, actions): Promise<void> {\n return this.props.onShippingOptionsChange(data, actions, this);\n }\n\n render() {\n if (!this.props.showPayButton) return null;\n\n const { onShippingAddressChange, onShippingOptionsChange, ...rest } = this.props;\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <PaypalComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n {...rest}\n {...(onShippingAddressChange && { onShippingAddressChange: this.handleOnShippingAddressChange })}\n {...(onShippingOptionsChange && { onShippingOptionsChange: this.handleOnShippingOptionsChange })}\n onCancel={() => this.handleError(new AdyenCheckoutError('CANCEL'))}\n onChange={this.setState}\n onApprove={this.handleOnApprove}\n onError={error => {\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n }}\n onSubmit={this.handleSubmit}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default PaypalElement;\n"],"names":["PaypalElement","UIElement","static","TxVariants","paypal","paymentData","resolve","reject","defaultProps","constructor","checkout","props","super","this","handleSubmit","bind","handleOnShippingAddressChange","handleOnShippingOptionsChange","formatProps","merchantId","intent","intentFromConfig","configuration","amount","value","vault","displayContinueToReviewPageButton","userAction","commit","submit","handleError","AdyenCheckoutError","ERRORS","SUBMIT_NOT_SUPPORTED","updatePaymentData","console","warn","formatData","isExpress","paymentMethod","type","subtype","handleAction","action","updateWithAction","paymentMethodType","Error","sdkData","token","handleResolve","handleReject","NO_TOKEN_PROVIDED","isValid","handleOnApprove","data","actions","onAuthorized","state","details","order","get","then","paypalOrder","billingAddress","formatPaypalOrderContatcToAdyenFormat","payer","deliveryAddress","purchase_units","shipping","setState","authorizedEvent","Promise","handleAdditionalDetails","catch","error","cause","WRONG_INSTANCE","errorMessage","onShippingAddressChange","onShippingOptionsChange","render","showPayButton","rest","h","CoreProvider","i18n","loadingContext","resources","PaypalComponent","ref","componentRef","onCancel","onChange","onApprove","onError","toString","onSubmit"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Paypal.js","sources":["../../../../src/components/PayPal/Paypal.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport PaypalComponent from './components/PaypalComponent';\nimport defaultProps from './defaultProps';\nimport CoreProvider from '../../core/Context/CoreProvider';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { ERRORS } from './constants';\nimport { TxVariants } from '../tx-variants';\nimport { formatPaypalOrderContactToAdyenFormat } from './utils/format-paypal-order-contact-to-adyen-format';\n\nimport type { ICore } from '../../core/types';\nimport type { PaymentAction } from '../../types/global-types';\nimport type { Intent, PayPalConfiguration } from './types';\n\nimport './Paypal.scss';\n\nclass PaypalElement extends UIElement<PayPalConfiguration> {\n public static type = TxVariants.paypal;\n public static subtype = 'sdk';\n\n public paymentData: string = null;\n\n private resolve = null;\n private reject = null;\n\n protected static defaultProps = defaultProps;\n\n constructor(checkout: ICore, props?: PayPalConfiguration) {\n super(checkout, props);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.handleOnShippingAddressChange = this.handleOnShippingAddressChange.bind(this);\n this.handleOnShippingOptionsChange = this.handleOnShippingOptionsChange.bind(this);\n }\n\n formatProps(props: PayPalConfiguration): PayPalConfiguration {\n const merchantId = props.configuration?.merchantId;\n const intentFromConfig = props.configuration?.intent;\n const isZeroAuth = props.amount?.value === 0;\n const intent: Intent = isZeroAuth ? 'tokenize' : props.intent || intentFromConfig;\n const vault = intent === 'tokenize' || props.vault;\n\n const displayContinueToReviewPageButton = props.userAction === 'continue';\n\n return {\n ...props,\n commit: displayContinueToReviewPageButton ? false : props.commit,\n vault,\n configuration: {\n intent,\n merchantId\n }\n };\n }\n\n public submit = () => {\n this.handleError(new AdyenCheckoutError('IMPLEMENTATION_ERROR', ERRORS.SUBMIT_NOT_SUPPORTED));\n };\n\n /**\n * Updates the paymentData value. It must be used in the PayPal Express flow, when patching the amount\n * @param paymentData - Payment data value\n */\n public updatePaymentData(paymentData: string): void {\n if (!paymentData) console.warn('PayPal - Updating payment data with an invalid value');\n this.paymentData = paymentData;\n }\n\n /**\n * Formats the component data output\n */\n protected formatData() {\n const { isExpress, userAction } = this.props;\n\n return {\n paymentMethod: {\n type: PaypalElement.type,\n userAction,\n subtype: isExpress ? 'express' : PaypalElement.subtype\n }\n };\n }\n\n public handleAction = (action: PaymentAction) => {\n return this.updateWithAction(action);\n };\n\n public updateWithAction = (action: PaymentAction) => {\n if (action.paymentMethodType !== this.type) throw new Error('Invalid Action');\n\n if (action.paymentData) {\n this.paymentData = action.paymentData;\n }\n\n if (action.sdkData && action.sdkData.token) {\n this.handleResolve(action.sdkData.token);\n } else {\n this.handleReject(ERRORS.NO_TOKEN_PROVIDED);\n }\n\n return null;\n };\n\n /**\n * Dropin Validation\n *\n * @remarks\n * Paypal does not require any specific Dropin validation\n */\n get isValid() {\n return true;\n }\n\n private handleOnApprove = (data: any, actions: any): Promise<void> | void => {\n const { onAuthorized } = this.props;\n const state = { data: { details: data, paymentData: this.paymentData } };\n\n if (!onAuthorized) {\n this.handleAdditionalDetails(state);\n return;\n }\n\n return actions.order\n .get()\n .then((paypalOrder: any) => {\n const billingAddress = formatPaypalOrderContactToAdyenFormat(paypalOrder?.payer);\n const deliveryAddress = formatPaypalOrderContactToAdyenFormat(paypalOrder?.purchase_units?.[0].shipping, true);\n\n this.setState({\n authorizedEvent: paypalOrder,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<void>((resolve, reject) =>\n onAuthorized(\n {\n authorizedEvent: paypalOrder,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n )\n );\n })\n .then(() => this.handleAdditionalDetails(state))\n .catch(error => this.handleError(new AdyenCheckoutError('ERROR', 'Something went wrong while parsing PayPal Order', { cause: error })));\n };\n\n handleResolve(token: string) {\n if (!this.resolve) return this.handleError(new AdyenCheckoutError('ERROR', ERRORS.WRONG_INSTANCE));\n this.resolve(token);\n }\n\n handleReject(errorMessage: string) {\n if (!this.reject) return this.handleError(new AdyenCheckoutError('ERROR', ERRORS.WRONG_INSTANCE));\n this.reject(new Error(errorMessage));\n }\n\n private handleSubmit(): Promise<void> {\n super.submit();\n\n return new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n\n /**\n * If the merchant provides the 'onShippingAddressChange' callback, then this method is used as a wrapper to it, in order\n * to expose to the merchant the 'component' instance. The merchant needs the 'component' in order to manipulate the\n * paymentData\n *\n * @param data - PayPal data\n * @param actions - PayPal actions.\n */\n private handleOnShippingAddressChange(data: any, actions: any): Promise<void> {\n return this.props.onShippingAddressChange(data, actions, this);\n }\n\n /**\n * If the merchant provides the 'onShippingOptionsChange' callback, then this method is used as a wrapper to it, in order\n * to expose to the merchant the 'component' instance. The merchant needs the 'component' in order to manipulate the\n * paymentData\n *\n * @param data - PayPal data\n * @param actions - PayPal actions.\n */\n private handleOnShippingOptionsChange(data: any, actions: any): Promise<void> {\n return this.props.onShippingOptionsChange(data, actions, this);\n }\n\n render() {\n if (!this.props.showPayButton) return null;\n\n const { onShippingAddressChange, onShippingOptionsChange, ...rest } = this.props;\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <PaypalComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n {...rest}\n {...(onShippingAddressChange && { onShippingAddressChange: this.handleOnShippingAddressChange })}\n {...(onShippingOptionsChange && { onShippingOptionsChange: this.handleOnShippingOptionsChange })}\n onCancel={() => this.handleError(new AdyenCheckoutError('CANCEL'))}\n onChange={this.setState}\n onApprove={this.handleOnApprove}\n onError={error => {\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n }}\n onScriptLoadFailure={error => this.handleError(error)}\n onSubmit={this.handleSubmit}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default PaypalElement;\n"],"names":["PaypalElement","UIElement","static","TxVariants","paypal","paymentData","resolve","reject","defaultProps","constructor","checkout","props","super","this","handleSubmit","bind","handleOnShippingAddressChange","handleOnShippingOptionsChange","formatProps","merchantId","configuration","intentFromConfig","intent","amount","value","vault","displayContinueToReviewPageButton","userAction","commit","submit","handleError","AdyenCheckoutError","ERRORS","SUBMIT_NOT_SUPPORTED","updatePaymentData","console","warn","formatData","isExpress","paymentMethod","type","subtype","handleAction","action","updateWithAction","paymentMethodType","Error","sdkData","token","handleResolve","handleReject","NO_TOKEN_PROVIDED","isValid","handleOnApprove","data","actions","onAuthorized","state","details","order","get","then","paypalOrder","billingAddress","formatPaypalOrderContactToAdyenFormat","payer","deliveryAddress","purchase_units","shipping","setState","authorizedEvent","Promise","handleAdditionalDetails","catch","error","cause","WRONG_INSTANCE","errorMessage","onShippingAddressChange","onShippingOptionsChange","render","showPayButton","rest","h","CoreProvider","i18n","loadingContext","resources","PaypalComponent","ref","componentRef","onCancel","onChange","onApprove","onError","toString","onScriptLoadFailure","onSubmit"],"mappings":"mgBAgBA,MAAMA,UAAsBC,EACxBC,YAAqBC,EAAWC,OAChCF,eAAwB,MAEjBG,YAAsB,KAErBC,QAAU,KACVC,OAAS,KAEjBL,oBAAgCM,EAEhCC,WAAAA,CAAYC,EAAiBC,GACzBC,MAAMF,EAAUC,GAChBE,KAAKC,aAAeD,KAAKC,aAAaC,KAAKF,MAC3CA,KAAKG,8BAAgCH,KAAKG,8BAA8BD,KAAKF,MAC7EA,KAAKI,8BAAgCJ,KAAKI,8BAA8BF,KAAKF,KACjF,CAEAK,WAAAA,CAAYP,GACR,MAAMQ,EAAaR,EAAMS,eAAeD,WAClCE,EAAmBV,EAAMS,eAAeE,OAExCA,EADqC,IAAxBX,EAAMY,QAAQC,MACG,WAAab,EAAMW,QAAUD,EAC3DI,EAAmB,aAAXH,GAAyBX,EAAMc,MAEvCC,EAAyD,aAArBf,EAAMgB,WAEhD,MAAO,IACAhB,EACHiB,QAAQF,GAA4Cf,EAAMiB,OAC1DH,QACAL,cAAe,CACXE,SACAH,cAGZ,CAEOU,OAAS,KACZhB,KAAKiB,YAAY,IAAIC,EAAmB,uBAAwBC,EAAOC,sBAAoB,EAOxFC,iBAAAA,CAAkB7B,GAChBA,GAAa8B,QAAQC,KAAK,wDAC/BvB,KAAKR,YAAcA,CACvB,CAKA,UAAAgC,GACI,MAAMC,UAAEA,EAASX,WAAEA,GAAed,KAAKF,MAEvC,MAAO,CACH4B,cAAe,CACXC,KAAMxC,EAAcwC,KACpBb,aACAc,QAASH,EAAY,UAAYtC,EAAcyC,SAG3D,CAEOC,aAAgBC,GACZ9B,KAAK+B,iBAAiBD,GAG1BC,iBAAoBD,IACvB,GAAIA,EAAOE,oBAAsBhC,KAAK2B,KAAM,MAAM,IAAIM,MAAM,kBAY5D,OAVIH,EAAOtC,cACPQ,KAAKR,YAAcsC,EAAOtC,aAG1BsC,EAAOI,SAAWJ,EAAOI,QAAQC,MACjCnC,KAAKoC,cAAcN,EAAOI,QAAQC,OAElCnC,KAAKqC,aAAalB,EAAOmB,mBAGtB,IAAA,EASX,WAAIC,GACA,OAAO,CACX,CAEQC,gBAAkB,CAACC,EAAWC,KAClC,MAAMC,aAAEA,GAAiB3C,KAAKF,MACxB8C,EAAQ,CAAEH,KAAM,CAAEI,QAASJ,EAAMjD,YAAaQ,KAAKR,cAEzD,GAAKmD,EAKL,OAAOD,EAAQI,MACVC,MACAC,MAAMC,IACH,MAAMC,EAAiBC,EAAsCF,GAAaG,OACpEC,EAAkBF,EAAsCF,GAAaK,iBAAiB,GAAGC,UAAU,GAQzG,OANAvD,KAAKwD,SAAS,CACVC,gBAAiBR,KACbC,GAAkB,CAAEA,qBACpBG,GAAmB,CAAEA,qBAGtB,IAAIK,SAAc,CAACjE,EAASC,IAC/BiD,EACI,CACIc,gBAAiBR,KACbC,GAAkB,CAAEA,qBACpBG,GAAmB,CAAEA,oBAE7B,CAAE5D,UAASC,YAAO,IAI7BsD,MAAK,IAAMhD,KAAK2D,wBAAwBf,KACxCgB,OAAMC,GAAS7D,KAAKiB,YAAY,IAAIC,EAAmB,QAAS,kDAAmD,CAAE4C,MAAOD,OA5B7H7D,KAAK2D,wBAAwBf,EA4BsG,EAG3IR,aAAAA,CAAcD,GACV,IAAKnC,KAAKP,QAAS,OAAOO,KAAKiB,YAAY,IAAIC,EAAmB,QAASC,EAAO4C,iBAClF/D,KAAKP,QAAQ0C,EACjB,CAEAE,YAAAA,CAAa2B,GACT,IAAKhE,KAAKN,OAAQ,OAAOM,KAAKiB,YAAY,IAAIC,EAAmB,QAASC,EAAO4C,iBACjF/D,KAAKN,OAAO,IAAIuC,MAAM+B,GAC1B,CAEQ/D,YAAAA,GAGJ,OAFAF,MAAMiB,SAEC,IAAI0C,SAAQ,CAACjE,EAASC,KACzBM,KAAKP,QAAUA,EACfO,KAAKN,OAASA,CAAAA,GAEtB,CAUA,6BAAAS,CAAsCsC,EAAWC,GAC7C,OAAO1C,KAAKF,MAAMmE,wBAAwBxB,EAAMC,EAAS1C,KAC7D,CAUA,6BAAAI,CAAsCqC,EAAWC,GAC7C,OAAO1C,KAAKF,MAAMoE,wBAAwBzB,EAAMC,EAAS1C,KAC7D,CAEAmE,MAAAA,GACI,IAAKnE,KAAKF,MAAMsE,cAAe,OAAO,KAEtC,MAAMH,wBAAEA,EAAuBC,wBAAEA,KAA4BG,GAASrE,KAAKF,MAE3E,OACIwE,EAACC,EAAAA,CAAaC,KAAMxE,KAAKF,MAAM0E,KAAMC,eAAgBzE,KAAKF,MAAM2E,eAAgBC,UAAW1E,KAAK0E,WAC5FJ,EAACK,EAAAA,CACGC,IAAKA,IACD5E,KAAK6E,aAAeD,CAAAA,KAEpBP,KACCJ,GAA2B,CAAEA,wBAAyBjE,KAAKG,kCAC3D+D,GAA2B,CAAEA,wBAAyBlE,KAAKI,+BAChE0E,SAAU,IAAM9E,KAAKiB,YAAY,IAAIC,EAAmB,WACxD6D,SAAU/E,KAAKwD,SACfwB,UAAWhF,KAAKwC,gBAChByC,QAASpB,IACL7D,KAAKiB,YAAY,IAAIC,EAAmB,QAAS2C,EAAMqB,WAAY,CAAEpB,MAAOD,IAAM,EAEtFsB,oBAAqBtB,GAAS7D,KAAKiB,YAAY4C,GAC/CuB,SAAUpF,KAAKC,eAI/B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useRef as n,useEffect as a}from"../../../external/preact/hooks/dist/hooks.js";import t from"../../../external/classnames/index.js";import{getStyle as o}from"../utils.js";import
|
|
1
|
+
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useRef as n,useEffect as a}from"../../../external/preact/hooks/dist/hooks.js";import t from"../../../external/classnames/index.js";import{getStyle as o}from"../utils/get-paypal-styles.js";import s from"../../internal/Spinner/Spinner.js";import p from"../../../core/Context/useCoreContext.js";function c({onInit:c,onApprove:r,onClick:i,onCancel:l,onError:_,onShippingAddressChange:u,onShippingOptionsChange:y,onSubmit:d,isProcessingPayment:m,paypalRef:h,style:k,...g}){const{i18n:f}=p(),b="tokenize"===g.configuration?.intent,C=n(null),P=n(null),v=n(null),N=n(null),A=(e,n)=>{const a={...b&&{createBillingAgreement:d},...!b&&{createOrder:d},...!b&&"venmo"!==e&&u&&{onShippingAddressChange:u},...!b&&"venmo"!==e&&y&&{onShippingOptionsChange:y},fundingSource:e,style:o(e,k),onInit:c,onClick:i,onCancel:l,onError:_,onApprove:r},t=h.Buttons(a);t.isEligible()&&t.render(n.current)};a((()=>{const{PAYPAL:e,CREDIT:n,PAYLATER:a,VENMO:t}=h.FUNDING;A(e,C),g.blockPayPalCreditButton||A(n,P),g.blockPayPalPayLaterButton||A(a,v),g.blockPayPalVenmoButton||A(t,N)}),[]);const E=!0===g.commit;return e("div",{className:t("adyen-checkout__paypal__buttons",{"adyen-checkout__paypal-processing":m})},e("div",{className:"adyen-checkout__paypal__button adyen-checkout__paypal__button--paypal",ref:C}),e("div",{className:"adyen-checkout__paypal__button adyen-checkout__paypal__button--credit",ref:P}),e("div",{className:"adyen-checkout__paypal__button adyen-checkout__paypal__button--pay-later",ref:v}),e("div",{className:"adyen-checkout__paypal__button adyen-checkout__paypal__button--venmo",ref:N}),m&&e("div",{className:"adyen-checkout__paypal"},e("div",{className:"adyen-checkout__paypal__status adyen-checkout__paypal__status--processing"},e(s,{size:"medium",inline:!0}),E&&f.get("paypal.processingPayment"))))}export{c as default};
|
|
2
2
|
//# sourceMappingURL=PaypalButtons.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaypalButtons.js","sources":["../../../../../src/components/PayPal/components/PaypalButtons.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef } from 'preact/hooks';\nimport classnames from 'classnames';\nimport {
|
|
1
|
+
{"version":3,"file":"PaypalButtons.js","sources":["../../../../../src/components/PayPal/components/PaypalButtons.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef } from 'preact/hooks';\nimport classnames from 'classnames';\nimport { getStyle } from '../utils/get-paypal-styles';\nimport Spinner from '../../internal/Spinner';\nimport useCoreContext from '../../../core/Context/useCoreContext';\n\nimport type { PayPalButtonsProps } from './types';\nimport type { FundingSource } from '../types';\n\nexport default function PaypalButtons({\n onInit,\n onApprove,\n onClick,\n onCancel,\n onError,\n onShippingAddressChange,\n onShippingOptionsChange,\n onSubmit,\n isProcessingPayment,\n paypalRef,\n style,\n ...props\n}: PayPalButtonsProps) {\n const { i18n } = useCoreContext();\n const isTokenize = props.configuration?.intent === 'tokenize';\n const paypalButtonRef = useRef<HTMLDivElement>(null);\n const creditButtonRef = useRef<HTMLDivElement>(null);\n const payLaterButtonRef = useRef<HTMLDivElement>(null);\n const venmoButtonRef = useRef<HTMLDivElement>(null);\n\n const createButton = (fundingSource: FundingSource, buttonRef) => {\n const configuration = {\n ...(isTokenize && { createBillingAgreement: onSubmit }),\n ...(!isTokenize && { createOrder: onSubmit }),\n ...(!isTokenize && fundingSource !== 'venmo' && onShippingAddressChange && { onShippingAddressChange }),\n ...(!isTokenize && fundingSource !== 'venmo' && onShippingOptionsChange && { onShippingOptionsChange }),\n fundingSource,\n style: getStyle(fundingSource, style),\n onInit,\n onClick,\n onCancel,\n onError,\n onApprove\n };\n\n const button = paypalRef.Buttons(configuration);\n\n if (button.isEligible()) {\n button.render(buttonRef.current);\n }\n };\n\n useEffect(() => {\n const { PAYPAL, CREDIT, PAYLATER, VENMO } = paypalRef.FUNDING;\n createButton(PAYPAL, paypalButtonRef);\n\n if (!props.blockPayPalCreditButton) createButton(CREDIT, creditButtonRef);\n if (!props.blockPayPalPayLaterButton) createButton(PAYLATER, payLaterButtonRef);\n if (!props.blockPayPalVenmoButton) createButton(VENMO, venmoButtonRef);\n }, []);\n\n const isProcessingPaymentWithoutReviewPage = props.commit === true;\n\n return (\n <div className={classnames('adyen-checkout__paypal__buttons', { 'adyen-checkout__paypal-processing': isProcessingPayment })}>\n <div className=\"adyen-checkout__paypal__button adyen-checkout__paypal__button--paypal\" ref={paypalButtonRef} />\n <div className=\"adyen-checkout__paypal__button adyen-checkout__paypal__button--credit\" ref={creditButtonRef} />\n <div className=\"adyen-checkout__paypal__button adyen-checkout__paypal__button--pay-later\" ref={payLaterButtonRef} />\n <div className=\"adyen-checkout__paypal__button adyen-checkout__paypal__button--venmo\" ref={venmoButtonRef} />\n\n {isProcessingPayment && (\n <div className=\"adyen-checkout__paypal\">\n <div className=\"adyen-checkout__paypal__status adyen-checkout__paypal__status--processing\">\n <Spinner size=\"medium\" inline />\n {isProcessingPaymentWithoutReviewPage && i18n.get('paypal.processingPayment')}\n </div>\n </div>\n )}\n </div>\n );\n}\n"],"names":["PaypalButtons","onInit","onApprove","onClick","onCancel","onError","onShippingAddressChange","onShippingOptionsChange","onSubmit","isProcessingPayment","paypalRef","style","props","i18n","useCoreContext","isTokenize","configuration","intent","paypalButtonRef","useRef","creditButtonRef","payLaterButtonRef","venmoButtonRef","createButton","fundingSource","buttonRef","createBillingAgreement","createOrder","getStyle","button","Buttons","isEligible","render","current","useEffect","PAYPAL","CREDIT","PAYLATER","VENMO","FUNDING","blockPayPalCreditButton","blockPayPalPayLaterButton","blockPayPalVenmoButton","isProcessingPaymentWithoutReviewPage","commit","h","div","className","classnames","ref","Spinner","size","inline","get"],"mappings":"mXAUe,SAASA,GAAcC,OAClCA,EAAMC,UACNA,EAASC,QACTA,EAAOC,SACPA,EAAQC,QACRA,EAAOC,wBACPA,EAAuBC,wBACvBA,EAAuBC,SACvBA,EAAQC,oBACRA,EAAmBC,UACnBA,EAASC,MACTA,KACGC,IAEH,MAAMC,KAAEA,GAASC,IACXC,EAA6C,aAAhCH,EAAMI,eAAeC,OAClCC,EAAkBC,EAAuB,MACzCC,EAAkBD,EAAuB,MACzCE,EAAoBF,EAAuB,MAC3CG,EAAiBH,EAAuB,MAExCI,EAAe,CAACC,EAA8BC,KAChD,MAAMT,EAAgB,IACdD,GAAc,CAAEW,uBAAwBlB,OACvCO,GAAc,CAAEY,YAAanB,OAC7BO,GAAgC,UAAlBS,GAA6BlB,GAA2B,CAAEA,+BACxES,GAAgC,UAAlBS,GAA6BjB,GAA2B,CAAEA,2BAC7EiB,gBACAb,MAAOiB,EAASJ,EAAeb,GAC/BV,SACAE,UACAC,WACAC,UACAH,aAGE2B,EAASnB,EAAUoB,QAAQd,GAE7Ba,EAAOE,cACPF,EAAOG,OAAOP,EAAUQ,QAC5B,EAGJC,GAAU,KACN,MAAMC,OAAEA,EAAMC,OAAEA,EAAMC,SAAEA,EAAQC,MAAEA,GAAU5B,EAAU6B,QACtDhB,EAAaY,EAAQjB,GAEhBN,EAAM4B,yBAAyBjB,EAAaa,EAAQhB,GACpDR,EAAM6B,2BAA2BlB,EAAac,EAAUhB,GACxDT,EAAM8B,wBAAwBnB,EAAae,EAAOhB,EAAAA,GACxD,IAEH,MAAMqB,GAAwD,IAAjB/B,EAAMgC,OAEnD,OACIC,EAACC,MAAAA,CAAIC,UAAWC,EAAW,kCAAmC,CAAE,oCAAqCvC,KACjGoC,EAACC,MAAAA,CAAIC,UAAU,wEAAwEE,IAAK/B,IAC5F2B,EAACC,MAAAA,CAAIC,UAAU,wEAAwEE,IAAK7B,IAC5FyB,EAACC,MAAAA,CAAIC,UAAU,2EAA2EE,IAAK5B,IAC/FwB,EAACC,MAAAA,CAAIC,UAAU,uEAAuEE,IAAK3B,IAE1Fb,GACGoC,EAACC,MAAAA,CAAIC,UAAU,0BACXF,EAACC,MAAAA,CAAIC,UAAU,6EACXF,EAACK,EAAAA,CAAQC,KAAK,SAASC,QAAAA,IACtBT,GAAwC9B,EAAKwC,IAAI,8BAM1E"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useState as
|
|
1
|
+
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useState as a,useCallback as n,useEffect as o}from"../../../external/preact/hooks/dist/hooks.js";import t from"./PaypalButtons.js";import s from"../../internal/Spinner/Spinner.js";import{getPaypalUrl as r}from"../utils/get-paypal-url.js";import p from"../../../utils/Script.js";function c({onApprove:c,onCancel:i,onChange:l,onError:u,onSubmit:m,onScriptLoadFailure:d,...y}){const[_,f]=a("pending");this.setStatus=f;const h=n(((e,a)=>{f("processing"),c(e,a)}),[c]),g=()=>{f("ready")},N=e=>{d(e)};return o((()=>{const e=r(y),a={...y.cspNonce&&{nonce:y.cspNonce}},n={...y.cspNonce&&{cspNonce:y.cspNonce}},o=new p(e,"body",a,n);return o.load().then(g).catch(N),()=>{o.remove()}}),[]),"pending"===_?e("div",{className:"adyen-checkout__paypal","aria-live":"polite","aria-busy":"true"},e("div",{className:"adyen-checkout__paypal__status adyen-checkout__paypal__status--pending"},e(s,null))):e("div",{className:"adyen-checkout__paypal"},e(t,{...y,onCancel:i,onChange:l,onError:u,onSubmit:m,onApprove:h,isProcessingPayment:"processing"===_,paypalRef:window.paypal}))}export{c as default};
|
|
2
2
|
//# sourceMappingURL=PaypalComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaypalComponent.js","sources":["../../../../../src/components/PayPal/components/PaypalComponent.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useCallback } from 'preact/hooks';\nimport PaypalButtons from './PaypalButtons';\nimport Spinner from '../../internal/Spinner';\nimport { getPaypalUrl } from '../utils';\nimport
|
|
1
|
+
{"version":3,"file":"PaypalComponent.js","sources":["../../../../../src/components/PayPal/components/PaypalComponent.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useCallback } from 'preact/hooks';\nimport PaypalButtons from './PaypalButtons';\nimport Spinner from '../../internal/Spinner';\nimport { getPaypalUrl } from '../utils/get-paypal-url';\nimport Script from '../../../utils/Script';\nimport AdyenCheckoutError from '../../../core/Errors/AdyenCheckoutError';\nimport type { PayPalComponentProps } from './types';\n\nexport default function PaypalComponent({ onApprove, onCancel, onChange, onError, onSubmit, onScriptLoadFailure, ...props }: PayPalComponentProps) {\n const [status, setStatus] = useState('pending');\n\n this.setStatus = setStatus;\n\n const handleOnApprove = useCallback(\n (data: any, actions: any) => {\n setStatus('processing');\n onApprove(data, actions);\n },\n [onApprove]\n );\n\n const handlePaypalLoad = () => {\n setStatus('ready');\n };\n\n const handlePaypalLoadFailure = (error: AdyenCheckoutError) => {\n onScriptLoadFailure(error);\n };\n\n useEffect(() => {\n const src = getPaypalUrl(props);\n\n const attributes = { ...(props.cspNonce && { nonce: props.cspNonce }) },\n dataAttributes = { ...(props.cspNonce && { cspNonce: props.cspNonce }) };\n\n const script = new Script(src, 'body', attributes, dataAttributes);\n\n script.load().then(handlePaypalLoad).catch(handlePaypalLoadFailure);\n\n return () => {\n script.remove();\n };\n }, []);\n\n if (status === 'pending') {\n return (\n <div className=\"adyen-checkout__paypal\" aria-live=\"polite\" aria-busy=\"true\">\n <div className=\"adyen-checkout__paypal__status adyen-checkout__paypal__status--pending\">\n <Spinner />\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"adyen-checkout__paypal\">\n <PaypalButtons\n {...props}\n onCancel={onCancel}\n onChange={onChange}\n onError={onError}\n onSubmit={onSubmit}\n onApprove={handleOnApprove}\n isProcessingPayment={status === 'processing'}\n paypalRef={window.paypal}\n />\n </div>\n );\n}\n"],"names":["PaypalComponent","onApprove","onCancel","onChange","onError","onSubmit","onScriptLoadFailure","props","status","setStatus","useState","this","handleOnApprove","useCallback","data","actions","handlePaypalLoad","handlePaypalLoadFailure","error","useEffect","src","getPaypalUrl","attributes","cspNonce","nonce","dataAttributes","script","Script","load","then","catch","remove","h","div","className","aria-live","aria-busy","Spinner","PaypalButtons","isProcessingPayment","paypalRef","window","paypal"],"mappings":"qWASe,SAASA,GAAgBC,UAAEA,EAASC,SAAEA,EAAQC,SAAEA,EAAQC,QAAEA,EAAOC,SAAEA,EAAQC,oBAAEA,KAAwBC,IAChH,MAAOC,EAAQC,GAAaC,EAAS,WAErCC,KAAKF,UAAYA,EAEjB,MAAMG,EAAkBC,GACpB,CAACC,EAAWC,KACRN,EAAU,cACVR,EAAUa,EAAMC,EAAAA,GAEpB,CAACd,IAGCe,EAAmB,KACrBP,EAAU,QAAA,EAGRQ,EAA2BC,IAC7BZ,EAAoBY,EAAAA,EAkBxB,OAfAC,GAAU,KACN,MAAMC,EAAMC,EAAad,GAEnBe,EAAa,IAAMf,EAAMgB,UAAY,CAAEC,MAAOjB,EAAMgB,WACtDE,EAAiB,IAAMlB,EAAMgB,UAAY,CAAEA,SAAUhB,EAAMgB,WAEzDG,EAAS,IAAIC,EAAOP,EAAK,OAAQE,EAAYG,GAInD,OAFAC,EAAOE,OAAOC,KAAKb,GAAkBc,MAAMb,GAEpC,KACHS,EAAOK,QAAM,CACjB,GACD,IAEY,YAAXvB,EAEIwB,EAACC,MAAAA,CAAIC,UAAU,yBAAyBC,YAAU,SAASC,YAAU,QACjEJ,EAACC,MAAAA,CAAIC,UAAU,0EACXF,EAACK,EAAAA,QAObL,EAACC,MAAAA,CAAIC,UAAU,0BACXF,EAACM,EAAAA,IACO/B,EACJL,SAAUA,EACVC,SAAUA,EACVC,QAASA,EACTC,SAAUA,EACVJ,UAAWW,EACX2B,oBAAgC,eAAX/B,EACrBgC,UAAWC,OAAOC,SAIlC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const
|
|
1
|
+
const t={isExpress:!1,userAction:"pay",commit:!0,vault:!1,enableMessages:!1,style:{height:50},blockPayPalCreditButton:!1,blockPayPalPayLaterButton:!1,blockPayPalVenmoButton:!1};export{t as default};
|
|
2
2
|
//# sourceMappingURL=defaultProps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultProps.js","sources":["../../../../src/components/PayPal/defaultProps.ts"],"sourcesContent":["import { PayPalConfiguration } from './types';\n\nconst defaultProps: Partial<PayPalConfiguration> = {\n
|
|
1
|
+
{"version":3,"file":"defaultProps.js","sources":["../../../../src/components/PayPal/defaultProps.ts"],"sourcesContent":["import { PayPalConfiguration } from './types';\n\nconst defaultProps: Partial<PayPalConfiguration> = {\n isExpress: false,\n userAction: 'pay',\n commit: true,\n vault: false,\n enableMessages: false,\n style: {\n height: 50 // The height of the buttons is set to 50px to align with the default size of our Pay buttons.\n },\n blockPayPalCreditButton: false,\n blockPayPalPayLaterButton: false,\n blockPayPalVenmoButton: false\n};\n\nexport default defaultProps;\n"],"names":["defaultProps","isExpress","userAction","commit","vault","enableMessages","style","height","blockPayPalCreditButton","blockPayPalPayLaterButton","blockPayPalVenmoButton"],"mappings":"AAEA,MAAMA,EAA6C,CAC/CC,WAAW,EACXC,WAAY,MACZC,QAAQ,EACRC,OAAO,EACPC,gBAAgB,EAChBC,MAAO,CACHC,OAAQ,IAEZC,yBAAyB,EACzBC,2BAA2B,EAC3BC,wBAAwB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=(e,a)=>{if(void 0===e?.address)return null;const{address:r,name:n}=e,d=((e=null,a=null)=>e&&a?`${e}, ${a}`:e||(a||null))(r.address_line_1,r.address_line_2);return{houseNumberOrName:"ZZ",...d&&{street:d},...r.admin_area_1&&{stateOrProvince:r.admin_area_1},...r.admin_area_2&&{city:r.admin_area_2},...r.postal_code&&{postalCode:r.postal_code},...r.country_code&&{country:r.country_code},...a&&{firstName:n.full_name}}};export{e as
|
|
1
|
+
const e=(e,a)=>{if(void 0===e?.address)return null;const{address:r,name:n}=e,d=((e=null,a=null)=>e&&a?`${e}, ${a}`:e||(a||null))(r.address_line_1,r.address_line_2);return{houseNumberOrName:"ZZ",...d&&{street:d},...r.admin_area_1&&{stateOrProvince:r.admin_area_1},...r.admin_area_2&&{city:r.admin_area_2},...r.postal_code&&{postalCode:r.postal_code},...r.country_code&&{country:r.country_code},...a&&{firstName:n.full_name}}};export{e as formatPaypalOrderContactToAdyenFormat};
|
|
2
2
|
//# sourceMappingURL=format-paypal-order-contact-to-adyen-format.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-paypal-order-contact-to-adyen-format.js","sources":["../../../../../src/components/PayPal/utils/format-paypal-order-contact-to-adyen-format.ts"],"sourcesContent":["import { AddressData } from '../../../types/global-types';\n\n/**\n * This function formats PayPal contact format to Adyen address format\n */\nexport const
|
|
1
|
+
{"version":3,"file":"format-paypal-order-contact-to-adyen-format.js","sources":["../../../../../src/components/PayPal/utils/format-paypal-order-contact-to-adyen-format.ts"],"sourcesContent":["import { AddressData } from '../../../types/global-types';\n\n/**\n * This function formats PayPal contact format to Adyen address format\n */\nexport const formatPaypalOrderContactToAdyenFormat = (paymentContact: any, isDeliveryAddress?: boolean): AddressData | null => {\n const getStreet = (addressPart1 = null, addressPart2 = null): string | null => {\n if (addressPart1 && addressPart2) return `${addressPart1}, ${addressPart2}`;\n if (addressPart1) return addressPart1;\n if (addressPart2) return addressPart2;\n return null;\n };\n\n if (paymentContact?.address === undefined) return null;\n\n const { address, name } = paymentContact;\n const street = getStreet(address.address_line_1, address.address_line_2);\n\n return {\n houseNumberOrName: 'ZZ',\n ...(street && { street }),\n ...(address.admin_area_1 && { stateOrProvince: address.admin_area_1 }),\n ...(address.admin_area_2 && { city: address.admin_area_2 }),\n ...(address.postal_code && { postalCode: address.postal_code }),\n ...(address.country_code && { country: address.country_code }),\n ...(isDeliveryAddress && {\n firstName: name.full_name\n })\n };\n};\n"],"names":["formatPaypalOrderContactToAdyenFormat","paymentContact","isDeliveryAddress","undefined","address","name","street","addressPart1","addressPart2","getStreet","address_line_1","address_line_2","houseNumberOrName","admin_area_1","stateOrProvince","admin_area_2","city","postal_code","postalCode","country_code","country","firstName","full_name"],"mappings":"AAKO,MAAMA,EAAwC,CAACC,EAAqBC,KAQvE,QAAgCC,IAA5BF,GAAgBG,QAAuB,OAAO,KAElD,MAAMA,QAAEA,EAAOC,KAAEA,GAASJ,EACpBK,EAVY,EAACC,EAAe,KAAMC,EAAe,OAC/CD,GAAgBC,EAAqB,GAAGD,MAAiBC,IACzDD,IACAC,GACG,MAMIC,CAAUL,EAAQM,eAAgBN,EAAQO,gBAEzD,MAAO,CACHC,kBAAmB,QACfN,GAAU,CAAEA,aACZF,EAAQS,cAAgB,CAAEC,gBAAiBV,EAAQS,iBACnDT,EAAQW,cAAgB,CAAEC,KAAMZ,EAAQW,iBACxCX,EAAQa,aAAe,CAAEC,WAAYd,EAAQa,gBAC7Cb,EAAQe,cAAgB,CAAEC,QAAShB,EAAQe,iBAC3CjB,GAAqB,CACrBmB,UAAWhB,EAAKiB,WAExB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-paypal-locale.js","sources":["../../../../../src/components/PayPal/utils/get-paypal-locale.ts"],"sourcesContent":["import { SUPPORTED_LOCALES } from '../config';\nimport type { PayPalSupportedLocale } from './types';\n\n/**\n * Returns either a locale supported by PayPal or null, in order to let the PayPal SDK auto-detect the shopper locale.\n */\nexport const getSupportedLocale = (locale: string): PayPalSupportedLocale => {\n const formattedLocale = locale ? locale.replace('-', '_') : null;\n const supportedLocale = SUPPORTED_LOCALES.includes(formattedLocale as PayPalSupportedLocale) ? formattedLocale : null;\n return supportedLocale as PayPalSupportedLocale;\n};\n"],"names":["getSupportedLocale","locale","formattedLocale","replace","SUPPORTED_LOCALES","includes","supportedLocale"],"mappings":"iDAMaA,MAAAA,EAAsBC,IAC/B,MAAMC,EAAkBD,EAASA,EAAOE,QAAQ,IAAK,KAAO,KAE5D,OADwBC,EAAkBC,SAASH,GAA4CA,EAAkB,IAC1GI"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{getSupportedLocale as e}from"./get-paypal-locale.js";import{ADYEN_CLIENTID_TEST as n,ADYEN_CLIENTID_LIVE as t,INTEGRATION_DATE as o}from"../config.js";const i=({amount:i,countryCode:r,debug:a,environment:c="",locale:l,configuration:u,commit:m,vault:s,enableMessages:g})=>{const d=e(l),y=i?i.currency:null,b="test"===c.toLowerCase(),p=b?n:t,{merchantId:f,intent:v}=u;return{...f&&{"merchant-id":f},...d&&{locale:d},...r&&b&&{"buyer-country":r},...a&&b&&{debug:a},...y&&{currency:y},...v&&{intent:v},commit:m,vault:s,"client-id":p,"integration-date":o,"enable-funding":"paylater,venmo",components:"buttons,funding-eligibility"+(g?",messages":"")}};export{i as getPaypalSettings};
|
|
2
|
+
//# sourceMappingURL=get-paypal-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-paypal-settings.js","sources":["../../../../../src/components/PayPal/utils/get-paypal-settings.ts"],"sourcesContent":["import { getSupportedLocale } from './get-paypal-locale';\nimport { ADYEN_CLIENTID_LIVE, ADYEN_CLIENTID_TEST, INTEGRATION_DATE } from '../config';\nimport type { PaypalSettings, PayPalSupportedLocale } from './types';\nimport type { PayPalComponentProps } from '../components/types';\n\n/**\n * Returns an object of settings for the PayPal SDK\n */\nexport const getPaypalSettings = ({\n amount,\n countryCode,\n debug,\n environment = '',\n locale,\n configuration,\n commit,\n vault,\n enableMessages\n}: Partial<PayPalComponentProps>): PaypalSettings => {\n const shopperLocale: PayPalSupportedLocale = getSupportedLocale(locale);\n const currency: string = amount ? amount.currency : null;\n const isTestEnvironment: boolean = environment.toLowerCase() === 'test';\n const clientId: string = isTestEnvironment ? ADYEN_CLIENTID_TEST : ADYEN_CLIENTID_LIVE;\n const { merchantId, intent } = configuration;\n const components = `buttons,funding-eligibility${enableMessages ? ',messages' : ''}`;\n\n return {\n ...(merchantId && { 'merchant-id': merchantId }),\n ...(shopperLocale && { locale: shopperLocale }),\n ...(countryCode && isTestEnvironment && { 'buyer-country': countryCode }),\n ...(debug && isTestEnvironment && { debug }),\n ...(currency && { currency }),\n ...(intent && { intent }),\n commit,\n vault,\n 'client-id': clientId,\n 'integration-date': INTEGRATION_DATE,\n 'enable-funding': 'paylater,venmo',\n components\n };\n};\n"],"names":["getPaypalSettings","amount","countryCode","debug","environment","locale","configuration","commit","vault","enableMessages","shopperLocale","getSupportedLocale","currency","isTestEnvironment","toLowerCase","clientId","ADYEN_CLIENTID_TEST","ADYEN_CLIENTID_LIVE","merchantId","intent","INTEGRATION_DATE","components"],"mappings":"oKAQaA,EAAoB,EAC7BC,SACAC,cACAC,QACAC,cAAc,GACdC,SACAC,gBACAC,SACAC,QACAC,qBAEA,MAAMC,EAAuCC,EAAmBN,GAC1DO,EAAmBX,EAASA,EAAOW,SAAW,KAC9CC,EAA2D,SAA9BT,EAAYU,cACzCC,EAAmBF,EAAoBG,EAAsBC,GAC7DC,WAAEA,EAAUC,OAAEA,GAAWb,EAG/B,MAAO,IACCY,GAAc,CAAE,cAAeA,MAC/BR,GAAiB,CAAEL,OAAQK,MAC3BR,GAAeW,GAAqB,CAAE,gBAAiBX,MACvDC,GAASU,GAAqB,CAAEV,YAChCS,GAAY,CAAEA,eACdO,GAAU,CAAEA,UAChBZ,SACAC,QACA,YAAaO,EACb,mBAAoBK,EACpB,iBAAkB,iBAClBC,WAde,+BAA8BZ,EAAiB,YAAc,IAehF"}
|