@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,9 +1,8 @@
|
|
|
1
1
|
package com.primerioreactnative
|
|
2
2
|
|
|
3
|
-
import android.util.Log
|
|
4
|
-
import androidx.lifecycle.ViewModelStoreOwner
|
|
5
3
|
import androidx.lifecycle.ViewModelStore
|
|
4
|
+
import androidx.lifecycle.ViewModelStoreOwner
|
|
6
5
|
|
|
7
6
|
class PrimerRNViewModelStoreOwner : ViewModelStoreOwner {
|
|
8
|
-
|
|
7
|
+
override val viewModelStore: ViewModelStore = ViewModelStore()
|
|
9
8
|
}
|
|
@@ -4,49 +4,46 @@ import com.facebook.react.ReactPackage
|
|
|
4
4
|
import com.facebook.react.bridge.NativeModule
|
|
5
5
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
6
6
|
import com.facebook.react.uimanager.ViewManager
|
|
7
|
+
import com.primerioreactnative.components.manager.ach.PrimerRNAchMandateManager
|
|
8
|
+
import com.primerioreactnative.components.manager.ach.PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent
|
|
7
9
|
import com.primerioreactnative.components.manager.asset.PrimerRNHeadlessUniversalCheckoutAssetManager
|
|
10
|
+
import com.primerioreactnative.components.manager.banks.PrimerRNHeadlessUniversalCheckoutBanksComponent
|
|
11
|
+
import com.primerioreactnative.components.manager.googlePay.PrimerGooglePayButtonConstantsModule
|
|
12
|
+
import com.primerioreactnative.components.manager.googlePay.PrimerGooglePayButtonManager
|
|
13
|
+
import com.primerioreactnative.components.manager.klarna.PrimerKlarnaPaymentViewManager
|
|
14
|
+
import com.primerioreactnative.components.manager.klarna.PrimerRNHeadlessUniversalCheckoutKlarnaComponent
|
|
8
15
|
import com.primerioreactnative.components.manager.nativeUi.PrimerRNHeadlessUniversalCheckoutNativeUiManager
|
|
9
16
|
import com.primerioreactnative.components.manager.raw.PrimerRNHeadlessUniversalCheckoutRawManager
|
|
10
17
|
import com.primerioreactnative.components.manager.vault.PrimerRNHeadlessUniversalCheckoutVaultManager
|
|
11
|
-
import com.primerioreactnative.components.manager.redirect.PrimerRNHeadlessUniversalCheckoutBanksComponent
|
|
12
|
-
import com.primerioreactnative.components.manager.klarna.PrimerRNHeadlessUniversalCheckoutKlarnaComponent
|
|
13
|
-
import com.primerioreactnative.components.manager.klarna.PrimerKlarnaPaymentViewManager
|
|
14
|
-
import com.primerioreactnative.components.manager.googlePay.PrimerGooglePayButtonManager
|
|
15
|
-
import com.primerioreactnative.components.manager.ach.PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent
|
|
16
|
-
import com.primerioreactnative.components.manager.ach.PrimerRNAchMandateManager
|
|
17
|
-
import com.primerioreactnative.components.manager.googlePay.PrimerGooglePayButtonConstantsModule
|
|
18
18
|
import kotlinx.serialization.json.Json
|
|
19
19
|
|
|
20
20
|
class ReactNativePackage : ReactPackage {
|
|
21
|
+
private val json = Json { ignoreUnknownKeys = true }
|
|
21
22
|
|
|
22
|
-
|
|
23
|
+
override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> {
|
|
24
|
+
return listOf(
|
|
25
|
+
PrimerRN(reactContext, json),
|
|
26
|
+
PrimerRNHeadlessUniversalCheckout(reactContext, json),
|
|
27
|
+
PrimerRNHeadlessUniversalCheckoutRawManager(reactContext, json),
|
|
28
|
+
PrimerRNHeadlessUniversalCheckoutNativeUiManager(reactContext),
|
|
29
|
+
PrimerRNHeadlessUniversalCheckoutAssetManager(reactContext),
|
|
30
|
+
PrimerRNHeadlessUniversalCheckoutVaultManager(reactContext, json),
|
|
31
|
+
PrimerRNHeadlessUniversalCheckoutKlarnaComponent(reactContext),
|
|
32
|
+
PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent(reactContext),
|
|
33
|
+
PrimerRNAchMandateManager(reactContext),
|
|
34
|
+
// region Component with redirect components
|
|
35
|
+
PrimerRNHeadlessUniversalCheckoutBanksComponent(reactContext),
|
|
36
|
+
// endregion
|
|
37
|
+
// region Google Pay Helpers
|
|
38
|
+
PrimerGooglePayButtonConstantsModule(reactContext),
|
|
39
|
+
// endregion
|
|
40
|
+
)
|
|
41
|
+
}
|
|
23
42
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
PrimerRNHeadlessUniversalCheckoutAssetManager(reactContext),
|
|
31
|
-
PrimerRNHeadlessUniversalCheckoutVaultManager(reactContext, json),
|
|
32
|
-
PrimerRNHeadlessUniversalCheckoutKlarnaComponent(reactContext),
|
|
33
|
-
PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent(reactContext),
|
|
34
|
-
PrimerRNAchMandateManager(reactContext),
|
|
35
|
-
//region Component with redirect components
|
|
36
|
-
PrimerRNHeadlessUniversalCheckoutBanksComponent(reactContext),
|
|
37
|
-
//endregion
|
|
38
|
-
// region Google Pay Helpers
|
|
39
|
-
PrimerGooglePayButtonConstantsModule(reactContext),
|
|
40
|
-
// endregion
|
|
41
|
-
)
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
|
|
45
|
-
return mutableListOf(
|
|
46
|
-
PrimerKlarnaPaymentViewManager(),
|
|
47
|
-
PrimerGooglePayButtonManager()
|
|
48
|
-
)
|
|
49
|
-
}
|
|
43
|
+
override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
|
|
44
|
+
return mutableListOf(
|
|
45
|
+
PrimerKlarnaPaymentViewManager(),
|
|
46
|
+
PrimerGooglePayButtonManager(),
|
|
47
|
+
)
|
|
48
|
+
}
|
|
50
49
|
}
|
|
51
|
-
|
|
52
|
-
|
|
@@ -4,44 +4,43 @@ import android.graphics.Bitmap
|
|
|
4
4
|
import android.graphics.Canvas
|
|
5
5
|
import android.graphics.drawable.BitmapDrawable
|
|
6
6
|
import android.graphics.drawable.Drawable
|
|
7
|
-
import com.facebook.react.bridge.ReactApplicationContext
|
|
8
7
|
import java.io.File
|
|
9
8
|
import java.io.FileOutputStream
|
|
10
9
|
|
|
11
10
|
internal object AssetsManager {
|
|
11
|
+
private const val COMPRESS_QUALITY = 100
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
fun drawableToBitmap(drawable: Drawable): Bitmap {
|
|
14
|
+
if (drawable is BitmapDrawable) {
|
|
15
|
+
return drawable.bitmap
|
|
16
|
+
}
|
|
14
17
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
val bitmap =
|
|
19
|
+
Bitmap.createBitmap(
|
|
20
|
+
drawable.intrinsicWidth,
|
|
21
|
+
drawable.intrinsicHeight,
|
|
22
|
+
Bitmap.Config.ARGB_8888,
|
|
23
|
+
)
|
|
24
|
+
val canvas = Canvas(bitmap)
|
|
25
|
+
drawable.setBounds(0, 0, canvas.width, canvas.height)
|
|
26
|
+
drawable.draw(canvas)
|
|
27
|
+
return bitmap
|
|
18
28
|
}
|
|
19
29
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
)
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
fun saveBitmapToFile(
|
|
32
|
-
file: File,
|
|
33
|
-
bitmap: Bitmap,
|
|
34
|
-
format: Bitmap.CompressFormat = Bitmap.CompressFormat.PNG,
|
|
35
|
-
) {
|
|
36
|
-
FileOutputStream(file).use {
|
|
37
|
-
bitmap.compress(format, COMPRESS_QUALITY, it)
|
|
38
|
-
it.close()
|
|
30
|
+
fun saveBitmapToFile(
|
|
31
|
+
file: File,
|
|
32
|
+
bitmap: Bitmap,
|
|
33
|
+
format: Bitmap.CompressFormat = Bitmap.CompressFormat.PNG,
|
|
34
|
+
) {
|
|
35
|
+
FileOutputStream(file).use {
|
|
36
|
+
bitmap.compress(format, COMPRESS_QUALITY, it)
|
|
37
|
+
it.close()
|
|
38
|
+
}
|
|
39
39
|
}
|
|
40
|
-
}
|
|
41
40
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
41
|
+
internal enum class ImageColorType {
|
|
42
|
+
COLORED,
|
|
43
|
+
DARK,
|
|
44
|
+
LIGHT,
|
|
45
|
+
}
|
|
47
46
|
}
|
|
@@ -4,20 +4,20 @@ import com.facebook.react.bridge.ReactApplicationContext
|
|
|
4
4
|
import java.io.File
|
|
5
5
|
|
|
6
6
|
internal object CardNetworkImageFileProvider {
|
|
7
|
+
private const val ASSETS_DIRECTORY = "primer-react-native-sdk"
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
9
|
+
fun getFileForCardNetworkAsset(
|
|
10
|
+
context: ReactApplicationContext,
|
|
11
|
+
path: String,
|
|
12
|
+
): File {
|
|
13
|
+
val directory = File(context.filesDir, ASSETS_DIRECTORY)
|
|
14
|
+
if (!directory.exists()) directory.mkdirs()
|
|
15
|
+
val file =
|
|
16
|
+
File(
|
|
17
|
+
directory,
|
|
18
|
+
path.lowercase(),
|
|
19
|
+
)
|
|
20
|
+
if (!file.exists()) file.createNewFile()
|
|
21
|
+
return file
|
|
22
|
+
}
|
|
23
23
|
}
|
|
@@ -4,21 +4,21 @@ import com.facebook.react.bridge.ReactApplicationContext
|
|
|
4
4
|
import java.io.File
|
|
5
5
|
|
|
6
6
|
internal object PaymentMethodAssetFileProvider {
|
|
7
|
+
private const val ASSETS_DIRECTORY = "primer-react-native-sdk"
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
9
|
+
fun getFileForPaymentMethodAsset(
|
|
10
|
+
context: ReactApplicationContext,
|
|
11
|
+
path: String,
|
|
12
|
+
type: AssetsManager.ImageColorType,
|
|
13
|
+
): File {
|
|
14
|
+
val directory = File(context.filesDir, ASSETS_DIRECTORY + File.separator + path)
|
|
15
|
+
if (!directory.exists()) directory.mkdirs()
|
|
16
|
+
val file =
|
|
17
|
+
File(
|
|
18
|
+
directory,
|
|
19
|
+
type.name.lowercase(),
|
|
20
|
+
)
|
|
21
|
+
if (!file.exists()) file.createNewFile()
|
|
22
|
+
return file
|
|
23
|
+
}
|
|
24
24
|
}
|
|
@@ -7,19 +7,19 @@ import kotlinx.serialization.Serializable
|
|
|
7
7
|
|
|
8
8
|
@Serializable
|
|
9
9
|
data class PrimerRNAvailablePaymentMethods(
|
|
10
|
-
|
|
10
|
+
val availablePaymentMethods: List<PrimerRNHeadlessUniversalCheckoutPaymentMethod>,
|
|
11
11
|
)
|
|
12
12
|
|
|
13
13
|
@Serializable
|
|
14
14
|
data class PrimerRNHeadlessUniversalCheckoutPaymentMethod(
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
val paymentMethodType: String,
|
|
16
|
+
val supportedPrimerSessionIntents: List<PrimerSessionIntent>,
|
|
17
|
+
val paymentMethodManagerCategories: List<PrimerPaymentMethodManagerCategory>,
|
|
18
18
|
)
|
|
19
19
|
|
|
20
20
|
internal fun PrimerHeadlessUniversalCheckoutPaymentMethod.toPrimerRNHeadlessUniversalCheckoutPaymentMethod() =
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
PrimerRNHeadlessUniversalCheckoutPaymentMethod(
|
|
22
|
+
paymentMethodType,
|
|
23
|
+
supportedPrimerSessionIntents,
|
|
24
|
+
paymentMethodManagerCategories,
|
|
25
|
+
)
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
package com.primerioreactnative.components.datamodels.core
|
|
2
2
|
|
|
3
3
|
internal enum class PrimerRawPaymentMethodType {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
PAYMENT_CARD,
|
|
5
|
+
XENDIT_OVO,
|
|
6
|
+
ADYEN_MBWAY,
|
|
7
|
+
ADYEN_BANCONTACT_CARD,
|
|
8
|
+
XENDIT_RETAIL_OUTLETS,
|
|
9
9
|
}
|
|
@@ -0,0 +1,143 @@
|
|
|
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
|
+
private const val WHITE_COLOR = 0xFFFFFF
|
|
13
|
+
private const val COLOR_FORMAT = "#%06X"
|
|
14
|
+
|
|
15
|
+
@Serializable
|
|
16
|
+
sealed interface PrimerRNPaymentMethodResource {
|
|
17
|
+
val paymentMethodType: String
|
|
18
|
+
val paymentMethodName: String
|
|
19
|
+
|
|
20
|
+
@Serializable
|
|
21
|
+
data class PrimerRNPaymentMethodAsset(
|
|
22
|
+
override val paymentMethodType: String,
|
|
23
|
+
override val paymentMethodName: String,
|
|
24
|
+
val paymentMethodLogo: PrimerRNPaymentMethodLogo,
|
|
25
|
+
val paymentMethodBackgroundColor: PrimerRNPaymentMethodBackgroundColor,
|
|
26
|
+
) : PrimerRNPaymentMethodResource
|
|
27
|
+
|
|
28
|
+
@Serializable
|
|
29
|
+
data class PrimerRNPaymentMethodNativeView(
|
|
30
|
+
override val paymentMethodType: String,
|
|
31
|
+
override val paymentMethodName: String,
|
|
32
|
+
val nativeViewName: String,
|
|
33
|
+
) : PrimerRNPaymentMethodResource
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@Serializable
|
|
37
|
+
data class PrimerRNPaymentMethodAssets(
|
|
38
|
+
val paymentMethodAssets: List<PrimerRNPaymentMethodResource.PrimerRNPaymentMethodAsset>,
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
@Serializable
|
|
42
|
+
data class PrimerRNPaymentMethodResources(
|
|
43
|
+
val paymentMethodResources: List<PrimerRNPaymentMethodResource>,
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
@Serializable
|
|
47
|
+
data class PrimerRNPaymentMethodAssetWrapper(
|
|
48
|
+
val paymentMethodAsset: PrimerRNPaymentMethodResource.PrimerRNPaymentMethodAsset,
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
@Serializable
|
|
52
|
+
data class PrimerRNPaymentMethodResourceWrapper(
|
|
53
|
+
val paymentMethodResource: PrimerRNPaymentMethodResource,
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
@Serializable
|
|
57
|
+
data class PrimerRNPaymentMethodLogo(
|
|
58
|
+
val colored: String?,
|
|
59
|
+
val light: String?,
|
|
60
|
+
val dark: String?,
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
@Serializable
|
|
64
|
+
data class PrimerRNPaymentMethodBackgroundColor(
|
|
65
|
+
val colored: String?,
|
|
66
|
+
val light: String?,
|
|
67
|
+
val dark: String?,
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
@Serializable
|
|
71
|
+
data class PrimerCardNetworkAsset(
|
|
72
|
+
val cardNetworkImageURL: String,
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
fun PrimerPaymentMethodAsset.toPrimerRNPaymentMethodAsset(
|
|
76
|
+
reactContext: ReactApplicationContext,
|
|
77
|
+
paymentMethodType: String,
|
|
78
|
+
) = PrimerRNPaymentMethodResource.PrimerRNPaymentMethodAsset(
|
|
79
|
+
paymentMethodType,
|
|
80
|
+
paymentMethodName,
|
|
81
|
+
PrimerRNPaymentMethodLogo(
|
|
82
|
+
paymentMethodLogo.colored?.let {
|
|
83
|
+
getFileUrl(
|
|
84
|
+
reactContext,
|
|
85
|
+
paymentMethodType,
|
|
86
|
+
AssetsManager.ImageColorType.COLORED,
|
|
87
|
+
it,
|
|
88
|
+
)
|
|
89
|
+
},
|
|
90
|
+
paymentMethodLogo.light?.let {
|
|
91
|
+
getFileUrl(
|
|
92
|
+
reactContext,
|
|
93
|
+
paymentMethodType,
|
|
94
|
+
AssetsManager.ImageColorType.LIGHT,
|
|
95
|
+
it,
|
|
96
|
+
)
|
|
97
|
+
},
|
|
98
|
+
paymentMethodLogo.dark?.let {
|
|
99
|
+
getFileUrl(
|
|
100
|
+
reactContext,
|
|
101
|
+
paymentMethodType,
|
|
102
|
+
AssetsManager.ImageColorType.DARK,
|
|
103
|
+
it,
|
|
104
|
+
)
|
|
105
|
+
},
|
|
106
|
+
),
|
|
107
|
+
PrimerRNPaymentMethodBackgroundColor(
|
|
108
|
+
paymentMethodBackgroundColor.colored?.let {
|
|
109
|
+
String.format(COLOR_FORMAT, (WHITE_COLOR and it))
|
|
110
|
+
},
|
|
111
|
+
paymentMethodBackgroundColor.light?.let {
|
|
112
|
+
String.format(COLOR_FORMAT, (WHITE_COLOR and it))
|
|
113
|
+
},
|
|
114
|
+
paymentMethodBackgroundColor.dark?.let {
|
|
115
|
+
String.format(COLOR_FORMAT, (WHITE_COLOR and it))
|
|
116
|
+
},
|
|
117
|
+
),
|
|
118
|
+
)
|
|
119
|
+
|
|
120
|
+
fun PrimerPaymentMethodNativeView.toPrimerRNPaymentMethodNativeView(paymentMethodType: String) =
|
|
121
|
+
PrimerRNPaymentMethodResource.PrimerRNPaymentMethodNativeView(
|
|
122
|
+
paymentMethodType = paymentMethodType,
|
|
123
|
+
paymentMethodName = paymentMethodName,
|
|
124
|
+
nativeViewName =
|
|
125
|
+
when (paymentMethodType) {
|
|
126
|
+
"GOOGLE_PAY" -> "PrimerGooglePayButton"
|
|
127
|
+
else -> error("Native view for '$paymentMethodType'is not supported")
|
|
128
|
+
},
|
|
129
|
+
)
|
|
130
|
+
|
|
131
|
+
private fun getFileUrl(
|
|
132
|
+
reactContext: ReactApplicationContext,
|
|
133
|
+
paymentMethodType: String,
|
|
134
|
+
imageColorType: AssetsManager.ImageColorType,
|
|
135
|
+
drawable: Drawable,
|
|
136
|
+
): String {
|
|
137
|
+
val file = getFileForPaymentMethodAsset(reactContext, paymentMethodType, imageColorType)
|
|
138
|
+
AssetsManager.saveBitmapToFile(
|
|
139
|
+
file,
|
|
140
|
+
drawableToBitmap(drawable),
|
|
141
|
+
)
|
|
142
|
+
return "file://${file.absolutePath}"
|
|
143
|
+
}
|
|
@@ -5,16 +5,16 @@ import kotlinx.serialization.Serializable
|
|
|
5
5
|
|
|
6
6
|
@Serializable
|
|
7
7
|
internal data class PrimerRNCardData(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
val cardNumber: String? = null,
|
|
9
|
+
val expiryDate: String? = null,
|
|
10
|
+
val cvv: String? = null,
|
|
11
|
+
val cardholderName: String? = null,
|
|
12
12
|
) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
fun toPrimerCardData() =
|
|
14
|
+
PrimerCardData(
|
|
15
|
+
cardNumber.orEmpty(),
|
|
16
|
+
expiryDate.orEmpty(),
|
|
17
|
+
cvv.orEmpty(),
|
|
18
|
+
cardholderName,
|
|
19
|
+
)
|
|
20
20
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
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
|
+
}
|
|
@@ -5,10 +5,10 @@ import kotlinx.serialization.Serializable
|
|
|
5
5
|
|
|
6
6
|
@Serializable
|
|
7
7
|
internal data class PrimerRNPhoneNumberData(
|
|
8
|
-
|
|
8
|
+
val phoneNumber: String? = null,
|
|
9
9
|
) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
fun toPrimerPhoneNumberData() =
|
|
11
|
+
PrimerPhoneNumberData(
|
|
12
|
+
phoneNumber.orEmpty(),
|
|
13
|
+
)
|
|
14
14
|
}
|
|
@@ -5,8 +5,7 @@ import kotlinx.serialization.Serializable
|
|
|
5
5
|
|
|
6
6
|
@Serializable
|
|
7
7
|
internal data class PrimerRNRetailOutletData(
|
|
8
|
-
|
|
8
|
+
val id: String,
|
|
9
9
|
) {
|
|
10
|
-
|
|
11
|
-
fun toPrimerRetailOutletData() = PrimerRetailerData(id)
|
|
10
|
+
fun toPrimerRetailOutletData() = PrimerRetailerData(id)
|
|
12
11
|
}
|
|
@@ -5,24 +5,25 @@ import kotlinx.serialization.Serializable
|
|
|
5
5
|
|
|
6
6
|
@Serializable
|
|
7
7
|
internal data class RNRetailOutletsList(
|
|
8
|
-
|
|
8
|
+
val result: List<RNRetailOutlet>,
|
|
9
9
|
)
|
|
10
10
|
|
|
11
11
|
@Serializable
|
|
12
12
|
internal data class RNRetailOutlet(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
val id: String,
|
|
14
|
+
val name: String,
|
|
15
|
+
val disabled: Boolean,
|
|
16
|
+
val iconUrl: String,
|
|
17
17
|
)
|
|
18
18
|
|
|
19
|
-
internal fun RetailOutletsList.toRNRetailOutletsList() =
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
internal fun RetailOutletsList.toRNRetailOutletsList() =
|
|
20
|
+
RNRetailOutletsList(
|
|
21
|
+
result.map {
|
|
22
|
+
RNRetailOutlet(
|
|
23
|
+
it.id,
|
|
24
|
+
it.name,
|
|
25
|
+
it.disabled,
|
|
26
|
+
it.iconUrl,
|
|
27
|
+
)
|
|
28
|
+
},
|
|
26
29
|
)
|
|
27
|
-
}
|
|
28
|
-
)
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
package com.primerioreactnative.components.datamodels.manager.vault
|
|
2
2
|
|
|
3
|
-
import kotlinx.serialization.Serializable
|
|
4
3
|
import io.primer.android.components.domain.error.PrimerValidationError
|
|
4
|
+
import kotlinx.serialization.Serializable
|
|
5
5
|
|
|
6
6
|
@Serializable
|
|
7
7
|
data class PrimerRNValidationError(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
val errorId: String,
|
|
9
|
+
val description: String,
|
|
10
|
+
val diagnosticsId: String,
|
|
11
11
|
)
|
|
12
12
|
|
|
13
13
|
@Serializable
|
|
14
14
|
data class PrimerRNValidationErrors(
|
|
15
|
-
|
|
15
|
+
val validationErrors: List<PrimerRNValidationError>,
|
|
16
16
|
)
|
|
17
17
|
|
|
18
18
|
internal fun PrimerValidationError.toPrimerRNValidationError() =
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
PrimerRNValidationError(
|
|
20
|
+
errorId,
|
|
21
|
+
description,
|
|
22
|
+
diagnosticsId,
|
|
23
|
+
)
|
|
@@ -9,26 +9,25 @@ import kotlinx.serialization.Serializable
|
|
|
9
9
|
|
|
10
10
|
@Serializable
|
|
11
11
|
data class PrimerRNVaultedPaymentMethod(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
val id: String,
|
|
13
|
+
val analyticsId: String,
|
|
14
|
+
val paymentInstrumentType: String,
|
|
15
|
+
val paymentMethodType: String,
|
|
16
|
+
val paymentInstrumentData: PaymentInstrumentData?,
|
|
17
|
+
val threeDSecureAuthentication: ThreeDSAuthenticationData? = null,
|
|
18
18
|
)
|
|
19
19
|
|
|
20
20
|
@Serializable
|
|
21
21
|
data class PrimerRNVaultedPaymentMethods(
|
|
22
|
-
|
|
22
|
+
val paymentMethods: List<PrimerRNVaultedPaymentMethod>,
|
|
23
23
|
)
|
|
24
24
|
|
|
25
25
|
internal fun PrimerVaultedPaymentMethod.toPrimerRNVaultedPaymentMethod() =
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
26
|
+
PrimerRNVaultedPaymentMethod(
|
|
27
|
+
id,
|
|
28
|
+
analyticsId,
|
|
29
|
+
paymentInstrumentType,
|
|
30
|
+
paymentMethodType,
|
|
31
|
+
paymentInstrumentData.toPaymentInstrumentDataRN(),
|
|
32
|
+
threeDSecureAuthentication?.toThreeDsAuthenticationDataRN(),
|
|
33
|
+
)
|
|
@@ -5,8 +5,10 @@ import kotlinx.serialization.Serializable
|
|
|
5
5
|
|
|
6
6
|
@Serializable
|
|
7
7
|
data class PrimerRNVaultedPaymentMethodAdditionalData(
|
|
8
|
-
|
|
8
|
+
val cvv: String,
|
|
9
9
|
)
|
|
10
10
|
|
|
11
11
|
internal fun PrimerRNVaultedPaymentMethodAdditionalData.toPrimerVaultedCardAdditionalData() =
|
|
12
|
-
|
|
12
|
+
PrimerVaultedCardAdditionalData(
|
|
13
|
+
cvv,
|
|
14
|
+
)
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
package com.primerioreactnative.components.events
|
|
2
2
|
|
|
3
3
|
internal enum class PrimerHeadlessUniversalCheckoutComponentEvent(val eventName: String) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
ON_STEP("onStep"),
|
|
5
|
+
ON_ERROR("onError"),
|
|
6
|
+
ON_IN_VALID("onInvalid"),
|
|
7
|
+
ON_VALID("onValid"),
|
|
8
|
+
ON_VALIDATING("onValidating"),
|
|
9
|
+
ON_VALIDATION_ERROR("onValidationError"),
|
|
10
10
|
}
|