@primer-io/react-native 2.30.0 → 2.30.2
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/android/.editorconfig +2 -0
- package/android/build.gradle +29 -1
- package/android/detekt-baseline.xml +24 -0
- package/android/src/main/java/com/primerioreactnative/PrimerRN.kt +248 -195
- package/android/src/main/java/com/primerioreactnative/PrimerRNEventListener.kt +261 -253
- package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckout.kt +177 -143
- package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckoutListener.kt +298 -291
- package/android/src/main/java/com/primerioreactnative/PrimerRNViewModelStoreOwner.kt +2 -3
- package/android/src/main/java/com/primerioreactnative/ReactNativePackage.kt +33 -36
- package/android/src/main/java/com/primerioreactnative/components/assets/AssetsManager.kt +29 -30
- package/android/src/main/java/com/primerioreactnative/components/assets/CardNetworkImageFileProvider.kt +15 -15
- package/android/src/main/java/com/primerioreactnative/components/assets/PaymentMethodAssetFileProvider.kt +16 -16
- package/android/src/main/java/com/primerioreactnative/components/datamodels/core/PrimerRNHeadlessUniversalCheckoutPaymentMethod.kt +9 -9
- package/android/src/main/java/com/primerioreactnative/components/datamodels/core/PrimerRawPaymentMethodType.kt +5 -5
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/asset/Resources.kt +143 -0
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/card/PrimerRNCardData.kt +11 -11
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/cardRedirect/PrimerRNBancontactCardData.kt +19 -0
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/phoneNumber/PrimerRNPhoneNumberData.kt +5 -5
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/retailOutlets/PrimerRNRetailOutletData.kt +2 -3
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/retailOutlets/RNRetailOutletsList.kt +15 -14
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/vault/PrimerRNValidationError.kt +10 -10
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/vault/PrimerRNVaultedPaymentMethod.kt +15 -16
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/vault/PrimerRNVaultedPaymentMethodAdditionalData.kt +4 -2
- package/android/src/main/java/com/primerioreactnative/components/events/PrimerHeadlessUniversalCheckoutComponentEvent.kt +6 -6
- package/android/src/main/java/com/primerioreactnative/components/events/PrimerHeadlessUniversalCheckoutEvent.kt +13 -13
- package/android/src/main/java/com/primerioreactnative/components/events/PrimerHeadlessUniversalCheckoutRawDataManagerEvent.kt +2 -2
- package/android/src/main/java/com/primerioreactnative/components/manager/NativeViewContainer.kt +9 -8
- package/android/src/main/java/com/primerioreactnative/components/manager/ach/{AchMandateManager.kt → PrimerRNAchMandateManager.kt} +20 -17
- package/android/src/main/java/com/primerioreactnative/components/manager/ach/PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent.kt +227 -212
- package/android/src/main/java/com/primerioreactnative/components/manager/asset/PrimerRNHeadlessUniversalCheckoutAssetManager.kt +178 -163
- package/android/src/main/java/com/primerioreactnative/components/manager/banks/PrimerRNHeadlessUniversalCheckoutBanksComponent.kt +207 -194
- package/android/src/main/java/com/primerioreactnative/components/manager/googlePay/PrimerGooglePayButtonConstantsModule.kt +23 -26
- package/android/src/main/java/com/primerioreactnative/components/manager/googlePay/PrimerGooglePayButtonManager.kt +25 -23
- package/android/src/main/java/com/primerioreactnative/components/manager/klarna/PrimerKlarnaPaymentViewManager.kt +24 -23
- package/android/src/main/java/com/primerioreactnative/components/manager/klarna/PrimerRNHeadlessUniversalCheckoutKlarnaComponent.kt +111 -87
- package/android/src/main/java/com/primerioreactnative/components/manager/nativeUi/PrimerRNHeadlessUniversalCheckoutNativeUiManager.kt +68 -63
- package/android/src/main/java/com/primerioreactnative/components/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManager.kt +189 -164
- package/android/src/main/java/com/primerioreactnative/components/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManagerListener.kt +39 -37
- package/android/src/main/java/com/primerioreactnative/components/manager/vault/PrimerRNHeadlessUniversalCheckoutVaultManager.kt +128 -118
- package/android/src/main/java/com/primerioreactnative/datamodels/{NamedComponentStepRN.kt → NamedComponentStep.kt} +0 -2
- package/android/src/main/java/com/primerioreactnative/datamodels/{NamedComponentValidatableDataRN.kt → NamedComponentValidatableData.kt} +1 -3
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerCheckoutAdditionalInfoRN.kt +14 -14
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerCheckoutDataRN.kt +4 -4
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerClientSessionRN.kt +34 -35
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerErrorRN.kt +14 -14
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerEvents.kt +10 -11
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerInputValidationErrorRN.kt +4 -4
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerIssuingBankRN.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerPaymentInstrumentTokenRN.kt +66 -67
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerSettingsRN.kt +128 -119
- package/android/src/main/java/com/primerioreactnative/datamodels/ach/AchUserDetailsStepRN.kt +2 -3
- package/android/src/main/java/com/primerioreactnative/datamodels/banks/BanksStepRN.kt +3 -3
- package/android/src/main/java/com/primerioreactnative/datamodels/extensions/ach/AchUserDetailsCollectableData.kt +11 -6
- package/android/src/main/java/com/primerioreactnative/datamodels/extensions/ach/AchUserDetailsStep.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/datamodels/extensions/banks/BanksCollectableData.kt +2 -2
- package/android/src/main/java/com/primerioreactnative/datamodels/extensions/banks/BanksStep.kt +8 -4
- package/android/src/main/java/com/primerioreactnative/datamodels/klarna/KlarnaPaymentCategoryRN.kt +2 -2
- package/android/src/main/java/com/primerioreactnative/datamodels/klarna/KlarnaPaymentCollectableDataRN.kt +2 -3
- package/android/src/main/java/com/primerioreactnative/datamodels/klarna/KlarnaPaymentStepRN.kt +6 -6
- package/android/src/main/java/com/primerioreactnative/extensions/JSONExtensions.kt +26 -26
- package/android/src/main/java/com/primerioreactnative/extensions/LocaleSettingsRN.kt +5 -5
- package/android/src/main/java/com/primerioreactnative/extensions/PaymentInstrumentData.kt +37 -31
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerAddress.kt +11 -10
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerCheckoutAdditionalInfo.kt +19 -14
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerCheckoutData.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerClientSession.kt +9 -9
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerCustomer.kt +9 -8
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerDebugOptionsRN.kt +1 -2
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerError.kt +3 -3
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerIssuingBank.kt +1 -2
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerLineItem.kt +10 -3
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerOrder.kt +5 -3
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodData.kt +4 -1
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodOptionsRN.kt +69 -54
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerUIOptionsRN.kt +16 -16
- package/android/src/main/java/com/primerioreactnative/extensions/ThreeDsAuthenticationData.kt +7 -7
- package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentCategory.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentCategoryRN.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentCollectableData.kt +4 -4
- package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentStep.kt +8 -7
- package/android/src/main/java/com/primerioreactnative/utils/ErrorHelper.kt +6 -5
- package/android/src/main/java/com/primerioreactnative/utils/JsonConverter.kt +33 -34
- package/android/src/main/java/com/primerioreactnative/utils/PrimerHeadlessUniversalCheckoutImplementedRNCallbacks.kt +26 -26
- package/android/src/main/java/com/primerioreactnative/utils/PrimerImplementedRNCallbacks.kt +20 -20
- package/android/src/test/java/com/primerioreactnative/utils/ErrorHelperTest.kt +12 -13
- package/android/tooling/code-analysis/detekt.yml +68 -0
- package/ios/Sources/DataModels/Ach Component/RNTAchUserDetailsCollectableData.swift +2 -2
- package/ios/Sources/DataModels/Banks Component/RNTBanksCollectableData.swift +0 -1
- package/ios/Sources/DataModels/ImplementedRNCallbacks.swift +83 -63
- package/ios/Sources/DataModels/Klarna Component/PrimerHeadlessUniversalCheckoutComponentEvent.swift +3 -1
- package/ios/Sources/DataModels/Klarna Component/RNTKlarnaCollectableData.swift +2 -2
- package/ios/Sources/DataModels/Klarna Component/RNTKlarnaPaymentCategory.swift +1 -1
- package/ios/Sources/DataModels/Klarna Component/RNTKlarnaStep.swift +5 -5
- package/ios/Sources/DataModels/Klarna Component/RNTPrimerError.swift +1 -1
- package/ios/Sources/DataModels/PrimerBancontactCardRedirectData+Extension.swift +1 -2
- package/ios/Sources/DataModels/PrimerCardData+Extension.swift +6 -7
- package/ios/Sources/DataModels/PrimerCheckoutAdditionalInfoRN.swift +6 -7
- package/ios/Sources/DataModels/PrimerHeadlessUniversalCheckout_PaymentMethod.swift +10 -7
- package/ios/Sources/DataModels/PrimerPhoneNumberData+Extension.swift +1 -2
- package/ios/Sources/DataModels/PrimerRawRetailerData+Extension.swift +1 -2
- package/ios/Sources/DataModels/PrimerSettings+Extensions.swift +91 -50
- package/ios/Sources/DataModels/PrimerThemeRN.swift +6 -6
- package/ios/Sources/DataModels/RNTNativeError.swift +3 -4
- package/ios/Sources/DataModels/RNTPrimerPaymentMethodAsset.swift +54 -48
- package/ios/Sources/Headless Universal Checkout/Managers/Ach/PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent.swift +225 -202
- package/ios/Sources/Headless Universal Checkout/Managers/Ach/RNTAchMandateManager.swift +6 -6
- package/ios/Sources/Headless Universal Checkout/Managers/Assets Manager/RNTAssetsManager.swift +163 -161
- package/ios/Sources/Headless Universal Checkout/Managers/Klarna/PrimerRNHeadlessUniversalCheckoutKlarnaComponent.swift +268 -250
- package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNPrimerHeadlessUniversalCheckoutVaultManager.swift +88 -66
- package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTNativeUIManager.swift +51 -43
- package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTRawDataManager.swift +181 -158
- package/ios/Sources/Headless Universal Checkout/Managers/RNTRedirectManager.swift +165 -156
- package/ios/Sources/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +526 -459
- package/ios/Sources/Helpers/Encodable+Extension.swift +5 -1
- package/ios/Sources/Helpers/Error+Extensions.swift +5 -5
- package/ios/Sources/Helpers/UIColor+Extensions.swift +23 -20
- package/ios/Sources/RNTPrimer.swift +135 -48
- package/lib/commonjs/HeadlessUniversalCheckout/Components/NativeResourceView.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js +4 -4
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js +2 -2
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +6 -6
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/VaultManager.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +4 -4
- package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/types.js +5 -5
- package/lib/commonjs/Primer.js +2 -2
- package/lib/commonjs/Primer.js.map +1 -1
- package/lib/commonjs/RNPrimer.js +5 -5
- package/lib/commonjs/RNPrimer.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/PrimerError.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Components/NativeResourceView.js +3 -3
- package/lib/module/HeadlessUniversalCheckout/Components/NativeResourceView.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js +1 -1
- package/lib/module/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.js +1 -1
- package/lib/module/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js +4 -4
- package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js +2 -2
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +6 -6
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/VaultManager.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +4 -4
- package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js +1 -1
- package/lib/module/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/types.js +5 -5
- package/lib/module/Primer.js +2 -2
- package/lib/module/Primer.js.map +1 -1
- package/lib/module/RNPrimer.js +5 -5
- package/lib/module/RNPrimer.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/PrimerError.js.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Components/NativeResourceView.d.ts +2 -2
- package/lib/typescript/HeadlessUniversalCheckout/Components/NativeResourceView.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.d.ts +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts +4 -4
- package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/VaultManager.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.d.ts.map +1 -1
- package/lib/typescript/Primer.d.ts.map +1 -1
- package/lib/typescript/RNPrimer.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +4 -4
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/models/IssuingBank.d.ts.map +1 -1
- package/lib/typescript/models/NamedComponentStep.d.ts.map +1 -1
- package/lib/typescript/models/NamedComponentValidatableData.d.ts.map +1 -1
- package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts +4 -4
- package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts.map +1 -1
- package/lib/typescript/models/PrimerCheckoutData.d.ts +1 -1
- package/lib/typescript/models/PrimerCheckoutData.d.ts.map +1 -1
- package/lib/typescript/models/PrimerCheckoutPaymentMethodData.d.ts.map +1 -1
- package/lib/typescript/models/PrimerClientSession.d.ts.map +1 -1
- package/lib/typescript/models/PrimerComponentDataValidation.d.ts +5 -5
- package/lib/typescript/models/PrimerComponentDataValidation.d.ts.map +1 -1
- package/lib/typescript/models/PrimerCountryCode.d.ts +1 -1
- package/lib/typescript/models/PrimerCountryCode.d.ts.map +1 -1
- package/lib/typescript/models/PrimerCurrencyCode.d.ts +1 -1
- package/lib/typescript/models/PrimerCurrencyCode.d.ts.map +1 -1
- package/lib/typescript/models/PrimerError.d.ts.map +1 -1
- package/lib/typescript/models/PrimerHandlers.d.ts.map +1 -1
- package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts +2 -2
- package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts.map +1 -1
- package/lib/typescript/models/PrimerImplementedRNCallbacks.d.ts.map +1 -1
- package/lib/typescript/models/PrimerInitializationData.d.ts +1 -1
- package/lib/typescript/models/PrimerInitializationData.d.ts.map +1 -1
- package/lib/typescript/models/PrimerInputElementType.d.ts.map +1 -1
- package/lib/typescript/models/PrimerInterfaces.d.ts +1 -1
- package/lib/typescript/models/PrimerPaymentMethodManagerCategory.d.ts.map +1 -1
- package/lib/typescript/models/PrimerPaymentMethodResource.d.ts.map +1 -1
- package/lib/typescript/models/PrimerRawData.d.ts.map +1 -1
- package/lib/typescript/models/PrimerSettings.d.ts +10 -10
- package/lib/typescript/models/PrimerSettings.d.ts.map +1 -1
- package/lib/typescript/models/PrimerValidationError.d.ts.map +1 -1
- package/lib/typescript/models/PrimerValidationErrorResult.d.ts +1 -1
- package/lib/typescript/models/PrimerValidationErrorResult.d.ts.map +1 -1
- package/lib/typescript/models/PrimerVaultedPaymentMethod.d.ts +1 -1
- package/lib/typescript/models/PrimerVaultedPaymentMethod.d.ts.map +1 -1
- package/lib/typescript/models/PrimerVaultedPaymentMethodAdditionalData.d.ts.map +1 -1
- package/lib/typescript/models/PrimerVaultedPaymentMethodResult.d.ts +1 -1
- package/lib/typescript/models/PrimerVaultedPaymentMethodResult.d.ts.map +1 -1
- package/lib/typescript/models/RetailOutletsRetail.d.ts.map +1 -1
- package/lib/typescript/models/ach/AchCollectableData.d.ts +4 -4
- package/lib/typescript/models/ach/AchCollectableData.d.ts.map +1 -1
- package/lib/typescript/models/ach/AchSteps.d.ts +3 -3
- package/lib/typescript/models/ach/AchSteps.d.ts.map +1 -1
- package/lib/typescript/models/banks/BanksCollectableData.d.ts +3 -3
- package/lib/typescript/models/banks/BanksCollectableData.d.ts.map +1 -1
- package/lib/typescript/models/banks/BanksSteps.d.ts +6 -6
- package/lib/typescript/models/banks/BanksSteps.d.ts.map +1 -1
- package/lib/typescript/models/klarna/KlarnaPaymentCategory.d.ts +2 -2
- package/lib/typescript/models/klarna/KlarnaPaymentCategory.d.ts.map +1 -1
- package/lib/typescript/models/klarna/KlarnaPaymentCollectableData.d.ts +4 -4
- package/lib/typescript/models/klarna/KlarnaPaymentCollectableData.d.ts.map +1 -1
- package/lib/typescript/models/klarna/KlarnaPaymentSteps.d.ts +6 -6
- package/lib/typescript/models/klarna/KlarnaPaymentSteps.d.ts.map +1 -1
- package/lib/typescript/utils/index.d.ts +1 -1
- package/package.json +5 -4
- package/primer-io-react-native.podspec +1 -1
- package/src/HeadlessUniversalCheckout/Components/NativeResourceView.tsx +17 -21
- package/src/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.tsx +3 -6
- package/src/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.tsx +2 -4
- package/src/HeadlessUniversalCheckout/Managers/AssetsManager.ts +68 -69
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.ts +127 -131
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.ts +23 -25
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.ts +21 -30
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.ts +137 -141
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.ts +17 -18
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.ts +158 -142
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.ts +7 -7
- package/src/HeadlessUniversalCheckout/Managers/VaultManager.ts +96 -87
- package/src/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.ts +159 -170
- package/src/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.ts +2 -6
- package/src/HeadlessUniversalCheckout/types.ts +5 -5
- package/src/Primer.ts +60 -57
- package/src/RNPrimer.ts +53 -54
- package/src/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.tsx +1 -1
- package/src/index.tsx +73 -36
- package/src/models/IssuingBank.ts +5 -5
- package/src/models/NamedComponentStep.ts +5 -5
- package/src/models/NamedComponentValidatableData.ts +5 -5
- package/src/models/PrimerCheckoutAdditionalInfo.ts +18 -23
- package/src/models/PrimerCheckoutData.ts +8 -8
- package/src/models/PrimerCheckoutPaymentMethodData.ts +6 -6
- package/src/models/PrimerClientSession.ts +34 -34
- package/src/models/PrimerComponentDataValidation.ts +33 -33
- package/src/models/PrimerCountryCode.ts +1 -1
- package/src/models/PrimerCurrencyCode.ts +1 -1
- package/src/models/PrimerError.ts +7 -1
- package/src/models/PrimerHandlers.ts +24 -24
- package/src/models/PrimerHeadlessUniversalCheckoutPaymentMethod.ts +4 -4
- package/src/models/PrimerImplementedRNCallbacks.ts +15 -15
- package/src/models/PrimerInitializationData.ts +3 -3
- package/src/models/PrimerInputElementType.ts +9 -9
- package/src/models/PrimerInterfaces.ts +1 -1
- package/src/models/PrimerPaymentMethodManagerCategory.ts +4 -4
- package/src/models/PrimerPaymentMethodResource.ts +11 -11
- package/src/models/PrimerRawData.ts +9 -9
- package/src/models/PrimerSessionIntent.ts +1 -1
- package/src/models/PrimerSettings.ts +37 -21
- package/src/models/PrimerValidationError.ts +3 -3
- package/src/models/PrimerValidationErrorResult.ts +2 -2
- package/src/models/PrimerVaultedPaymentMethod.ts +7 -7
- package/src/models/PrimerVaultedPaymentMethodAdditionalData.ts +1 -1
- package/src/models/PrimerVaultedPaymentMethodResult.ts +3 -3
- package/src/models/RetailOutletsRetail.ts +5 -5
- package/src/models/ach/AchCollectableData.ts +12 -12
- package/src/models/ach/AchSteps.ts +18 -18
- package/src/models/banks/BanksCollectableData.ts +14 -14
- package/src/models/banks/BanksSteps.ts +13 -13
- package/src/models/klarna/KlarnaPaymentCategory.ts +16 -16
- package/src/models/klarna/KlarnaPaymentCollectableData.ts +16 -15
- package/src/models/klarna/KlarnaPaymentSteps.ts +21 -17
- package/src/utils/index.ts +1 -1
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/cardRedirect/PrimerRNCardRedirectData.kt +0 -19
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/resource/Resources.kt +0 -138
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import type { PrimerCheckoutData } from
|
|
2
|
-
import type { PrimerCheckoutAdditionalInfo } from
|
|
3
|
-
import type { PrimerCheckoutPaymentMethodData } from
|
|
4
|
-
import type { PrimerClientSession } from
|
|
5
|
-
import type { PrimerPaymentMethodTokenData } from
|
|
6
|
-
import type { PrimerError } from
|
|
7
|
-
import type { IPrimerTheme } from
|
|
1
|
+
import type { PrimerCheckoutData } from './PrimerCheckoutData';
|
|
2
|
+
import type { PrimerCheckoutAdditionalInfo } from './PrimerCheckoutAdditionalInfo';
|
|
3
|
+
import type { PrimerCheckoutPaymentMethodData } from './PrimerCheckoutPaymentMethodData';
|
|
4
|
+
import type { PrimerClientSession } from './PrimerClientSession';
|
|
5
|
+
import type { PrimerPaymentMethodTokenData } from './PrimerPaymentMethodTokenData';
|
|
6
|
+
import type { PrimerError } from './PrimerError';
|
|
7
|
+
import type { IPrimerTheme } from './PrimerTheme';
|
|
8
8
|
import type {
|
|
9
9
|
PrimerPaymentCreationHandler,
|
|
10
10
|
PrimerTokenizationHandler,
|
|
11
11
|
PrimerResumeHandler,
|
|
12
12
|
PrimerErrorHandler,
|
|
13
|
-
PrimerHeadlessUniversalCheckoutResumeHandler
|
|
14
|
-
} from
|
|
13
|
+
PrimerHeadlessUniversalCheckoutResumeHandler,
|
|
14
|
+
} from './PrimerHandlers';
|
|
15
15
|
|
|
16
16
|
export type PrimerSettings = IPrimerSettings;
|
|
17
17
|
|
|
@@ -27,19 +27,32 @@ interface IPrimerSettings {
|
|
|
27
27
|
// Dropin UI
|
|
28
28
|
onBeforeClientSessionUpdate?: () => void;
|
|
29
29
|
onClientSessionUpdate?: (clientSession: PrimerClientSession) => void;
|
|
30
|
-
onBeforePaymentCreate?: (
|
|
30
|
+
onBeforePaymentCreate?: (
|
|
31
|
+
checkoutPaymentMethodData: PrimerCheckoutPaymentMethodData,
|
|
32
|
+
handler: PrimerPaymentCreationHandler
|
|
33
|
+
) => void;
|
|
31
34
|
onCheckoutComplete?: (checkoutData: PrimerCheckoutData) => void;
|
|
32
|
-
onTokenizeSuccess?: (
|
|
35
|
+
onTokenizeSuccess?: (
|
|
36
|
+
paymentMethodTokenData: PrimerPaymentMethodTokenData,
|
|
37
|
+
handler: PrimerTokenizationHandler
|
|
38
|
+
) => void;
|
|
33
39
|
onResumeSuccess?: (resumeToken: string, handler: PrimerResumeHandler) => void;
|
|
34
40
|
onResumePending?: (additionalInfo: PrimerCheckoutAdditionalInfo) => void;
|
|
35
41
|
onCheckoutReceivedAdditionalInfo?: (additionalInfo: PrimerCheckoutAdditionalInfo) => void;
|
|
36
|
-
onError?: (
|
|
42
|
+
onError?: (
|
|
43
|
+
error: PrimerError,
|
|
44
|
+
checkoutData: PrimerCheckoutData | null,
|
|
45
|
+
handler: PrimerErrorHandler | undefined
|
|
46
|
+
) => void;
|
|
37
47
|
onDismiss?: () => void;
|
|
38
48
|
|
|
39
49
|
headlessUniversalCheckoutCallbacks?: {
|
|
40
50
|
onAvailablePaymentMethodsLoad?: (availablePaymentMethods: any[]) => void;
|
|
41
51
|
onTokenizationStart?: (paymentMethodType: string) => void;
|
|
42
|
-
onTokenizationSuccess?: (
|
|
52
|
+
onTokenizationSuccess?: (
|
|
53
|
+
paymentMethodTokenData: PrimerPaymentMethodTokenData,
|
|
54
|
+
handler: PrimerHeadlessUniversalCheckoutResumeHandler
|
|
55
|
+
) => void;
|
|
43
56
|
|
|
44
57
|
onCheckoutResume?: (resumeToken: string, handler: PrimerHeadlessUniversalCheckoutResumeHandler) => void;
|
|
45
58
|
onCheckoutPending?: (additionalInfo: PrimerCheckoutAdditionalInfo) => void;
|
|
@@ -50,18 +63,21 @@ interface IPrimerSettings {
|
|
|
50
63
|
onBeforeClientSessionUpdate?: () => void;
|
|
51
64
|
|
|
52
65
|
onClientSessionUpdate?: (clientSession: PrimerClientSession) => void;
|
|
53
|
-
onBeforePaymentCreate?: (
|
|
66
|
+
onBeforePaymentCreate?: (
|
|
67
|
+
checkoutPaymentMethodData: PrimerCheckoutPaymentMethodData,
|
|
68
|
+
handler: PrimerPaymentCreationHandler
|
|
69
|
+
) => void;
|
|
54
70
|
onPreparationStart?: (paymentMethodType: string) => void;
|
|
55
71
|
|
|
56
72
|
onPaymentMethodShow?: (paymentMethodType: string) => void;
|
|
57
|
-
}
|
|
73
|
+
};
|
|
58
74
|
}
|
|
59
75
|
|
|
60
76
|
//----------------------------------------
|
|
61
77
|
|
|
62
78
|
interface IPrimerLocaleData {
|
|
63
|
-
languageCode?: string
|
|
64
|
-
localeCode?: string
|
|
79
|
+
languageCode?: string;
|
|
80
|
+
localeCode?: string;
|
|
65
81
|
}
|
|
66
82
|
|
|
67
83
|
//----------------------------------------
|
|
@@ -69,16 +85,16 @@ interface IPrimerLocaleData {
|
|
|
69
85
|
interface IPrimerPaymentMethodOptions {
|
|
70
86
|
iOS?: {
|
|
71
87
|
urlScheme?: string;
|
|
72
|
-
}
|
|
88
|
+
};
|
|
73
89
|
android?: {
|
|
74
90
|
redirectScheme?: string;
|
|
75
|
-
}
|
|
91
|
+
};
|
|
76
92
|
apayaOptions?: IPrimerApayaOptions;
|
|
77
93
|
applePayOptions?: IPrimerApplePayOptions;
|
|
78
94
|
|
|
79
95
|
/**
|
|
80
|
-
|
|
81
|
-
|
|
96
|
+
* @obsoleted The IPrimerCardPaymentOptions is obsoleted on v.2.14.0
|
|
97
|
+
*/
|
|
82
98
|
cardPaymentOptions?: IPrimerCardPaymentOptions;
|
|
83
99
|
|
|
84
100
|
goCardlessOptions?: IPrimerGoCardlessOptions;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { PrimerValidationError } from
|
|
1
|
+
import { PrimerValidationError } from './PrimerValidationError';
|
|
2
2
|
|
|
3
3
|
export type PrimerValidationErrorResult = IPrimerValidationErrorResult;
|
|
4
4
|
|
|
5
5
|
export interface IPrimerValidationErrorResult {
|
|
6
|
-
|
|
6
|
+
validationErrors: PrimerValidationError[];
|
|
7
7
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { IPrimerPaymentInstrumentData, IPrimerThreeDSAuthenticationData } from
|
|
1
|
+
import { IPrimerPaymentInstrumentData, IPrimerThreeDSAuthenticationData } from './PrimerPaymentMethodTokenData';
|
|
2
2
|
|
|
3
3
|
export type PrimerVaultedPaymentMethod = IPrimerVaultedPaymentMethod;
|
|
4
4
|
|
|
5
5
|
export interface IPrimerVaultedPaymentMethod {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
id: string;
|
|
7
|
+
analyticsId: string;
|
|
8
|
+
paymentInstrumentType: string;
|
|
9
|
+
paymentMethodType: string;
|
|
10
|
+
paymentInstrumentData?: IPrimerPaymentInstrumentData;
|
|
11
|
+
threeDSecureAuthentication?: IPrimerThreeDSAuthenticationData;
|
|
12
12
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { PrimerVaultedPaymentMethod } from
|
|
1
|
+
import { PrimerVaultedPaymentMethod } from './PrimerVaultedPaymentMethod';
|
|
2
2
|
|
|
3
3
|
export type PrimerVaultedPaymentMethodResult = IPrimerVaultedPaymentMethodResult;
|
|
4
4
|
|
|
5
5
|
export interface IPrimerVaultedPaymentMethodResult {
|
|
6
|
-
|
|
7
|
-
}
|
|
6
|
+
paymentMethods: PrimerVaultedPaymentMethod[];
|
|
7
|
+
}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { NamedComponentValidatableData } from
|
|
1
|
+
import { NamedComponentValidatableData } from '../NamedComponentValidatableData';
|
|
2
2
|
|
|
3
|
-
export type AchValidatableData = AchUserDetailsValidatableData
|
|
3
|
+
export type AchValidatableData = AchUserDetailsValidatableData;
|
|
4
4
|
|
|
5
|
-
export type AchUserDetailsValidatableData = AchFirstName | AchLastName | AchEmailAddress
|
|
5
|
+
export type AchUserDetailsValidatableData = AchFirstName | AchLastName | AchEmailAddress;
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* A type representing representing the customer's first name.
|
|
9
9
|
*/
|
|
10
10
|
export type AchFirstName = {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
} & NamedComponentValidatableData
|
|
11
|
+
validatableDataName: 'firstName';
|
|
12
|
+
value: string;
|
|
13
|
+
} & NamedComponentValidatableData;
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* A type representing representing the customer's last name.
|
|
17
17
|
*/
|
|
18
18
|
export type AchLastName = {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
} & NamedComponentValidatableData
|
|
19
|
+
validatableDataName: 'lastName';
|
|
20
|
+
value: string;
|
|
21
|
+
} & NamedComponentValidatableData;
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* A type representing representing the customer's email address.
|
|
25
25
|
*/
|
|
26
26
|
export type AchEmailAddress = {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
} & NamedComponentValidatableData
|
|
27
|
+
validatableDataName: 'emailAddress';
|
|
28
|
+
value: string;
|
|
29
|
+
} & NamedComponentValidatableData;
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { NamedComponentStep } from
|
|
1
|
+
import { NamedComponentStep } from '../NamedComponentStep';
|
|
2
2
|
|
|
3
|
-
export type AchStep = AchUserDetailsStep
|
|
3
|
+
export type AchStep = AchUserDetailsStep;
|
|
4
4
|
|
|
5
|
-
export type AchUserDetailsStep = UserDetailsRetrieved | UserDetailsCollected
|
|
5
|
+
export type AchUserDetailsStep = UserDetailsRetrieved | UserDetailsCollected;
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* A type representing the retrieved user details.
|
|
9
9
|
*/
|
|
10
10
|
export type UserDetailsRetrieved = {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
} & NamedComponentStep
|
|
11
|
+
stepName: 'userDetailsRetrieved';
|
|
12
|
+
/**
|
|
13
|
+
* The first name previously sent on client session creation.
|
|
14
|
+
*/
|
|
15
|
+
firstName: string;
|
|
16
|
+
/**
|
|
17
|
+
* The last name previously sent on client session creation.
|
|
18
|
+
*/
|
|
19
|
+
lastName: string;
|
|
20
|
+
/**
|
|
21
|
+
* The email address previously sent on client session creation.
|
|
22
|
+
*/
|
|
23
|
+
emailAddress: string;
|
|
24
|
+
} & NamedComponentStep;
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* A type representing the collected user details.
|
|
28
28
|
*/
|
|
29
|
-
export type UserDetailsCollected = { stepName:
|
|
29
|
+
export type UserDetailsCollected = { stepName: 'userDetailsCollected' } & NamedComponentStep;
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { NamedComponentValidatableData } from
|
|
1
|
+
import { NamedComponentValidatableData } from '../NamedComponentValidatableData';
|
|
2
2
|
|
|
3
|
-
export type BanksValidatableData = BankListFilter | BankId
|
|
3
|
+
export type BanksValidatableData = BankListFilter | BankId;
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* A type representing the bank list filter.
|
|
7
7
|
*/
|
|
8
8
|
export type BankListFilter = {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
} & NamedComponentValidatableData
|
|
9
|
+
validatableDataName: 'bankListFilter';
|
|
10
|
+
/**
|
|
11
|
+
* The text to filter the bank list by.
|
|
12
|
+
*/
|
|
13
|
+
text: string;
|
|
14
|
+
} & NamedComponentValidatableData;
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* A type representing the id of the selected bank.
|
|
18
18
|
*/
|
|
19
19
|
export type BankId = {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
} & NamedComponentValidatableData
|
|
20
|
+
validatableDataName: 'bankId';
|
|
21
|
+
/**
|
|
22
|
+
* The id of the selected bank.
|
|
23
|
+
*/
|
|
24
|
+
id: string;
|
|
25
|
+
} & NamedComponentValidatableData;
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { IssuingBank } from
|
|
2
|
-
import { NamedComponentStep } from
|
|
1
|
+
import { IssuingBank } from '../IssuingBank';
|
|
2
|
+
import { NamedComponentStep } from '../NamedComponentStep';
|
|
3
3
|
|
|
4
|
-
export type BanksStep = BanksLoading | BanksRetrieved
|
|
4
|
+
export type BanksStep = BanksLoading | BanksRetrieved;
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* A type representing the loading of the bank list.
|
|
8
|
-
*/
|
|
7
|
+
* A type representing the loading of the bank list.
|
|
8
|
+
*/
|
|
9
9
|
export type BanksLoading = {
|
|
10
|
-
|
|
11
|
-
} & NamedComponentStep
|
|
10
|
+
stepName: 'banksLoading';
|
|
11
|
+
} & NamedComponentStep;
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* A type representing the list of retrieved banks.
|
|
15
15
|
*/
|
|
16
16
|
export type BanksRetrieved = {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
} & NamedComponentStep
|
|
17
|
+
stepName: 'banksRetrieved';
|
|
18
|
+
/**
|
|
19
|
+
* The list of retrieved banks.
|
|
20
|
+
*/
|
|
21
|
+
banks: IssuingBank[];
|
|
22
|
+
} & NamedComponentStep;
|
|
@@ -4,20 +4,20 @@ export type KlarnaPaymentCategory = IKlarnaPaymentCategory;
|
|
|
4
4
|
* Interface representing a Klarna payment category.
|
|
5
5
|
*/
|
|
6
6
|
interface IKlarnaPaymentCategory {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
7
|
+
/**
|
|
8
|
+
* The identifier of the category.
|
|
9
|
+
*/
|
|
10
|
+
identifier: string;
|
|
11
|
+
/**
|
|
12
|
+
* The name of the category.
|
|
13
|
+
*/
|
|
14
|
+
name: string;
|
|
15
|
+
/**
|
|
16
|
+
* The descriptive asset url of the category.
|
|
17
|
+
*/
|
|
18
|
+
descriptiveAssetUrl: string;
|
|
19
|
+
/**
|
|
20
|
+
* The standard asset url of the category.
|
|
21
|
+
*/
|
|
22
|
+
standardAssetUrl: string;
|
|
23
23
|
}
|
|
@@ -1,26 +1,27 @@
|
|
|
1
|
-
import { NamedComponentValidatableData } from
|
|
2
|
-
import { KlarnaPaymentCategory } from
|
|
3
|
-
import { KlarnaComponent } from "src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager";
|
|
1
|
+
import { NamedComponentValidatableData } from '../NamedComponentValidatableData';
|
|
2
|
+
import { KlarnaPaymentCategory } from './KlarnaPaymentCategory';
|
|
4
3
|
|
|
5
|
-
export type KlarnaPaymentValidatableData = KlarnaPaymentOptions | KlarnaPaymentFinalization
|
|
4
|
+
export type KlarnaPaymentValidatableData = KlarnaPaymentOptions | KlarnaPaymentFinalization;
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* A type representing Klarna payment options required for configuring the {@link KlarnaComponent}.
|
|
9
8
|
*/
|
|
10
9
|
export type KlarnaPaymentOptions = {
|
|
11
|
-
|
|
10
|
+
validatableDataName: 'klarnaPaymentOptions';
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
} & NamedComponentValidatableData
|
|
12
|
+
/**
|
|
13
|
+
* Url used by third-party Android apps to build the intent for returning to the app.
|
|
14
|
+
*/
|
|
15
|
+
returnIntentUrl?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Payment category required for session creation.
|
|
18
|
+
*/
|
|
19
|
+
paymentCategory: KlarnaPaymentCategory;
|
|
20
|
+
} & NamedComponentValidatableData;
|
|
22
21
|
|
|
23
22
|
/**
|
|
24
23
|
* A type representing the finalized Klarna payment session.
|
|
25
24
|
*/
|
|
26
|
-
export type KlarnaPaymentFinalization = {
|
|
25
|
+
export type KlarnaPaymentFinalization = {
|
|
26
|
+
validatableDataName: 'klarnaPaymentFinalization';
|
|
27
|
+
} & NamedComponentValidatableData;
|
|
@@ -1,36 +1,40 @@
|
|
|
1
|
-
import { NamedComponentStep } from
|
|
2
|
-
import { KlarnaPaymentCategory } from
|
|
1
|
+
import { NamedComponentStep } from './../NamedComponentStep';
|
|
2
|
+
import { KlarnaPaymentCategory } from './KlarnaPaymentCategory';
|
|
3
3
|
|
|
4
|
-
export type KlarnaPaymentStep =
|
|
4
|
+
export type KlarnaPaymentStep =
|
|
5
|
+
| PaymentSessionCreated
|
|
6
|
+
| PaymentViewLoaded
|
|
7
|
+
| PaymentSessionAuthorized
|
|
8
|
+
| PaymentSessionFinalized;
|
|
5
9
|
|
|
6
10
|
/**
|
|
7
11
|
* A type that indicates that the payment view is loaded and ready to be displayed.
|
|
8
12
|
*/
|
|
9
|
-
export type PaymentViewLoaded = { stepName:
|
|
13
|
+
export type PaymentViewLoaded = { stepName: 'paymentViewLoaded' } & NamedComponentStep;
|
|
10
14
|
|
|
11
15
|
/**
|
|
12
16
|
* A type representing the created payment session.
|
|
13
17
|
*/
|
|
14
18
|
export type PaymentSessionCreated = {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
} & NamedComponentStep
|
|
19
|
+
stepName: 'paymentSessionCreated';
|
|
20
|
+
/**
|
|
21
|
+
* The list of available Klarna payment categories.
|
|
22
|
+
*/
|
|
23
|
+
paymentCategories: KlarnaPaymentCategory[];
|
|
24
|
+
} & NamedComponentStep;
|
|
21
25
|
|
|
22
26
|
/**
|
|
23
27
|
* A type representing the authorized payment session.
|
|
24
28
|
*/
|
|
25
29
|
export type PaymentSessionAuthorized = {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
} & NamedComponentStep
|
|
30
|
+
stepName: 'paymentSessionAuthorized';
|
|
31
|
+
/**
|
|
32
|
+
* The state of the finalization.
|
|
33
|
+
*/
|
|
34
|
+
isFinalized: boolean;
|
|
35
|
+
} & NamedComponentStep;
|
|
32
36
|
|
|
33
37
|
/**
|
|
34
38
|
* A type representing the finalized payment session.
|
|
35
39
|
*/
|
|
36
|
-
export type PaymentSessionFinalized = { stepName:
|
|
40
|
+
export type PaymentSessionFinalized = { stepName: 'paymentSessionFinalized' } & NamedComponentStep;
|
package/src/utils/index.ts
CHANGED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
package com.primerioreactnative.components.datamodels.manager.raw.cardRedirect
|
|
2
|
-
|
|
3
|
-
import io.primer.android.bancontact.PrimerBancontactCardData
|
|
4
|
-
import kotlinx.serialization.Serializable
|
|
5
|
-
|
|
6
|
-
@Serializable
|
|
7
|
-
internal data class PrimerRNBancontactCardData(
|
|
8
|
-
val cardNumber: String? = null,
|
|
9
|
-
val expiryDate: String? = null,
|
|
10
|
-
val expiryYear: String? = null,
|
|
11
|
-
val cardholderName: String? = null
|
|
12
|
-
) {
|
|
13
|
-
fun toPrimerBancontactCardData() =
|
|
14
|
-
PrimerBancontactCardData(
|
|
15
|
-
cardNumber.orEmpty(),
|
|
16
|
-
expiryDate.orEmpty(),
|
|
17
|
-
cardholderName.orEmpty()
|
|
18
|
-
)
|
|
19
|
-
}
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
package com.primerioreactnative.components.datamodels.manager.asset
|
|
2
|
-
|
|
3
|
-
import android.graphics.drawable.Drawable
|
|
4
|
-
import com.facebook.react.bridge.ReactApplicationContext
|
|
5
|
-
import com.primerioreactnative.components.assets.AssetsManager
|
|
6
|
-
import com.primerioreactnative.components.assets.AssetsManager.drawableToBitmap
|
|
7
|
-
import com.primerioreactnative.components.assets.PaymentMethodAssetFileProvider.getFileForPaymentMethodAsset
|
|
8
|
-
import io.primer.android.components.ui.assets.PrimerPaymentMethodAsset
|
|
9
|
-
import io.primer.android.components.ui.assets.PrimerPaymentMethodNativeView
|
|
10
|
-
import kotlinx.serialization.Serializable
|
|
11
|
-
|
|
12
|
-
@Serializable
|
|
13
|
-
sealed interface PrimerRNPaymentMethodResource {
|
|
14
|
-
val paymentMethodType: String
|
|
15
|
-
val paymentMethodName: String
|
|
16
|
-
|
|
17
|
-
@Serializable
|
|
18
|
-
data class PrimerRNPaymentMethodAsset(
|
|
19
|
-
override val paymentMethodType: String,
|
|
20
|
-
override val paymentMethodName: String,
|
|
21
|
-
val paymentMethodLogo: PrimerRNPaymentMethodLogo,
|
|
22
|
-
val paymentMethodBackgroundColor: PrimerRNPaymentMethodBackgroundColor
|
|
23
|
-
) : PrimerRNPaymentMethodResource
|
|
24
|
-
|
|
25
|
-
@Serializable
|
|
26
|
-
data class PrimerRNPaymentMethodNativeView(
|
|
27
|
-
override val paymentMethodType: String,
|
|
28
|
-
override val paymentMethodName: String,
|
|
29
|
-
val nativeViewName: String
|
|
30
|
-
) : PrimerRNPaymentMethodResource
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
@Serializable
|
|
34
|
-
data class PrimerRNPaymentMethodAssets(
|
|
35
|
-
val paymentMethodAssets: List<PrimerRNPaymentMethodResource.PrimerRNPaymentMethodAsset>
|
|
36
|
-
)
|
|
37
|
-
|
|
38
|
-
@Serializable
|
|
39
|
-
data class PrimerRNPaymentMethodResources(
|
|
40
|
-
val paymentMethodResources: List<PrimerRNPaymentMethodResource>
|
|
41
|
-
)
|
|
42
|
-
|
|
43
|
-
@Serializable
|
|
44
|
-
data class PrimerRNPaymentMethodAssetWrapper(
|
|
45
|
-
val paymentMethodAsset: PrimerRNPaymentMethodResource.PrimerRNPaymentMethodAsset
|
|
46
|
-
)
|
|
47
|
-
|
|
48
|
-
@Serializable
|
|
49
|
-
data class PrimerRNPaymentMethodResourceWrapper(
|
|
50
|
-
val paymentMethodResource: PrimerRNPaymentMethodResource
|
|
51
|
-
)
|
|
52
|
-
|
|
53
|
-
@Serializable
|
|
54
|
-
data class PrimerRNPaymentMethodLogo(
|
|
55
|
-
val colored: String?,
|
|
56
|
-
val light: String?,
|
|
57
|
-
val dark: String?
|
|
58
|
-
)
|
|
59
|
-
|
|
60
|
-
@Serializable
|
|
61
|
-
data class PrimerRNPaymentMethodBackgroundColor(
|
|
62
|
-
val colored: String?,
|
|
63
|
-
val light: String?,
|
|
64
|
-
val dark: String?
|
|
65
|
-
)
|
|
66
|
-
|
|
67
|
-
@Serializable
|
|
68
|
-
data class PrimerCardNetworkAsset(
|
|
69
|
-
val cardNetworkImageURL: String
|
|
70
|
-
)
|
|
71
|
-
|
|
72
|
-
fun PrimerPaymentMethodAsset.toPrimerRNPaymentMethodAsset(
|
|
73
|
-
reactContext: ReactApplicationContext,
|
|
74
|
-
paymentMethodType: String,
|
|
75
|
-
) = PrimerRNPaymentMethodResource.PrimerRNPaymentMethodAsset(
|
|
76
|
-
paymentMethodType,
|
|
77
|
-
paymentMethodName,
|
|
78
|
-
PrimerRNPaymentMethodLogo(
|
|
79
|
-
paymentMethodLogo.colored?.let {
|
|
80
|
-
getFileUrl(
|
|
81
|
-
reactContext,
|
|
82
|
-
paymentMethodType,
|
|
83
|
-
AssetsManager.ImageColorType.COLORED,
|
|
84
|
-
it
|
|
85
|
-
)
|
|
86
|
-
},
|
|
87
|
-
paymentMethodLogo.light?.let {
|
|
88
|
-
getFileUrl(
|
|
89
|
-
reactContext,
|
|
90
|
-
paymentMethodType,
|
|
91
|
-
AssetsManager.ImageColorType.LIGHT,
|
|
92
|
-
it
|
|
93
|
-
)
|
|
94
|
-
},
|
|
95
|
-
paymentMethodLogo.dark?.let {
|
|
96
|
-
getFileUrl(
|
|
97
|
-
reactContext,
|
|
98
|
-
paymentMethodType,
|
|
99
|
-
AssetsManager.ImageColorType.DARK,
|
|
100
|
-
it
|
|
101
|
-
)
|
|
102
|
-
}
|
|
103
|
-
),
|
|
104
|
-
PrimerRNPaymentMethodBackgroundColor(
|
|
105
|
-
paymentMethodBackgroundColor.colored?.let {
|
|
106
|
-
String.format("#%06X", (0xFFFFFF and it))
|
|
107
|
-
},
|
|
108
|
-
paymentMethodBackgroundColor.light?.let {
|
|
109
|
-
String.format("#%06X", (0xFFFFFF and it))
|
|
110
|
-
},
|
|
111
|
-
paymentMethodBackgroundColor.dark?.let {
|
|
112
|
-
String.format("#%06X", (0xFFFFFF and it))
|
|
113
|
-
}
|
|
114
|
-
)
|
|
115
|
-
)
|
|
116
|
-
|
|
117
|
-
fun PrimerPaymentMethodNativeView.toPrimerRNPaymentMethodNativeView(paymentMethodType: String) = PrimerRNPaymentMethodResource.PrimerRNPaymentMethodNativeView(
|
|
118
|
-
paymentMethodType = paymentMethodType,
|
|
119
|
-
paymentMethodName = paymentMethodName,
|
|
120
|
-
nativeViewName = when (paymentMethodType) {
|
|
121
|
-
"GOOGLE_PAY" -> "PrimerGooglePayButton"
|
|
122
|
-
else -> error("Native view for '$paymentMethodType'is not supported")
|
|
123
|
-
}
|
|
124
|
-
)
|
|
125
|
-
|
|
126
|
-
private fun getFileUrl(
|
|
127
|
-
reactContext: ReactApplicationContext,
|
|
128
|
-
paymentMethodType: String,
|
|
129
|
-
imageColorType: AssetsManager.ImageColorType,
|
|
130
|
-
drawable: Drawable,
|
|
131
|
-
): String {
|
|
132
|
-
val file = getFileForPaymentMethodAsset(reactContext, paymentMethodType, imageColorType)
|
|
133
|
-
AssetsManager.saveBitmapToFile(
|
|
134
|
-
file,
|
|
135
|
-
drawableToBitmap(drawable),
|
|
136
|
-
)
|
|
137
|
-
return "file://${file.absolutePath}"
|
|
138
|
-
}
|