@primer-io/react-native 2.16.7 → 2.17.0-rc.10
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/.project +2 -2
- package/android/build.gradle +2 -3
- package/android/gradle.properties +1 -1
- package/android/src/main/java/com/primerioreactnative/PrimerCardNumberEditTextManager.kt +0 -15
- package/android/src/main/java/com/primerioreactnative/PrimerRN.kt +15 -2
- package/android/src/main/java/com/primerioreactnative/PrimerRNEventListener.kt +23 -8
- package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckout.kt +20 -120
- package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckoutListener.kt +61 -69
- package/android/src/main/java/com/primerioreactnative/ReactNativePackage.kt +6 -2
- package/android/src/main/java/com/primerioreactnative/{huc → components}/assets/AssetsManager.kt +5 -14
- package/android/src/main/java/com/primerioreactnative/components/assets/CardNetworkImageFileProvider.kt +23 -0
- package/android/src/main/java/com/primerioreactnative/components/assets/PaymentMethodAssetFileProvider.kt +24 -0
- package/android/src/main/java/com/primerioreactnative/components/datamodels/core/PrimerRNHeadlessUniversalCheckoutPaymentMethod.kt +25 -0
- package/android/src/main/java/com/primerioreactnative/components/datamodels/core/PrimerRawPaymentMethodType.kt +9 -0
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/asset/PrimerRNAsset.kt +106 -0
- package/android/src/main/java/com/primerioreactnative/{huc/datamodels/manager/raw/card/PrimerRNRawCardData.kt → components/datamodels/manager/raw/card/PrimerRNCardData.kt} +6 -8
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/cardRedirect/PrimerRNCardRedirectData.kt +19 -0
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/phoneNumber/PrimerRNPhoneNumberData.kt +14 -0
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/retailOutlets/PrimerRNRetailOutletData.kt +12 -0
- package/android/src/main/java/com/primerioreactnative/{huc → components}/datamodels/manager/raw/retailOutlets/RNRetailOutletsList.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/components/events/PrimerHeadlessUniversalCheckoutEvent.kt +17 -0
- package/android/src/main/java/com/primerioreactnative/{huc → components}/events/PrimerHeadlessUniversalCheckoutRawDataManagerEvent.kt +1 -2
- package/android/src/main/java/com/primerioreactnative/components/manager/asset/PrimerRNHeadlessUniversalCheckoutAssetManager.kt +131 -0
- package/android/src/main/java/com/primerioreactnative/components/manager/nativeUi/PrimerRNHeadlessUniversalCheckoutNativeUiManager.kt +87 -0
- package/android/src/main/java/com/primerioreactnative/{huc → components}/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManager.kt +72 -68
- package/android/src/main/java/com/primerioreactnative/{huc → components}/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManagerListener.kt +13 -5
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerErrorRN.kt +5 -4
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerInputValidationErrorRN.kt +11 -0
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerSettingsRN.kt +13 -9
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodOptionsRN.kt +3 -3
- package/android/src/main/java/com/primerioreactnative/utils/PrimerHeadlessUniversalCheckoutImplementedRNCallbacks.kt +15 -15
- package/android/src/main/java/com/primerioreactnative/utils/PrimerImplementedRNCallbacks.kt +7 -7
- package/ios/Podfile.lock +1 -1
- package/ios/ReactNative.xcodeproj/project.pbxproj +20 -20
- package/ios/Sources/DataModels/ImplementedRNCallbacks.swift +75 -0
- package/ios/{DataModels/RNTPrimerCardRedirectData.swift → Sources/DataModels/PrimerBancontactCardRedirectData+Extension.swift} +5 -8
- package/ios/{DataModels/RNTPrimerCardData.swift → Sources/DataModels/PrimerCardData+Extension.swift} +2 -5
- package/ios/Sources/DataModels/PrimerHeadlessUniversalCheckout_PaymentMethod.swift +20 -0
- package/ios/{DataModels/RNTPrimerPhoneNumberData.swift → Sources/DataModels/PrimerPhoneNumberData+Extension.swift} +0 -1
- package/ios/{DataModels/RNTPrimerRetailerData.swift → Sources/DataModels/PrimerRawRetailerData+Extension.swift} +3 -4
- package/ios/Sources/DataModels/PrimerSettings+Extensions.swift +94 -0
- package/ios/Sources/DataModels/RNTNativeError.swift +22 -0
- package/ios/Sources/DataModels/RNTPrimerPaymentMethodAsset.swift +67 -0
- package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTNativeUIManager.m +19 -0
- package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTNativeUIManager.swift +63 -0
- package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTRawDataManager.m +23 -0
- package/ios/{Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutRawDataManager.swift → Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTRawDataManager.swift } +36 -31
- package/ios/Sources/Headless Universal Checkout/Managers/RNTAssetsManager.m +24 -0
- package/ios/Sources/Headless Universal Checkout/Managers/RNTAssetsManager.swift +107 -0
- package/ios/Sources/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.m +41 -0
- package/ios/Sources/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +498 -0
- package/ios/Sources/Helpers/Encodable+Extension.swift +17 -0
- package/ios/Sources/Helpers/Error+Extensions.swift +39 -0
- package/ios/Sources/Helpers/UIColor+Extensions.swift +32 -0
- package/ios/Sources/Helpers/UIImage+Extensions.swift +32 -0
- package/ios/Sources/RNTPrimer.m +86 -0
- package/ios/{RNTPrimer.swift → Sources/RNTPrimer.swift} +37 -28
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js +59 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js +35 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +151 -0
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -0
- package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +270 -0
- package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -0
- package/lib/commonjs/{headless_checkout → HeadlessUniversalCheckout}/RNPrimerHeadlessUniversalCheckout.js +7 -81
- package/lib/commonjs/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -0
- package/lib/commonjs/HeadlessUniversalCheckout/types.js +34 -0
- package/lib/commonjs/HeadlessUniversalCheckout/types.js.map +1 -0
- package/lib/commonjs/Primer.js +24 -23
- package/lib/commonjs/Primer.js.map +1 -1
- package/lib/commonjs/PrimerInput.js.map +1 -1
- package/lib/commonjs/RNPrimer.js +4 -4
- package/lib/commonjs/RNPrimer.js.map +1 -1
- package/lib/commonjs/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js.map +1 -1
- package/lib/commonjs/index.js +63 -71
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/PrimerAsset.js +2 -0
- package/lib/commonjs/models/PrimerAsset.js.map +1 -0
- package/lib/commonjs/models/PrimerCheckoutAdditionalInfo.js.map +1 -1
- package/lib/commonjs/models/PrimerCheckoutData.js.map +1 -1
- package/lib/commonjs/models/PrimerCheckoutPaymentMethodData.js.map +1 -1
- package/lib/commonjs/models/PrimerClientSession.js.map +1 -1
- package/lib/commonjs/models/PrimerCountryCode.js.map +1 -1
- package/lib/commonjs/models/PrimerCurrencyCode.js.map +1 -1
- package/lib/commonjs/models/PrimerError.js +4 -4
- package/lib/commonjs/models/PrimerError.js.map +1 -1
- package/lib/commonjs/models/PrimerHandlers.js +2 -0
- package/lib/commonjs/models/PrimerHandlers.js.map +1 -0
- package/lib/commonjs/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js +2 -0
- package/lib/commonjs/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js.map +1 -0
- package/lib/commonjs/models/PrimerImplementedRNCallbacks.js +2 -0
- package/lib/commonjs/models/PrimerImplementedRNCallbacks.js.map +1 -0
- package/lib/commonjs/models/PrimerInitializationData.js.map +1 -1
- package/lib/commonjs/models/PrimerInputElementType.js +20 -0
- package/lib/commonjs/models/PrimerInputElementType.js.map +1 -0
- package/lib/commonjs/models/PrimerInterfaces.js.map +1 -1
- package/lib/commonjs/models/PrimerPaymentMethodManagerCategory.js +14 -0
- package/lib/commonjs/models/PrimerPaymentMethodManagerCategory.js.map +1 -0
- package/lib/commonjs/models/PrimerPaymentMethodTokenData.js.map +1 -1
- package/lib/commonjs/models/PrimerRawData.js.map +1 -1
- package/lib/commonjs/models/PrimerSessionIntent.js.map +1 -1
- package/lib/commonjs/models/PrimerSettings.js.map +1 -1
- package/lib/commonjs/models/PrimerTheme.js.map +1 -1
- package/lib/commonjs/models/RetailOutletsRetail.js.map +1 -1
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js +52 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js +28 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +144 -0
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -0
- package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +261 -0
- package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -0
- package/lib/module/{headless_checkout → HeadlessUniversalCheckout}/RNPrimerHeadlessUniversalCheckout.js +7 -81
- package/lib/module/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -0
- package/lib/module/HeadlessUniversalCheckout/types.js +33 -0
- package/lib/module/HeadlessUniversalCheckout/types.js.map +1 -0
- package/lib/module/Primer.js +24 -23
- package/lib/module/Primer.js.map +1 -1
- package/lib/module/PrimerInput.js.map +1 -1
- package/lib/module/RNPrimer.js +4 -4
- package/lib/module/RNPrimer.js.map +1 -1
- package/lib/module/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js.map +1 -1
- package/lib/module/index.js +15 -9
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/PrimerAsset.js +2 -0
- package/lib/module/models/PrimerAsset.js.map +1 -0
- package/lib/module/models/PrimerCheckoutAdditionalInfo.js.map +1 -1
- package/lib/module/models/PrimerCheckoutData.js.map +1 -1
- package/lib/module/models/PrimerCheckoutPaymentMethodData.js.map +1 -1
- package/lib/module/models/PrimerClientSession.js.map +1 -1
- package/lib/module/models/PrimerCountryCode.js.map +1 -1
- package/lib/module/models/PrimerCurrencyCode.js.map +1 -1
- package/lib/module/models/PrimerError.js +4 -4
- package/lib/module/models/PrimerError.js.map +1 -1
- package/lib/module/models/PrimerHandlers.js +2 -0
- package/lib/module/models/PrimerHandlers.js.map +1 -0
- package/lib/module/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js +2 -0
- package/lib/module/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js.map +1 -0
- package/lib/module/models/PrimerImplementedRNCallbacks.js +2 -0
- package/lib/module/models/PrimerImplementedRNCallbacks.js.map +1 -0
- package/lib/module/models/PrimerInitializationData.js.map +1 -1
- package/lib/module/models/PrimerInputElementType.js +13 -0
- package/lib/module/models/PrimerInputElementType.js.map +1 -0
- package/lib/module/models/PrimerInterfaces.js.map +1 -1
- package/lib/module/models/PrimerPaymentMethodManagerCategory.js +7 -0
- package/lib/module/models/PrimerPaymentMethodManagerCategory.js.map +1 -0
- package/lib/module/models/PrimerPaymentMethodTokenData.js.map +1 -1
- package/lib/module/models/PrimerRawData.js.map +1 -1
- package/lib/module/models/PrimerSessionIntent.js.map +1 -1
- package/lib/module/models/PrimerSettings.js.map +1 -1
- package/lib/module/models/PrimerTheme.js.map +1 -1
- package/lib/module/models/RetailOutletsRetail.js.map +1 -1
- package/lib/module/utils/index.js.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts +9 -0
- package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts.map +1 -0
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.d.ts +8 -0
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.d.ts.map +1 -0
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts +29 -0
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts.map +1 -0
- package/lib/typescript/{headless_checkout → HeadlessUniversalCheckout}/PrimerHeadlessUniversalCheckout.d.ts +4 -5
- package/lib/typescript/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.d.ts.map +1 -0
- package/lib/typescript/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.d.ts +18 -0
- package/lib/typescript/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.d.ts.map +1 -0
- package/lib/typescript/HeadlessUniversalCheckout/types.d.ts +1 -0
- package/lib/typescript/HeadlessUniversalCheckout/types.d.ts.map +1 -0
- package/lib/typescript/Primer.d.ts +1 -0
- package/lib/typescript/Primer.d.ts.map +1 -0
- package/lib/typescript/PrimerInput.d.ts +5 -4
- package/lib/typescript/PrimerInput.d.ts.map +1 -0
- package/lib/typescript/RNPrimer.d.ts +4 -4
- package/lib/typescript/RNPrimer.d.ts.map +1 -0
- package/lib/typescript/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.d.ts +1 -0
- package/lib/typescript/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +18 -9
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/models/PrimerAsset.d.ts +15 -0
- package/lib/typescript/models/PrimerAsset.d.ts.map +1 -0
- package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts +7 -6
- package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts.map +1 -0
- package/lib/typescript/models/PrimerCheckoutData.d.ts +3 -2
- package/lib/typescript/models/PrimerCheckoutData.d.ts.map +1 -0
- package/lib/typescript/models/PrimerCheckoutPaymentMethodData.d.ts +2 -1
- package/lib/typescript/models/PrimerCheckoutPaymentMethodData.d.ts.map +1 -0
- package/lib/typescript/models/PrimerClientSession.d.ts +6 -5
- package/lib/typescript/models/PrimerClientSession.d.ts.map +1 -0
- package/lib/typescript/models/PrimerCountryCode.d.ts +2 -1
- package/lib/typescript/models/PrimerCountryCode.d.ts.map +1 -0
- package/lib/typescript/models/PrimerCurrencyCode.d.ts +2 -1
- package/lib/typescript/models/PrimerCurrencyCode.d.ts.map +1 -0
- package/lib/typescript/models/PrimerError.d.ts +3 -1
- package/lib/typescript/models/PrimerError.d.ts.map +1 -0
- package/lib/typescript/models/PrimerHandlers.d.ts +22 -0
- package/lib/typescript/models/PrimerHandlers.d.ts.map +1 -0
- package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts +6 -0
- package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts.map +1 -0
- package/lib/typescript/models/PrimerImplementedRNCallbacks.d.ts +17 -0
- package/lib/typescript/models/PrimerImplementedRNCallbacks.d.ts.map +1 -0
- package/lib/typescript/models/PrimerInitializationData.d.ts +3 -2
- package/lib/typescript/models/PrimerInitializationData.d.ts.map +1 -0
- package/lib/typescript/models/PrimerInputElementType.d.ts +12 -0
- package/lib/typescript/models/PrimerInputElementType.d.ts.map +1 -0
- package/lib/typescript/models/PrimerInterfaces.d.ts +3 -20
- package/lib/typescript/models/PrimerInterfaces.d.ts.map +1 -0
- package/lib/typescript/models/PrimerPaymentMethodManagerCategory.d.ts +6 -0
- package/lib/typescript/models/PrimerPaymentMethodManagerCategory.d.ts.map +1 -0
- package/lib/typescript/models/PrimerPaymentMethodTokenData.d.ts +2 -1
- package/lib/typescript/models/PrimerPaymentMethodTokenData.d.ts.map +1 -0
- package/lib/typescript/models/PrimerRawData.d.ts +7 -10
- package/lib/typescript/models/PrimerRawData.d.ts.map +1 -0
- package/lib/typescript/models/PrimerSessionIntent.d.ts +1 -0
- package/lib/typescript/models/PrimerSessionIntent.d.ts.map +1 -0
- package/lib/typescript/models/PrimerSettings.d.ts +28 -6
- package/lib/typescript/models/PrimerSettings.d.ts.map +1 -0
- package/lib/typescript/models/PrimerTheme.d.ts +3 -2
- package/lib/typescript/models/PrimerTheme.d.ts.map +1 -0
- package/lib/typescript/models/RetailOutletsRetail.d.ts +2 -1
- package/lib/typescript/models/RetailOutletsRetail.d.ts.map +1 -0
- package/lib/typescript/utils/index.d.ts +1 -0
- package/lib/typescript/utils/index.d.ts.map +1 -0
- package/package.json +8 -7
- package/primer-io-react-native.podspec +1 -2
- package/src/HeadlessUniversalCheckout/Managers/AssetsManager.ts +56 -0
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.ts +31 -0
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.ts +166 -0
- package/src/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.ts +333 -0
- package/src/{headless_checkout → HeadlessUniversalCheckout}/RNPrimerHeadlessUniversalCheckout.ts +37 -128
- package/src/HeadlessUniversalCheckout/types.ts +32 -0
- package/src/Primer.ts +32 -31
- package/src/RNPrimer.ts +4 -9
- package/src/index.tsx +43 -29
- package/src/models/PrimerAsset.ts +14 -0
- package/src/models/PrimerError.ts +3 -1
- package/src/models/PrimerHandlers.ts +25 -0
- package/src/models/PrimerHeadlessUniversalCheckoutPaymentMethod.ts +5 -0
- package/src/models/PrimerImplementedRNCallbacks.ts +20 -0
- package/src/models/PrimerInputElementType.ts +11 -0
- package/src/models/PrimerInterfaces.ts +2 -28
- package/src/models/PrimerPaymentMethodManagerCategory.ts +5 -0
- package/src/models/PrimerRawData.ts +6 -10
- package/src/models/PrimerSettings.ts +42 -16
- package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/cardRedirect/PrimerRNPRawCardRedirectData.kt +0 -20
- package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/phoneNumber/PrimerRNRawPhoneNumberData.kt +0 -14
- package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/retailOutlets/PrimerRNRawRetailOutletData.kt +0 -12
- package/android/src/main/java/com/primerioreactnative/huc/events/PrimerHeadlessUniversalCheckoutEvent.kt +0 -15
- package/ios/DataModels/ImplementedRNCallbacks.swift +0 -62
- package/ios/DataModels/PrimerErrorRN.swift +0 -35
- package/ios/DataModels/PrimerSettingsRN.swift +0 -84
- package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.m +0 -62
- package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +0 -501
- package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.m +0 -14
- package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.swift +0 -117
- package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutRawDataManager.m +0 -23
- package/ios/RNTPrimer.m +0 -59
- package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js +0 -288
- package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +0 -1
- package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js +0 -91
- package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
- package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +0 -1
- package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js +0 -91
- package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
- package/lib/commonjs/headless_checkout/types.js +0 -6
- package/lib/commonjs/headless_checkout/types.js.map +0 -1
- package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js +0 -279
- package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +0 -1
- package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js +0 -83
- package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
- package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +0 -1
- package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js +0 -84
- package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
- package/lib/module/headless_checkout/types.js +0 -2
- package/lib/module/headless_checkout/types.js.map +0 -1
- package/lib/typescript/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.d.ts +0 -18
- package/lib/typescript/headless_checkout/RNPrimerHeadlessUniversalCheckout.d.ts +0 -22
- package/lib/typescript/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.d.ts +0 -14
- package/lib/typescript/headless_checkout/types.d.ts +0 -22
- package/src/headless_checkout/PrimerHeadlessUniversalCheckout.ts +0 -358
- package/src/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.ts +0 -109
- package/src/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.ts +0 -104
- package/src/headless_checkout/types.ts +0 -32
- /package/ios/{DataModels → Sources/DataModels}/PrimerThemeRN.swift +0 -0
- /package/ios/{Headless Universal Checkout → Sources/Headless Universal Checkout/Managers/Payment Method Managers}/RNTPrimerCardNumberInputElementManager.m +0 -0
package/src/{headless_checkout → HeadlessUniversalCheckout}/RNPrimerHeadlessUniversalCheckout.ts
RENAMED
|
@@ -1,38 +1,47 @@
|
|
|
1
1
|
import { NativeEventEmitter, NativeModules } from 'react-native';
|
|
2
|
+
import type { PrimerSettings } from '../models/PrimerSettings';
|
|
2
3
|
|
|
3
4
|
const { PrimerHeadlessUniversalCheckout } = NativeModules;
|
|
4
5
|
|
|
5
6
|
const eventEmitter = new NativeEventEmitter(PrimerHeadlessUniversalCheckout);
|
|
6
7
|
|
|
7
8
|
type EventType =
|
|
8
|
-
| '
|
|
9
|
-
| '
|
|
10
|
-
| '
|
|
11
|
-
|
|
12
|
-
| '
|
|
13
|
-
| '
|
|
14
|
-
| '
|
|
15
|
-
|
|
16
|
-
| '
|
|
9
|
+
| 'onAvailablePaymentMethodsLoad'
|
|
10
|
+
| 'onTokenizationStart'
|
|
11
|
+
| 'onTokenizationSuccess'
|
|
12
|
+
|
|
13
|
+
| 'onCheckoutResume'
|
|
14
|
+
| 'onCheckoutPending'
|
|
15
|
+
| 'onCheckoutAdditionalInfo'
|
|
16
|
+
|
|
17
|
+
| 'onError'
|
|
18
|
+
| 'onCheckoutComplete'
|
|
17
19
|
| 'onBeforeClientSessionUpdate'
|
|
20
|
+
|
|
18
21
|
| 'onClientSessionUpdate'
|
|
19
|
-
| '
|
|
20
|
-
| '
|
|
22
|
+
| 'onBeforePaymentCreate'
|
|
23
|
+
| 'onPreparationStart'
|
|
24
|
+
|
|
25
|
+
| 'onPaymentMethodShow';
|
|
21
26
|
|
|
22
27
|
const eventTypes: EventType[] = [
|
|
23
|
-
'
|
|
24
|
-
'
|
|
25
|
-
'
|
|
26
|
-
|
|
27
|
-
'
|
|
28
|
-
'
|
|
29
|
-
'
|
|
30
|
-
|
|
31
|
-
'
|
|
28
|
+
'onAvailablePaymentMethodsLoad',
|
|
29
|
+
'onTokenizationStart',
|
|
30
|
+
'onTokenizationSuccess',
|
|
31
|
+
|
|
32
|
+
'onCheckoutResume',
|
|
33
|
+
'onCheckoutPending',
|
|
34
|
+
'onCheckoutAdditionalInfo',
|
|
35
|
+
|
|
36
|
+
'onError',
|
|
37
|
+
'onCheckoutComplete',
|
|
32
38
|
'onBeforeClientSessionUpdate',
|
|
39
|
+
|
|
33
40
|
'onClientSessionUpdate',
|
|
34
|
-
'
|
|
35
|
-
'
|
|
41
|
+
'onBeforePaymentCreate',
|
|
42
|
+
'onPreparationStart',
|
|
43
|
+
|
|
44
|
+
'onPaymentMethodShow'
|
|
36
45
|
];
|
|
37
46
|
|
|
38
47
|
const RNPrimerHeadlessUniversalCheckout = {
|
|
@@ -58,75 +67,9 @@ const RNPrimerHeadlessUniversalCheckout = {
|
|
|
58
67
|
///////////////////////////////////////////
|
|
59
68
|
// Native API
|
|
60
69
|
///////////////////////////////////////////
|
|
61
|
-
getAssetForPaymentMethodType: (
|
|
62
|
-
paymentMethodType: string,
|
|
63
|
-
assetType: 'logo' | 'icon'
|
|
64
|
-
): Promise<string> => {
|
|
65
|
-
return new Promise((resolve, reject) => {
|
|
66
|
-
try {
|
|
67
|
-
PrimerHeadlessUniversalCheckout.getAssetForPaymentMethodType(
|
|
68
|
-
paymentMethodType,
|
|
69
|
-
assetType,
|
|
70
|
-
(err: Error) => {
|
|
71
|
-
reject(err);
|
|
72
|
-
},
|
|
73
|
-
(url: string) => {
|
|
74
|
-
resolve(url);
|
|
75
|
-
}
|
|
76
|
-
);
|
|
77
|
-
} catch (e) {
|
|
78
|
-
reject(e);
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
},
|
|
82
|
-
|
|
83
|
-
getAssetForCardNetwork: (
|
|
84
|
-
cardNetwork: string,
|
|
85
|
-
assetType: 'logo' | 'icon'
|
|
86
|
-
): Promise<string> => {
|
|
87
|
-
return new Promise((resolve, reject) => {
|
|
88
|
-
try {
|
|
89
|
-
PrimerHeadlessUniversalCheckout.getAssetForCardNetwork(
|
|
90
|
-
cardNetwork,
|
|
91
|
-
assetType,
|
|
92
|
-
(err: Error) => {
|
|
93
|
-
reject(err);
|
|
94
|
-
},
|
|
95
|
-
(url: string) => {
|
|
96
|
-
resolve(url);
|
|
97
|
-
}
|
|
98
|
-
);
|
|
99
|
-
} catch (e) {
|
|
100
|
-
reject(e);
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
},
|
|
104
70
|
|
|
105
|
-
startWithClientToken(clientToken: string, settings:
|
|
106
|
-
return
|
|
107
|
-
PrimerHeadlessUniversalCheckout.startWithClientToken(
|
|
108
|
-
clientToken,
|
|
109
|
-
JSON.stringify(settings),
|
|
110
|
-
(err: Error) => {
|
|
111
|
-
console.error(err);
|
|
112
|
-
reject(err);
|
|
113
|
-
},
|
|
114
|
-
(paymentMethodTypes: string[]) => {
|
|
115
|
-
resolve({ paymentMethodTypes });
|
|
116
|
-
}
|
|
117
|
-
);
|
|
118
|
-
});
|
|
119
|
-
},
|
|
120
|
-
|
|
121
|
-
showPaymentMethod: (paymentMethodType: string): Promise<void> => {
|
|
122
|
-
return new Promise(async (resolve, reject) => {
|
|
123
|
-
try {
|
|
124
|
-
await PrimerHeadlessUniversalCheckout.showPaymentMethod(paymentMethodType);
|
|
125
|
-
resolve();
|
|
126
|
-
} catch (err) {
|
|
127
|
-
reject(err);
|
|
128
|
-
}
|
|
129
|
-
});
|
|
71
|
+
startWithClientToken(clientToken: string, settings: PrimerSettings): Promise<any> {
|
|
72
|
+
return PrimerHeadlessUniversalCheckout.startWithClientToken(clientToken, JSON.stringify(settings));
|
|
130
73
|
},
|
|
131
74
|
|
|
132
75
|
///////////////////////////////////////////
|
|
@@ -146,28 +89,6 @@ const RNPrimerHeadlessUniversalCheckout = {
|
|
|
146
89
|
});
|
|
147
90
|
},
|
|
148
91
|
|
|
149
|
-
handleTokenizationSuccess: (): Promise<void> => {
|
|
150
|
-
return new Promise(async (resolve, reject) => {
|
|
151
|
-
try {
|
|
152
|
-
await PrimerHeadlessUniversalCheckout.handleTokenizationSuccess();
|
|
153
|
-
resolve();
|
|
154
|
-
} catch (err) {
|
|
155
|
-
reject(err);
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
},
|
|
159
|
-
|
|
160
|
-
handleTokenizationFailure: (errorMessage: string | null): Promise<void> => {
|
|
161
|
-
return new Promise(async (resolve, reject) => {
|
|
162
|
-
try {
|
|
163
|
-
await PrimerHeadlessUniversalCheckout.handleTokenizationFailure(errorMessage || "");
|
|
164
|
-
resolve();
|
|
165
|
-
} catch (err) {
|
|
166
|
-
reject(err);
|
|
167
|
-
}
|
|
168
|
-
});
|
|
169
|
-
},
|
|
170
|
-
|
|
171
92
|
// Resume Handlers
|
|
172
93
|
|
|
173
94
|
handleResumeWithNewClientToken: (newClientToken: string): Promise<void> => {
|
|
@@ -181,21 +102,10 @@ const RNPrimerHeadlessUniversalCheckout = {
|
|
|
181
102
|
});
|
|
182
103
|
},
|
|
183
104
|
|
|
184
|
-
|
|
105
|
+
handleCompleteFlow: (): Promise<void> => {
|
|
185
106
|
return new Promise(async (resolve, reject) => {
|
|
186
107
|
try {
|
|
187
|
-
await PrimerHeadlessUniversalCheckout.
|
|
188
|
-
resolve();
|
|
189
|
-
} catch (err) {
|
|
190
|
-
reject(err);
|
|
191
|
-
}
|
|
192
|
-
});
|
|
193
|
-
},
|
|
194
|
-
|
|
195
|
-
handleResumeFailure: (errorMessage: string | null): Promise<void> => {
|
|
196
|
-
return new Promise(async (resolve, reject) => {
|
|
197
|
-
try {
|
|
198
|
-
await PrimerHeadlessUniversalCheckout.handleTokenizationFailure(errorMessage || "");
|
|
108
|
+
await PrimerHeadlessUniversalCheckout.handleCompleteFlow();
|
|
199
109
|
resolve();
|
|
200
110
|
} catch (err) {
|
|
201
111
|
reject(err);
|
|
@@ -240,11 +150,10 @@ const RNPrimerHeadlessUniversalCheckout = {
|
|
|
240
150
|
});
|
|
241
151
|
},
|
|
242
152
|
|
|
243
|
-
|
|
244
|
-
disposePrimerHeadlessUniversalCheckout: (): Promise<void> => {
|
|
153
|
+
cleanUp: (): Promise<void> => {
|
|
245
154
|
return new Promise(async (resolve, reject) => {
|
|
246
155
|
try {
|
|
247
|
-
await PrimerHeadlessUniversalCheckout.
|
|
156
|
+
await PrimerHeadlessUniversalCheckout.cleanUp();
|
|
248
157
|
resolve();
|
|
249
158
|
} catch (err) {
|
|
250
159
|
reject(err);
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// import type { PrimerCheckoutData } from '../models/PrimerCheckoutData';
|
|
2
|
+
// import type { PrimerCheckoutPaymentMethodData } from '../models/PrimerCheckoutPaymentMethodData';
|
|
3
|
+
// import type {
|
|
4
|
+
// PrimerTokenizationHandler,
|
|
5
|
+
// PrimerResumeHandler,
|
|
6
|
+
// PrimerPaymentCreationHandler,
|
|
7
|
+
// PrimerErrorHandler
|
|
8
|
+
// } from '../models/PrimerInterfaces';
|
|
9
|
+
// import type { PrimerClientSession } from '../models/PrimerClientSession';
|
|
10
|
+
// import type { PrimerPaymentMethodTokenData } from '../models/PrimerPaymentMethodTokenData';
|
|
11
|
+
// import type { PrimerError } from '../models/PrimerError';
|
|
12
|
+
|
|
13
|
+
// export interface PrimerHeadlessUniversalCheckoutStartResponse {
|
|
14
|
+
// paymentMethodTypes: string[];
|
|
15
|
+
// }
|
|
16
|
+
|
|
17
|
+
// export interface PrimerHeadlessUniversalCheckoutCallbacks {
|
|
18
|
+
// // Common
|
|
19
|
+
// onBeforeClientSessionUpdate?: () => void;
|
|
20
|
+
// onClientSessionUpdate?: (clientSession: PrimerClientSession) => void;
|
|
21
|
+
// onBeforePaymentCreate?: (checkoutPaymentMethodData: PrimerCheckoutPaymentMethodData, handler: PrimerPaymentCreationHandler) => void;
|
|
22
|
+
// onCheckoutComplete?: (checkoutData: PrimerCheckoutData) => void;
|
|
23
|
+
// onTokenizeSuccess?: (paymentMethodTokenData: PrimerPaymentMethodTokenData, handler: PrimerTokenizationHandler) => void;
|
|
24
|
+
// onResumeSuccess?: (resumeToken: string, handler: PrimerResumeHandler) => void;
|
|
25
|
+
// onError?: (error: PrimerError, checkoutData: PrimerCheckoutData | null, handler: PrimerErrorHandler | undefined) => void;
|
|
26
|
+
|
|
27
|
+
// // Only on HUC
|
|
28
|
+
// onPrepareStart?: (paymentMethodType: string) => void;
|
|
29
|
+
// onTokenizeStart?: (paymentMethodType: string) => void;
|
|
30
|
+
// onPaymentMethodShow?: (paymentMethodType: string) => void;
|
|
31
|
+
// onAvailablePaymentMethodTypesLoad?: (paymentMethodTypes: string[]) => void;
|
|
32
|
+
// }
|
package/src/Primer.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import type { PrimerCheckoutData } from './models/PrimerCheckoutData';
|
|
2
|
-
import type { PrimerSessionIntent } from './models/PrimerSessionIntent';
|
|
3
2
|
import type { PrimerSettings } from './models/PrimerSettings';
|
|
4
3
|
import RNPrimer from './RNPrimer';
|
|
5
4
|
import type { PrimerCheckoutPaymentMethodData } from './models/PrimerCheckoutPaymentMethodData';
|
|
6
5
|
import type { PrimerClientSession } from './models/PrimerClientSession';
|
|
7
6
|
import type { PrimerPaymentMethodTokenData } from './models/PrimerPaymentMethodTokenData';
|
|
8
7
|
import { PrimerError } from './models/PrimerError';
|
|
9
|
-
import type { IPrimer, PrimerErrorHandler, PrimerPaymentCreationHandler, PrimerResumeHandler, PrimerTokenizationHandler } from './models/PrimerInterfaces';
|
|
10
8
|
import type { PrimerCheckoutAdditionalInfo } from './models/PrimerCheckoutAdditionalInfo';
|
|
9
|
+
import type { PrimerErrorHandler, PrimerPaymentCreationHandler, PrimerResumeHandler, PrimerTokenizationHandler } from './models/PrimerHandlers';
|
|
10
|
+
import type { IPrimer } from './models/PrimerInterfaces';
|
|
11
|
+
import type { PrimerImplementedRNCallbacks } from './models/PrimerImplementedRNCallbacks';
|
|
11
12
|
|
|
12
13
|
///////////////////////////////////////////
|
|
13
14
|
// DECISION HANDLERS
|
|
@@ -108,17 +109,25 @@ async function configureListeners(): Promise<void> {
|
|
|
108
109
|
try {
|
|
109
110
|
RNPrimer.removeAllListeners();
|
|
110
111
|
|
|
111
|
-
let implementedRNCallbacks:
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
112
|
+
let implementedRNCallbacks: PrimerImplementedRNCallbacks = {
|
|
113
|
+
onAvailablePaymentMethodsLoad: false,
|
|
114
|
+
onTokenizationStart: false,
|
|
115
|
+
onTokenizationSuccess: (primerSettings?.onTokenizeSuccess !== undefined) || false,
|
|
116
|
+
|
|
117
|
+
onCheckoutResume: (primerSettings?.onResumeSuccess !== undefined) || false,
|
|
118
|
+
onCheckoutPending: (primerSettings?.onResumePending !== undefined) || false,
|
|
119
|
+
onCheckoutAdditionalInfo: (primerSettings?.onCheckoutReceivedAdditionalInfo !== undefined) || false,
|
|
120
|
+
|
|
121
|
+
onError: (primerSettings?.onError !== undefined) || false,
|
|
122
|
+
onCheckoutComplete: (primerSettings?.onCheckoutComplete !== undefined) || false,
|
|
123
|
+
onBeforeClientSessionUpdate: (primerSettings?.onBeforeClientSessionUpdate !== undefined) || false,
|
|
124
|
+
|
|
125
|
+
onClientSessionUpdate: (primerSettings?.onClientSessionUpdate !== undefined) || false,
|
|
126
|
+
onBeforePaymentCreate: (primerSettings?.onBeforePaymentCreate !== undefined) || false,
|
|
127
|
+
onPreparationStart: false,
|
|
128
|
+
|
|
129
|
+
onPaymentMethodShow: false,
|
|
130
|
+
onDismiss: (primerSettings?.onDismiss !== undefined) || false
|
|
122
131
|
};
|
|
123
132
|
|
|
124
133
|
await RNPrimer.setImplementedRNCallbacks(implementedRNCallbacks);
|
|
@@ -158,7 +167,7 @@ async function configureListeners(): Promise<void> {
|
|
|
158
167
|
});
|
|
159
168
|
}
|
|
160
169
|
|
|
161
|
-
if (implementedRNCallbacks.
|
|
170
|
+
if (implementedRNCallbacks.onTokenizationSuccess) {
|
|
162
171
|
RNPrimer.addListener('onTokenizeSuccess', data => {
|
|
163
172
|
if (primerSettings && primerSettings.onTokenizeSuccess) {
|
|
164
173
|
const paymentMethodTokenData: PrimerPaymentMethodTokenData = data;
|
|
@@ -167,7 +176,7 @@ async function configureListeners(): Promise<void> {
|
|
|
167
176
|
});
|
|
168
177
|
}
|
|
169
178
|
|
|
170
|
-
if (implementedRNCallbacks.
|
|
179
|
+
if (implementedRNCallbacks.onCheckoutResume) {
|
|
171
180
|
RNPrimer.addListener('onResumeSuccess', data => {
|
|
172
181
|
if (primerSettings && primerSettings.onResumeSuccess && data.resumeToken) {
|
|
173
182
|
primerSettings.onResumeSuccess(data.resumeToken, resumeHandler);
|
|
@@ -175,7 +184,7 @@ async function configureListeners(): Promise<void> {
|
|
|
175
184
|
});
|
|
176
185
|
}
|
|
177
186
|
|
|
178
|
-
if (implementedRNCallbacks.
|
|
187
|
+
if (implementedRNCallbacks.onCheckoutPending) {
|
|
179
188
|
RNPrimer.addListener(
|
|
180
189
|
'onResumePending',
|
|
181
190
|
(additionalInfo) => {
|
|
@@ -189,7 +198,7 @@ async function configureListeners(): Promise<void> {
|
|
|
189
198
|
);
|
|
190
199
|
}
|
|
191
200
|
|
|
192
|
-
if (implementedRNCallbacks.
|
|
201
|
+
if (implementedRNCallbacks.onCheckoutAdditionalInfo) {
|
|
193
202
|
RNPrimer.addListener(
|
|
194
203
|
'onCheckoutReceivedAdditionalInfo',
|
|
195
204
|
(additionalInfo) => {
|
|
@@ -217,13 +226,9 @@ async function configureListeners(): Promise<void> {
|
|
|
217
226
|
const errorId: string = data.error.errorId;
|
|
218
227
|
const description: string | undefined = data.error.description;
|
|
219
228
|
const recoverySuggestion: string | undefined = data.error.recoverySuggestion;
|
|
220
|
-
const
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
primerSettings.onError(primerError, data.checkoutData, errorHandler);
|
|
224
|
-
} else {
|
|
225
|
-
primerSettings.onError(primerError, null, errorHandler);
|
|
226
|
-
}
|
|
229
|
+
const diagnosticsId: string | undefined = data.error.diagnosticsId;
|
|
230
|
+
const primerError = new PrimerError(errorId, description || 'Unknown error', recoverySuggestion, diagnosticsId);
|
|
231
|
+
primerSettings.onError(primerError, data.checkoutData || null, errorHandler);
|
|
227
232
|
}
|
|
228
233
|
});
|
|
229
234
|
}
|
|
@@ -278,15 +283,11 @@ export const Primer: IPrimer = {
|
|
|
278
283
|
});
|
|
279
284
|
},
|
|
280
285
|
|
|
281
|
-
async showPaymentMethod(
|
|
282
|
-
paymentMethodType: string,
|
|
283
|
-
intent: PrimerSessionIntent,
|
|
284
|
-
clientToken: string
|
|
285
|
-
): Promise<void> {
|
|
286
|
+
async showPaymentMethod(paymentMethod: string, intent: string, clientToken: string): Promise<void> {
|
|
286
287
|
return new Promise(async (resolve, reject) => {
|
|
287
288
|
try {
|
|
288
289
|
await configureListeners();
|
|
289
|
-
await RNPrimer.showPaymentMethod(
|
|
290
|
+
await RNPrimer.showPaymentMethod(paymentMethod, intent, clientToken);
|
|
290
291
|
resolve();
|
|
291
292
|
} catch (err) {
|
|
292
293
|
reject(err);
|
|
@@ -294,7 +295,7 @@ export const Primer: IPrimer = {
|
|
|
294
295
|
});
|
|
295
296
|
},
|
|
296
297
|
|
|
297
|
-
|
|
298
|
+
cleanUp(): void {
|
|
298
299
|
RNPrimer.removeAllListeners();
|
|
299
300
|
RNPrimer.dismiss();
|
|
300
301
|
},
|
package/src/RNPrimer.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { NativeEventEmitter, NativeModules } from 'react-native';
|
|
2
|
-
import type { PrimerSessionIntent } from './models/PrimerSessionIntent';
|
|
3
2
|
import type { PrimerSettings } from './models/PrimerSettings';
|
|
4
3
|
|
|
5
4
|
const { NativePrimer } = NativeModules;
|
|
@@ -95,14 +94,10 @@ const RNPrimer = {
|
|
|
95
94
|
});
|
|
96
95
|
},
|
|
97
96
|
|
|
98
|
-
showPaymentMethod: (
|
|
99
|
-
paymentMethodType: string,
|
|
100
|
-
intent: PrimerSessionIntent,
|
|
101
|
-
clientToken: string
|
|
102
|
-
): Promise<void> => {
|
|
97
|
+
showPaymentMethod: (paymentMethod: string, intent: string, clientToken: string): Promise<void> => {
|
|
103
98
|
return new Promise(async (resolve, reject) => {
|
|
104
99
|
try {
|
|
105
|
-
await NativePrimer.showPaymentMethod(
|
|
100
|
+
await NativePrimer.showPaymentMethod(paymentMethod, intent, clientToken);
|
|
106
101
|
resolve();
|
|
107
102
|
} catch (err) {
|
|
108
103
|
reject(err);
|
|
@@ -121,10 +116,10 @@ const RNPrimer = {
|
|
|
121
116
|
});
|
|
122
117
|
},
|
|
123
118
|
|
|
124
|
-
|
|
119
|
+
cleanUp: (): Promise<void> => {
|
|
125
120
|
return new Promise(async (resolve, reject) => {
|
|
126
121
|
try {
|
|
127
|
-
await NativePrimer.
|
|
122
|
+
await NativePrimer.cleanUp();
|
|
128
123
|
resolve();
|
|
129
124
|
} catch (err) {
|
|
130
125
|
reject(err);
|
package/src/index.tsx
CHANGED
|
@@ -5,54 +5,68 @@ export {
|
|
|
5
5
|
PrimerSettings
|
|
6
6
|
} from './models/PrimerSettings';
|
|
7
7
|
export {
|
|
8
|
-
|
|
8
|
+
PrimerInputElementType as InputElementType
|
|
9
|
+
} from './models/PrimerInputElementType';
|
|
10
|
+
export {
|
|
11
|
+
PrimerSessionIntent as SessionIntent
|
|
9
12
|
} from './models/PrimerSessionIntent';
|
|
10
13
|
export {
|
|
11
|
-
PrimerPaymentCreationHandler,
|
|
12
|
-
PrimerTokenizationHandler,
|
|
13
|
-
PrimerResumeHandler,
|
|
14
|
-
PrimerErrorHandler,
|
|
15
|
-
} from './models/
|
|
14
|
+
PrimerPaymentCreationHandler as PaymentCreationHandler,
|
|
15
|
+
PrimerTokenizationHandler as TokenizationHandler,
|
|
16
|
+
PrimerResumeHandler as ResumeHandler,
|
|
17
|
+
PrimerErrorHandler as ErrorHandler,
|
|
18
|
+
} from './models/PrimerHandlers';
|
|
16
19
|
export { PrimerPaymentMethodTokenData } from './models/PrimerPaymentMethodTokenData';
|
|
17
20
|
export {
|
|
18
|
-
PrimerClientSession,
|
|
19
|
-
PrimerOrder,
|
|
20
|
-
PrimerLineItem,
|
|
21
|
-
PrimerCustomer,
|
|
22
|
-
PrimerAddress,
|
|
21
|
+
PrimerClientSession as ClientSession,
|
|
22
|
+
PrimerOrder as Order,
|
|
23
|
+
PrimerLineItem as LineItem,
|
|
24
|
+
PrimerCustomer as Customer,
|
|
25
|
+
PrimerAddress as Address,
|
|
23
26
|
} from './models/PrimerClientSession';
|
|
24
27
|
export {
|
|
25
|
-
PrimerRawData,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
PrimerRawRetailerData
|
|
28
|
+
PrimerRawData as RawData,
|
|
29
|
+
PrimerCardData as CardData,
|
|
30
|
+
PrimerBancontactCardData as BancontactCardData,
|
|
31
|
+
PrimerPhoneNumberData as PhoneNumberData,
|
|
32
|
+
PrimerRetailerData as RetailerData
|
|
31
33
|
} from './models/PrimerRawData';
|
|
32
34
|
export {
|
|
33
|
-
PrimerCheckoutAdditionalInfo,
|
|
34
|
-
MultibancoCheckoutAdditionalInfo
|
|
35
|
-
PrimerCheckoutVoucherAdditionalInfo,
|
|
36
|
-
XenditCheckoutVoucherAdditionalInfo,
|
|
37
|
-
PrimerCheckoutQRCodeInfo,
|
|
38
|
-
PromptPayCheckoutAdditionalInfo
|
|
35
|
+
PrimerCheckoutAdditionalInfo as CheckoutAdditionalInfo,
|
|
36
|
+
MultibancoCheckoutAdditionalInfo
|
|
39
37
|
} from './models/PrimerCheckoutAdditionalInfo';
|
|
40
38
|
export {
|
|
41
39
|
RetailOutletsRetail
|
|
42
40
|
} from './models/RetailOutletsRetail';
|
|
43
41
|
export {
|
|
44
|
-
PrimerCheckoutData,
|
|
45
|
-
PrimerCheckoutDataPayment,
|
|
42
|
+
PrimerCheckoutData as CheckoutData,
|
|
43
|
+
PrimerCheckoutDataPayment as CheckoutDataPayment,
|
|
46
44
|
} from './models/PrimerCheckoutData';
|
|
47
45
|
export {
|
|
48
|
-
PrimerCheckoutPaymentMethodData
|
|
46
|
+
PrimerCheckoutPaymentMethodData as CheckoutPaymentMethodData
|
|
49
47
|
} from './models/PrimerCheckoutPaymentMethodData';
|
|
50
48
|
export {
|
|
51
49
|
PrimerError
|
|
52
50
|
} from './models/PrimerError';
|
|
51
|
+
export type {
|
|
52
|
+
IPrimerAsset as Asset
|
|
53
|
+
} from './models/PrimerAsset';
|
|
53
54
|
export {
|
|
54
55
|
PrimerHeadlessUniversalCheckout as HeadlessUniversalCheckout
|
|
55
|
-
} from './
|
|
56
|
+
} from './HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout';
|
|
57
|
+
export type {
|
|
58
|
+
IPrimerHeadlessUniversalCheckoutPaymentMethod as PaymentMethod
|
|
59
|
+
} from './models/PrimerHeadlessUniversalCheckoutPaymentMethod';
|
|
60
|
+
|
|
61
|
+
import PrimerHeadlessUniversalCheckoutAssetsManager from './HeadlessUniversalCheckout/Managers/AssetsManager';
|
|
62
|
+
export {
|
|
63
|
+
PrimerHeadlessUniversalCheckoutAssetsManager as AssetsManager
|
|
64
|
+
}
|
|
65
|
+
import PrimerHeadlessUniversalCheckoutPaymentMethodNativeUIManager from './HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager';
|
|
66
|
+
export {
|
|
67
|
+
PrimerHeadlessUniversalCheckoutPaymentMethodNativeUIManager as NativeUIManager
|
|
68
|
+
}
|
|
69
|
+
import PrimerHeadlessUniversalCheckoutRawDataManager from './HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager';
|
|
56
70
|
export {
|
|
57
|
-
PrimerHeadlessUniversalCheckoutRawDataManager as
|
|
58
|
-
}
|
|
71
|
+
PrimerHeadlessUniversalCheckoutRawDataManager as RawDataManager
|
|
72
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface IPrimerAsset {
|
|
2
|
+
paymentMethodType: string;
|
|
3
|
+
paymentMethodName: string;
|
|
4
|
+
paymentMethodLogo: {
|
|
5
|
+
colored?: string;
|
|
6
|
+
dark?: string;
|
|
7
|
+
light?: string;
|
|
8
|
+
}
|
|
9
|
+
paymentMethodBackgroundColor: {
|
|
10
|
+
colored?: string;
|
|
11
|
+
dark?: string;
|
|
12
|
+
light?: string;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -10,11 +10,13 @@ export class PrimerError extends Error {
|
|
|
10
10
|
errorId: string;
|
|
11
11
|
description: string;
|
|
12
12
|
recoverySuggestion?: string;
|
|
13
|
+
diagnosticsId?: string;
|
|
13
14
|
|
|
14
|
-
constructor(errorId: string, description: string, recoverySuggestion: string | undefined) {
|
|
15
|
+
constructor(errorId: string, description: string, recoverySuggestion: string | undefined, diagnosticsId: string | undefined) {
|
|
15
16
|
super(description);
|
|
16
17
|
this.errorId = errorId;
|
|
17
18
|
this.description = description;
|
|
18
19
|
this.recoverySuggestion = recoverySuggestion;
|
|
20
|
+
this.diagnosticsId = diagnosticsId;
|
|
19
21
|
}
|
|
20
22
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface PrimerPaymentCreationHandler {
|
|
2
|
+
abortPaymentCreation(errorMessage: string | null): void;
|
|
3
|
+
continuePaymentCreation(): void;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export interface PrimerTokenizationHandler {
|
|
7
|
+
handleSuccess(): void;
|
|
8
|
+
handleFailure(errorMessage: string | null): void;
|
|
9
|
+
continueWithNewClientToken(newClientToken: string): void;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface PrimerResumeHandler {
|
|
13
|
+
handleSuccess(): void;
|
|
14
|
+
handleFailure(errorMessage: string | null): void;
|
|
15
|
+
continueWithNewClientToken(newClientToken: string): void;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface PrimerHeadlessUniversalCheckoutResumeHandler {
|
|
19
|
+
continueWithNewClientToken(newClientToken: string): void;
|
|
20
|
+
complete(): void;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface PrimerErrorHandler {
|
|
24
|
+
showErrorMessage(errorMessage: string | null): void;
|
|
25
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface PrimerImplementedRNCallbacks {
|
|
2
|
+
onAvailablePaymentMethodsLoad: boolean;
|
|
3
|
+
onTokenizationStart: boolean;
|
|
4
|
+
onTokenizationSuccess: boolean;
|
|
5
|
+
|
|
6
|
+
onCheckoutResume: boolean;
|
|
7
|
+
onCheckoutPending: boolean;
|
|
8
|
+
onCheckoutAdditionalInfo: boolean;
|
|
9
|
+
|
|
10
|
+
onError: boolean;
|
|
11
|
+
onCheckoutComplete: boolean;
|
|
12
|
+
onBeforeClientSessionUpdate: boolean;
|
|
13
|
+
|
|
14
|
+
onClientSessionUpdate: boolean;
|
|
15
|
+
onBeforePaymentCreate: boolean;
|
|
16
|
+
onPreparationStart: boolean;
|
|
17
|
+
|
|
18
|
+
onPaymentMethodShow: boolean;
|
|
19
|
+
onDismiss: boolean;
|
|
20
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export enum PrimerInputElementType {
|
|
2
|
+
CARD_NUMBER = "CARD_NUMBER",
|
|
3
|
+
EXPIRY_DATE = "EXPIRY_DATE",
|
|
4
|
+
CVV = "CVV",
|
|
5
|
+
CARDHOLDER_NAME = "CARDHOLDER_NAME",
|
|
6
|
+
OTP = "OTP",
|
|
7
|
+
POSTAL_CODE = "POSTAL_CODE",
|
|
8
|
+
PHONE_NUMBER = "PHONE_NUMBER",
|
|
9
|
+
RETAILER = "RETAILER",
|
|
10
|
+
UNKNOWN = "UNKNOWN"
|
|
11
|
+
}
|
|
@@ -1,36 +1,10 @@
|
|
|
1
|
-
import type { PrimerSessionIntent } from "./PrimerSessionIntent";
|
|
2
1
|
import type { PrimerSettings } from "./PrimerSettings";
|
|
3
2
|
|
|
4
3
|
export interface IPrimer {
|
|
5
4
|
configure(settings: PrimerSettings): Promise<void>;
|
|
6
5
|
showUniversalCheckout(clientToken: string): Promise<void>;
|
|
7
6
|
showVaultManager(clientToken: string): Promise<void>;
|
|
8
|
-
showPaymentMethod(
|
|
9
|
-
paymentMethodType: string,
|
|
10
|
-
intent: PrimerSessionIntent,
|
|
11
|
-
clientToken: string
|
|
12
|
-
): Promise<void>
|
|
7
|
+
showPaymentMethod(paymentMethod: string, intent: string, clientToken: string): Promise<void>;
|
|
13
8
|
dismiss(): void;
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export interface PrimerPaymentCreationHandler {
|
|
18
|
-
abortPaymentCreation(errorMessage: string | null): void;
|
|
19
|
-
continuePaymentCreation(): void;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export interface PrimerTokenizationHandler {
|
|
23
|
-
handleSuccess(): void;
|
|
24
|
-
handleFailure(errorMessage: string | null): void;
|
|
25
|
-
continueWithNewClientToken(newClientToken: string): void;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export interface PrimerResumeHandler {
|
|
29
|
-
handleSuccess(): void;
|
|
30
|
-
handleFailure(errorMessage: string | null): void;
|
|
31
|
-
continueWithNewClientToken(newClientToken: string): void;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export interface PrimerErrorHandler {
|
|
35
|
-
showErrorMessage(errorMessage: string | null): void;
|
|
9
|
+
cleanUp(): void;
|
|
36
10
|
}
|