@primer-io/react-native 2.29.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.
Files changed (311) hide show
  1. package/android/.editorconfig +2 -0
  2. package/android/build.gradle +29 -1
  3. package/android/detekt-baseline.xml +24 -0
  4. package/android/src/main/java/com/primerioreactnative/PrimerRN.kt +248 -195
  5. package/android/src/main/java/com/primerioreactnative/PrimerRNEventListener.kt +261 -253
  6. package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckout.kt +177 -143
  7. package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckoutListener.kt +298 -291
  8. package/android/src/main/java/com/primerioreactnative/PrimerRNViewModelStoreOwner.kt +2 -3
  9. package/android/src/main/java/com/primerioreactnative/ReactNativePackage.kt +33 -36
  10. package/android/src/main/java/com/primerioreactnative/components/assets/AssetsManager.kt +29 -30
  11. package/android/src/main/java/com/primerioreactnative/components/assets/CardNetworkImageFileProvider.kt +15 -15
  12. package/android/src/main/java/com/primerioreactnative/components/assets/PaymentMethodAssetFileProvider.kt +16 -16
  13. package/android/src/main/java/com/primerioreactnative/components/datamodels/core/PrimerRNHeadlessUniversalCheckoutPaymentMethod.kt +9 -9
  14. package/android/src/main/java/com/primerioreactnative/components/datamodels/core/PrimerRawPaymentMethodType.kt +5 -5
  15. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/asset/Resources.kt +143 -0
  16. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/card/PrimerRNCardData.kt +11 -11
  17. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/cardRedirect/PrimerRNBancontactCardData.kt +19 -0
  18. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/phoneNumber/PrimerRNPhoneNumberData.kt +5 -5
  19. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/retailOutlets/PrimerRNRetailOutletData.kt +2 -3
  20. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/retailOutlets/RNRetailOutletsList.kt +15 -14
  21. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/vault/PrimerRNValidationError.kt +10 -10
  22. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/vault/PrimerRNVaultedPaymentMethod.kt +15 -16
  23. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/vault/PrimerRNVaultedPaymentMethodAdditionalData.kt +4 -2
  24. package/android/src/main/java/com/primerioreactnative/components/events/PrimerHeadlessUniversalCheckoutComponentEvent.kt +6 -6
  25. package/android/src/main/java/com/primerioreactnative/components/events/PrimerHeadlessUniversalCheckoutEvent.kt +13 -13
  26. package/android/src/main/java/com/primerioreactnative/components/events/PrimerHeadlessUniversalCheckoutRawDataManagerEvent.kt +2 -2
  27. package/android/src/main/java/com/primerioreactnative/components/manager/NativeViewContainer.kt +9 -8
  28. package/android/src/main/java/com/primerioreactnative/components/manager/ach/{AchMandateManager.kt → PrimerRNAchMandateManager.kt} +20 -17
  29. package/android/src/main/java/com/primerioreactnative/components/manager/ach/PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent.kt +227 -212
  30. package/android/src/main/java/com/primerioreactnative/components/manager/asset/PrimerRNHeadlessUniversalCheckoutAssetManager.kt +178 -163
  31. package/android/src/main/java/com/primerioreactnative/components/manager/banks/PrimerRNHeadlessUniversalCheckoutBanksComponent.kt +207 -194
  32. package/android/src/main/java/com/primerioreactnative/components/manager/googlePay/PrimerGooglePayButtonConstantsModule.kt +23 -26
  33. package/android/src/main/java/com/primerioreactnative/components/manager/googlePay/PrimerGooglePayButtonManager.kt +25 -23
  34. package/android/src/main/java/com/primerioreactnative/components/manager/klarna/PrimerKlarnaPaymentViewManager.kt +24 -23
  35. package/android/src/main/java/com/primerioreactnative/components/manager/klarna/PrimerRNHeadlessUniversalCheckoutKlarnaComponent.kt +111 -87
  36. package/android/src/main/java/com/primerioreactnative/components/manager/nativeUi/PrimerRNHeadlessUniversalCheckoutNativeUiManager.kt +68 -63
  37. package/android/src/main/java/com/primerioreactnative/components/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManager.kt +189 -164
  38. package/android/src/main/java/com/primerioreactnative/components/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManagerListener.kt +39 -37
  39. package/android/src/main/java/com/primerioreactnative/components/manager/vault/PrimerRNHeadlessUniversalCheckoutVaultManager.kt +128 -118
  40. package/android/src/main/java/com/primerioreactnative/datamodels/{NamedComponentStepRN.kt → NamedComponentStep.kt} +0 -2
  41. package/android/src/main/java/com/primerioreactnative/datamodels/{NamedComponentValidatableDataRN.kt → NamedComponentValidatableData.kt} +1 -3
  42. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerCheckoutAdditionalInfoRN.kt +14 -14
  43. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerCheckoutDataRN.kt +4 -4
  44. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerClientSessionRN.kt +34 -35
  45. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerErrorRN.kt +14 -14
  46. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerEvents.kt +10 -11
  47. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerInputValidationErrorRN.kt +4 -4
  48. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerIssuingBankRN.kt +1 -1
  49. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerPaymentInstrumentTokenRN.kt +66 -67
  50. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerSettingsRN.kt +128 -111
  51. package/android/src/main/java/com/primerioreactnative/datamodels/ach/AchUserDetailsStepRN.kt +2 -3
  52. package/android/src/main/java/com/primerioreactnative/datamodels/banks/BanksStepRN.kt +3 -3
  53. package/android/src/main/java/com/primerioreactnative/datamodels/extensions/ach/AchUserDetailsCollectableData.kt +11 -6
  54. package/android/src/main/java/com/primerioreactnative/datamodels/extensions/ach/AchUserDetailsStep.kt +1 -1
  55. package/android/src/main/java/com/primerioreactnative/datamodels/extensions/banks/BanksCollectableData.kt +2 -2
  56. package/android/src/main/java/com/primerioreactnative/datamodels/extensions/banks/BanksStep.kt +8 -4
  57. package/android/src/main/java/com/primerioreactnative/datamodels/klarna/KlarnaPaymentCategoryRN.kt +2 -2
  58. package/android/src/main/java/com/primerioreactnative/datamodels/klarna/KlarnaPaymentCollectableDataRN.kt +2 -3
  59. package/android/src/main/java/com/primerioreactnative/datamodels/klarna/KlarnaPaymentStepRN.kt +6 -6
  60. package/android/src/main/java/com/primerioreactnative/extensions/JSONExtensions.kt +26 -26
  61. package/android/src/main/java/com/primerioreactnative/extensions/LocaleSettingsRN.kt +5 -5
  62. package/android/src/main/java/com/primerioreactnative/extensions/PaymentInstrumentData.kt +37 -31
  63. package/android/src/main/java/com/primerioreactnative/extensions/PrimerAddress.kt +11 -10
  64. package/android/src/main/java/com/primerioreactnative/extensions/PrimerCheckoutAdditionalInfo.kt +19 -14
  65. package/android/src/main/java/com/primerioreactnative/extensions/PrimerCheckoutData.kt +1 -1
  66. package/android/src/main/java/com/primerioreactnative/extensions/PrimerClientSession.kt +9 -9
  67. package/android/src/main/java/com/primerioreactnative/extensions/PrimerCustomer.kt +9 -8
  68. package/android/src/main/java/com/primerioreactnative/extensions/PrimerDebugOptionsRN.kt +1 -2
  69. package/android/src/main/java/com/primerioreactnative/extensions/PrimerError.kt +3 -3
  70. package/android/src/main/java/com/primerioreactnative/extensions/PrimerIssuingBank.kt +1 -2
  71. package/android/src/main/java/com/primerioreactnative/extensions/PrimerLineItem.kt +10 -3
  72. package/android/src/main/java/com/primerioreactnative/extensions/PrimerOrder.kt +5 -3
  73. package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodData.kt +4 -1
  74. package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodOptionsRN.kt +69 -54
  75. package/android/src/main/java/com/primerioreactnative/extensions/PrimerUIOptionsRN.kt +16 -16
  76. package/android/src/main/java/com/primerioreactnative/extensions/ThreeDsAuthenticationData.kt +7 -7
  77. package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentCategory.kt +1 -1
  78. package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentCategoryRN.kt +1 -1
  79. package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentCollectableData.kt +4 -4
  80. package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentStep.kt +8 -7
  81. package/android/src/main/java/com/primerioreactnative/utils/ErrorHelper.kt +6 -5
  82. package/android/src/main/java/com/primerioreactnative/utils/JsonConverter.kt +33 -34
  83. package/android/src/main/java/com/primerioreactnative/utils/PrimerHeadlessUniversalCheckoutImplementedRNCallbacks.kt +26 -26
  84. package/android/src/main/java/com/primerioreactnative/utils/PrimerImplementedRNCallbacks.kt +20 -20
  85. package/android/src/test/java/com/primerioreactnative/utils/ErrorHelperTest.kt +12 -13
  86. package/android/tooling/code-analysis/detekt.yml +68 -0
  87. package/ios/Sources/DataModels/Ach Component/RNTAchUserDetailsCollectableData.swift +2 -2
  88. package/ios/Sources/DataModels/Banks Component/RNTBanksCollectableData.swift +0 -1
  89. package/ios/Sources/DataModels/ImplementedRNCallbacks.swift +83 -63
  90. package/ios/Sources/DataModels/Klarna Component/PrimerHeadlessUniversalCheckoutComponentEvent.swift +3 -1
  91. package/ios/Sources/DataModels/Klarna Component/RNTKlarnaCollectableData.swift +2 -2
  92. package/ios/Sources/DataModels/Klarna Component/RNTKlarnaPaymentCategory.swift +1 -1
  93. package/ios/Sources/DataModels/Klarna Component/RNTKlarnaStep.swift +5 -5
  94. package/ios/Sources/DataModels/Klarna Component/RNTPrimerError.swift +1 -1
  95. package/ios/Sources/DataModels/PrimerBancontactCardRedirectData+Extension.swift +1 -2
  96. package/ios/Sources/DataModels/PrimerCardData+Extension.swift +6 -7
  97. package/ios/Sources/DataModels/PrimerCheckoutAdditionalInfoRN.swift +6 -7
  98. package/ios/Sources/DataModels/PrimerHeadlessUniversalCheckout_PaymentMethod.swift +10 -7
  99. package/ios/Sources/DataModels/PrimerPhoneNumberData+Extension.swift +1 -2
  100. package/ios/Sources/DataModels/PrimerRawRetailerData+Extension.swift +1 -2
  101. package/ios/Sources/DataModels/PrimerSettings+Extensions.swift +235 -177
  102. package/ios/Sources/DataModels/PrimerThemeRN.swift +6 -6
  103. package/ios/Sources/DataModels/RNTNativeError.swift +3 -4
  104. package/ios/Sources/DataModels/RNTPrimerPaymentMethodAsset.swift +54 -48
  105. package/ios/Sources/Headless Universal Checkout/Managers/Ach/PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent.swift +225 -202
  106. package/ios/Sources/Headless Universal Checkout/Managers/Ach/RNTAchMandateManager.swift +6 -6
  107. package/ios/Sources/Headless Universal Checkout/Managers/Assets Manager/RNTAssetsManager.swift +163 -161
  108. package/ios/Sources/Headless Universal Checkout/Managers/Klarna/PrimerRNHeadlessUniversalCheckoutKlarnaComponent.swift +268 -250
  109. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNPrimerHeadlessUniversalCheckoutVaultManager.swift +88 -66
  110. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTNativeUIManager.swift +51 -43
  111. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTRawDataManager.swift +181 -158
  112. package/ios/Sources/Headless Universal Checkout/Managers/RNTRedirectManager.swift +165 -156
  113. package/ios/Sources/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +526 -459
  114. package/ios/Sources/Helpers/Encodable+Extension.swift +5 -1
  115. package/ios/Sources/Helpers/Error+Extensions.swift +5 -5
  116. package/ios/Sources/Helpers/UIColor+Extensions.swift +23 -20
  117. package/ios/Sources/RNTPrimer.swift +135 -48
  118. package/ios/Sources/version.swift +1 -1
  119. package/lib/commonjs/HeadlessUniversalCheckout/Components/NativeResourceView.js.map +1 -1
  120. package/lib/commonjs/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js.map +1 -1
  121. package/lib/commonjs/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.js.map +1 -1
  122. package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js +4 -4
  123. package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -1
  124. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js +1 -1
  125. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js.map +1 -1
  126. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js +2 -2
  127. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js.map +1 -1
  128. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js +1 -1
  129. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js.map +1 -1
  130. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js.map +1 -1
  131. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -1
  132. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +6 -6
  133. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -1
  134. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.js.map +1 -1
  135. package/lib/commonjs/HeadlessUniversalCheckout/Managers/VaultManager.js.map +1 -1
  136. package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +4 -4
  137. package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -1
  138. package/lib/commonjs/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js +1 -1
  139. package/lib/commonjs/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -1
  140. package/lib/commonjs/HeadlessUniversalCheckout/types.js +5 -5
  141. package/lib/commonjs/Primer.js +2 -2
  142. package/lib/commonjs/Primer.js.map +1 -1
  143. package/lib/commonjs/RNPrimer.js +5 -5
  144. package/lib/commonjs/RNPrimer.js.map +1 -1
  145. package/lib/commonjs/index.js +6 -0
  146. package/lib/commonjs/index.js.map +1 -1
  147. package/lib/commonjs/models/PrimerError.js.map +1 -1
  148. package/lib/module/HeadlessUniversalCheckout/Components/NativeResourceView.js +3 -3
  149. package/lib/module/HeadlessUniversalCheckout/Components/NativeResourceView.js.map +1 -1
  150. package/lib/module/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js +1 -1
  151. package/lib/module/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js.map +1 -1
  152. package/lib/module/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.js +1 -1
  153. package/lib/module/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.js.map +1 -1
  154. package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js +4 -4
  155. package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -1
  156. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js +1 -1
  157. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js.map +1 -1
  158. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js +2 -2
  159. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js.map +1 -1
  160. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js +1 -1
  161. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js.map +1 -1
  162. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js.map +1 -1
  163. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -1
  164. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +6 -6
  165. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -1
  166. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.js.map +1 -1
  167. package/lib/module/HeadlessUniversalCheckout/Managers/VaultManager.js.map +1 -1
  168. package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +4 -4
  169. package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -1
  170. package/lib/module/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js +1 -1
  171. package/lib/module/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -1
  172. package/lib/module/HeadlessUniversalCheckout/types.js +5 -5
  173. package/lib/module/Primer.js +2 -2
  174. package/lib/module/Primer.js.map +1 -1
  175. package/lib/module/RNPrimer.js +5 -5
  176. package/lib/module/RNPrimer.js.map +1 -1
  177. package/lib/module/index.js +1 -1
  178. package/lib/module/index.js.map +1 -1
  179. package/lib/module/models/PrimerError.js.map +1 -1
  180. package/lib/typescript/HeadlessUniversalCheckout/Components/NativeResourceView.d.ts +2 -2
  181. package/lib/typescript/HeadlessUniversalCheckout/Components/NativeResourceView.d.ts.map +1 -1
  182. package/lib/typescript/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.d.ts +1 -1
  183. package/lib/typescript/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.d.ts.map +1 -1
  184. package/lib/typescript/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.d.ts.map +1 -1
  185. package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts +4 -4
  186. package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts.map +1 -1
  187. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.d.ts.map +1 -1
  188. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.d.ts.map +1 -1
  189. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.d.ts.map +1 -1
  190. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.d.ts.map +1 -1
  191. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.d.ts.map +1 -1
  192. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts.map +1 -1
  193. package/lib/typescript/HeadlessUniversalCheckout/Managers/VaultManager.d.ts.map +1 -1
  194. package/lib/typescript/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.d.ts.map +1 -1
  195. package/lib/typescript/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.d.ts.map +1 -1
  196. package/lib/typescript/Primer.d.ts.map +1 -1
  197. package/lib/typescript/RNPrimer.d.ts.map +1 -1
  198. package/lib/typescript/index.d.ts +5 -5
  199. package/lib/typescript/index.d.ts.map +1 -1
  200. package/lib/typescript/models/IssuingBank.d.ts.map +1 -1
  201. package/lib/typescript/models/NamedComponentStep.d.ts.map +1 -1
  202. package/lib/typescript/models/NamedComponentValidatableData.d.ts.map +1 -1
  203. package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts +4 -4
  204. package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts.map +1 -1
  205. package/lib/typescript/models/PrimerCheckoutData.d.ts +1 -1
  206. package/lib/typescript/models/PrimerCheckoutData.d.ts.map +1 -1
  207. package/lib/typescript/models/PrimerCheckoutPaymentMethodData.d.ts.map +1 -1
  208. package/lib/typescript/models/PrimerClientSession.d.ts.map +1 -1
  209. package/lib/typescript/models/PrimerComponentDataValidation.d.ts +5 -5
  210. package/lib/typescript/models/PrimerComponentDataValidation.d.ts.map +1 -1
  211. package/lib/typescript/models/PrimerCountryCode.d.ts +1 -1
  212. package/lib/typescript/models/PrimerCountryCode.d.ts.map +1 -1
  213. package/lib/typescript/models/PrimerCurrencyCode.d.ts +1 -1
  214. package/lib/typescript/models/PrimerCurrencyCode.d.ts.map +1 -1
  215. package/lib/typescript/models/PrimerError.d.ts.map +1 -1
  216. package/lib/typescript/models/PrimerHandlers.d.ts.map +1 -1
  217. package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts +2 -2
  218. package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts.map +1 -1
  219. package/lib/typescript/models/PrimerImplementedRNCallbacks.d.ts.map +1 -1
  220. package/lib/typescript/models/PrimerInitializationData.d.ts +1 -1
  221. package/lib/typescript/models/PrimerInitializationData.d.ts.map +1 -1
  222. package/lib/typescript/models/PrimerInputElementType.d.ts.map +1 -1
  223. package/lib/typescript/models/PrimerInterfaces.d.ts +1 -1
  224. package/lib/typescript/models/PrimerPaymentMethodManagerCategory.d.ts.map +1 -1
  225. package/lib/typescript/models/PrimerPaymentMethodResource.d.ts.map +1 -1
  226. package/lib/typescript/models/PrimerRawData.d.ts.map +1 -1
  227. package/lib/typescript/models/PrimerSettings.d.ts +15 -10
  228. package/lib/typescript/models/PrimerSettings.d.ts.map +1 -1
  229. package/lib/typescript/models/PrimerValidationError.d.ts.map +1 -1
  230. package/lib/typescript/models/PrimerValidationErrorResult.d.ts +1 -1
  231. package/lib/typescript/models/PrimerValidationErrorResult.d.ts.map +1 -1
  232. package/lib/typescript/models/PrimerVaultedPaymentMethod.d.ts +1 -1
  233. package/lib/typescript/models/PrimerVaultedPaymentMethod.d.ts.map +1 -1
  234. package/lib/typescript/models/PrimerVaultedPaymentMethodAdditionalData.d.ts.map +1 -1
  235. package/lib/typescript/models/PrimerVaultedPaymentMethodResult.d.ts +1 -1
  236. package/lib/typescript/models/PrimerVaultedPaymentMethodResult.d.ts.map +1 -1
  237. package/lib/typescript/models/RetailOutletsRetail.d.ts.map +1 -1
  238. package/lib/typescript/models/ach/AchCollectableData.d.ts +4 -4
  239. package/lib/typescript/models/ach/AchCollectableData.d.ts.map +1 -1
  240. package/lib/typescript/models/ach/AchSteps.d.ts +3 -3
  241. package/lib/typescript/models/ach/AchSteps.d.ts.map +1 -1
  242. package/lib/typescript/models/banks/BanksCollectableData.d.ts +3 -3
  243. package/lib/typescript/models/banks/BanksCollectableData.d.ts.map +1 -1
  244. package/lib/typescript/models/banks/BanksSteps.d.ts +6 -6
  245. package/lib/typescript/models/banks/BanksSteps.d.ts.map +1 -1
  246. package/lib/typescript/models/klarna/KlarnaPaymentCategory.d.ts +2 -2
  247. package/lib/typescript/models/klarna/KlarnaPaymentCategory.d.ts.map +1 -1
  248. package/lib/typescript/models/klarna/KlarnaPaymentCollectableData.d.ts +4 -4
  249. package/lib/typescript/models/klarna/KlarnaPaymentCollectableData.d.ts.map +1 -1
  250. package/lib/typescript/models/klarna/KlarnaPaymentSteps.d.ts +6 -6
  251. package/lib/typescript/models/klarna/KlarnaPaymentSteps.d.ts.map +1 -1
  252. package/lib/typescript/utils/index.d.ts +1 -1
  253. package/package.json +5 -4
  254. package/primer-io-react-native.podspec +1 -1
  255. package/src/HeadlessUniversalCheckout/Components/NativeResourceView.tsx +17 -21
  256. package/src/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.tsx +3 -6
  257. package/src/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.tsx +2 -4
  258. package/src/HeadlessUniversalCheckout/Managers/AssetsManager.ts +68 -69
  259. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.ts +127 -131
  260. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.ts +23 -25
  261. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.ts +21 -30
  262. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.ts +137 -141
  263. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.ts +17 -18
  264. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.ts +158 -142
  265. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.ts +7 -7
  266. package/src/HeadlessUniversalCheckout/Managers/VaultManager.ts +96 -87
  267. package/src/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.ts +159 -170
  268. package/src/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.ts +2 -6
  269. package/src/HeadlessUniversalCheckout/types.ts +5 -5
  270. package/src/Primer.ts +60 -57
  271. package/src/RNPrimer.ts +53 -54
  272. package/src/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.tsx +1 -1
  273. package/src/index.tsx +74 -37
  274. package/src/models/IssuingBank.ts +5 -5
  275. package/src/models/NamedComponentStep.ts +5 -5
  276. package/src/models/NamedComponentValidatableData.ts +5 -5
  277. package/src/models/PrimerCheckoutAdditionalInfo.ts +18 -23
  278. package/src/models/PrimerCheckoutData.ts +8 -8
  279. package/src/models/PrimerCheckoutPaymentMethodData.ts +6 -6
  280. package/src/models/PrimerClientSession.ts +34 -34
  281. package/src/models/PrimerComponentDataValidation.ts +33 -33
  282. package/src/models/PrimerCountryCode.ts +1 -1
  283. package/src/models/PrimerCurrencyCode.ts +1 -1
  284. package/src/models/PrimerError.ts +7 -1
  285. package/src/models/PrimerHandlers.ts +24 -24
  286. package/src/models/PrimerHeadlessUniversalCheckoutPaymentMethod.ts +4 -4
  287. package/src/models/PrimerImplementedRNCallbacks.ts +15 -15
  288. package/src/models/PrimerInitializationData.ts +3 -3
  289. package/src/models/PrimerInputElementType.ts +9 -9
  290. package/src/models/PrimerInterfaces.ts +1 -1
  291. package/src/models/PrimerPaymentMethodManagerCategory.ts +4 -4
  292. package/src/models/PrimerPaymentMethodResource.ts +11 -11
  293. package/src/models/PrimerRawData.ts +9 -9
  294. package/src/models/PrimerSessionIntent.ts +1 -1
  295. package/src/models/PrimerSettings.ts +47 -21
  296. package/src/models/PrimerValidationError.ts +3 -3
  297. package/src/models/PrimerValidationErrorResult.ts +2 -2
  298. package/src/models/PrimerVaultedPaymentMethod.ts +7 -7
  299. package/src/models/PrimerVaultedPaymentMethodAdditionalData.ts +1 -1
  300. package/src/models/PrimerVaultedPaymentMethodResult.ts +3 -3
  301. package/src/models/RetailOutletsRetail.ts +5 -5
  302. package/src/models/ach/AchCollectableData.ts +12 -12
  303. package/src/models/ach/AchSteps.ts +18 -18
  304. package/src/models/banks/BanksCollectableData.ts +14 -14
  305. package/src/models/banks/BanksSteps.ts +13 -13
  306. package/src/models/klarna/KlarnaPaymentCategory.ts +16 -16
  307. package/src/models/klarna/KlarnaPaymentCollectableData.ts +16 -15
  308. package/src/models/klarna/KlarnaPaymentSteps.ts +21 -17
  309. package/src/utils/index.ts +1 -1
  310. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/cardRedirect/PrimerRNCardRedirectData.kt +0 -19
  311. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/resource/Resources.kt +0 -138
@@ -5,204 +5,219 @@ import com.facebook.react.bridge.Promise
5
5
  import com.facebook.react.bridge.ReactApplicationContext
6
6
  import com.facebook.react.bridge.ReactContextBaseJavaModule
7
7
  import com.facebook.react.bridge.ReactMethod
8
- import io.primer.android.components.ui.assets.PrimerPaymentMethodAsset
9
- import io.primer.android.components.ui.assets.PrimerPaymentMethodNativeView
10
8
  import com.primerioreactnative.components.assets.AssetsManager
11
9
  import com.primerioreactnative.components.assets.AssetsManager.drawableToBitmap
12
10
  import com.primerioreactnative.components.assets.CardNetworkImageFileProvider.getFileForCardNetworkAsset
13
11
  import com.primerioreactnative.components.datamodels.manager.asset.PrimerCardNetworkAsset
14
12
  import com.primerioreactnative.components.datamodels.manager.asset.PrimerRNPaymentMethodAssetWrapper
15
- import com.primerioreactnative.components.datamodels.manager.asset.PrimerRNPaymentMethodResourceWrapper
16
13
  import com.primerioreactnative.components.datamodels.manager.asset.PrimerRNPaymentMethodAssets
14
+ import com.primerioreactnative.components.datamodels.manager.asset.PrimerRNPaymentMethodResourceWrapper
15
+ import com.primerioreactnative.components.datamodels.manager.asset.PrimerRNPaymentMethodResources
17
16
  import com.primerioreactnative.components.datamodels.manager.asset.toPrimerRNPaymentMethodAsset
18
17
  import com.primerioreactnative.components.datamodels.manager.asset.toPrimerRNPaymentMethodNativeView
19
- import com.primerioreactnative.components.datamodels.manager.asset.PrimerRNPaymentMethodResources
18
+ import com.primerioreactnative.components.manager.googlePay.PrimerGooglePayButtonManager
20
19
  import com.primerioreactnative.datamodels.ErrorTypeRN
21
20
  import com.primerioreactnative.utils.errorTo
22
21
  import com.primerioreactnative.utils.toWritableMap
23
- import io.primer.android.core.ExperimentalPrimerApi
24
22
  import io.primer.android.components.SdkUninitializedException
25
23
  import io.primer.android.components.ui.assets.PrimerHeadlessUniversalCheckoutAssetsManager
24
+ import io.primer.android.components.ui.assets.PrimerPaymentMethodAsset
25
+ import io.primer.android.components.ui.assets.PrimerPaymentMethodNativeView
26
26
  import io.primer.android.configuration.data.model.CardNetwork
27
+ import io.primer.android.core.ExperimentalPrimerApi
27
28
  import kotlinx.serialization.encodeToString
28
29
  import kotlinx.serialization.json.Json
29
30
  import org.json.JSONObject
30
- import com.primerioreactnative.components.manager.googlePay.PrimerGooglePayButtonManager
31
31
 
32
32
  @ExperimentalPrimerApi
33
33
  internal class PrimerRNHeadlessUniversalCheckoutAssetManager(
34
- private val reactContext: ReactApplicationContext,
34
+ private val reactContext: ReactApplicationContext,
35
35
  ) : ReactContextBaseJavaModule(reactContext) {
36
+ override fun getName() = "RNTPrimerHeadlessUniversalCheckoutAssetsManager"
36
37
 
37
- override fun getName() = "RNTPrimerHeadlessUniversalCheckoutAssetsManager"
38
+ @ReactMethod
39
+ fun getCardNetworkImage(
40
+ cardNetworkStr: String,
41
+ promise: Promise,
42
+ ) {
43
+ val cardNetwork =
44
+ CardNetwork.Type.values().find { it.name.equals(cardNetworkStr, ignoreCase = true) }
45
+ when (cardNetwork) {
46
+ null -> {
47
+ val exception =
48
+ ErrorTypeRN.NativeBridgeFailed errorTo "Failed to find asset of $cardNetworkStr."
49
+ promise.reject(exception.errorId, exception.description)
50
+ }
38
51
 
39
- @ReactMethod
40
- fun getCardNetworkImage(
41
- cardNetworkStr: String,
42
- promise: Promise,
43
- ) {
44
- val cardNetwork =
45
- CardNetwork.Type.values().find { it.name.equals(cardNetworkStr, ignoreCase = true) }
46
- when (cardNetwork) {
47
- null -> {
48
- val exception =
49
- ErrorTypeRN.NativeBridgeFailed errorTo "Failed to find asset of $cardNetworkStr."
50
- promise.reject(exception.errorId, exception.description)
51
- }
52
- else -> try {
53
- PrimerHeadlessUniversalCheckoutAssetsManager.getCardNetworkImage(cardNetwork)
54
- .let { resourceId ->
55
- val file = getFileForCardNetworkAsset(reactContext, cardNetworkStr)
56
- AssetsManager.saveBitmapToFile(
57
- file,
58
- drawableToBitmap(ContextCompat.getDrawable(reactContext, resourceId)!!),
59
- )
60
- promise.resolve(
61
- JSONObject(
62
- Json.encodeToString(
63
- PrimerCardNetworkAsset("file://${file.absolutePath}")
64
- )
65
- ).toWritableMap()
66
- )
67
- }
68
- } catch (e: SdkUninitializedException) {
69
- promise.reject(ErrorTypeRN.UnitializedSdkSession.errorId, e.message, e)
70
- } catch (e: Exception) {
71
- promise.reject(ErrorTypeRN.NativeBridgeFailed.errorId, e.message, e)
72
- }
52
+ else ->
53
+ try {
54
+ PrimerHeadlessUniversalCheckoutAssetsManager.getCardNetworkImage(cardNetwork)
55
+ .let { resourceId ->
56
+ val file = getFileForCardNetworkAsset(reactContext, cardNetworkStr)
57
+ AssetsManager.saveBitmapToFile(
58
+ file,
59
+ drawableToBitmap(ContextCompat.getDrawable(reactContext, resourceId)!!),
60
+ )
61
+ promise.resolve(
62
+ JSONObject(
63
+ Json.encodeToString(
64
+ PrimerCardNetworkAsset("file://${file.absolutePath}"),
65
+ ),
66
+ ).toWritableMap(),
67
+ )
68
+ }
69
+ } catch (e: SdkUninitializedException) {
70
+ promise.reject(ErrorTypeRN.UnitializedSdkSession.errorId, e.message, e)
71
+ } catch (e: Exception) {
72
+ promise.reject(ErrorTypeRN.NativeBridgeFailed.errorId, e.message, e)
73
+ }
74
+ }
73
75
  }
74
- }
75
76
 
76
- @ReactMethod
77
- fun getPaymentMethodAsset(paymentMethodTypeStr: String, promise: Promise) {
78
- try {
79
- val paymentMethodAsset =
80
- PrimerHeadlessUniversalCheckoutAssetsManager.getPaymentMethodAsset(
81
- reactContext,
82
- paymentMethodTypeStr
83
- )
84
- promise.resolve(
85
- JSONObject(
86
- Json.encodeToString(
87
- PrimerRNPaymentMethodAssetWrapper(
88
- paymentMethodAsset.toPrimerRNPaymentMethodAsset(
89
- reactContext,
90
- paymentMethodTypeStr
77
+ @Suppress("SwallowedException")
78
+ @ReactMethod
79
+ fun getPaymentMethodAsset(
80
+ paymentMethodTypeStr: String,
81
+ promise: Promise,
82
+ ) {
83
+ try {
84
+ val paymentMethodAsset =
85
+ PrimerHeadlessUniversalCheckoutAssetsManager.getPaymentMethodAsset(
86
+ reactContext,
87
+ paymentMethodTypeStr,
91
88
  )
92
- )
93
- )
94
- ).toWritableMap()
95
- )
96
- } catch (e: SdkUninitializedException) {
97
- promise.reject(ErrorTypeRN.UnitializedSdkSession.errorId, e.message, e)
98
- } catch (e: Exception) {
99
- val exception =
100
- ErrorTypeRN.NativeBridgeFailed errorTo "Failed to find asset of $paymentMethodTypeStr for this session."
101
- promise.reject(exception.errorId, exception.description)
89
+ promise.resolve(
90
+ JSONObject(
91
+ Json.encodeToString(
92
+ PrimerRNPaymentMethodAssetWrapper(
93
+ paymentMethodAsset.toPrimerRNPaymentMethodAsset(
94
+ reactContext,
95
+ paymentMethodTypeStr,
96
+ ),
97
+ ),
98
+ ),
99
+ ).toWritableMap(),
100
+ )
101
+ } catch (e: SdkUninitializedException) {
102
+ return promise.reject(ErrorTypeRN.UnitializedSdkSession.errorId, e.message, e)
103
+ } catch (e: Exception) {
104
+ val exception =
105
+ ErrorTypeRN.NativeBridgeFailed errorTo "Failed to find asset of $paymentMethodTypeStr for this session."
106
+ return promise.reject(exception.errorId, exception.description)
107
+ }
102
108
  }
103
- }
104
109
 
105
- @ReactMethod
106
- fun getPaymentMethodAssets(promise: Promise) {
107
- try {
108
- val paymentMethodAssets =
109
- PrimerHeadlessUniversalCheckoutAssetsManager.getPaymentMethodAssets(reactContext)
110
- if (paymentMethodAssets.isEmpty()) {
111
- val exception =
112
- ErrorTypeRN.NativeBridgeFailed errorTo "Failed to find assets for this session"
113
- promise.reject(exception.errorId, exception.description)
114
- }
115
- promise.resolve(
116
- JSONObject(
117
- Json.encodeToString(
118
- PrimerRNPaymentMethodAssets(paymentMethodAssets.map {
119
- it.toPrimerRNPaymentMethodAsset(
120
- reactContext,
121
- it.paymentMethodType
122
- )
123
- }
110
+ @ReactMethod
111
+ fun getPaymentMethodAssets(promise: Promise) {
112
+ try {
113
+ val paymentMethodAssets =
114
+ PrimerHeadlessUniversalCheckoutAssetsManager.getPaymentMethodAssets(reactContext)
115
+ if (paymentMethodAssets.isEmpty()) {
116
+ val exception =
117
+ ErrorTypeRN.NativeBridgeFailed errorTo "Failed to find assets for this session"
118
+ promise.reject(exception.errorId, exception.description)
119
+ }
120
+ promise.resolve(
121
+ JSONObject(
122
+ Json.encodeToString(
123
+ PrimerRNPaymentMethodAssets(
124
+ paymentMethodAssets.map {
125
+ it.toPrimerRNPaymentMethodAsset(
126
+ reactContext,
127
+ it.paymentMethodType,
128
+ )
129
+ },
130
+ ),
131
+ ),
132
+ ).toWritableMap(),
124
133
  )
125
- )
126
- ).toWritableMap()
127
- )
128
- } catch (e: SdkUninitializedException) {
129
- promise.reject(ErrorTypeRN.UnitializedSdkSession.errorId, e.message, e)
134
+ } catch (e: SdkUninitializedException) {
135
+ promise.reject(ErrorTypeRN.UnitializedSdkSession.errorId, e.message, e)
136
+ }
130
137
  }
131
- }
132
138
 
133
- @ReactMethod
134
- fun getPaymentMethodResources(promise: Promise) {
135
- try {
136
- val paymentMethodResources =
137
- PrimerHeadlessUniversalCheckoutAssetsManager.getPaymentMethodResources(reactContext)
138
- if (paymentMethodResources.isEmpty()) {
139
- val exception =
140
- ErrorTypeRN.NativeBridgeFailed errorTo "Failed to find resources for this session"
141
- promise.reject(exception.errorId, exception.description)
142
- }
143
- promise.resolve(
144
- JSONObject(
145
- Json.encodeToString(
146
- PrimerRNPaymentMethodResources(paymentMethodResources.map {
147
- when (it) {
148
- is PrimerPaymentMethodAsset -> {
149
- it.toPrimerRNPaymentMethodAsset(
150
- reactContext = reactContext,
151
- paymentMethodType = it.paymentMethodType
152
- )
153
- }
154
- is PrimerPaymentMethodNativeView -> {
155
- PrimerGooglePayButtonManager.updatePrimerGooglePayButtonCreator {
156
- context -> it.createView(context)
157
- }
139
+ @ReactMethod
140
+ fun getPaymentMethodResources(promise: Promise) {
141
+ try {
142
+ val paymentMethodResources =
143
+ PrimerHeadlessUniversalCheckoutAssetsManager.getPaymentMethodResources(reactContext)
144
+ if (paymentMethodResources.isEmpty()) {
145
+ val exception =
146
+ ErrorTypeRN.NativeBridgeFailed errorTo "Failed to find resources for this session"
147
+ promise.reject(exception.errorId, exception.description)
148
+ }
149
+ promise.resolve(
150
+ JSONObject(
151
+ Json.encodeToString(
152
+ PrimerRNPaymentMethodResources(
153
+ paymentMethodResources.map {
154
+ when (it) {
155
+ is PrimerPaymentMethodAsset -> {
156
+ it.toPrimerRNPaymentMethodAsset(
157
+ reactContext = reactContext,
158
+ paymentMethodType = it.paymentMethodType,
159
+ )
160
+ }
158
161
 
159
- it.toPrimerRNPaymentMethodNativeView(
160
- paymentMethodType = it.paymentMethodType
161
- )
162
- }
163
- }
164
- }
162
+ is PrimerPaymentMethodNativeView -> {
163
+ PrimerGooglePayButtonManager.updatePrimerGooglePayButtonCreator { context ->
164
+ it.createView(context)
165
+ }
166
+
167
+ it.toPrimerRNPaymentMethodNativeView(
168
+ paymentMethodType = it.paymentMethodType,
169
+ )
170
+ }
171
+ }
172
+ },
173
+ ),
174
+ ),
175
+ ).toWritableMap(),
165
176
  )
166
- )
167
- ).toWritableMap()
168
- )
169
- } catch (e: SdkUninitializedException) {
170
- promise.reject(ErrorTypeRN.UnitializedSdkSession.errorId, e.message, e)
177
+ } catch (e: SdkUninitializedException) {
178
+ promise.reject(ErrorTypeRN.UnitializedSdkSession.errorId, e.message, e)
179
+ }
171
180
  }
172
- }
173
181
 
174
- @ReactMethod
175
- fun getPaymentMethodResource(paymentMethodTypeStr: String, promise: Promise) {
176
- try {
177
- val paymentMethodResource =
178
- PrimerHeadlessUniversalCheckoutAssetsManager.getPaymentMethodResource(reactContext, paymentMethodTypeStr)
179
- promise.resolve(
180
- JSONObject(
181
- Json.encodeToString(
182
- PrimerRNPaymentMethodResourceWrapper(
183
- when (paymentMethodResource) {
184
- is PrimerPaymentMethodAsset -> {
185
- paymentMethodResource.toPrimerRNPaymentMethodAsset(
186
- reactContext = reactContext,
187
- paymentMethodType = paymentMethodResource.paymentMethodType
188
- )
189
- }
190
- is PrimerPaymentMethodNativeView -> {
191
- PrimerGooglePayButtonManager.updatePrimerGooglePayButtonCreator {
192
- context -> paymentMethodResource.createView(context)
193
- }
194
-
195
- paymentMethodResource.toPrimerRNPaymentMethodNativeView(
196
- paymentMethodType = paymentMethodResource.paymentMethodType
197
- )
198
- }
199
- }
182
+ @ReactMethod
183
+ fun getPaymentMethodResource(
184
+ paymentMethodTypeStr: String,
185
+ promise: Promise,
186
+ ) {
187
+ try {
188
+ val paymentMethodResource =
189
+ PrimerHeadlessUniversalCheckoutAssetsManager.getPaymentMethodResource(
190
+ reactContext,
191
+ paymentMethodTypeStr
200
192
  )
201
- )
202
- ).toWritableMap()
203
- )
204
- } catch (e: SdkUninitializedException) {
205
- promise.reject(ErrorTypeRN.UnitializedSdkSession.errorId, e.message, e)
193
+ promise.resolve(
194
+ JSONObject(
195
+ Json.encodeToString(
196
+ PrimerRNPaymentMethodResourceWrapper(
197
+ when (paymentMethodResource) {
198
+ is PrimerPaymentMethodAsset -> {
199
+ paymentMethodResource.toPrimerRNPaymentMethodAsset(
200
+ reactContext = reactContext,
201
+ paymentMethodType = paymentMethodResource.paymentMethodType,
202
+ )
203
+ }
204
+
205
+ is PrimerPaymentMethodNativeView -> {
206
+ PrimerGooglePayButtonManager.updatePrimerGooglePayButtonCreator { context ->
207
+ paymentMethodResource.createView(context)
208
+ }
209
+
210
+ paymentMethodResource.toPrimerRNPaymentMethodNativeView(
211
+ paymentMethodType = paymentMethodResource.paymentMethodType,
212
+ )
213
+ }
214
+ },
215
+ ),
216
+ ),
217
+ ).toWritableMap(),
218
+ )
219
+ } catch (e: SdkUninitializedException) {
220
+ promise.reject(ErrorTypeRN.UnitializedSdkSession.errorId, e.message, e)
221
+ }
206
222
  }
207
- }
208
223
  }