@primer-io/react-native 2.30.0 → 2.30.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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,52 +1,51 @@
|
|
|
1
1
|
package com.primerioreactnative.utils
|
|
2
2
|
|
|
3
|
-
import com.facebook.react.bridge
|
|
3
|
+
import com.facebook.react.bridge.Arguments
|
|
4
|
+
import com.facebook.react.bridge.WritableArray
|
|
5
|
+
import com.facebook.react.bridge.WritableMap
|
|
4
6
|
import org.json.JSONArray
|
|
5
|
-
|
|
6
7
|
import org.json.JSONException
|
|
7
|
-
|
|
8
8
|
import org.json.JSONObject
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
internal fun JSONObject?.toWritableMap(): WritableMap =
|
|
12
|
-
this?.let { convertJsonToMap(this) } ?: Arguments.createMap()
|
|
10
|
+
internal fun JSONObject?.toWritableMap(): WritableMap = this?.let { convertJsonToMap(this) } ?: Arguments.createMap()
|
|
13
11
|
|
|
14
12
|
internal fun JSONArray?.toWritableArray(): WritableArray =
|
|
15
|
-
|
|
13
|
+
this?.let {
|
|
14
|
+
convertJsonToArray(this)
|
|
15
|
+
} ?: Arguments.createArray()
|
|
16
16
|
|
|
17
17
|
@Throws(JSONException::class)
|
|
18
18
|
internal fun convertJsonToMap(jsonObject: JSONObject): WritableMap {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
19
|
+
val map = Arguments.createMap()
|
|
20
|
+
val iterator = jsonObject.keys()
|
|
21
|
+
while (iterator.hasNext()) {
|
|
22
|
+
val key = iterator.next()
|
|
23
|
+
when (val value = jsonObject[key]) {
|
|
24
|
+
is JSONObject -> map.putMap(key, convertJsonToMap(value))
|
|
25
|
+
is JSONArray -> map.putArray(key, convertJsonToArray(value))
|
|
26
|
+
is Boolean -> map.putBoolean(key, value)
|
|
27
|
+
is Int -> map.putInt(key, value)
|
|
28
|
+
is Double -> map.putDouble(key, value)
|
|
29
|
+
is String -> map.putString(key, value)
|
|
30
|
+
else -> map.putString(key, value.toString())
|
|
31
|
+
}
|
|
31
32
|
}
|
|
32
|
-
|
|
33
|
-
return map
|
|
33
|
+
return map
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
@Throws(JSONException::class)
|
|
37
37
|
internal fun convertJsonToArray(jsonArray: JSONArray): WritableArray {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
38
|
+
val array: WritableArray = Arguments.createArray()
|
|
39
|
+
for (i in 0 until jsonArray.length()) {
|
|
40
|
+
when (val value = jsonArray[i]) {
|
|
41
|
+
is JSONObject -> array.pushMap(convertJsonToMap(value))
|
|
42
|
+
is JSONArray -> array.pushArray(convertJsonToArray(value))
|
|
43
|
+
is Boolean -> array.pushBoolean(value)
|
|
44
|
+
is Int -> array.pushInt(value)
|
|
45
|
+
is Double -> array.pushDouble(value)
|
|
46
|
+
is String -> array.pushString(value)
|
|
47
|
+
else -> array.pushString(value.toString())
|
|
48
|
+
}
|
|
49
49
|
}
|
|
50
|
-
|
|
51
|
-
return array
|
|
50
|
+
return array
|
|
52
51
|
}
|
|
@@ -5,30 +5,30 @@ import kotlinx.serialization.Serializable
|
|
|
5
5
|
|
|
6
6
|
@Serializable
|
|
7
7
|
data class PrimerHeadlessUniversalCheckoutImplementedRNCallbacks(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
8
|
+
@SerialName("onCheckoutComplete")
|
|
9
|
+
val isOnCheckoutCompleteImplemented: Boolean? = null,
|
|
10
|
+
@SerialName("onBeforeClientSessionUpdate")
|
|
11
|
+
val isOnBeforeClientSessionUpdateImplemented: Boolean? = null,
|
|
12
|
+
@SerialName("onClientSessionUpdate")
|
|
13
|
+
val isOnClientSessionUpdateImplemented: Boolean? = null,
|
|
14
|
+
@SerialName("onBeforePaymentCreate")
|
|
15
|
+
val isOnBeforePaymentCreateImplemented: Boolean? = null,
|
|
16
|
+
@SerialName("onError")
|
|
17
|
+
val isOnErrorImplemented: Boolean? = null,
|
|
18
|
+
@SerialName("onTokenizationSuccess")
|
|
19
|
+
val isOnTokenizeSuccessImplemented: Boolean? = null,
|
|
20
|
+
@SerialName("onCheckoutResume")
|
|
21
|
+
val isOnCheckoutResumeImplemented: Boolean? = null,
|
|
22
|
+
@SerialName("onCheckoutPending")
|
|
23
|
+
val isOnCheckoutPendingImplemented: Boolean? = null,
|
|
24
|
+
@SerialName("onCheckoutAdditionalInfo")
|
|
25
|
+
val isOnCheckoutAdditionalInfoImplemented: Boolean? = null,
|
|
26
|
+
@SerialName("onTokenizationStart")
|
|
27
|
+
val isOnTokenizationStartImplemented: Boolean? = null,
|
|
28
|
+
@SerialName("onPreparationStart")
|
|
29
|
+
val isOnPreparationStartImplemented: Boolean? = null,
|
|
30
|
+
@SerialName("onAvailablePaymentMethodsLoad")
|
|
31
|
+
val isOnAvailablePaymentMethodsLoadImplemented: Boolean? = null,
|
|
32
|
+
@SerialName("onPaymentMethodShow")
|
|
33
|
+
val isOnPaymentMethodShowImplemented: Boolean? = null,
|
|
34
34
|
)
|
|
@@ -5,24 +5,24 @@ import kotlinx.serialization.Serializable
|
|
|
5
5
|
|
|
6
6
|
@Serializable
|
|
7
7
|
data class PrimerImplementedRNCallbacks(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
8
|
+
@SerialName("onCheckoutComplete")
|
|
9
|
+
val isOnCheckoutCompleteImplemented: Boolean? = null,
|
|
10
|
+
@SerialName("onBeforeClientSessionUpdate")
|
|
11
|
+
val isOnBeforeClientSessionUpdateImplemented: Boolean? = null,
|
|
12
|
+
@SerialName("onClientSessionUpdate")
|
|
13
|
+
val isOnClientSessionUpdateImplemented: Boolean? = null,
|
|
14
|
+
@SerialName("onBeforePaymentCreate")
|
|
15
|
+
val isOnBeforePaymentCreateImplemented: Boolean? = null,
|
|
16
|
+
@SerialName("onError")
|
|
17
|
+
val isOnErrorImplemented: Boolean? = null,
|
|
18
|
+
@SerialName("onDismiss")
|
|
19
|
+
val isOnDismissImplemented: Boolean? = null,
|
|
20
|
+
@SerialName("onTokenizationSuccess")
|
|
21
|
+
val isOnTokenizeSuccessImplemented: Boolean? = null,
|
|
22
|
+
@SerialName("onCheckoutResume")
|
|
23
|
+
val isOnCheckoutResumeImplemented: Boolean? = null,
|
|
24
|
+
@SerialName("onCheckoutPending")
|
|
25
|
+
val isOnCheckoutPendingImplemented: Boolean? = null,
|
|
26
|
+
@SerialName("onCheckoutAdditionalInfo")
|
|
27
|
+
val isOnCheckoutAdditionalInfoImplemented: Boolean? = null,
|
|
28
28
|
)
|
|
@@ -5,20 +5,19 @@ import org.junit.jupiter.api.Assertions.assertEquals
|
|
|
5
5
|
import org.junit.jupiter.api.Test
|
|
6
6
|
|
|
7
7
|
internal class ErrorHelperTest {
|
|
8
|
+
// Create a mock ErrorTypeRN instance
|
|
9
|
+
private val errorType = ErrorTypeRN.InvalidVaultedPaymentMethodId
|
|
8
10
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
+
@Test
|
|
12
|
+
fun `errorTo should create PrimerErrorRN with correct properties`() {
|
|
13
|
+
// Mock message
|
|
14
|
+
val errorMessage = "This is an error message"
|
|
11
15
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
// Mock message
|
|
15
|
-
val errorMessage = "This is an error message"
|
|
16
|
+
// Call the infix function
|
|
17
|
+
val primerError = errorType errorTo errorMessage
|
|
16
18
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
assertEquals(errorType.errorId, primerError.errorId)
|
|
22
|
-
assertEquals(errorMessage, primerError.description)
|
|
23
|
-
}
|
|
19
|
+
// Verify the errorId and message are set correctly in the PrimerErrorRN object
|
|
20
|
+
assertEquals(errorType.errorId, primerError.errorId)
|
|
21
|
+
assertEquals(errorMessage, primerError.description)
|
|
22
|
+
}
|
|
24
23
|
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
build:
|
|
2
|
+
maxIssues: 10
|
|
3
|
+
style:
|
|
4
|
+
MaxLineLength:
|
|
5
|
+
excludes: [ '**/test/**', '**/*.Test.kt', '**/*.Spec.kt' ]
|
|
6
|
+
excludeCommentStatements: true
|
|
7
|
+
maxLineLength: 120
|
|
8
|
+
complexity:
|
|
9
|
+
LongMethod:
|
|
10
|
+
excludes: [ '**/test/**', '**/*.Test.kt', '**/*.Spec.kt' ]
|
|
11
|
+
LargeClass:
|
|
12
|
+
excludes: [ '**/test/**', '**/*.Test.kt', '**/*.Spec.kt' ]
|
|
13
|
+
formatting:
|
|
14
|
+
android: true
|
|
15
|
+
autoCorrect: true
|
|
16
|
+
TrailingCommaOnCallSite:
|
|
17
|
+
active: true
|
|
18
|
+
autoCorrect: true
|
|
19
|
+
useTrailingCommaOnCallSite: true
|
|
20
|
+
TrailingCommaOnDeclarationSite:
|
|
21
|
+
active: true
|
|
22
|
+
autoCorrect: true
|
|
23
|
+
useTrailingCommaOnDeclarationSite: true
|
|
24
|
+
ArgumentListWrapping:
|
|
25
|
+
active: true
|
|
26
|
+
autoCorrect: true
|
|
27
|
+
indentSize: 4
|
|
28
|
+
maxLineLength: 120
|
|
29
|
+
ContextReceiverMapping:
|
|
30
|
+
active: true
|
|
31
|
+
autoCorrect: true
|
|
32
|
+
maxLineLength: 120
|
|
33
|
+
indentSize: 4
|
|
34
|
+
FunctionReturnTypeSpacing:
|
|
35
|
+
active: true
|
|
36
|
+
autoCorrect: true
|
|
37
|
+
maxLineLength: 120
|
|
38
|
+
FunctionSignature:
|
|
39
|
+
active: false
|
|
40
|
+
autoCorrect: true
|
|
41
|
+
MaximumLineLength:
|
|
42
|
+
active: true
|
|
43
|
+
maxLineLength: 120
|
|
44
|
+
ignoreBackTickedIdentifier: true
|
|
45
|
+
ParameterListSpacing:
|
|
46
|
+
active: true
|
|
47
|
+
autoCorrect: true
|
|
48
|
+
maxLineLength: 120
|
|
49
|
+
ParameterListWrapping:
|
|
50
|
+
active: true
|
|
51
|
+
autoCorrect: true
|
|
52
|
+
maxLineLength: 120
|
|
53
|
+
indentSize: 4
|
|
54
|
+
ParameterWrapping:
|
|
55
|
+
active: true
|
|
56
|
+
autoCorrect: true
|
|
57
|
+
indentSize: 4
|
|
58
|
+
maxLineLength: 120
|
|
59
|
+
PropertyWrapping:
|
|
60
|
+
active: true
|
|
61
|
+
autoCorrect: true
|
|
62
|
+
indentSize: 4
|
|
63
|
+
maxLineLength: 120
|
|
64
|
+
Wrapping:
|
|
65
|
+
active: true
|
|
66
|
+
autoCorrect: true
|
|
67
|
+
indentSize: 4
|
|
68
|
+
maxLineLength: 120
|
|
@@ -43,11 +43,11 @@ extension ACHUserDetailsCollectableData {
|
|
|
43
43
|
func toFirstNameRN(value: String) -> FirstNameRN {
|
|
44
44
|
return FirstNameRN(value: value)
|
|
45
45
|
}
|
|
46
|
-
|
|
46
|
+
|
|
47
47
|
func toLastNameRN(value: String) -> LastNameRN {
|
|
48
48
|
return LastNameRN(value: value)
|
|
49
49
|
}
|
|
50
|
-
|
|
50
|
+
|
|
51
51
|
func toEmailAddressRN(value: String) -> EmailAddressRN {
|
|
52
52
|
return EmailAddressRN(value: value)
|
|
53
53
|
}
|
|
@@ -9,67 +9,87 @@ import Foundation
|
|
|
9
9
|
|
|
10
10
|
internal struct ImplementedRNCallbacks: Decodable {
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
12
|
+
// swiftlint:disable identifier_name
|
|
13
|
+
internal var isOnAvailablePaymentMethodsLoadImplemented = false
|
|
14
|
+
// swiftlint:enable identifier_name
|
|
15
|
+
|
|
16
|
+
internal var isOnTokenizationStartImplemented = false
|
|
17
|
+
internal var isOnTokenizationSuccessImplemented = false
|
|
18
|
+
|
|
19
|
+
internal var isOnCheckoutResumeImplemented = false
|
|
20
|
+
internal var isOnCheckoutPendingImplemented = false
|
|
21
|
+
internal var isOnCheckoutAdditionalInfoImplemented = false
|
|
22
|
+
|
|
23
|
+
internal var isOnErrorImplemented = false
|
|
24
|
+
internal var isOnCheckoutCompleteImplemented = false
|
|
25
|
+
internal var isOnBeforeClientSessionUpdateImplemented = false
|
|
26
|
+
|
|
27
|
+
internal var isOnClientSessionUpdateImplemented = false
|
|
28
|
+
internal var isOnBeforePaymentCreateImplemented = false
|
|
29
|
+
internal var isOnPreparationStartImplemented = false
|
|
30
|
+
|
|
31
|
+
internal var isOnPaymentMethodShowImplemented = false
|
|
32
|
+
internal var isOnDismissImplemented = false
|
|
33
|
+
|
|
34
|
+
enum CodingKeys: String, CodingKey {
|
|
35
|
+
// swiftlint:disable identifier_name
|
|
36
|
+
case isOnAvailablePaymentMethodsLoadImplemented = "onAvailablePaymentMethodsLoad"
|
|
37
|
+
// swiftlint:enable identifier_name
|
|
38
|
+
|
|
39
|
+
case isOnTokenizationStartImplemented = "onTokenizationStart"
|
|
40
|
+
case isOnTokenizationSuccessImplemented = "onTokenizationSuccess"
|
|
41
|
+
|
|
42
|
+
case isOnCheckoutResumeImplemented = "onCheckoutResume"
|
|
43
|
+
case isOnCheckoutPendingImplemented = "onCheckoutPending"
|
|
44
|
+
case isOnCheckoutAdditionalInfoImplemented = "onCheckoutAdditionalInfo"
|
|
45
|
+
|
|
46
|
+
case isOnErrorImplemented = "onError"
|
|
47
|
+
case isOnCheckoutCompleteImplemented = "onCheckoutComplete"
|
|
48
|
+
case isOnBeforeClientSessionUpdateImplemented = "onBeforeClientSessionUpdate"
|
|
49
|
+
|
|
50
|
+
case isOnClientSessionUpdateImplemented = "onClientSessionUpdate"
|
|
51
|
+
case isOnBeforePaymentCreateImplemented = "onBeforePaymentCreate"
|
|
52
|
+
case isOnPreparationStartImplemented = "onPreparationStart"
|
|
53
|
+
|
|
54
|
+
case isOnPaymentMethodShowImplemented = "onPaymentMethodShow"
|
|
55
|
+
case isOnDismissImplemented = "onDismiss"
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
init(from decoder: Decoder) throws {
|
|
59
|
+
let container = try decoder.container(keyedBy: CodingKeys.self)
|
|
60
|
+
|
|
61
|
+
self.isOnAvailablePaymentMethodsLoadImplemented =
|
|
62
|
+
(try? container.decode(Bool.self, forKey: .isOnAvailablePaymentMethodsLoadImplemented))
|
|
63
|
+
?? false
|
|
64
|
+
self.isOnTokenizationStartImplemented =
|
|
65
|
+
(try? container.decode(Bool.self, forKey: .isOnTokenizationStartImplemented)) ?? false
|
|
66
|
+
self.isOnTokenizationSuccessImplemented =
|
|
67
|
+
(try? container.decode(Bool.self, forKey: .isOnTokenizationSuccessImplemented)) ?? false
|
|
68
|
+
|
|
69
|
+
self.isOnCheckoutResumeImplemented =
|
|
70
|
+
(try? container.decode(Bool.self, forKey: .isOnCheckoutResumeImplemented)) ?? false
|
|
71
|
+
self.isOnCheckoutPendingImplemented =
|
|
72
|
+
(try? container.decode(Bool.self, forKey: .isOnCheckoutPendingImplemented)) ?? false
|
|
73
|
+
self.isOnCheckoutAdditionalInfoImplemented =
|
|
74
|
+
(try? container.decode(Bool.self, forKey: .isOnCheckoutAdditionalInfoImplemented)) ?? false
|
|
75
|
+
|
|
76
|
+
self.isOnErrorImplemented =
|
|
77
|
+
(try? container.decode(Bool.self, forKey: .isOnErrorImplemented)) ?? false
|
|
78
|
+
self.isOnCheckoutCompleteImplemented =
|
|
79
|
+
(try? container.decode(Bool.self, forKey: .isOnCheckoutCompleteImplemented)) ?? false
|
|
80
|
+
self.isOnBeforeClientSessionUpdateImplemented =
|
|
81
|
+
(try? container.decode(Bool.self, forKey: .isOnBeforeClientSessionUpdateImplemented)) ?? false
|
|
82
|
+
|
|
83
|
+
self.isOnClientSessionUpdateImplemented =
|
|
84
|
+
(try? container.decode(Bool.self, forKey: .isOnClientSessionUpdateImplemented)) ?? false
|
|
85
|
+
self.isOnBeforePaymentCreateImplemented =
|
|
86
|
+
(try? container.decode(Bool.self, forKey: .isOnBeforePaymentCreateImplemented)) ?? false
|
|
87
|
+
self.isOnPreparationStartImplemented =
|
|
88
|
+
(try? container.decode(Bool.self, forKey: .isOnPreparationStartImplemented)) ?? false
|
|
89
|
+
|
|
90
|
+
self.isOnPaymentMethodShowImplemented =
|
|
91
|
+
(try? container.decode(Bool.self, forKey: .isOnPaymentMethodShowImplemented)) ?? false
|
|
92
|
+
self.isOnDismissImplemented =
|
|
93
|
+
(try? container.decode(Bool.self, forKey: .isOnDismissImplemented)) ?? false
|
|
94
|
+
}
|
|
75
95
|
}
|
package/ios/Sources/DataModels/Klarna Component/PrimerHeadlessUniversalCheckoutComponentEvent.swift
CHANGED
|
@@ -7,8 +7,10 @@
|
|
|
7
7
|
|
|
8
8
|
import Foundation
|
|
9
9
|
|
|
10
|
+
// swiftlint:disable type_name
|
|
10
11
|
@objc
|
|
11
12
|
enum PrimerHeadlessUniversalCheckoutComponentEvent: Int, CaseIterable {
|
|
13
|
+
// swiftlint:enable type_name
|
|
12
14
|
|
|
13
15
|
case onStep
|
|
14
16
|
case onError
|
|
@@ -16,7 +18,7 @@ enum PrimerHeadlessUniversalCheckoutComponentEvent: Int, CaseIterable {
|
|
|
16
18
|
case onInvalid
|
|
17
19
|
case onValidating
|
|
18
20
|
case onValidationError
|
|
19
|
-
|
|
21
|
+
|
|
20
22
|
var stringValue: String {
|
|
21
23
|
switch self {
|
|
22
24
|
case .onStep:
|
|
@@ -15,7 +15,7 @@ protocol KlarnaCollectableDataRN {
|
|
|
15
15
|
class KlarnaPaymentOptionsRN: KlarnaCollectableDataRN, Encodable {
|
|
16
16
|
var validatableDataName: String = "klarnaPaymentOptions"
|
|
17
17
|
var paymentCategory: KlarnaPaymentCategoryRN
|
|
18
|
-
|
|
18
|
+
|
|
19
19
|
init(paymentCategory: KlarnaPaymentCategory) {
|
|
20
20
|
self.paymentCategory = paymentCategory.toKlarnaPaymentCategoryRN()
|
|
21
21
|
}
|
|
@@ -29,7 +29,7 @@ extension KlarnaCollectableData {
|
|
|
29
29
|
func toKlarnaPaymentOptionsRN(category: KlarnaPaymentCategory) -> KlarnaPaymentOptionsRN {
|
|
30
30
|
return KlarnaPaymentOptionsRN(paymentCategory: category)
|
|
31
31
|
}
|
|
32
|
-
|
|
32
|
+
|
|
33
33
|
func toFinalizePaymentRN() -> FinalizePaymentRN {
|
|
34
34
|
return FinalizePaymentRN()
|
|
35
35
|
}
|
|
@@ -14,7 +14,7 @@ class KlarnaPaymentCategoryRN: NSObject, Codable {
|
|
|
14
14
|
var name: String
|
|
15
15
|
var descriptiveAssetUrl: String
|
|
16
16
|
var standardAssetUrl: String
|
|
17
|
-
|
|
17
|
+
|
|
18
18
|
init(identifier: String, name: String, descriptiveAssetUrl: String, standardAssetUrl: String) {
|
|
19
19
|
self.identifier = identifier
|
|
20
20
|
self.name = name
|
|
@@ -16,7 +16,7 @@ protocol KlarnaStepRN {
|
|
|
16
16
|
class PaymentSessionCreatedRN: KlarnaStepRN, Encodable {
|
|
17
17
|
var stepName: String = "paymentSessionCreated"
|
|
18
18
|
var paymentCategories: [KlarnaPaymentCategoryRN]
|
|
19
|
-
|
|
19
|
+
|
|
20
20
|
init(paymentCategories: [KlarnaPaymentCategory]) {
|
|
21
21
|
self.paymentCategories = paymentCategories.map { $0.toKlarnaPaymentCategoryRN() }
|
|
22
22
|
}
|
|
@@ -26,7 +26,7 @@ class PaymentSessionCreatedRN: KlarnaStepRN, Encodable {
|
|
|
26
26
|
class PaymentSessionAuthorizedRN: KlarnaStepRN, Encodable {
|
|
27
27
|
var stepName: String = "paymentSessionAuthorized"
|
|
28
28
|
var isFinalized: Bool
|
|
29
|
-
|
|
29
|
+
|
|
30
30
|
init(isFinalized: Bool) {
|
|
31
31
|
self.isFinalized = isFinalized
|
|
32
32
|
}
|
|
@@ -46,15 +46,15 @@ extension KlarnaStep {
|
|
|
46
46
|
func toPaymentSessionCreatedRN(categories: [KlarnaPaymentCategory]) -> PaymentSessionCreatedRN {
|
|
47
47
|
return PaymentSessionCreatedRN(paymentCategories: categories)
|
|
48
48
|
}
|
|
49
|
-
|
|
49
|
+
|
|
50
50
|
func toPaymentSessionAuthorizedRN(isFinalized: Bool) -> PaymentSessionAuthorizedRN {
|
|
51
51
|
return PaymentSessionAuthorizedRN(isFinalized: isFinalized)
|
|
52
52
|
}
|
|
53
|
-
|
|
53
|
+
|
|
54
54
|
func toPaymentSessionFinalizedRN() -> PaymentSessionFinalizedRN {
|
|
55
55
|
return PaymentSessionFinalizedRN()
|
|
56
56
|
}
|
|
57
|
-
|
|
57
|
+
|
|
58
58
|
func toPaymentViewLoadedRN() -> PaymentViewLoadedRN {
|
|
59
59
|
return PaymentViewLoadedRN()
|
|
60
60
|
}
|
|
@@ -17,8 +17,7 @@ extension PrimerBancontactCardData {
|
|
|
17
17
|
|
|
18
18
|
if let cardNumber = dict["cardNumber"],
|
|
19
19
|
let expiryDate = dict["expiryDate"],
|
|
20
|
-
let cardholderName = dict["cardholderName"]
|
|
21
|
-
{
|
|
20
|
+
let cardholderName = dict["cardholderName"] {
|
|
22
21
|
self.init(
|
|
23
22
|
cardNumber: cardNumber,
|
|
24
23
|
expiryDate: expiryDate,
|
|
@@ -9,23 +9,22 @@ import Foundation
|
|
|
9
9
|
import PrimerSDK
|
|
10
10
|
|
|
11
11
|
extension PrimerCardData {
|
|
12
|
-
|
|
12
|
+
|
|
13
13
|
convenience init?(cardDataStr: String) {
|
|
14
14
|
do {
|
|
15
15
|
guard let data = cardDataStr.data(using: .utf8) else {
|
|
16
16
|
return nil
|
|
17
17
|
}
|
|
18
|
-
|
|
18
|
+
|
|
19
19
|
let json = try JSONSerialization.jsonObject(with: data)
|
|
20
|
-
|
|
20
|
+
|
|
21
21
|
guard let dict = json as? [String: String] else {
|
|
22
22
|
return nil
|
|
23
23
|
}
|
|
24
|
-
|
|
24
|
+
|
|
25
25
|
if let cardNumber = dict["cardNumber"],
|
|
26
26
|
let cvv = dict["cvv"],
|
|
27
|
-
let expiryDate = dict["expiryDate"]
|
|
28
|
-
{
|
|
27
|
+
let expiryDate = dict["expiryDate"] {
|
|
29
28
|
let cardholderName = dict["cardholderName"]
|
|
30
29
|
self.init(
|
|
31
30
|
cardNumber: cardNumber,
|
|
@@ -35,7 +34,7 @@ extension PrimerCardData {
|
|
|
35
34
|
} else {
|
|
36
35
|
return nil
|
|
37
36
|
}
|
|
38
|
-
|
|
37
|
+
|
|
39
38
|
} catch {
|
|
40
39
|
return nil
|
|
41
40
|
}
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
import Foundation
|
|
9
9
|
import PrimerSDK
|
|
10
10
|
|
|
11
|
-
|
|
12
11
|
protocol PrimerCheckoutAdditionalInfoRN: Encodable {
|
|
13
12
|
var additionalInfoName: String { get }
|
|
14
13
|
}
|
|
@@ -18,7 +17,7 @@ class MultibancoCheckoutAdditionalInfoRN: PrimerCheckoutAdditionalInfoRN {
|
|
|
18
17
|
let reference: String?
|
|
19
18
|
let entity: String?
|
|
20
19
|
let additionalInfoName: String = "MultibancoCheckoutAdditionalInfo"
|
|
21
|
-
|
|
20
|
+
|
|
22
21
|
init(expiresAt: String?, reference: String?, entity: String?) {
|
|
23
22
|
self.expiresAt = expiresAt
|
|
24
23
|
self.reference = reference
|
|
@@ -33,11 +32,11 @@ class PromptPayCheckoutAdditionalInfoRN: PrimerCheckoutQRCodeInfoRN {
|
|
|
33
32
|
let qrCodeUrl: String?
|
|
34
33
|
let qrCodeBase64: String?
|
|
35
34
|
var additionalInfoName: String = "PromptPayCheckoutAdditionalInfo"
|
|
36
|
-
|
|
35
|
+
|
|
37
36
|
init(expiresAt: String, qrCodeUrl: String?, qrCodeBase64: String?) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
self.expiresAt = expiresAt
|
|
38
|
+
self.qrCodeUrl = qrCodeUrl
|
|
39
|
+
self.qrCodeBase64 = qrCodeBase64
|
|
41
40
|
}
|
|
42
41
|
}
|
|
43
42
|
|
|
@@ -48,7 +47,7 @@ class XenditCheckoutVoucherAdditionalInfoRN: PrimerCheckoutVoucherInfoRN {
|
|
|
48
47
|
let couponCode: String
|
|
49
48
|
let retailerName: String?
|
|
50
49
|
var additionalInfoName: String = "XenditCheckoutVoucherAdditionalInfo"
|
|
51
|
-
|
|
50
|
+
|
|
52
51
|
init(expiresAt: String, couponCode: String, retailerName: String?) {
|
|
53
52
|
self.expiresAt = expiresAt
|
|
54
53
|
self.couponCode = couponCode
|