@sumup/react-native-checkout 0.0.0-alpha.1
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/LICENSE +201 -0
- package/README.md +354 -0
- package/android/build.gradle +78 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/java/com/sumupreactnative/PaymentUtil.java +111 -0
- package/android/src/main/java/com/sumupreactnative/SumupReactNativeModule.java +187 -0
- package/android/src/main/java/com/sumupreactnative/SumupReactNativePackage.java +28 -0
- package/ios/SumupReactNative-Bridging-Header.h +2 -0
- package/ios/SumupReactNative.m +18 -0
- package/ios/SumupReactNative.swift +164 -0
- package/ios/SumupReactNative.xcodeproj/project.pbxproj +283 -0
- package/lib/commonjs/assets/fonts/AktivGrotesk/AktivGrotesk-Bold.ttf +0 -0
- package/lib/commonjs/assets/fonts/SFProText/SFProText-Bold.ttf +0 -0
- package/lib/commonjs/assets/fonts/SFProText/SFProText-Regular.ttf +0 -0
- package/lib/commonjs/assets/icons/americanExpress/americanExpress@2x.png +0 -0
- package/lib/commonjs/assets/icons/americanExpress/americanExpress@3x.png +0 -0
- package/lib/commonjs/assets/icons/applePay/applePay@2x.png +0 -0
- package/lib/commonjs/assets/icons/applePay/applePay@3x.png +0 -0
- package/lib/commonjs/assets/icons/back/back@2x.png +0 -0
- package/lib/commonjs/assets/icons/back/back@3x.png +0 -0
- package/lib/commonjs/assets/icons/cardPlaceholder/cardPlaceholder@2x.png +0 -0
- package/lib/commonjs/assets/icons/cardPlaceholder/cardPlaceholder@3x.png +0 -0
- package/lib/commonjs/assets/icons/checkbox/checkbox@2x.png +0 -0
- package/lib/commonjs/assets/icons/checkbox/checkbox@3x.png +0 -0
- package/lib/commonjs/assets/icons/cross/cross@2x.png +0 -0
- package/lib/commonjs/assets/icons/cross/cross@3x.png +0 -0
- package/lib/commonjs/assets/icons/googlePay/googlePay@2x.png +0 -0
- package/lib/commonjs/assets/icons/googlePay/googlePay@3x.png +0 -0
- package/lib/commonjs/assets/icons/lock/lock@2x.png +0 -0
- package/lib/commonjs/assets/icons/lock/lock@3x.png +0 -0
- package/lib/commonjs/assets/icons/mastercard/mastercard@2x.png +0 -0
- package/lib/commonjs/assets/icons/mastercard/mastercard@3x.png +0 -0
- package/lib/commonjs/assets/icons/more/more@2x.png +0 -0
- package/lib/commonjs/assets/icons/more/more@3x.png +0 -0
- package/lib/commonjs/assets/icons/rightArrow/rightArrow@2x.png +0 -0
- package/lib/commonjs/assets/icons/rightArrow/rightArrow@3x.png +0 -0
- package/lib/commonjs/assets/icons/visa/visa@2x.png +0 -0
- package/lib/commonjs/assets/icons/visa/visa@3x.png +0 -0
- package/lib/commonjs/assets/icons/whiteCheckmark/whiteCheckmark@2x.png +0 -0
- package/lib/commonjs/assets/icons/whiteCheckmark/whiteCheckmark@3x.png +0 -0
- package/lib/commonjs/components/3DSecureSheet/index.js +56 -0
- package/lib/commonjs/components/3DSecureSheet/index.js.map +1 -0
- package/lib/commonjs/components/AnimatedContainer/index.js +75 -0
- package/lib/commonjs/components/AnimatedContainer/index.js.map +1 -0
- package/lib/commonjs/components/AnimatedContainer/styles.js +40 -0
- package/lib/commonjs/components/AnimatedContainer/styles.js.map +1 -0
- package/lib/commonjs/components/ApplePayButton/index.js +29 -0
- package/lib/commonjs/components/ApplePayButton/index.js.map +1 -0
- package/lib/commonjs/components/ApplePayButton/styles.js +31 -0
- package/lib/commonjs/components/ApplePayButton/styles.js.map +1 -0
- package/lib/commonjs/components/Button/index.js +21 -0
- package/lib/commonjs/components/Button/index.js.map +1 -0
- package/lib/commonjs/components/Button/styles.js +55 -0
- package/lib/commonjs/components/Button/styles.js.map +1 -0
- package/lib/commonjs/components/CardInformation/index.js +87 -0
- package/lib/commonjs/components/CardInformation/index.js.map +1 -0
- package/lib/commonjs/components/CardInformation/styles.js +42 -0
- package/lib/commonjs/components/CardInformation/styles.js.map +1 -0
- package/lib/commonjs/components/CardSheet/index.js +138 -0
- package/lib/commonjs/components/CardSheet/index.js.map +1 -0
- package/lib/commonjs/components/CardSheet/styles.js +53 -0
- package/lib/commonjs/components/CardSheet/styles.js.map +1 -0
- package/lib/commonjs/components/CardSheet/useCardSheet/index.js +90 -0
- package/lib/commonjs/components/CardSheet/useCardSheet/index.js.map +1 -0
- package/lib/commonjs/components/Checkbox/index.js +25 -0
- package/lib/commonjs/components/Checkbox/index.js.map +1 -0
- package/lib/commonjs/components/Checkbox/styles.js +31 -0
- package/lib/commonjs/components/Checkbox/styles.js.map +1 -0
- package/lib/commonjs/components/GooglePayButton/index.js +29 -0
- package/lib/commonjs/components/GooglePayButton/index.js.map +1 -0
- package/lib/commonjs/components/GooglePayButton/styles.js +36 -0
- package/lib/commonjs/components/GooglePayButton/styles.js.map +1 -0
- package/lib/commonjs/components/Header/index.js +35 -0
- package/lib/commonjs/components/Header/index.js.map +1 -0
- package/lib/commonjs/components/Header/styles.js +42 -0
- package/lib/commonjs/components/Header/styles.js.map +1 -0
- package/lib/commonjs/components/ImageButton/index.js +28 -0
- package/lib/commonjs/components/ImageButton/index.js.map +1 -0
- package/lib/commonjs/components/ImageButton/styles.js +16 -0
- package/lib/commonjs/components/ImageButton/styles.js.map +1 -0
- package/lib/commonjs/components/InputFields/BaseInputField/index.js +48 -0
- package/lib/commonjs/components/InputFields/BaseInputField/index.js.map +1 -0
- package/lib/commonjs/components/InputFields/BaseInputField/styles.js +45 -0
- package/lib/commonjs/components/InputFields/BaseInputField/styles.js.map +1 -0
- package/lib/commonjs/components/InputFields/CVCInputField/index.js +27 -0
- package/lib/commonjs/components/InputFields/CVCInputField/index.js.map +1 -0
- package/lib/commonjs/components/InputFields/CVCInputField/styles.js +28 -0
- package/lib/commonjs/components/InputFields/CVCInputField/styles.js.map +1 -0
- package/lib/commonjs/components/InputFields/CardInputField/index.js +47 -0
- package/lib/commonjs/components/InputFields/CardInputField/index.js.map +1 -0
- package/lib/commonjs/components/InputFields/CardInputField/styles.js +31 -0
- package/lib/commonjs/components/InputFields/CardInputField/styles.js.map +1 -0
- package/lib/commonjs/components/InputFields/ExpirationDateInputField/index.js +20 -0
- package/lib/commonjs/components/InputFields/ExpirationDateInputField/index.js.map +1 -0
- package/lib/commonjs/components/LoadingSpinner/index.js +42 -0
- package/lib/commonjs/components/LoadingSpinner/index.js.map +1 -0
- package/lib/commonjs/components/LoadingSpinner/styles.js +35 -0
- package/lib/commonjs/components/LoadingSpinner/styles.js.map +1 -0
- package/lib/commonjs/components/Modal/index.js +27 -0
- package/lib/commonjs/components/Modal/index.js.map +1 -0
- package/lib/commonjs/components/Modal/styles.js +35 -0
- package/lib/commonjs/components/Modal/styles.js.map +1 -0
- package/lib/commonjs/components/NativePayButton/index.js +20 -0
- package/lib/commonjs/components/NativePayButton/index.js.map +1 -0
- package/lib/commonjs/components/NoInternetConnection/index.js +32 -0
- package/lib/commonjs/components/NoInternetConnection/index.js.map +1 -0
- package/lib/commonjs/components/NoInternetConnection/styles.js +21 -0
- package/lib/commonjs/components/NoInternetConnection/styles.js.map +1 -0
- package/lib/commonjs/components/OptionMenuModal/index.js +74 -0
- package/lib/commonjs/components/OptionMenuModal/index.js.map +1 -0
- package/lib/commonjs/components/OptionMenuModal/styles.js +50 -0
- package/lib/commonjs/components/OptionMenuModal/styles.js.map +1 -0
- package/lib/commonjs/components/PayButton/index.js +56 -0
- package/lib/commonjs/components/PayButton/index.js.map +1 -0
- package/lib/commonjs/components/PayButton/styles.js +32 -0
- package/lib/commonjs/components/PayButton/styles.js.map +1 -0
- package/lib/commonjs/components/PaymentMethod/index.js +45 -0
- package/lib/commonjs/components/PaymentMethod/index.js.map +1 -0
- package/lib/commonjs/components/PaymentMethod/styles.js +22 -0
- package/lib/commonjs/components/PaymentMethod/styles.js.map +1 -0
- package/lib/commonjs/components/PaymentMethodFormHeaderOption/index.js +28 -0
- package/lib/commonjs/components/PaymentMethodFormHeaderOption/index.js.map +1 -0
- package/lib/commonjs/components/PaymentMethodFormHeaderOption/styles.js +43 -0
- package/lib/commonjs/components/PaymentMethodFormHeaderOption/styles.js.map +1 -0
- package/lib/commonjs/components/PaymentMethodsForm/index.js +23 -0
- package/lib/commonjs/components/PaymentMethodsForm/index.js.map +1 -0
- package/lib/commonjs/components/PaymentMethodsForm/styles.js +30 -0
- package/lib/commonjs/components/PaymentMethodsForm/styles.js.map +1 -0
- package/lib/commonjs/components/PaymentSheet/index.js +85 -0
- package/lib/commonjs/components/PaymentSheet/index.js.map +1 -0
- package/lib/commonjs/components/PrivacyPolicySheet/consts.js +50 -0
- package/lib/commonjs/components/PrivacyPolicySheet/consts.js.map +1 -0
- package/lib/commonjs/components/PrivacyPolicySheet/index.js +35 -0
- package/lib/commonjs/components/PrivacyPolicySheet/index.js.map +1 -0
- package/lib/commonjs/components/ProcessButton/index.js +64 -0
- package/lib/commonjs/components/ProcessButton/index.js.map +1 -0
- package/lib/commonjs/components/ProcessButton/styles.js +36 -0
- package/lib/commonjs/components/ProcessButton/styles.js.map +1 -0
- package/lib/commonjs/components/SaveCard/index.js +87 -0
- package/lib/commonjs/components/SaveCard/index.js.map +1 -0
- package/lib/commonjs/components/SaveCard/styles.js +23 -0
- package/lib/commonjs/components/SaveCard/styles.js.map +1 -0
- package/lib/commonjs/components/SaveCard/useSaveCard/index.js +63 -0
- package/lib/commonjs/components/SaveCard/useSaveCard/index.js.map +1 -0
- package/lib/commonjs/components/SaveCardButton/index.js +33 -0
- package/lib/commonjs/components/SaveCardButton/index.js.map +1 -0
- package/lib/commonjs/components/SaveCardButton/styles.js +32 -0
- package/lib/commonjs/components/SaveCardButton/styles.js.map +1 -0
- package/lib/commonjs/components/SaveCardSheet/index.js +32 -0
- package/lib/commonjs/components/SaveCardSheet/index.js.map +1 -0
- package/lib/commonjs/components/SavedCard/index.js +50 -0
- package/lib/commonjs/components/SavedCard/index.js.map +1 -0
- package/lib/commonjs/components/SavedCard/styles.js +39 -0
- package/lib/commonjs/components/SavedCard/styles.js.map +1 -0
- package/lib/commonjs/components/SavedCardsSheet/index.js +87 -0
- package/lib/commonjs/components/SavedCardsSheet/index.js.map +1 -0
- package/lib/commonjs/components/SavedCardsSheet/styles.js +22 -0
- package/lib/commonjs/components/SavedCardsSheet/styles.js.map +1 -0
- package/lib/commonjs/components/SumUpProvider.js +59 -0
- package/lib/commonjs/components/SumUpProvider.js.map +1 -0
- package/lib/commonjs/components/Switch/index.js +37 -0
- package/lib/commonjs/components/Switch/index.js.map +1 -0
- package/lib/commonjs/components/Switch/styles.js +55 -0
- package/lib/commonjs/components/Switch/styles.js.map +1 -0
- package/lib/commonjs/components/Text/index.js +63 -0
- package/lib/commonjs/components/Text/index.js.map +1 -0
- package/lib/commonjs/components/Text/styles.js +19 -0
- package/lib/commonjs/components/Text/styles.js.map +1 -0
- package/lib/commonjs/components/WebViewSheet/index.js +48 -0
- package/lib/commonjs/components/WebViewSheet/index.js.map +1 -0
- package/lib/commonjs/components/WebViewSheet/styles.js +54 -0
- package/lib/commonjs/components/WebViewSheet/styles.js.map +1 -0
- package/lib/commonjs/consts/UI.js +11 -0
- package/lib/commonjs/consts/UI.js.map +1 -0
- package/lib/commonjs/consts/errors.js +13 -0
- package/lib/commonjs/consts/errors.js.map +1 -0
- package/lib/commonjs/consts/nativePayMethod.js +19 -0
- package/lib/commonjs/consts/nativePayMethod.js.map +1 -0
- package/lib/commonjs/consts/validation.js +22 -0
- package/lib/commonjs/consts/validation.js.map +1 -0
- package/lib/commonjs/contexts/LanguageContext/index.js +38 -0
- package/lib/commonjs/contexts/LanguageContext/index.js.map +1 -0
- package/lib/commonjs/contexts/OptionMenuContext/index.js +39 -0
- package/lib/commonjs/contexts/OptionMenuContext/index.js.map +1 -0
- package/lib/commonjs/contexts/PaymentSheetContext/index.js +39 -0
- package/lib/commonjs/contexts/PaymentSheetContext/index.js.map +1 -0
- package/lib/commonjs/contexts/StoreContext.js +49 -0
- package/lib/commonjs/contexts/StoreContext.js.map +1 -0
- package/lib/commonjs/contexts/ThemeContext.js +15 -0
- package/lib/commonjs/contexts/ThemeContext.js.map +1 -0
- package/lib/commonjs/helpers/formatAmount/index.js +26 -0
- package/lib/commonjs/helpers/formatAmount/index.js.map +1 -0
- package/lib/commonjs/helpers/getUserAgent/index.js +12 -0
- package/lib/commonjs/helpers/getUserAgent/index.js.map +1 -0
- package/lib/commonjs/helpers/validation/paymentFields.js +56 -0
- package/lib/commonjs/helpers/validation/paymentFields.js.map +1 -0
- package/lib/commonjs/hooks/base/index.js +34 -0
- package/lib/commonjs/hooks/base/index.js.map +1 -0
- package/lib/commonjs/hooks/base/useCard/index.js +62 -0
- package/lib/commonjs/hooks/base/useCard/index.js.map +1 -0
- package/lib/commonjs/hooks/base/useCvcCode/index.js +52 -0
- package/lib/commonjs/hooks/base/useCvcCode/index.js.map +1 -0
- package/lib/commonjs/hooks/base/useExpirationDate/index.js +66 -0
- package/lib/commonjs/hooks/base/useExpirationDate/index.js.map +1 -0
- package/lib/commonjs/hooks/base/useName/index.js +52 -0
- package/lib/commonjs/hooks/base/useName/index.js.map +1 -0
- package/lib/commonjs/hooks/useSafeArea.js +18 -0
- package/lib/commonjs/hooks/useSafeArea.js.map +1 -0
- package/lib/commonjs/hooks/useSumUp.js +82 -0
- package/lib/commonjs/hooks/useSumUp.js.map +1 -0
- package/lib/commonjs/index.js +59 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/publicApi/errors.js +103 -0
- package/lib/commonjs/publicApi/errors.js.map +1 -0
- package/lib/commonjs/services/API/ApiManager/index.js +154 -0
- package/lib/commonjs/services/API/ApiManager/index.js.map +1 -0
- package/lib/commonjs/services/API/CheckoutApiManager/index.js +83 -0
- package/lib/commonjs/services/API/CheckoutApiManager/index.js.map +1 -0
- package/lib/commonjs/services/API/CheckoutApiManager/models.js +6 -0
- package/lib/commonjs/services/API/CheckoutApiManager/models.js.map +1 -0
- package/lib/commonjs/services/API/PullingService/index.js +26 -0
- package/lib/commonjs/services/API/PullingService/index.js.map +1 -0
- package/lib/commonjs/services/ApplePayService/index.js +51 -0
- package/lib/commonjs/services/ApplePayService/index.js.map +1 -0
- package/lib/commonjs/services/GooglePayService/index.js +57 -0
- package/lib/commonjs/services/GooglePayService/index.js.map +1 -0
- package/lib/commonjs/services/Logger/index.js +27 -0
- package/lib/commonjs/services/Logger/index.js.map +1 -0
- package/lib/commonjs/services/NativePaymentsBridge/index.js +10 -0
- package/lib/commonjs/services/NativePaymentsBridge/index.js.map +1 -0
- package/lib/commonjs/stores/BaseSheetStore/index.js +127 -0
- package/lib/commonjs/stores/BaseSheetStore/index.js.map +1 -0
- package/lib/commonjs/stores/NativePaymentStore/index.js +108 -0
- package/lib/commonjs/stores/NativePaymentStore/index.js.map +1 -0
- package/lib/commonjs/stores/PaymentInstrumentsStore/index.js +121 -0
- package/lib/commonjs/stores/PaymentInstrumentsStore/index.js.map +1 -0
- package/lib/commonjs/stores/PaymentStore/index.js +150 -0
- package/lib/commonjs/stores/PaymentStore/index.js.map +1 -0
- package/lib/commonjs/stores/RootStore.js +25 -0
- package/lib/commonjs/stores/RootStore.js.map +1 -0
- package/lib/commonjs/stores/SaveCardStore/index.js +131 -0
- package/lib/commonjs/stores/SaveCardStore/index.js.map +1 -0
- package/lib/commonjs/stores/ThreeDSecureStore/index.js +63 -0
- package/lib/commonjs/stores/ThreeDSecureStore/index.js.map +1 -0
- package/lib/commonjs/styles/colors.js +30 -0
- package/lib/commonjs/styles/colors.js.map +1 -0
- package/lib/commonjs/styles/fonts.js +13 -0
- package/lib/commonjs/styles/fonts.js.map +1 -0
- package/lib/commonjs/styles/images.js +23 -0
- package/lib/commonjs/styles/images.js.map +1 -0
- package/lib/commonjs/styles/index.js +15 -0
- package/lib/commonjs/styles/index.js.map +1 -0
- package/lib/commonjs/translations/bg-BG.json +55 -0
- package/lib/commonjs/translations/ca-ES.json +55 -0
- package/lib/commonjs/translations/cs-CZ.json +55 -0
- package/lib/commonjs/translations/da-DK.json +55 -0
- package/lib/commonjs/translations/de-AT.json +55 -0
- package/lib/commonjs/translations/de-CH.json +55 -0
- package/lib/commonjs/translations/de-DE.json +55 -0
- package/lib/commonjs/translations/de-LU.json +55 -0
- package/lib/commonjs/translations/el-CY.json +55 -0
- package/lib/commonjs/translations/el-GR.json +55 -0
- package/lib/commonjs/translations/en-AU.json +55 -0
- package/lib/commonjs/translations/en-GB.json +55 -0
- package/lib/commonjs/translations/en-IE.json +55 -0
- package/lib/commonjs/translations/en-MT.json +55 -0
- package/lib/commonjs/translations/en-US.json +55 -0
- package/lib/commonjs/translations/en.json +55 -0
- package/lib/commonjs/translations/es-CL.json +55 -0
- package/lib/commonjs/translations/es-CO.json +55 -0
- package/lib/commonjs/translations/es-ES.json +55 -0
- package/lib/commonjs/translations/es-LA.json +55 -0
- package/lib/commonjs/translations/es-PE.json +55 -0
- package/lib/commonjs/translations/et-EE.json +55 -0
- package/lib/commonjs/translations/fi-FI.json +55 -0
- package/lib/commonjs/translations/fr-BE.json +55 -0
- package/lib/commonjs/translations/fr-CH.json +55 -0
- package/lib/commonjs/translations/fr-FR.json +55 -0
- package/lib/commonjs/translations/fr-LU.json +55 -0
- package/lib/commonjs/translations/hr-HR.json +55 -0
- package/lib/commonjs/translations/hu-HU.json +55 -0
- package/lib/commonjs/translations/index.js +95 -0
- package/lib/commonjs/translations/index.js.map +1 -0
- package/lib/commonjs/translations/it-CH.json +55 -0
- package/lib/commonjs/translations/it-IT.json +55 -0
- package/lib/commonjs/translations/lt-LT.json +55 -0
- package/lib/commonjs/translations/lv-LV.json +55 -0
- package/lib/commonjs/translations/nb-NO.json +55 -0
- package/lib/commonjs/translations/nl-BE.json +55 -0
- package/lib/commonjs/translations/nl-NL.json +55 -0
- package/lib/commonjs/translations/pl-PL.json +55 -0
- package/lib/commonjs/translations/pt-BR.json +55 -0
- package/lib/commonjs/translations/pt-PT.json +55 -0
- package/lib/commonjs/translations/ro-RO.json +55 -0
- package/lib/commonjs/translations/sk-SK.json +55 -0
- package/lib/commonjs/translations/sl-SI.json +55 -0
- package/lib/commonjs/translations/sv-SE.json +55 -0
- package/lib/commonjs/types/ApplePay.js +2 -0
- package/lib/commonjs/types/ApplePay.js.map +1 -0
- package/lib/commonjs/types/CommonSheet.js +2 -0
- package/lib/commonjs/types/CommonSheet.js.map +1 -0
- package/lib/commonjs/types/GooglePay.js +2 -0
- package/lib/commonjs/types/GooglePay.js.map +1 -0
- package/lib/commonjs/types/PaymentSheet.js +6 -0
- package/lib/commonjs/types/PaymentSheet.js.map +1 -0
- package/lib/commonjs/types/Requests.js +2 -0
- package/lib/commonjs/types/Requests.js.map +1 -0
- package/lib/commonjs/types/SaveCardSheet.js +6 -0
- package/lib/commonjs/types/SaveCardSheet.js.map +1 -0
- package/lib/commonjs/types/index.js +19 -0
- package/lib/commonjs/types/index.js.map +1 -0
- package/lib/commonjs/types/react-native-safe-area-context.d.js +2 -0
- package/lib/commonjs/types/react-native-safe-area-context.d.js.map +1 -0
- package/lib/module/assets/fonts/AktivGrotesk/AktivGrotesk-Bold.ttf +0 -0
- package/lib/module/assets/fonts/SFProText/SFProText-Bold.ttf +0 -0
- package/lib/module/assets/fonts/SFProText/SFProText-Regular.ttf +0 -0
- package/lib/module/assets/icons/americanExpress/americanExpress@2x.png +0 -0
- package/lib/module/assets/icons/americanExpress/americanExpress@3x.png +0 -0
- package/lib/module/assets/icons/applePay/applePay@2x.png +0 -0
- package/lib/module/assets/icons/applePay/applePay@3x.png +0 -0
- package/lib/module/assets/icons/back/back@2x.png +0 -0
- package/lib/module/assets/icons/back/back@3x.png +0 -0
- package/lib/module/assets/icons/cardPlaceholder/cardPlaceholder@2x.png +0 -0
- package/lib/module/assets/icons/cardPlaceholder/cardPlaceholder@3x.png +0 -0
- package/lib/module/assets/icons/checkbox/checkbox@2x.png +0 -0
- package/lib/module/assets/icons/checkbox/checkbox@3x.png +0 -0
- package/lib/module/assets/icons/cross/cross@2x.png +0 -0
- package/lib/module/assets/icons/cross/cross@3x.png +0 -0
- package/lib/module/assets/icons/googlePay/googlePay@2x.png +0 -0
- package/lib/module/assets/icons/googlePay/googlePay@3x.png +0 -0
- package/lib/module/assets/icons/lock/lock@2x.png +0 -0
- package/lib/module/assets/icons/lock/lock@3x.png +0 -0
- package/lib/module/assets/icons/mastercard/mastercard@2x.png +0 -0
- package/lib/module/assets/icons/mastercard/mastercard@3x.png +0 -0
- package/lib/module/assets/icons/more/more@2x.png +0 -0
- package/lib/module/assets/icons/more/more@3x.png +0 -0
- package/lib/module/assets/icons/rightArrow/rightArrow@2x.png +0 -0
- package/lib/module/assets/icons/rightArrow/rightArrow@3x.png +0 -0
- package/lib/module/assets/icons/visa/visa@2x.png +0 -0
- package/lib/module/assets/icons/visa/visa@3x.png +0 -0
- package/lib/module/assets/icons/whiteCheckmark/whiteCheckmark@2x.png +0 -0
- package/lib/module/assets/icons/whiteCheckmark/whiteCheckmark@3x.png +0 -0
- package/lib/module/components/3DSecureSheet/index.js +46 -0
- package/lib/module/components/3DSecureSheet/index.js.map +1 -0
- package/lib/module/components/AnimatedContainer/index.js +66 -0
- package/lib/module/components/AnimatedContainer/index.js.map +1 -0
- package/lib/module/components/AnimatedContainer/styles.js +33 -0
- package/lib/module/components/AnimatedContainer/styles.js.map +1 -0
- package/lib/module/components/ApplePayButton/index.js +21 -0
- package/lib/module/components/ApplePayButton/index.js.map +1 -0
- package/lib/module/components/ApplePayButton/styles.js +24 -0
- package/lib/module/components/ApplePayButton/styles.js.map +1 -0
- package/lib/module/components/Button/index.js +13 -0
- package/lib/module/components/Button/index.js.map +1 -0
- package/lib/module/components/Button/styles.js +48 -0
- package/lib/module/components/Button/styles.js.map +1 -0
- package/lib/module/components/CardInformation/index.js +78 -0
- package/lib/module/components/CardInformation/index.js.map +1 -0
- package/lib/module/components/CardInformation/styles.js +35 -0
- package/lib/module/components/CardInformation/styles.js.map +1 -0
- package/lib/module/components/CardSheet/index.js +130 -0
- package/lib/module/components/CardSheet/index.js.map +1 -0
- package/lib/module/components/CardSheet/styles.js +46 -0
- package/lib/module/components/CardSheet/styles.js.map +1 -0
- package/lib/module/components/CardSheet/useCardSheet/index.js +83 -0
- package/lib/module/components/CardSheet/useCardSheet/index.js.map +1 -0
- package/lib/module/components/Checkbox/index.js +17 -0
- package/lib/module/components/Checkbox/index.js.map +1 -0
- package/lib/module/components/Checkbox/styles.js +24 -0
- package/lib/module/components/Checkbox/styles.js.map +1 -0
- package/lib/module/components/GooglePayButton/index.js +21 -0
- package/lib/module/components/GooglePayButton/index.js.map +1 -0
- package/lib/module/components/GooglePayButton/styles.js +29 -0
- package/lib/module/components/GooglePayButton/styles.js.map +1 -0
- package/lib/module/components/Header/index.js +27 -0
- package/lib/module/components/Header/index.js.map +1 -0
- package/lib/module/components/Header/styles.js +35 -0
- package/lib/module/components/Header/styles.js.map +1 -0
- package/lib/module/components/ImageButton/index.js +20 -0
- package/lib/module/components/ImageButton/index.js.map +1 -0
- package/lib/module/components/ImageButton/styles.js +9 -0
- package/lib/module/components/ImageButton/styles.js.map +1 -0
- package/lib/module/components/InputFields/BaseInputField/index.js +40 -0
- package/lib/module/components/InputFields/BaseInputField/index.js.map +1 -0
- package/lib/module/components/InputFields/BaseInputField/styles.js +38 -0
- package/lib/module/components/InputFields/BaseInputField/styles.js.map +1 -0
- package/lib/module/components/InputFields/CVCInputField/index.js +19 -0
- package/lib/module/components/InputFields/CVCInputField/index.js.map +1 -0
- package/lib/module/components/InputFields/CVCInputField/styles.js +21 -0
- package/lib/module/components/InputFields/CVCInputField/styles.js.map +1 -0
- package/lib/module/components/InputFields/CardInputField/index.js +39 -0
- package/lib/module/components/InputFields/CardInputField/index.js.map +1 -0
- package/lib/module/components/InputFields/CardInputField/styles.js +24 -0
- package/lib/module/components/InputFields/CardInputField/styles.js.map +1 -0
- package/lib/module/components/InputFields/ExpirationDateInputField/index.js +12 -0
- package/lib/module/components/InputFields/ExpirationDateInputField/index.js.map +1 -0
- package/lib/module/components/LoadingSpinner/index.js +33 -0
- package/lib/module/components/LoadingSpinner/index.js.map +1 -0
- package/lib/module/components/LoadingSpinner/styles.js +28 -0
- package/lib/module/components/LoadingSpinner/styles.js.map +1 -0
- package/lib/module/components/Modal/index.js +19 -0
- package/lib/module/components/Modal/index.js.map +1 -0
- package/lib/module/components/Modal/styles.js +28 -0
- package/lib/module/components/Modal/styles.js.map +1 -0
- package/lib/module/components/NativePayButton/index.js +12 -0
- package/lib/module/components/NativePayButton/index.js.map +1 -0
- package/lib/module/components/NoInternetConnection/index.js +24 -0
- package/lib/module/components/NoInternetConnection/index.js.map +1 -0
- package/lib/module/components/NoInternetConnection/styles.js +14 -0
- package/lib/module/components/NoInternetConnection/styles.js.map +1 -0
- package/lib/module/components/OptionMenuModal/index.js +66 -0
- package/lib/module/components/OptionMenuModal/index.js.map +1 -0
- package/lib/module/components/OptionMenuModal/styles.js +43 -0
- package/lib/module/components/OptionMenuModal/styles.js.map +1 -0
- package/lib/module/components/PayButton/index.js +48 -0
- package/lib/module/components/PayButton/index.js.map +1 -0
- package/lib/module/components/PayButton/styles.js +25 -0
- package/lib/module/components/PayButton/styles.js.map +1 -0
- package/lib/module/components/PaymentMethod/index.js +36 -0
- package/lib/module/components/PaymentMethod/index.js.map +1 -0
- package/lib/module/components/PaymentMethod/styles.js +15 -0
- package/lib/module/components/PaymentMethod/styles.js.map +1 -0
- package/lib/module/components/PaymentMethodFormHeaderOption/index.js +20 -0
- package/lib/module/components/PaymentMethodFormHeaderOption/index.js.map +1 -0
- package/lib/module/components/PaymentMethodFormHeaderOption/styles.js +36 -0
- package/lib/module/components/PaymentMethodFormHeaderOption/styles.js.map +1 -0
- package/lib/module/components/PaymentMethodsForm/index.js +14 -0
- package/lib/module/components/PaymentMethodsForm/index.js.map +1 -0
- package/lib/module/components/PaymentMethodsForm/styles.js +23 -0
- package/lib/module/components/PaymentMethodsForm/styles.js.map +1 -0
- package/lib/module/components/PaymentSheet/index.js +76 -0
- package/lib/module/components/PaymentSheet/index.js.map +1 -0
- package/lib/module/components/PrivacyPolicySheet/consts.js +41 -0
- package/lib/module/components/PrivacyPolicySheet/consts.js.map +1 -0
- package/lib/module/components/PrivacyPolicySheet/index.js +26 -0
- package/lib/module/components/PrivacyPolicySheet/index.js.map +1 -0
- package/lib/module/components/ProcessButton/index.js +54 -0
- package/lib/module/components/ProcessButton/index.js.map +1 -0
- package/lib/module/components/ProcessButton/styles.js +29 -0
- package/lib/module/components/ProcessButton/styles.js.map +1 -0
- package/lib/module/components/SaveCard/index.js +79 -0
- package/lib/module/components/SaveCard/index.js.map +1 -0
- package/lib/module/components/SaveCard/styles.js +16 -0
- package/lib/module/components/SaveCard/styles.js.map +1 -0
- package/lib/module/components/SaveCard/useSaveCard/index.js +56 -0
- package/lib/module/components/SaveCard/useSaveCard/index.js.map +1 -0
- package/lib/module/components/SaveCardButton/index.js +25 -0
- package/lib/module/components/SaveCardButton/index.js.map +1 -0
- package/lib/module/components/SaveCardButton/styles.js +25 -0
- package/lib/module/components/SaveCardButton/styles.js.map +1 -0
- package/lib/module/components/SaveCardSheet/index.js +24 -0
- package/lib/module/components/SaveCardSheet/index.js.map +1 -0
- package/lib/module/components/SavedCard/index.js +42 -0
- package/lib/module/components/SavedCard/index.js.map +1 -0
- package/lib/module/components/SavedCard/styles.js +32 -0
- package/lib/module/components/SavedCard/styles.js.map +1 -0
- package/lib/module/components/SavedCardsSheet/index.js +78 -0
- package/lib/module/components/SavedCardsSheet/index.js.map +1 -0
- package/lib/module/components/SavedCardsSheet/styles.js +15 -0
- package/lib/module/components/SavedCardsSheet/styles.js.map +1 -0
- package/lib/module/components/SumUpProvider.js +51 -0
- package/lib/module/components/SumUpProvider.js.map +1 -0
- package/lib/module/components/Switch/index.js +28 -0
- package/lib/module/components/Switch/index.js.map +1 -0
- package/lib/module/components/Switch/styles.js +48 -0
- package/lib/module/components/Switch/styles.js.map +1 -0
- package/lib/module/components/Text/index.js +54 -0
- package/lib/module/components/Text/index.js.map +1 -0
- package/lib/module/components/Text/styles.js +12 -0
- package/lib/module/components/Text/styles.js.map +1 -0
- package/lib/module/components/WebViewSheet/index.js +38 -0
- package/lib/module/components/WebViewSheet/index.js.map +1 -0
- package/lib/module/components/WebViewSheet/styles.js +47 -0
- package/lib/module/components/WebViewSheet/styles.js.map +1 -0
- package/lib/module/consts/UI.js +4 -0
- package/lib/module/consts/UI.js.map +1 -0
- package/lib/module/consts/errors.js +7 -0
- package/lib/module/consts/errors.js.map +1 -0
- package/lib/module/consts/nativePayMethod.js +12 -0
- package/lib/module/consts/nativePayMethod.js.map +1 -0
- package/lib/module/consts/validation.js +15 -0
- package/lib/module/consts/validation.js.map +1 -0
- package/lib/module/contexts/LanguageContext/index.js +28 -0
- package/lib/module/contexts/LanguageContext/index.js.map +1 -0
- package/lib/module/contexts/OptionMenuContext/index.js +29 -0
- package/lib/module/contexts/OptionMenuContext/index.js.map +1 -0
- package/lib/module/contexts/PaymentSheetContext/index.js +28 -0
- package/lib/module/contexts/PaymentSheetContext/index.js.map +1 -0
- package/lib/module/contexts/StoreContext.js +33 -0
- package/lib/module/contexts/StoreContext.js.map +1 -0
- package/lib/module/contexts/ThemeContext.js +8 -0
- package/lib/module/contexts/ThemeContext.js.map +1 -0
- package/lib/module/helpers/formatAmount/index.js +19 -0
- package/lib/module/helpers/formatAmount/index.js.map +1 -0
- package/lib/module/helpers/getUserAgent/index.js +5 -0
- package/lib/module/helpers/getUserAgent/index.js.map +1 -0
- package/lib/module/helpers/validation/paymentFields.js +43 -0
- package/lib/module/helpers/validation/paymentFields.js.map +1 -0
- package/lib/module/hooks/base/index.js +6 -0
- package/lib/module/hooks/base/index.js.map +1 -0
- package/lib/module/hooks/base/useCard/index.js +54 -0
- package/lib/module/hooks/base/useCard/index.js.map +1 -0
- package/lib/module/hooks/base/useCvcCode/index.js +44 -0
- package/lib/module/hooks/base/useCvcCode/index.js.map +1 -0
- package/lib/module/hooks/base/useExpirationDate/index.js +58 -0
- package/lib/module/hooks/base/useExpirationDate/index.js.map +1 -0
- package/lib/module/hooks/base/useName/index.js +44 -0
- package/lib/module/hooks/base/useName/index.js.map +1 -0
- package/lib/module/hooks/useSafeArea.js +11 -0
- package/lib/module/hooks/useSafeArea.js.map +1 -0
- package/lib/module/hooks/useSumUp.js +76 -0
- package/lib/module/hooks/useSumUp.js.map +1 -0
- package/lib/module/index.js +13 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/publicApi/errors.js +92 -0
- package/lib/module/publicApi/errors.js.map +1 -0
- package/lib/module/services/API/ApiManager/index.js +141 -0
- package/lib/module/services/API/ApiManager/index.js.map +1 -0
- package/lib/module/services/API/CheckoutApiManager/index.js +76 -0
- package/lib/module/services/API/CheckoutApiManager/index.js.map +1 -0
- package/lib/module/services/API/CheckoutApiManager/models.js +2 -0
- package/lib/module/services/API/CheckoutApiManager/models.js.map +1 -0
- package/lib/module/services/API/PullingService/index.js +19 -0
- package/lib/module/services/API/PullingService/index.js.map +1 -0
- package/lib/module/services/ApplePayService/index.js +42 -0
- package/lib/module/services/ApplePayService/index.js.map +1 -0
- package/lib/module/services/GooglePayService/index.js +48 -0
- package/lib/module/services/GooglePayService/index.js.map +1 -0
- package/lib/module/services/Logger/index.js +20 -0
- package/lib/module/services/Logger/index.js.map +1 -0
- package/lib/module/services/NativePaymentsBridge/index.js +3 -0
- package/lib/module/services/NativePaymentsBridge/index.js.map +1 -0
- package/lib/module/stores/BaseSheetStore/index.js +119 -0
- package/lib/module/stores/BaseSheetStore/index.js.map +1 -0
- package/lib/module/stores/NativePaymentStore/index.js +100 -0
- package/lib/module/stores/NativePaymentStore/index.js.map +1 -0
- package/lib/module/stores/PaymentInstrumentsStore/index.js +113 -0
- package/lib/module/stores/PaymentInstrumentsStore/index.js.map +1 -0
- package/lib/module/stores/PaymentStore/index.js +142 -0
- package/lib/module/stores/PaymentStore/index.js.map +1 -0
- package/lib/module/stores/RootStore.js +18 -0
- package/lib/module/stores/RootStore.js.map +1 -0
- package/lib/module/stores/SaveCardStore/index.js +123 -0
- package/lib/module/stores/SaveCardStore/index.js.map +1 -0
- package/lib/module/stores/ThreeDSecureStore/index.js +55 -0
- package/lib/module/stores/ThreeDSecureStore/index.js.map +1 -0
- package/lib/module/styles/colors.js +23 -0
- package/lib/module/styles/colors.js.map +1 -0
- package/lib/module/styles/fonts.js +6 -0
- package/lib/module/styles/fonts.js.map +1 -0
- package/lib/module/styles/images.js +16 -0
- package/lib/module/styles/images.js.map +1 -0
- package/lib/module/styles/index.js +5 -0
- package/lib/module/styles/index.js.map +1 -0
- package/lib/module/translations/bg-BG.json +55 -0
- package/lib/module/translations/ca-ES.json +55 -0
- package/lib/module/translations/cs-CZ.json +55 -0
- package/lib/module/translations/da-DK.json +55 -0
- package/lib/module/translations/de-AT.json +55 -0
- package/lib/module/translations/de-CH.json +55 -0
- package/lib/module/translations/de-DE.json +55 -0
- package/lib/module/translations/de-LU.json +55 -0
- package/lib/module/translations/el-CY.json +55 -0
- package/lib/module/translations/el-GR.json +55 -0
- package/lib/module/translations/en-AU.json +55 -0
- package/lib/module/translations/en-GB.json +55 -0
- package/lib/module/translations/en-IE.json +55 -0
- package/lib/module/translations/en-MT.json +55 -0
- package/lib/module/translations/en-US.json +55 -0
- package/lib/module/translations/en.json +55 -0
- package/lib/module/translations/es-CL.json +55 -0
- package/lib/module/translations/es-CO.json +55 -0
- package/lib/module/translations/es-ES.json +55 -0
- package/lib/module/translations/es-LA.json +55 -0
- package/lib/module/translations/es-PE.json +55 -0
- package/lib/module/translations/et-EE.json +55 -0
- package/lib/module/translations/fi-FI.json +55 -0
- package/lib/module/translations/fr-BE.json +55 -0
- package/lib/module/translations/fr-CH.json +55 -0
- package/lib/module/translations/fr-FR.json +55 -0
- package/lib/module/translations/fr-LU.json +55 -0
- package/lib/module/translations/hr-HR.json +55 -0
- package/lib/module/translations/hu-HU.json +55 -0
- package/lib/module/translations/index.js +87 -0
- package/lib/module/translations/index.js.map +1 -0
- package/lib/module/translations/it-CH.json +55 -0
- package/lib/module/translations/it-IT.json +55 -0
- package/lib/module/translations/lt-LT.json +55 -0
- package/lib/module/translations/lv-LV.json +55 -0
- package/lib/module/translations/nb-NO.json +55 -0
- package/lib/module/translations/nl-BE.json +55 -0
- package/lib/module/translations/nl-NL.json +55 -0
- package/lib/module/translations/pl-PL.json +55 -0
- package/lib/module/translations/pt-BR.json +55 -0
- package/lib/module/translations/pt-PT.json +55 -0
- package/lib/module/translations/ro-RO.json +55 -0
- package/lib/module/translations/sk-SK.json +55 -0
- package/lib/module/translations/sl-SI.json +55 -0
- package/lib/module/translations/sv-SE.json +55 -0
- package/lib/module/types/ApplePay.js +2 -0
- package/lib/module/types/ApplePay.js.map +1 -0
- package/lib/module/types/CommonSheet.js +2 -0
- package/lib/module/types/CommonSheet.js.map +1 -0
- package/lib/module/types/GooglePay.js +2 -0
- package/lib/module/types/GooglePay.js.map +1 -0
- package/lib/module/types/PaymentSheet.js +2 -0
- package/lib/module/types/PaymentSheet.js.map +1 -0
- package/lib/module/types/Requests.js +2 -0
- package/lib/module/types/Requests.js.map +1 -0
- package/lib/module/types/SaveCardSheet.js +2 -0
- package/lib/module/types/SaveCardSheet.js.map +1 -0
- package/lib/module/types/index.js +7 -0
- package/lib/module/types/index.js.map +1 -0
- package/lib/module/types/react-native-safe-area-context.d.js +2 -0
- package/lib/module/types/react-native-safe-area-context.d.js.map +1 -0
- package/lib/typescript/components/3DSecureSheet/index.d.ts +5 -0
- package/lib/typescript/components/3DSecureSheet/index.d.ts.map +1 -0
- package/lib/typescript/components/AnimatedContainer/index.d.ts +15 -0
- package/lib/typescript/components/AnimatedContainer/index.d.ts.map +1 -0
- package/lib/typescript/components/AnimatedContainer/styles.d.ts +22 -0
- package/lib/typescript/components/AnimatedContainer/styles.d.ts.map +1 -0
- package/lib/typescript/components/ApplePayButton/index.d.ts +7 -0
- package/lib/typescript/components/ApplePayButton/index.d.ts.map +1 -0
- package/lib/typescript/components/ApplePayButton/styles.d.ts +16 -0
- package/lib/typescript/components/ApplePayButton/styles.d.ts.map +1 -0
- package/lib/typescript/components/Button/index.d.ts +10 -0
- package/lib/typescript/components/Button/index.d.ts.map +1 -0
- package/lib/typescript/components/Button/styles.d.ts +20 -0
- package/lib/typescript/components/Button/styles.d.ts.map +1 -0
- package/lib/typescript/components/CardInformation/index.d.ts +16 -0
- package/lib/typescript/components/CardInformation/index.d.ts.map +1 -0
- package/lib/typescript/components/CardInformation/styles.d.ts +27 -0
- package/lib/typescript/components/CardInformation/styles.d.ts.map +1 -0
- package/lib/typescript/components/CardSheet/index.d.ts +10 -0
- package/lib/typescript/components/CardSheet/index.d.ts.map +1 -0
- package/lib/typescript/components/CardSheet/styles.d.ts +31 -0
- package/lib/typescript/components/CardSheet/styles.d.ts.map +1 -0
- package/lib/typescript/components/CardSheet/useCardSheet/index.d.ts +17 -0
- package/lib/typescript/components/CardSheet/useCardSheet/index.d.ts.map +1 -0
- package/lib/typescript/components/Checkbox/index.d.ts +8 -0
- package/lib/typescript/components/Checkbox/index.d.ts.map +1 -0
- package/lib/typescript/components/Checkbox/styles.d.ts +16 -0
- package/lib/typescript/components/Checkbox/styles.d.ts.map +1 -0
- package/lib/typescript/components/GooglePayButton/index.d.ts +7 -0
- package/lib/typescript/components/GooglePayButton/index.d.ts.map +1 -0
- package/lib/typescript/components/GooglePayButton/styles.d.ts +21 -0
- package/lib/typescript/components/GooglePayButton/styles.d.ts.map +1 -0
- package/lib/typescript/components/Header/index.d.ts +9 -0
- package/lib/typescript/components/Header/index.d.ts.map +1 -0
- package/lib/typescript/components/Header/styles.d.ts +26 -0
- package/lib/typescript/components/Header/styles.d.ts.map +1 -0
- package/lib/typescript/components/ImageButton/index.d.ts +9 -0
- package/lib/typescript/components/ImageButton/index.d.ts.map +1 -0
- package/lib/typescript/components/ImageButton/styles.d.ts +5 -0
- package/lib/typescript/components/ImageButton/styles.d.ts.map +1 -0
- package/lib/typescript/components/InputFields/BaseInputField/index.d.ts +13 -0
- package/lib/typescript/components/InputFields/BaseInputField/index.d.ts.map +1 -0
- package/lib/typescript/components/InputFields/BaseInputField/styles.d.ts +29 -0
- package/lib/typescript/components/InputFields/BaseInputField/styles.d.ts.map +1 -0
- package/lib/typescript/components/InputFields/CVCInputField/index.d.ts +6 -0
- package/lib/typescript/components/InputFields/CVCInputField/index.d.ts.map +1 -0
- package/lib/typescript/components/InputFields/CVCInputField/styles.d.ts +17 -0
- package/lib/typescript/components/InputFields/CVCInputField/styles.d.ts.map +1 -0
- package/lib/typescript/components/InputFields/CardInputField/index.d.ts +9 -0
- package/lib/typescript/components/InputFields/CardInputField/index.d.ts.map +1 -0
- package/lib/typescript/components/InputFields/CardInputField/styles.d.ts +20 -0
- package/lib/typescript/components/InputFields/CardInputField/styles.d.ts.map +1 -0
- package/lib/typescript/components/InputFields/ExpirationDateInputField/index.d.ts +9 -0
- package/lib/typescript/components/InputFields/ExpirationDateInputField/index.d.ts.map +1 -0
- package/lib/typescript/components/LoadingSpinner/index.d.ts +3 -0
- package/lib/typescript/components/LoadingSpinner/index.d.ts.map +1 -0
- package/lib/typescript/components/LoadingSpinner/styles.d.ts +20 -0
- package/lib/typescript/components/LoadingSpinner/styles.d.ts.map +1 -0
- package/lib/typescript/components/Modal/index.d.ts +9 -0
- package/lib/typescript/components/Modal/index.d.ts.map +1 -0
- package/lib/typescript/components/Modal/styles.d.ts +20 -0
- package/lib/typescript/components/Modal/styles.d.ts.map +1 -0
- package/lib/typescript/components/NativePayButton/index.d.ts +7 -0
- package/lib/typescript/components/NativePayButton/index.d.ts.map +1 -0
- package/lib/typescript/components/NoInternetConnection/index.d.ts +3 -0
- package/lib/typescript/components/NoInternetConnection/index.d.ts.map +1 -0
- package/lib/typescript/components/NoInternetConnection/styles.d.ts +6 -0
- package/lib/typescript/components/NoInternetConnection/styles.d.ts.map +1 -0
- package/lib/typescript/components/OptionMenuModal/index.d.ts +8 -0
- package/lib/typescript/components/OptionMenuModal/index.d.ts.map +1 -0
- package/lib/typescript/components/OptionMenuModal/styles.d.ts +34 -0
- package/lib/typescript/components/OptionMenuModal/styles.d.ts.map +1 -0
- package/lib/typescript/components/PayButton/index.d.ts +10 -0
- package/lib/typescript/components/PayButton/index.d.ts.map +1 -0
- package/lib/typescript/components/PayButton/styles.d.ts +16 -0
- package/lib/typescript/components/PayButton/styles.d.ts.map +1 -0
- package/lib/typescript/components/PaymentMethod/index.d.ts +11 -0
- package/lib/typescript/components/PaymentMethod/index.d.ts.map +1 -0
- package/lib/typescript/components/PaymentMethod/styles.d.ts +11 -0
- package/lib/typescript/components/PaymentMethod/styles.d.ts.map +1 -0
- package/lib/typescript/components/PaymentMethodFormHeaderOption/index.d.ts +11 -0
- package/lib/typescript/components/PaymentMethodFormHeaderOption/index.d.ts.map +1 -0
- package/lib/typescript/components/PaymentMethodFormHeaderOption/styles.d.ts +27 -0
- package/lib/typescript/components/PaymentMethodFormHeaderOption/styles.d.ts.map +1 -0
- package/lib/typescript/components/PaymentMethodsForm/index.d.ts +7 -0
- package/lib/typescript/components/PaymentMethodsForm/index.d.ts.map +1 -0
- package/lib/typescript/components/PaymentMethodsForm/styles.d.ts +15 -0
- package/lib/typescript/components/PaymentMethodsForm/styles.d.ts.map +1 -0
- package/lib/typescript/components/PaymentSheet/index.d.ts +5 -0
- package/lib/typescript/components/PaymentSheet/index.d.ts.map +1 -0
- package/lib/typescript/components/PrivacyPolicySheet/consts.d.ts +41 -0
- package/lib/typescript/components/PrivacyPolicySheet/consts.d.ts.map +1 -0
- package/lib/typescript/components/PrivacyPolicySheet/index.d.ts +10 -0
- package/lib/typescript/components/PrivacyPolicySheet/index.d.ts.map +1 -0
- package/lib/typescript/components/ProcessButton/index.d.ts +11 -0
- package/lib/typescript/components/ProcessButton/index.d.ts.map +1 -0
- package/lib/typescript/components/ProcessButton/styles.d.ts +16 -0
- package/lib/typescript/components/ProcessButton/styles.d.ts.map +1 -0
- package/lib/typescript/components/SaveCard/index.d.ts +9 -0
- package/lib/typescript/components/SaveCard/index.d.ts.map +1 -0
- package/lib/typescript/components/SaveCard/styles.d.ts +10 -0
- package/lib/typescript/components/SaveCard/styles.d.ts.map +1 -0
- package/lib/typescript/components/SaveCard/useSaveCard/index.d.ts +9 -0
- package/lib/typescript/components/SaveCard/useSaveCard/index.d.ts.map +1 -0
- package/lib/typescript/components/SaveCardButton/index.d.ts +10 -0
- package/lib/typescript/components/SaveCardButton/index.d.ts.map +1 -0
- package/lib/typescript/components/SaveCardButton/styles.d.ts +16 -0
- package/lib/typescript/components/SaveCardButton/styles.d.ts.map +1 -0
- package/lib/typescript/components/SaveCardSheet/index.d.ts +5 -0
- package/lib/typescript/components/SaveCardSheet/index.d.ts.map +1 -0
- package/lib/typescript/components/SavedCard/index.d.ts +8 -0
- package/lib/typescript/components/SavedCard/index.d.ts.map +1 -0
- package/lib/typescript/components/SavedCard/styles.d.ts +23 -0
- package/lib/typescript/components/SavedCard/styles.d.ts.map +1 -0
- package/lib/typescript/components/SavedCardsSheet/index.d.ts +10 -0
- package/lib/typescript/components/SavedCardsSheet/index.d.ts.map +1 -0
- package/lib/typescript/components/SavedCardsSheet/styles.d.ts +9 -0
- package/lib/typescript/components/SavedCardsSheet/styles.d.ts.map +1 -0
- package/lib/typescript/components/SumUpProvider.d.ts +25 -0
- package/lib/typescript/components/SumUpProvider.d.ts.map +1 -0
- package/lib/typescript/components/Switch/index.d.ts +9 -0
- package/lib/typescript/components/Switch/index.d.ts.map +1 -0
- package/lib/typescript/components/Switch/styles.d.ts +37 -0
- package/lib/typescript/components/Switch/styles.d.ts.map +1 -0
- package/lib/typescript/components/Text/index.d.ts +10 -0
- package/lib/typescript/components/Text/index.d.ts.map +1 -0
- package/lib/typescript/components/Text/styles.d.ts +9 -0
- package/lib/typescript/components/Text/styles.d.ts.map +1 -0
- package/lib/typescript/components/WebViewSheet/index.d.ts +9 -0
- package/lib/typescript/components/WebViewSheet/index.d.ts.map +1 -0
- package/lib/typescript/components/WebViewSheet/styles.d.ts +34 -0
- package/lib/typescript/components/WebViewSheet/styles.d.ts.map +1 -0
- package/lib/typescript/consts/UI.d.ts +5 -0
- package/lib/typescript/consts/UI.d.ts.map +1 -0
- package/lib/typescript/consts/errors.d.ts +7 -0
- package/lib/typescript/consts/errors.d.ts.map +1 -0
- package/lib/typescript/consts/nativePayMethod.d.ts +12 -0
- package/lib/typescript/consts/nativePayMethod.d.ts.map +1 -0
- package/lib/typescript/consts/validation.d.ts +16 -0
- package/lib/typescript/consts/validation.d.ts.map +1 -0
- package/lib/typescript/contexts/LanguageContext/index.d.ts +12 -0
- package/lib/typescript/contexts/LanguageContext/index.d.ts.map +1 -0
- package/lib/typescript/contexts/OptionMenuContext/index.d.ts +16 -0
- package/lib/typescript/contexts/OptionMenuContext/index.d.ts.map +1 -0
- package/lib/typescript/contexts/PaymentSheetContext/index.d.ts +13 -0
- package/lib/typescript/contexts/PaymentSheetContext/index.d.ts.map +1 -0
- package/lib/typescript/contexts/StoreContext.d.ts +15 -0
- package/lib/typescript/contexts/StoreContext.d.ts.map +1 -0
- package/lib/typescript/contexts/ThemeContext.d.ts +45 -0
- package/lib/typescript/contexts/ThemeContext.d.ts.map +1 -0
- package/lib/typescript/helpers/formatAmount/index.d.ts +2 -0
- package/lib/typescript/helpers/formatAmount/index.d.ts.map +1 -0
- package/lib/typescript/helpers/getUserAgent/index.d.ts +2 -0
- package/lib/typescript/helpers/getUserAgent/index.d.ts.map +1 -0
- package/lib/typescript/helpers/validation/paymentFields.d.ts +12 -0
- package/lib/typescript/helpers/validation/paymentFields.d.ts.map +1 -0
- package/lib/typescript/hooks/base/index.d.ts +6 -0
- package/lib/typescript/hooks/base/index.d.ts.map +1 -0
- package/lib/typescript/hooks/base/useCard/index.d.ts +3 -0
- package/lib/typescript/hooks/base/useCard/index.d.ts.map +1 -0
- package/lib/typescript/hooks/base/useCvcCode/index.d.ts +3 -0
- package/lib/typescript/hooks/base/useCvcCode/index.d.ts.map +1 -0
- package/lib/typescript/hooks/base/useExpirationDate/index.d.ts +3 -0
- package/lib/typescript/hooks/base/useExpirationDate/index.d.ts.map +1 -0
- package/lib/typescript/hooks/base/useName/index.d.ts +3 -0
- package/lib/typescript/hooks/base/useName/index.d.ts.map +1 -0
- package/lib/typescript/hooks/useSafeArea.d.ts +7 -0
- package/lib/typescript/hooks/useSafeArea.d.ts.map +1 -0
- package/lib/typescript/hooks/useSumUp.d.ts +15 -0
- package/lib/typescript/hooks/useSumUp.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +6 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/publicApi/errors.d.ts +29 -0
- package/lib/typescript/publicApi/errors.d.ts.map +1 -0
- package/lib/typescript/services/API/ApiManager/index.d.ts +32 -0
- package/lib/typescript/services/API/ApiManager/index.d.ts.map +1 -0
- package/lib/typescript/services/API/CheckoutApiManager/index.d.ts +17 -0
- package/lib/typescript/services/API/CheckoutApiManager/index.d.ts.map +1 -0
- package/lib/typescript/services/API/CheckoutApiManager/models.d.ts +80 -0
- package/lib/typescript/services/API/CheckoutApiManager/models.d.ts.map +1 -0
- package/lib/typescript/services/API/PullingService/index.d.ts +7 -0
- package/lib/typescript/services/API/PullingService/index.d.ts.map +1 -0
- package/lib/typescript/services/ApplePayService/index.d.ts +11 -0
- package/lib/typescript/services/ApplePayService/index.d.ts.map +1 -0
- package/lib/typescript/services/GooglePayService/index.d.ts +12 -0
- package/lib/typescript/services/GooglePayService/index.d.ts.map +1 -0
- package/lib/typescript/services/Logger/index.d.ts +12 -0
- package/lib/typescript/services/Logger/index.d.ts.map +1 -0
- package/lib/typescript/services/NativePaymentsBridge/index.d.ts +34 -0
- package/lib/typescript/services/NativePaymentsBridge/index.d.ts.map +1 -0
- package/lib/typescript/stores/BaseSheetStore/index.d.ts +24 -0
- package/lib/typescript/stores/BaseSheetStore/index.d.ts.map +1 -0
- package/lib/typescript/stores/NativePaymentStore/index.d.ts +23 -0
- package/lib/typescript/stores/NativePaymentStore/index.d.ts.map +1 -0
- package/lib/typescript/stores/PaymentInstrumentsStore/index.d.ts +29 -0
- package/lib/typescript/stores/PaymentInstrumentsStore/index.d.ts.map +1 -0
- package/lib/typescript/stores/PaymentStore/index.d.ts +18 -0
- package/lib/typescript/stores/PaymentStore/index.d.ts.map +1 -0
- package/lib/typescript/stores/RootStore.d.ts +14 -0
- package/lib/typescript/stores/RootStore.d.ts.map +1 -0
- package/lib/typescript/stores/SaveCardStore/index.d.ts +17 -0
- package/lib/typescript/stores/SaveCardStore/index.d.ts.map +1 -0
- package/lib/typescript/stores/ThreeDSecureStore/index.d.ts +18 -0
- package/lib/typescript/stores/ThreeDSecureStore/index.d.ts.map +1 -0
- package/lib/typescript/styles/colors.d.ts +23 -0
- package/lib/typescript/styles/colors.d.ts.map +1 -0
- package/lib/typescript/styles/fonts.d.ts +6 -0
- package/lib/typescript/styles/fonts.d.ts.map +1 -0
- package/lib/typescript/styles/images.d.ts +16 -0
- package/lib/typescript/styles/images.d.ts.map +1 -0
- package/lib/typescript/styles/index.d.ts +5 -0
- package/lib/typescript/styles/index.d.ts.map +1 -0
- package/lib/typescript/translations/index.d.ts +2 -0
- package/lib/typescript/translations/index.d.ts.map +1 -0
- package/lib/typescript/types/ApplePay.d.ts +32 -0
- package/lib/typescript/types/ApplePay.d.ts.map +1 -0
- package/lib/typescript/types/CommonSheet.d.ts +45 -0
- package/lib/typescript/types/CommonSheet.d.ts.map +1 -0
- package/lib/typescript/types/GooglePay.d.ts +45 -0
- package/lib/typescript/types/GooglePay.d.ts.map +1 -0
- package/lib/typescript/types/PaymentSheet.d.ts +76 -0
- package/lib/typescript/types/PaymentSheet.d.ts.map +1 -0
- package/lib/typescript/types/Requests.d.ts +20 -0
- package/lib/typescript/types/Requests.d.ts.map +1 -0
- package/lib/typescript/types/SaveCardSheet.d.ts +22 -0
- package/lib/typescript/types/SaveCardSheet.d.ts.map +1 -0
- package/lib/typescript/types/index.d.ts +13 -0
- package/lib/typescript/types/index.d.ts.map +1 -0
- package/package.json +164 -0
- package/src/assets/fonts/AktivGrotesk/AktivGrotesk-Bold.ttf +0 -0
- package/src/assets/fonts/SFProText/SFProText-Bold.ttf +0 -0
- package/src/assets/fonts/SFProText/SFProText-Regular.ttf +0 -0
- package/src/assets/icons/americanExpress/americanExpress@2x.png +0 -0
- package/src/assets/icons/americanExpress/americanExpress@3x.png +0 -0
- package/src/assets/icons/applePay/applePay@2x.png +0 -0
- package/src/assets/icons/applePay/applePay@3x.png +0 -0
- package/src/assets/icons/back/back@2x.png +0 -0
- package/src/assets/icons/back/back@3x.png +0 -0
- package/src/assets/icons/cardPlaceholder/cardPlaceholder@2x.png +0 -0
- package/src/assets/icons/cardPlaceholder/cardPlaceholder@3x.png +0 -0
- package/src/assets/icons/checkbox/checkbox@2x.png +0 -0
- package/src/assets/icons/checkbox/checkbox@3x.png +0 -0
- package/src/assets/icons/cross/cross@2x.png +0 -0
- package/src/assets/icons/cross/cross@3x.png +0 -0
- package/src/assets/icons/googlePay/googlePay@2x.png +0 -0
- package/src/assets/icons/googlePay/googlePay@3x.png +0 -0
- package/src/assets/icons/lock/lock@2x.png +0 -0
- package/src/assets/icons/lock/lock@3x.png +0 -0
- package/src/assets/icons/mastercard/mastercard@2x.png +0 -0
- package/src/assets/icons/mastercard/mastercard@3x.png +0 -0
- package/src/assets/icons/more/more@2x.png +0 -0
- package/src/assets/icons/more/more@3x.png +0 -0
- package/src/assets/icons/rightArrow/rightArrow@2x.png +0 -0
- package/src/assets/icons/rightArrow/rightArrow@3x.png +0 -0
- package/src/assets/icons/visa/visa@2x.png +0 -0
- package/src/assets/icons/visa/visa@3x.png +0 -0
- package/src/assets/icons/whiteCheckmark/whiteCheckmark@2x.png +0 -0
- package/src/assets/icons/whiteCheckmark/whiteCheckmark@3x.png +0 -0
- package/src/components/3DSecureSheet/index.tsx +57 -0
- package/src/components/AnimatedContainer/index.tsx +105 -0
- package/src/components/AnimatedContainer/styles.tsx +32 -0
- package/src/components/ApplePayButton/index.tsx +26 -0
- package/src/components/ApplePayButton/styles.tsx +24 -0
- package/src/components/Button/index.tsx +22 -0
- package/src/components/Button/styles.tsx +52 -0
- package/src/components/CardInformation/index.tsx +129 -0
- package/src/components/CardInformation/styles.tsx +35 -0
- package/src/components/CardSheet/index.tsx +165 -0
- package/src/components/CardSheet/styles.tsx +46 -0
- package/src/components/CardSheet/useCardSheet/index.ts +104 -0
- package/src/components/Checkbox/index.tsx +26 -0
- package/src/components/Checkbox/styles.tsx +24 -0
- package/src/components/GooglePayButton/index.tsx +26 -0
- package/src/components/GooglePayButton/styles.tsx +29 -0
- package/src/components/Header/index.tsx +37 -0
- package/src/components/Header/styles.tsx +34 -0
- package/src/components/ImageButton/index.tsx +22 -0
- package/src/components/ImageButton/styles.tsx +10 -0
- package/src/components/InputFields/BaseInputField/index.tsx +62 -0
- package/src/components/InputFields/BaseInputField/styles.tsx +37 -0
- package/src/components/InputFields/CVCInputField/index.tsx +27 -0
- package/src/components/InputFields/CVCInputField/styles.tsx +22 -0
- package/src/components/InputFields/CardInputField/index.tsx +56 -0
- package/src/components/InputFields/CardInputField/styles.tsx +25 -0
- package/src/components/InputFields/ExpirationDateInputField/index.tsx +24 -0
- package/src/components/LoadingSpinner/index.tsx +51 -0
- package/src/components/LoadingSpinner/styles.tsx +28 -0
- package/src/components/Modal/index.tsx +31 -0
- package/src/components/Modal/styles.tsx +28 -0
- package/src/components/NativePayButton/index.tsx +16 -0
- package/src/components/NoInternetConnection/index.tsx +24 -0
- package/src/components/NoInternetConnection/styles.tsx +14 -0
- package/src/components/OptionMenuModal/index.tsx +97 -0
- package/src/components/OptionMenuModal/styles.tsx +43 -0
- package/src/components/PayButton/index.tsx +55 -0
- package/src/components/PayButton/styles.tsx +24 -0
- package/src/components/PaymentMethod/index.tsx +43 -0
- package/src/components/PaymentMethod/styles.tsx +16 -0
- package/src/components/PaymentMethodFormHeaderOption/index.tsx +34 -0
- package/src/components/PaymentMethodFormHeaderOption/styles.tsx +35 -0
- package/src/components/PaymentMethodsForm/index.tsx +24 -0
- package/src/components/PaymentMethodsForm/styles.tsx +23 -0
- package/src/components/PaymentSheet/index.tsx +86 -0
- package/src/components/PrivacyPolicySheet/consts.ts +42 -0
- package/src/components/PrivacyPolicySheet/index.tsx +56 -0
- package/src/components/ProcessButton/index.tsx +75 -0
- package/src/components/ProcessButton/styles.tsx +36 -0
- package/src/components/SaveCard/index.tsx +88 -0
- package/src/components/SaveCard/styles.tsx +18 -0
- package/src/components/SaveCard/useSaveCard/index.ts +71 -0
- package/src/components/SaveCardButton/index.tsx +32 -0
- package/src/components/SaveCardButton/styles.tsx +24 -0
- package/src/components/SaveCardSheet/index.tsx +24 -0
- package/src/components/SavedCard/index.tsx +50 -0
- package/src/components/SavedCard/styles.tsx +31 -0
- package/src/components/SavedCardsSheet/index.tsx +108 -0
- package/src/components/SavedCardsSheet/styles.tsx +17 -0
- package/src/components/SumUpProvider.tsx +68 -0
- package/src/components/Switch/index.tsx +40 -0
- package/src/components/Switch/styles.tsx +48 -0
- package/src/components/Text/index.tsx +98 -0
- package/src/components/Text/styles.tsx +13 -0
- package/src/components/WebViewSheet/index.tsx +52 -0
- package/src/components/WebViewSheet/styles.tsx +45 -0
- package/src/consts/UI.ts +3 -0
- package/src/consts/errors.ts +7 -0
- package/src/consts/nativePayMethod.ts +14 -0
- package/src/consts/validation.ts +14 -0
- package/src/contexts/LanguageContext/index.tsx +47 -0
- package/src/contexts/OptionMenuContext/index.tsx +46 -0
- package/src/contexts/PaymentSheetContext/index.tsx +41 -0
- package/src/contexts/StoreContext.tsx +46 -0
- package/src/contexts/ThemeContext.tsx +9 -0
- package/src/helpers/formatAmount/index.ts +22 -0
- package/src/helpers/getUserAgent/index.ts +5 -0
- package/src/helpers/validation/paymentFields.ts +73 -0
- package/src/hooks/base/index.ts +6 -0
- package/src/hooks/base/useCard/index.ts +69 -0
- package/src/hooks/base/useCvcCode/index.ts +51 -0
- package/src/hooks/base/useExpirationDate/index.ts +71 -0
- package/src/hooks/base/useName/index.ts +51 -0
- package/src/hooks/useSafeArea.ts +12 -0
- package/src/hooks/useSumUp.ts +100 -0
- package/src/index.tsx +16 -0
- package/src/publicApi/errors.ts +155 -0
- package/src/services/API/ApiManager/index.ts +182 -0
- package/src/services/API/CheckoutApiManager/index.ts +148 -0
- package/src/services/API/CheckoutApiManager/models.ts +140 -0
- package/src/services/API/PullingService/index.ts +29 -0
- package/src/services/ApplePayService/index.ts +54 -0
- package/src/services/GooglePayService/index.ts +67 -0
- package/src/services/Logger/index.ts +28 -0
- package/src/services/NativePaymentsBridge/index.ts +44 -0
- package/src/stores/BaseSheetStore/index.ts +181 -0
- package/src/stores/NativePaymentStore/index.ts +137 -0
- package/src/stores/PaymentInstrumentsStore/index.ts +166 -0
- package/src/stores/PaymentStore/index.ts +188 -0
- package/src/stores/RootStore.ts +29 -0
- package/src/stores/SaveCardStore/index.ts +159 -0
- package/src/stores/ThreeDSecureStore/index.ts +75 -0
- package/src/styles/colors.ts +22 -0
- package/src/styles/fonts.ts +5 -0
- package/src/styles/images.ts +15 -0
- package/src/styles/index.ts +5 -0
- package/src/translations/bg-BG.json +55 -0
- package/src/translations/ca-ES.json +55 -0
- package/src/translations/cs-CZ.json +55 -0
- package/src/translations/da-DK.json +55 -0
- package/src/translations/de-AT.json +55 -0
- package/src/translations/de-CH.json +55 -0
- package/src/translations/de-DE.json +55 -0
- package/src/translations/de-LU.json +55 -0
- package/src/translations/el-CY.json +55 -0
- package/src/translations/el-GR.json +55 -0
- package/src/translations/en-AU.json +55 -0
- package/src/translations/en-GB.json +55 -0
- package/src/translations/en-IE.json +55 -0
- package/src/translations/en-MT.json +55 -0
- package/src/translations/en-US.json +55 -0
- package/src/translations/en.json +55 -0
- package/src/translations/es-CL.json +55 -0
- package/src/translations/es-CO.json +55 -0
- package/src/translations/es-ES.json +55 -0
- package/src/translations/es-LA.json +55 -0
- package/src/translations/es-PE.json +55 -0
- package/src/translations/et-EE.json +55 -0
- package/src/translations/fi-FI.json +55 -0
- package/src/translations/fr-BE.json +55 -0
- package/src/translations/fr-CH.json +55 -0
- package/src/translations/fr-FR.json +55 -0
- package/src/translations/fr-LU.json +55 -0
- package/src/translations/hr-HR.json +55 -0
- package/src/translations/hu-HU.json +55 -0
- package/src/translations/index.ts +87 -0
- package/src/translations/it-CH.json +55 -0
- package/src/translations/it-IT.json +55 -0
- package/src/translations/lt-LT.json +55 -0
- package/src/translations/lv-LV.json +55 -0
- package/src/translations/nb-NO.json +55 -0
- package/src/translations/nl-BE.json +55 -0
- package/src/translations/nl-NL.json +55 -0
- package/src/translations/pl-PL.json +55 -0
- package/src/translations/pt-BR.json +55 -0
- package/src/translations/pt-PT.json +55 -0
- package/src/translations/ro-RO.json +55 -0
- package/src/translations/sk-SK.json +55 -0
- package/src/translations/sl-SI.json +55 -0
- package/src/translations/sv-SE.json +55 -0
- package/src/types/ApplePay.ts +33 -0
- package/src/types/CommonSheet.ts +60 -0
- package/src/types/GooglePay.ts +44 -0
- package/src/types/PaymentSheet.ts +102 -0
- package/src/types/Requests.ts +20 -0
- package/src/types/SaveCardSheet.ts +24 -0
- package/src/types/index.ts +14 -0
- package/src/types/react-native-safe-area-context.d.ts +16 -0
- package/sumup-react-native.podspec +35 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
import type { InputModel } from '../../../types/PaymentSheet';
|
|
3
|
+
import consts from '../../../consts/validation';
|
|
4
|
+
import { useStrings } from '../../../contexts/LanguageContext';
|
|
5
|
+
import { isCvcValid } from '../../../helpers/validation/paymentFields';
|
|
6
|
+
|
|
7
|
+
export const useCvcCode = (): InputModel => {
|
|
8
|
+
const { strings } = useStrings();
|
|
9
|
+
|
|
10
|
+
const [value, setValue] = useState('');
|
|
11
|
+
const [errorText, setErrorText] = useState('');
|
|
12
|
+
|
|
13
|
+
const isValid = isCvcValid(value);
|
|
14
|
+
|
|
15
|
+
const onFocus = () => {
|
|
16
|
+
setErrorText('');
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const onBlur = () => {
|
|
20
|
+
if (value.length === consts.EMPTY_FIELD_LENGTH) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
showErrorIfNeeded();
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const reset = () => {
|
|
28
|
+
setValue('');
|
|
29
|
+
setErrorText('');
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const showErrorIfNeeded = () => {
|
|
33
|
+
if (value.length === consts.EMPTY_FIELD_LENGTH) {
|
|
34
|
+
setErrorText(strings.choosePaymentMethod.cardInformation.requiredField);
|
|
35
|
+
} else if (!isValid) {
|
|
36
|
+
setErrorText(strings.choosePaymentMethod.cardInformation.invalidCvv);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
return {
|
|
41
|
+
value,
|
|
42
|
+
errorText,
|
|
43
|
+
isValid,
|
|
44
|
+
setValue,
|
|
45
|
+
setErrorText,
|
|
46
|
+
onFocus,
|
|
47
|
+
onBlur,
|
|
48
|
+
reset,
|
|
49
|
+
showErrorIfNeeded,
|
|
50
|
+
};
|
|
51
|
+
};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { useRef, useState } from 'react';
|
|
2
|
+
import { useStrings } from '../../../contexts/LanguageContext';
|
|
3
|
+
import type { ExpirationDateInputModel } from '../../../types/PaymentSheet';
|
|
4
|
+
import consts from '../../../consts/validation';
|
|
5
|
+
import {
|
|
6
|
+
isValidExpirationDate,
|
|
7
|
+
normalizeExpirationInput,
|
|
8
|
+
} from '../../../helpers/validation/paymentFields';
|
|
9
|
+
|
|
10
|
+
export const useExpirationDate = (): ExpirationDateInputModel => {
|
|
11
|
+
const { strings } = useStrings();
|
|
12
|
+
|
|
13
|
+
const [value, setValue] = useState('');
|
|
14
|
+
const [errorText, setErrorText] = useState('');
|
|
15
|
+
const [isValid, setIsValid] = useState(false);
|
|
16
|
+
|
|
17
|
+
const monthRef = useRef(0);
|
|
18
|
+
const yearRef = useRef(0);
|
|
19
|
+
|
|
20
|
+
const onChangeText = (text: string) => {
|
|
21
|
+
const normalized = normalizeExpirationInput(text);
|
|
22
|
+
setValue(normalized.value);
|
|
23
|
+
|
|
24
|
+
monthRef.current = normalized.month;
|
|
25
|
+
yearRef.current = normalized.year;
|
|
26
|
+
|
|
27
|
+
setIsValid(isValidExpirationDate(normalized.year, normalized.month));
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const onFocus = () => {
|
|
31
|
+
setErrorText('');
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const onBlur = () => {
|
|
35
|
+
if (value.length === consts.EMPTY_FIELD_LENGTH) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
showErrorIfNeeded();
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const showErrorIfNeeded = () => {
|
|
43
|
+
if (value.length === consts.EMPTY_FIELD_LENGTH) {
|
|
44
|
+
setErrorText(strings.choosePaymentMethod.cardInformation.requiredField);
|
|
45
|
+
} else if (!isValid) {
|
|
46
|
+
setErrorText(strings.choosePaymentMethod.cardInformation.invalidDate);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
const reset = () => {
|
|
51
|
+
setValue('');
|
|
52
|
+
setErrorText('');
|
|
53
|
+
setIsValid(false);
|
|
54
|
+
monthRef.current = 0;
|
|
55
|
+
yearRef.current = 0;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
return {
|
|
59
|
+
value,
|
|
60
|
+
errorText,
|
|
61
|
+
isValid,
|
|
62
|
+
month: monthRef.current,
|
|
63
|
+
year: yearRef.current,
|
|
64
|
+
setValue: onChangeText,
|
|
65
|
+
setErrorText,
|
|
66
|
+
onFocus,
|
|
67
|
+
onBlur,
|
|
68
|
+
reset,
|
|
69
|
+
showErrorIfNeeded,
|
|
70
|
+
};
|
|
71
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
import type { InputModel } from '../../../types/PaymentSheet';
|
|
3
|
+
import consts from '../../../consts/validation';
|
|
4
|
+
import { useStrings } from '../../../contexts/LanguageContext';
|
|
5
|
+
import { isNameValid } from '../../../helpers/validation/paymentFields';
|
|
6
|
+
|
|
7
|
+
export const useName = (defaultName?: string | null): InputModel => {
|
|
8
|
+
const { strings } = useStrings();
|
|
9
|
+
|
|
10
|
+
const [value, setValue] = useState(defaultName || '');
|
|
11
|
+
const [errorText, setErrorText] = useState('');
|
|
12
|
+
|
|
13
|
+
const isValid = isNameValid(value);
|
|
14
|
+
|
|
15
|
+
const onFocus = () => {
|
|
16
|
+
setErrorText('');
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const onBlur = () => {
|
|
20
|
+
if (value.length === consts.EMPTY_FIELD_LENGTH) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
showErrorIfNeeded();
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const reset = () => {
|
|
28
|
+
setValue('');
|
|
29
|
+
setErrorText('');
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const showErrorIfNeeded = () => {
|
|
33
|
+
if (value.length === consts.EMPTY_FIELD_LENGTH) {
|
|
34
|
+
setErrorText(strings.choosePaymentMethod.cardInformation.requiredField);
|
|
35
|
+
} else if (!isValid) {
|
|
36
|
+
setErrorText(strings.choosePaymentMethod.cardInformation.shortLenght);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
return {
|
|
41
|
+
value,
|
|
42
|
+
errorText,
|
|
43
|
+
isValid,
|
|
44
|
+
setValue,
|
|
45
|
+
setErrorText,
|
|
46
|
+
onFocus,
|
|
47
|
+
onBlur,
|
|
48
|
+
reset,
|
|
49
|
+
showErrorIfNeeded,
|
|
50
|
+
};
|
|
51
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
2
|
+
import { Platform, StatusBar } from 'react-native';
|
|
3
|
+
|
|
4
|
+
export const useSafeArea = () => {
|
|
5
|
+
const insets = useSafeAreaInsets();
|
|
6
|
+
|
|
7
|
+
const top =
|
|
8
|
+
Platform.OS === 'android'
|
|
9
|
+
? insets.top + (StatusBar.currentHeight || 0)
|
|
10
|
+
: insets.top;
|
|
11
|
+
return { ...insets, top };
|
|
12
|
+
};
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { useCallback } from 'react';
|
|
2
|
+
import { useStrings } from '../contexts/LanguageContext';
|
|
3
|
+
import { usePaymentStore, useSaveCardStore } from '../contexts/StoreContext';
|
|
4
|
+
import type * as PaymentSheet from '../types/PaymentSheet';
|
|
5
|
+
import logger from '../services/Logger';
|
|
6
|
+
import { CommonSheet, SaveCardSheet } from '../types';
|
|
7
|
+
import { PresentSheetResult } from '../types/CommonSheet';
|
|
8
|
+
import {
|
|
9
|
+
normalizePresentSheetResult,
|
|
10
|
+
normalizePublicSdkError,
|
|
11
|
+
} from '../publicApi/errors';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* useSumUp hook
|
|
15
|
+
*/
|
|
16
|
+
export function useSumUp() {
|
|
17
|
+
const {
|
|
18
|
+
showPaymentSheet,
|
|
19
|
+
hidePaymentSheet,
|
|
20
|
+
configure: configurePayment,
|
|
21
|
+
} = usePaymentStore();
|
|
22
|
+
const { configure: configureSaveCard, showSaveCardSheet } =
|
|
23
|
+
useSaveCardStore();
|
|
24
|
+
const { initStrings } = useStrings();
|
|
25
|
+
|
|
26
|
+
const initPaymentSheet = useCallback(
|
|
27
|
+
async (
|
|
28
|
+
params: PaymentSheet.InitPaymentSheetProps
|
|
29
|
+
): Promise<PaymentSheet.InitPaymentSheetResult> => {
|
|
30
|
+
try {
|
|
31
|
+
initStrings(params.language);
|
|
32
|
+
return normalizePresentSheetResult(await configurePayment(params));
|
|
33
|
+
} catch (error) {
|
|
34
|
+
throw normalizePublicSdkError(error);
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
[configurePayment, initStrings]
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
const presentPaymentSheet =
|
|
41
|
+
useCallback(async (): Promise<PresentSheetResult> => {
|
|
42
|
+
return new Promise((resolve, reject) => {
|
|
43
|
+
try {
|
|
44
|
+
showPaymentSheet((result) =>
|
|
45
|
+
resolve(normalizePresentSheetResult(result))
|
|
46
|
+
);
|
|
47
|
+
} catch (error) {
|
|
48
|
+
reject(normalizePublicSdkError(error));
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}, [showPaymentSheet]);
|
|
52
|
+
|
|
53
|
+
const dismissPaymentSheet = useCallback(async (): Promise<void> => {
|
|
54
|
+
try {
|
|
55
|
+
return hidePaymentSheet(false);
|
|
56
|
+
} catch (error) {
|
|
57
|
+
throw normalizePublicSdkError(error);
|
|
58
|
+
}
|
|
59
|
+
}, [hidePaymentSheet]);
|
|
60
|
+
|
|
61
|
+
const initSaveCardSheet = useCallback(
|
|
62
|
+
async (
|
|
63
|
+
params: SaveCardSheet.InitSaveCardSheetProps
|
|
64
|
+
): Promise<SaveCardSheet.InitSaveCardSheetResult> => {
|
|
65
|
+
try {
|
|
66
|
+
initStrings(params.language);
|
|
67
|
+
return normalizePresentSheetResult(await configureSaveCard(params));
|
|
68
|
+
} catch (error) {
|
|
69
|
+
throw normalizePublicSdkError(error);
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
[configureSaveCard, initStrings]
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
const presentSaveCardSheet =
|
|
76
|
+
useCallback(async (): Promise<PresentSheetResult> => {
|
|
77
|
+
return new Promise((resolve, reject) => {
|
|
78
|
+
try {
|
|
79
|
+
showSaveCardSheet((result) =>
|
|
80
|
+
resolve(normalizePresentSheetResult(result))
|
|
81
|
+
);
|
|
82
|
+
} catch (error) {
|
|
83
|
+
reject(normalizePublicSdkError(error));
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}, [showSaveCardSheet]);
|
|
87
|
+
|
|
88
|
+
const configureLogs = (onLog: CommonSheet.OnLogCallback) => {
|
|
89
|
+
logger.setupCallback(onLog);
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
return {
|
|
93
|
+
configureLogs,
|
|
94
|
+
initPaymentSheet,
|
|
95
|
+
presentPaymentSheet,
|
|
96
|
+
initSaveCardSheet,
|
|
97
|
+
presentSaveCardSheet,
|
|
98
|
+
dismissPaymentSheet,
|
|
99
|
+
};
|
|
100
|
+
}
|
package/src/index.tsx
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// hooks
|
|
2
|
+
export { useSumUp } from './hooks/useSumUp';
|
|
3
|
+
|
|
4
|
+
// components
|
|
5
|
+
export { SumUpProvider } from './components/SumUpProvider';
|
|
6
|
+
export { PaymentSheet } from './components/PaymentSheet';
|
|
7
|
+
|
|
8
|
+
// types
|
|
9
|
+
export * from './types';
|
|
10
|
+
|
|
11
|
+
// public api contracts
|
|
12
|
+
export {
|
|
13
|
+
PublicSdkError,
|
|
14
|
+
PUBLIC_SDK_ERROR_CODES,
|
|
15
|
+
type PublicSdkErrorCode,
|
|
16
|
+
} from './publicApi/errors';
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { ERROR_CODES } from '../consts/errors';
|
|
2
|
+
import type { PresentSheetResult, SheetError } from '../types/CommonSheet';
|
|
3
|
+
|
|
4
|
+
export const PUBLIC_SDK_ERROR_CODES = {
|
|
5
|
+
api: 'API_ERROR',
|
|
6
|
+
canceled: 'CANCELED',
|
|
7
|
+
invalidInput: 'INVALID_INPUT',
|
|
8
|
+
network: 'NETWORK',
|
|
9
|
+
threeDSecure: 'THREE_D_SECURE',
|
|
10
|
+
unknown: 'UNKNOWN',
|
|
11
|
+
} as const;
|
|
12
|
+
|
|
13
|
+
export type PublicSdkErrorCode =
|
|
14
|
+
(typeof PUBLIC_SDK_ERROR_CODES)[keyof typeof PUBLIC_SDK_ERROR_CODES];
|
|
15
|
+
|
|
16
|
+
interface PublicSdkErrorParams {
|
|
17
|
+
code: PublicSdkErrorCode;
|
|
18
|
+
message: string;
|
|
19
|
+
cause?: unknown;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export class PublicSdkError extends Error {
|
|
23
|
+
readonly code: PublicSdkErrorCode;
|
|
24
|
+
readonly cause: unknown;
|
|
25
|
+
|
|
26
|
+
constructor(params: PublicSdkErrorParams) {
|
|
27
|
+
super(params.message);
|
|
28
|
+
this.name = 'PublicSdkError';
|
|
29
|
+
this.code = params.code;
|
|
30
|
+
this.cause = params.cause;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const INVALID_INPUT_PATTERNS = [
|
|
35
|
+
'required',
|
|
36
|
+
'invalid',
|
|
37
|
+
'configured',
|
|
38
|
+
'should be configured',
|
|
39
|
+
'wasn`t configured',
|
|
40
|
+
];
|
|
41
|
+
|
|
42
|
+
const NETWORK_PATTERNS = [
|
|
43
|
+
'network',
|
|
44
|
+
'offline',
|
|
45
|
+
'internet',
|
|
46
|
+
'timed out',
|
|
47
|
+
'timeout',
|
|
48
|
+
'failed to fetch',
|
|
49
|
+
];
|
|
50
|
+
|
|
51
|
+
const THREE_D_SECURE_PATTERNS = ['3ds', '3d secure', 'three d secure'];
|
|
52
|
+
|
|
53
|
+
const hasMatchingPattern = (value: string, patterns: string[]) =>
|
|
54
|
+
patterns.some((pattern) => value.includes(pattern));
|
|
55
|
+
|
|
56
|
+
const isObject = (value: unknown): value is Record<string, unknown> =>
|
|
57
|
+
typeof value === 'object' && value !== null;
|
|
58
|
+
|
|
59
|
+
export const inferPublicSdkErrorCode = (
|
|
60
|
+
params: {
|
|
61
|
+
errorCode?: string;
|
|
62
|
+
message?: string;
|
|
63
|
+
status?: SheetError['status'];
|
|
64
|
+
} = {}
|
|
65
|
+
): PublicSdkErrorCode => {
|
|
66
|
+
const errorCode = params.errorCode?.trim();
|
|
67
|
+
const message = params.message?.toLowerCase().trim() || '';
|
|
68
|
+
|
|
69
|
+
if (params.status === 'canceled') {
|
|
70
|
+
return PUBLIC_SDK_ERROR_CODES.canceled;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (errorCode === ERROR_CODES.invalid) {
|
|
74
|
+
return PUBLIC_SDK_ERROR_CODES.invalidInput;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if (errorCode === ERROR_CODES.unknown) {
|
|
78
|
+
return PUBLIC_SDK_ERROR_CODES.network;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
if (errorCode) {
|
|
82
|
+
return PUBLIC_SDK_ERROR_CODES.api;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (hasMatchingPattern(message, NETWORK_PATTERNS)) {
|
|
86
|
+
return PUBLIC_SDK_ERROR_CODES.network;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
if (hasMatchingPattern(message, THREE_D_SECURE_PATTERNS)) {
|
|
90
|
+
return PUBLIC_SDK_ERROR_CODES.threeDSecure;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if (hasMatchingPattern(message, INVALID_INPUT_PATTERNS)) {
|
|
94
|
+
return PUBLIC_SDK_ERROR_CODES.invalidInput;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return PUBLIC_SDK_ERROR_CODES.unknown;
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
const getErrorMessage = (error: unknown) => {
|
|
101
|
+
if (error instanceof Error && error.message) {
|
|
102
|
+
return error.message;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
if (isObject(error) && typeof error.message === 'string') {
|
|
106
|
+
return error.message;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
return 'Unknown SDK error';
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
export const normalizePublicSdkError = (error: unknown): PublicSdkError => {
|
|
113
|
+
if (error instanceof PublicSdkError) {
|
|
114
|
+
return error;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
const status =
|
|
118
|
+
isObject(error) && error.status === 'canceled'
|
|
119
|
+
? 'canceled'
|
|
120
|
+
: isObject(error) && error.status === 'failure'
|
|
121
|
+
? 'failure'
|
|
122
|
+
: undefined;
|
|
123
|
+
const errorCode =
|
|
124
|
+
isObject(error) && typeof error.errorCode === 'string'
|
|
125
|
+
? error.errorCode
|
|
126
|
+
: undefined;
|
|
127
|
+
const message = getErrorMessage(error);
|
|
128
|
+
|
|
129
|
+
return new PublicSdkError({
|
|
130
|
+
code: inferPublicSdkErrorCode({ errorCode, message, status }),
|
|
131
|
+
message,
|
|
132
|
+
cause: error,
|
|
133
|
+
});
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
export const normalizePresentSheetResult = (
|
|
137
|
+
result: PresentSheetResult
|
|
138
|
+
): PresentSheetResult => {
|
|
139
|
+
if (!result.error || result.error.status !== 'failure') {
|
|
140
|
+
return result;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
return {
|
|
144
|
+
...result,
|
|
145
|
+
error: {
|
|
146
|
+
...result.error,
|
|
147
|
+
errorCode:
|
|
148
|
+
result.error.errorCode ||
|
|
149
|
+
inferPublicSdkErrorCode({
|
|
150
|
+
message: result.error.message,
|
|
151
|
+
status: result.error.status,
|
|
152
|
+
}),
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
};
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import logger from '../../../services/Logger';
|
|
2
|
+
import { ERROR_CODES } from '../../../consts/errors';
|
|
3
|
+
|
|
4
|
+
export class ApiError extends Error {
|
|
5
|
+
errorCode: string;
|
|
6
|
+
detail?: string;
|
|
7
|
+
title?: string;
|
|
8
|
+
param?: string;
|
|
9
|
+
|
|
10
|
+
constructor(params: {
|
|
11
|
+
message: string;
|
|
12
|
+
errorCode: string;
|
|
13
|
+
detail?: string;
|
|
14
|
+
title?: string;
|
|
15
|
+
param?: string;
|
|
16
|
+
}) {
|
|
17
|
+
super(params.message);
|
|
18
|
+
this.errorCode = params.errorCode;
|
|
19
|
+
this.detail = params.detail;
|
|
20
|
+
this.param = params.param;
|
|
21
|
+
this.title = params.title;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export enum RequestType {
|
|
26
|
+
checkoutById,
|
|
27
|
+
retrieveCheckout,
|
|
28
|
+
myProfile,
|
|
29
|
+
listPaymentInstruments,
|
|
30
|
+
deletePaymentInstrument,
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export const getRequestString = (
|
|
34
|
+
requestType: RequestType,
|
|
35
|
+
params: string[]
|
|
36
|
+
) => {
|
|
37
|
+
switch (requestType) {
|
|
38
|
+
case RequestType.myProfile:
|
|
39
|
+
return '/public/merchant-profile';
|
|
40
|
+
case RequestType.listPaymentInstruments:
|
|
41
|
+
return `/checkouts/${params[0]}/customers/${params[1]}/payment-instruments`;
|
|
42
|
+
case RequestType.deletePaymentInstrument:
|
|
43
|
+
return `/checkouts/${params[0]}/customers/${params[1]}/payment-instruments/${params[2]}`;
|
|
44
|
+
case RequestType.checkoutById:
|
|
45
|
+
return `/checkouts/${params[0]}`;
|
|
46
|
+
case RequestType.retrieveCheckout:
|
|
47
|
+
return `/checkouts/${params[0]}/status`;
|
|
48
|
+
default:
|
|
49
|
+
return '';
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export const getRequestType = (requestType: RequestType) => {
|
|
54
|
+
switch (requestType) {
|
|
55
|
+
case RequestType.checkoutById:
|
|
56
|
+
return 'PUT';
|
|
57
|
+
case RequestType.deletePaymentInstrument:
|
|
58
|
+
return 'DELETE';
|
|
59
|
+
default:
|
|
60
|
+
return 'GET';
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const getVersion = (requestType: RequestType) => {
|
|
65
|
+
switch (requestType) {
|
|
66
|
+
case RequestType.retrieveCheckout:
|
|
67
|
+
case RequestType.listPaymentInstruments:
|
|
68
|
+
case RequestType.deletePaymentInstrument:
|
|
69
|
+
return 'v0.2';
|
|
70
|
+
default:
|
|
71
|
+
return 'v0.1';
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
export const getDomain = () => {
|
|
76
|
+
return 'https://api.sumup.com/';
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
const createBody = (requestType: RequestType, body?: Object | undefined) => {
|
|
80
|
+
switch (requestType) {
|
|
81
|
+
default:
|
|
82
|
+
return JSON.stringify(body);
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
const createAuthHeader = (
|
|
87
|
+
requestType: RequestType,
|
|
88
|
+
publicKey: string
|
|
89
|
+
): HeadersInit_ => {
|
|
90
|
+
switch (requestType) {
|
|
91
|
+
case RequestType.retrieveCheckout:
|
|
92
|
+
return {};
|
|
93
|
+
case RequestType.myProfile:
|
|
94
|
+
return {
|
|
95
|
+
'SumUp-Public-Api-Key': publicKey,
|
|
96
|
+
};
|
|
97
|
+
default:
|
|
98
|
+
return {};
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
export const request = async <T>(
|
|
103
|
+
requestType: RequestType,
|
|
104
|
+
publicKey: string,
|
|
105
|
+
params: {
|
|
106
|
+
domain?: string;
|
|
107
|
+
body?: Object;
|
|
108
|
+
urlParams?: Object;
|
|
109
|
+
params?: string[];
|
|
110
|
+
query?: string;
|
|
111
|
+
responseNotExpected?: boolean;
|
|
112
|
+
}
|
|
113
|
+
) => {
|
|
114
|
+
let headers: HeadersInit_ = {
|
|
115
|
+
'Accept': 'application/json',
|
|
116
|
+
'Content-Type': 'application/json',
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
const authHeader = createAuthHeader(requestType, publicKey);
|
|
120
|
+
headers = { ...headers, ...authHeader };
|
|
121
|
+
|
|
122
|
+
let paramsString = '';
|
|
123
|
+
if (params.urlParams) {
|
|
124
|
+
for (const [key, value] of Object.entries(params.urlParams)) {
|
|
125
|
+
if (value !== undefined && value !== null) {
|
|
126
|
+
if (Array.isArray(value)) {
|
|
127
|
+
value.forEach((item) => {
|
|
128
|
+
paramsString += paramsString.length === 0 ? '?' : '&';
|
|
129
|
+
paramsString += key + '=' + item;
|
|
130
|
+
});
|
|
131
|
+
} else {
|
|
132
|
+
paramsString += paramsString.length === 0 ? '?' : '&';
|
|
133
|
+
paramsString += key + '=' + value;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
const url =
|
|
140
|
+
(params.domain ? params.domain : getDomain()) +
|
|
141
|
+
getVersion(requestType) +
|
|
142
|
+
getRequestString(requestType, params.params || []) +
|
|
143
|
+
paramsString;
|
|
144
|
+
logger.log(`[API] request url:`, { data: { url } });
|
|
145
|
+
|
|
146
|
+
return new Promise<T>((resolve, reject) => {
|
|
147
|
+
fetch(url, {
|
|
148
|
+
method: getRequestType(requestType),
|
|
149
|
+
headers,
|
|
150
|
+
body: createBody(requestType, params.body),
|
|
151
|
+
})
|
|
152
|
+
.then(async (response) => {
|
|
153
|
+
const data = params.responseNotExpected ? {} : await response.json();
|
|
154
|
+
logger.log(`[API] response data:`, { data });
|
|
155
|
+
|
|
156
|
+
if (response.status >= 400 && response.status < 600) {
|
|
157
|
+
reject(
|
|
158
|
+
new ApiError({
|
|
159
|
+
message: data.error_message || data.detail || data.message,
|
|
160
|
+
errorCode: data.error_code,
|
|
161
|
+
detail: data.detail,
|
|
162
|
+
title: data.title,
|
|
163
|
+
param: data.param,
|
|
164
|
+
})
|
|
165
|
+
);
|
|
166
|
+
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
resolve(data);
|
|
171
|
+
})
|
|
172
|
+
.catch((error) => {
|
|
173
|
+
logger.log(`[API] fetch is failed:`, { error });
|
|
174
|
+
reject(
|
|
175
|
+
new ApiError({
|
|
176
|
+
message: error.message,
|
|
177
|
+
errorCode: ERROR_CODES.unknown,
|
|
178
|
+
})
|
|
179
|
+
);
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
};
|