@primer-io/react-native 2.16.2 → 2.17.0-rc.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 (283) hide show
  1. package/android/.project +2 -2
  2. package/android/build.gradle +2 -3
  3. package/android/gradle.properties +1 -1
  4. package/android/src/main/java/com/primerioreactnative/PrimerCardNumberEditTextManager.kt +0 -15
  5. package/android/src/main/java/com/primerioreactnative/PrimerRN.kt +13 -34
  6. package/android/src/main/java/com/primerioreactnative/PrimerRNEventListener.kt +23 -8
  7. package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckout.kt +20 -120
  8. package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckoutListener.kt +61 -69
  9. package/android/src/main/java/com/primerioreactnative/ReactNativePackage.kt +6 -2
  10. package/android/src/main/java/com/primerioreactnative/{huc → components}/assets/AssetsManager.kt +5 -14
  11. package/android/src/main/java/com/primerioreactnative/components/assets/CardNetworkImageFileProvider.kt +23 -0
  12. package/android/src/main/java/com/primerioreactnative/components/assets/PaymentMethodAssetFileProvider.kt +24 -0
  13. package/android/src/main/java/com/primerioreactnative/components/datamodels/core/PrimerRNHeadlessUniversalCheckoutPaymentMethod.kt +25 -0
  14. package/android/src/main/java/com/primerioreactnative/components/datamodels/core/PrimerRawPaymentMethodType.kt +9 -0
  15. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/asset/PrimerRNAsset.kt +99 -0
  16. package/android/src/main/java/com/primerioreactnative/{huc/datamodels/manager/raw/card/PrimerRNRawCardData.kt → components/datamodels/manager/raw/card/PrimerRNCardData.kt} +6 -8
  17. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/cardRedirect/PrimerRNCardRedirectData.kt +19 -0
  18. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/phoneNumber/PrimerRNPhoneNumberData.kt +14 -0
  19. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/retailOutlets/PrimerRNRetailOutletData.kt +12 -0
  20. package/android/src/main/java/com/primerioreactnative/{huc → components}/datamodels/manager/raw/retailOutlets/RNRetailOutletsList.kt +1 -1
  21. package/android/src/main/java/com/primerioreactnative/components/events/PrimerHeadlessUniversalCheckoutEvent.kt +17 -0
  22. package/android/src/main/java/com/primerioreactnative/{huc → components}/events/PrimerHeadlessUniversalCheckoutRawDataManagerEvent.kt +1 -2
  23. package/android/src/main/java/com/primerioreactnative/components/manager/asset/PrimerRNHeadlessUniversalCheckoutAssetManager.kt +131 -0
  24. package/android/src/main/java/com/primerioreactnative/components/manager/nativeUi/PrimerRNHeadlessUniversalCheckoutNativeUiManager.kt +87 -0
  25. package/android/src/main/java/com/primerioreactnative/{huc → components}/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManager.kt +72 -68
  26. package/android/src/main/java/com/primerioreactnative/{huc → components}/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManagerListener.kt +13 -5
  27. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerErrorRN.kt +5 -4
  28. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerInputValidationErrorRN.kt +11 -0
  29. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerSettingsRN.kt +0 -8
  30. package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodOptionsRN.kt +0 -4
  31. package/android/src/main/java/com/primerioreactnative/utils/PrimerHeadlessUniversalCheckoutImplementedRNCallbacks.kt +15 -15
  32. package/android/src/main/java/com/primerioreactnative/utils/PrimerImplementedRNCallbacks.kt +7 -7
  33. package/ios/Podfile.lock +1 -1
  34. package/ios/ReactNative.xcodeproj/project.pbxproj +20 -20
  35. package/ios/Sources/DataModels/ImplementedRNCallbacks.swift +75 -0
  36. package/ios/{DataModels/RNTPrimerCardRedirectData.swift → Sources/DataModels/PrimerBancontactCardRedirectData+Extension.swift} +5 -8
  37. package/ios/{DataModels/RNTPrimerCardData.swift → Sources/DataModels/PrimerCardData+Extension.swift} +2 -5
  38. package/ios/Sources/DataModels/PrimerHeadlessUniversalCheckout_PaymentMethod.swift +20 -0
  39. package/ios/{DataModels/RNTPrimerPhoneNumberData.swift → Sources/DataModels/PrimerPhoneNumberData+Extension.swift} +0 -1
  40. package/ios/{DataModels/RNTPrimerRetailerData.swift → Sources/DataModels/PrimerRawRetailerData+Extension.swift} +3 -4
  41. package/ios/Sources/DataModels/PrimerSettings+Extensions.swift +82 -0
  42. package/ios/{DataModels → Sources/DataModels}/PrimerThemeRN.swift +0 -0
  43. package/ios/Sources/DataModels/RNTNativeError.swift +22 -0
  44. package/ios/Sources/DataModels/RNTPrimerPaymentMethodAsset.swift +65 -0
  45. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTNativeUIManager.m +19 -0
  46. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTNativeUIManager.swift +63 -0
  47. package/ios/{Headless Universal Checkout → Sources/Headless Universal Checkout/Managers/Payment Method Managers}/RNTPrimerCardNumberInputElementManager.m +0 -0
  48. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTRawDataManager.m +23 -0
  49. package/ios/{Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutRawDataManager.swift → Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTRawDataManager.swift } +36 -31
  50. package/ios/Sources/Headless Universal Checkout/Managers/RNTAssetsManager.m +24 -0
  51. package/ios/Sources/Headless Universal Checkout/Managers/RNTAssetsManager.swift +107 -0
  52. package/ios/Sources/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.m +41 -0
  53. package/ios/Sources/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +498 -0
  54. package/ios/Sources/Helpers/Encodable+Extension.swift +17 -0
  55. package/ios/Sources/Helpers/Error+Extensions.swift +39 -0
  56. package/ios/Sources/Helpers/UIColor+Extensions.swift +32 -0
  57. package/ios/Sources/Helpers/UIImage+Extensions.swift +32 -0
  58. package/ios/Sources/RNTPrimer.m +80 -0
  59. package/ios/{RNTPrimer.swift → Sources/RNTPrimer.swift} +20 -34
  60. package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js +59 -0
  61. package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -0
  62. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js +35 -0
  63. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -0
  64. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +151 -0
  65. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -0
  66. package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +270 -0
  67. package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -0
  68. package/lib/commonjs/{headless_checkout → HeadlessUniversalCheckout}/RNPrimerHeadlessUniversalCheckout.js +7 -81
  69. package/lib/commonjs/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -0
  70. package/lib/commonjs/HeadlessUniversalCheckout/types.js +34 -0
  71. package/lib/commonjs/HeadlessUniversalCheckout/types.js.map +1 -0
  72. package/lib/commonjs/Primer.js +52 -52
  73. package/lib/commonjs/Primer.js.map +1 -1
  74. package/lib/commonjs/PrimerInput.js.map +1 -1
  75. package/lib/commonjs/RNPrimer.js +2 -12
  76. package/lib/commonjs/RNPrimer.js.map +1 -1
  77. package/lib/commonjs/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js.map +1 -1
  78. package/lib/commonjs/index.js +63 -71
  79. package/lib/commonjs/index.js.map +1 -1
  80. package/lib/commonjs/models/PrimerAsset.js +2 -0
  81. package/lib/commonjs/models/PrimerAsset.js.map +1 -0
  82. package/lib/commonjs/models/PrimerCheckoutAdditionalInfo.js.map +1 -1
  83. package/lib/commonjs/models/PrimerCheckoutData.js.map +1 -1
  84. package/lib/commonjs/models/PrimerCheckoutPaymentMethodData.js.map +1 -1
  85. package/lib/commonjs/models/PrimerClientSession.js.map +1 -1
  86. package/lib/commonjs/models/PrimerCountryCode.js.map +1 -1
  87. package/lib/commonjs/models/PrimerCurrencyCode.js.map +1 -1
  88. package/lib/commonjs/models/PrimerError.js +4 -4
  89. package/lib/commonjs/models/PrimerError.js.map +1 -1
  90. package/lib/commonjs/models/PrimerHandlers.js +2 -0
  91. package/lib/commonjs/models/PrimerHandlers.js.map +1 -0
  92. package/lib/commonjs/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js +2 -0
  93. package/lib/commonjs/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js.map +1 -0
  94. package/lib/commonjs/models/PrimerImplementedRNCallbacks.js +2 -0
  95. package/lib/commonjs/models/PrimerImplementedRNCallbacks.js.map +1 -0
  96. package/lib/commonjs/models/PrimerInitializationData.js.map +1 -1
  97. package/lib/commonjs/models/PrimerInputElementType.js +20 -0
  98. package/lib/commonjs/models/PrimerInputElementType.js.map +1 -0
  99. package/lib/commonjs/models/PrimerInterfaces.js.map +1 -1
  100. package/lib/commonjs/models/PrimerPaymentMethodManagerCategory.js +14 -0
  101. package/lib/commonjs/models/PrimerPaymentMethodManagerCategory.js.map +1 -0
  102. package/lib/commonjs/models/PrimerPaymentMethodTokenData.js.map +1 -1
  103. package/lib/commonjs/models/PrimerRawData.js.map +1 -1
  104. package/lib/commonjs/models/PrimerSessionIntent.js.map +1 -1
  105. package/lib/commonjs/models/PrimerSettings.js.map +1 -1
  106. package/lib/commonjs/models/PrimerTheme.js.map +1 -1
  107. package/lib/commonjs/models/RetailOutletsRetail.js.map +1 -1
  108. package/lib/commonjs/utils/index.js.map +1 -1
  109. package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js +52 -0
  110. package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -0
  111. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js +28 -0
  112. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -0
  113. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +144 -0
  114. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -0
  115. package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +261 -0
  116. package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -0
  117. package/lib/module/{headless_checkout → HeadlessUniversalCheckout}/RNPrimerHeadlessUniversalCheckout.js +7 -81
  118. package/lib/module/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -0
  119. package/lib/module/HeadlessUniversalCheckout/types.js +33 -0
  120. package/lib/module/HeadlessUniversalCheckout/types.js.map +1 -0
  121. package/lib/module/Primer.js +52 -52
  122. package/lib/module/Primer.js.map +1 -1
  123. package/lib/module/PrimerInput.js.map +1 -1
  124. package/lib/module/RNPrimer.js +2 -12
  125. package/lib/module/RNPrimer.js.map +1 -1
  126. package/lib/module/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js.map +1 -1
  127. package/lib/module/index.js +15 -9
  128. package/lib/module/index.js.map +1 -1
  129. package/lib/module/models/PrimerAsset.js +2 -0
  130. package/lib/module/models/PrimerAsset.js.map +1 -0
  131. package/lib/module/models/PrimerCheckoutAdditionalInfo.js.map +1 -1
  132. package/lib/module/models/PrimerCheckoutData.js.map +1 -1
  133. package/lib/module/models/PrimerCheckoutPaymentMethodData.js.map +1 -1
  134. package/lib/module/models/PrimerClientSession.js.map +1 -1
  135. package/lib/module/models/PrimerCountryCode.js.map +1 -1
  136. package/lib/module/models/PrimerCurrencyCode.js.map +1 -1
  137. package/lib/module/models/PrimerError.js +4 -4
  138. package/lib/module/models/PrimerError.js.map +1 -1
  139. package/lib/module/models/PrimerHandlers.js +2 -0
  140. package/lib/module/models/PrimerHandlers.js.map +1 -0
  141. package/lib/module/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js +2 -0
  142. package/lib/module/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js.map +1 -0
  143. package/lib/module/models/PrimerImplementedRNCallbacks.js +2 -0
  144. package/lib/module/models/PrimerImplementedRNCallbacks.js.map +1 -0
  145. package/lib/module/models/PrimerInitializationData.js.map +1 -1
  146. package/lib/module/models/PrimerInputElementType.js +13 -0
  147. package/lib/module/models/PrimerInputElementType.js.map +1 -0
  148. package/lib/module/models/PrimerInterfaces.js.map +1 -1
  149. package/lib/module/models/PrimerPaymentMethodManagerCategory.js +7 -0
  150. package/lib/module/models/PrimerPaymentMethodManagerCategory.js.map +1 -0
  151. package/lib/module/models/PrimerPaymentMethodTokenData.js.map +1 -1
  152. package/lib/module/models/PrimerRawData.js.map +1 -1
  153. package/lib/module/models/PrimerSessionIntent.js.map +1 -1
  154. package/lib/module/models/PrimerSettings.js.map +1 -1
  155. package/lib/module/models/PrimerTheme.js.map +1 -1
  156. package/lib/module/models/RetailOutletsRetail.js.map +1 -1
  157. package/lib/module/utils/index.js.map +1 -1
  158. package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts +9 -0
  159. package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts.map +1 -0
  160. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.d.ts +8 -0
  161. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.d.ts.map +1 -0
  162. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts +29 -0
  163. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts.map +1 -0
  164. package/lib/typescript/{headless_checkout → HeadlessUniversalCheckout}/PrimerHeadlessUniversalCheckout.d.ts +4 -5
  165. package/lib/typescript/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.d.ts.map +1 -0
  166. package/lib/typescript/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.d.ts +18 -0
  167. package/lib/typescript/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.d.ts.map +1 -0
  168. package/lib/typescript/HeadlessUniversalCheckout/types.d.ts +1 -0
  169. package/lib/typescript/HeadlessUniversalCheckout/types.d.ts.map +1 -0
  170. package/lib/typescript/Primer.d.ts +1 -0
  171. package/lib/typescript/Primer.d.ts.map +1 -0
  172. package/lib/typescript/PrimerInput.d.ts +5 -4
  173. package/lib/typescript/PrimerInput.d.ts.map +1 -0
  174. package/lib/typescript/RNPrimer.d.ts +3 -4
  175. package/lib/typescript/RNPrimer.d.ts.map +1 -0
  176. package/lib/typescript/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.d.ts +1 -0
  177. package/lib/typescript/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.d.ts.map +1 -0
  178. package/lib/typescript/index.d.ts +18 -9
  179. package/lib/typescript/index.d.ts.map +1 -0
  180. package/lib/typescript/models/PrimerAsset.d.ts +14 -0
  181. package/lib/typescript/models/PrimerAsset.d.ts.map +1 -0
  182. package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts +7 -6
  183. package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts.map +1 -0
  184. package/lib/typescript/models/PrimerCheckoutData.d.ts +3 -2
  185. package/lib/typescript/models/PrimerCheckoutData.d.ts.map +1 -0
  186. package/lib/typescript/models/PrimerCheckoutPaymentMethodData.d.ts +2 -1
  187. package/lib/typescript/models/PrimerCheckoutPaymentMethodData.d.ts.map +1 -0
  188. package/lib/typescript/models/PrimerClientSession.d.ts +6 -5
  189. package/lib/typescript/models/PrimerClientSession.d.ts.map +1 -0
  190. package/lib/typescript/models/PrimerCountryCode.d.ts +2 -1
  191. package/lib/typescript/models/PrimerCountryCode.d.ts.map +1 -0
  192. package/lib/typescript/models/PrimerCurrencyCode.d.ts +2 -1
  193. package/lib/typescript/models/PrimerCurrencyCode.d.ts.map +1 -0
  194. package/lib/typescript/models/PrimerError.d.ts +3 -1
  195. package/lib/typescript/models/PrimerError.d.ts.map +1 -0
  196. package/lib/typescript/models/PrimerHandlers.d.ts +22 -0
  197. package/lib/typescript/models/PrimerHandlers.d.ts.map +1 -0
  198. package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts +6 -0
  199. package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts.map +1 -0
  200. package/lib/typescript/models/PrimerImplementedRNCallbacks.d.ts +17 -0
  201. package/lib/typescript/models/PrimerImplementedRNCallbacks.d.ts.map +1 -0
  202. package/lib/typescript/models/PrimerInitializationData.d.ts +3 -2
  203. package/lib/typescript/models/PrimerInitializationData.d.ts.map +1 -0
  204. package/lib/typescript/models/PrimerInputElementType.d.ts +12 -0
  205. package/lib/typescript/models/PrimerInputElementType.d.ts.map +1 -0
  206. package/lib/typescript/models/PrimerInterfaces.d.ts +2 -20
  207. package/lib/typescript/models/PrimerInterfaces.d.ts.map +1 -0
  208. package/lib/typescript/models/PrimerPaymentMethodManagerCategory.d.ts +6 -0
  209. package/lib/typescript/models/PrimerPaymentMethodManagerCategory.d.ts.map +1 -0
  210. package/lib/typescript/models/PrimerPaymentMethodTokenData.d.ts +2 -1
  211. package/lib/typescript/models/PrimerPaymentMethodTokenData.d.ts.map +1 -0
  212. package/lib/typescript/models/PrimerRawData.d.ts +7 -10
  213. package/lib/typescript/models/PrimerRawData.d.ts.map +1 -0
  214. package/lib/typescript/models/PrimerSessionIntent.d.ts +1 -0
  215. package/lib/typescript/models/PrimerSessionIntent.d.ts.map +1 -0
  216. package/lib/typescript/models/PrimerSettings.d.ts +30 -16
  217. package/lib/typescript/models/PrimerSettings.d.ts.map +1 -0
  218. package/lib/typescript/models/PrimerTheme.d.ts +3 -2
  219. package/lib/typescript/models/PrimerTheme.d.ts.map +1 -0
  220. package/lib/typescript/models/RetailOutletsRetail.d.ts +2 -1
  221. package/lib/typescript/models/RetailOutletsRetail.d.ts.map +1 -0
  222. package/lib/typescript/utils/index.d.ts +1 -0
  223. package/lib/typescript/utils/index.d.ts.map +1 -0
  224. package/package.json +8 -7
  225. package/primer-io-react-native.podspec +1 -2
  226. package/src/HeadlessUniversalCheckout/Managers/AssetsManager.ts +56 -0
  227. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.ts +31 -0
  228. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.ts +166 -0
  229. package/src/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.ts +333 -0
  230. package/src/{headless_checkout → HeadlessUniversalCheckout}/RNPrimerHeadlessUniversalCheckout.ts +37 -128
  231. package/src/HeadlessUniversalCheckout/types.ts +32 -0
  232. package/src/Primer.ts +49 -60
  233. package/src/RNPrimer.ts +2 -18
  234. package/src/index.tsx +43 -29
  235. package/src/models/PrimerAsset.ts +13 -0
  236. package/src/models/PrimerError.ts +3 -1
  237. package/src/models/PrimerHandlers.ts +25 -0
  238. package/src/models/PrimerHeadlessUniversalCheckoutPaymentMethod.ts +5 -0
  239. package/src/models/PrimerImplementedRNCallbacks.ts +20 -0
  240. package/src/models/PrimerInputElementType.ts +11 -0
  241. package/src/models/PrimerInterfaces.ts +1 -28
  242. package/src/models/PrimerPaymentMethodManagerCategory.ts +5 -0
  243. package/src/models/PrimerRawData.ts +6 -10
  244. package/src/models/PrimerSettings.ts +40 -26
  245. package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/cardRedirect/PrimerRNPRawCardRedirectData.kt +0 -20
  246. package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/phoneNumber/PrimerRNRawPhoneNumberData.kt +0 -14
  247. package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/retailOutlets/PrimerRNRawRetailOutletData.kt +0 -12
  248. package/android/src/main/java/com/primerioreactnative/huc/events/PrimerHeadlessUniversalCheckoutEvent.kt +0 -15
  249. package/ios/DataModels/ImplementedRNCallbacks.swift +0 -62
  250. package/ios/DataModels/PrimerErrorRN.swift +0 -35
  251. package/ios/DataModels/PrimerSettingsRN.swift +0 -84
  252. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.m +0 -62
  253. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +0 -501
  254. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.m +0 -14
  255. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.swift +0 -117
  256. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutRawDataManager.m +0 -23
  257. package/ios/RNTPrimer.m +0 -59
  258. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js +0 -288
  259. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +0 -1
  260. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js +0 -91
  261. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
  262. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +0 -1
  263. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js +0 -91
  264. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
  265. package/lib/commonjs/headless_checkout/types.js +0 -6
  266. package/lib/commonjs/headless_checkout/types.js.map +0 -1
  267. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js +0 -279
  268. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +0 -1
  269. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js +0 -83
  270. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
  271. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +0 -1
  272. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js +0 -84
  273. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
  274. package/lib/module/headless_checkout/types.js +0 -2
  275. package/lib/module/headless_checkout/types.js.map +0 -1
  276. package/lib/typescript/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.d.ts +0 -18
  277. package/lib/typescript/headless_checkout/RNPrimerHeadlessUniversalCheckout.d.ts +0 -22
  278. package/lib/typescript/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.d.ts +0 -14
  279. package/lib/typescript/headless_checkout/types.d.ts +0 -22
  280. package/src/headless_checkout/PrimerHeadlessUniversalCheckout.ts +0 -358
  281. package/src/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.ts +0 -109
  282. package/src/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.ts +0 -104
  283. package/src/headless_checkout/types.ts +0 -32
@@ -0,0 +1,333 @@
1
+ import RNPrimerHeadlessUniversalCheckout from './RNPrimerHeadlessUniversalCheckout';
2
+ import type { PrimerCheckoutData } from '../models/PrimerCheckoutData';
3
+ import type { PrimerCheckoutAdditionalInfo } from '../models/PrimerCheckoutAdditionalInfo';
4
+ import type { PrimerCheckoutPaymentMethodData } from '../models/PrimerCheckoutPaymentMethodData';
5
+ import type { PrimerSettings } from '../models/PrimerSettings';
6
+ import type { PrimerClientSession } from '../models/PrimerClientSession';
7
+ import { PrimerError } from '../models/PrimerError';
8
+ import type { PrimerPaymentMethodTokenData } from '../models/PrimerPaymentMethodTokenData';
9
+ import type { PrimerImplementedRNCallbacks } from 'src/models/PrimerImplementedRNCallbacks';
10
+ import type { IPrimerHeadlessUniversalCheckoutPaymentMethod } from '../models/PrimerHeadlessUniversalCheckoutPaymentMethod';
11
+ import type { PrimerHeadlessUniversalCheckoutResumeHandler, PrimerPaymentCreationHandler } from 'src/models/PrimerHandlers';
12
+
13
+ ///////////////////////////////////////////
14
+ // DECISION HANDLERS
15
+ ///////////////////////////////////////////
16
+
17
+ // Tokenization Handler
18
+
19
+ const tokenizationHandler: PrimerHeadlessUniversalCheckoutResumeHandler = {
20
+ continueWithNewClientToken: async (newClientToken: string) => {
21
+ try {
22
+ RNPrimerHeadlessUniversalCheckout.handleTokenizationNewClientToken(newClientToken);
23
+ } catch (err) {
24
+ console.error(err);
25
+ }
26
+ },
27
+
28
+ complete: () => {
29
+ RNPrimerHeadlessUniversalCheckout.handleCompleteFlow();
30
+ }
31
+ }
32
+
33
+ // Resume Handler
34
+
35
+ const resumeHandler: PrimerHeadlessUniversalCheckoutResumeHandler = {
36
+ continueWithNewClientToken: async (newClientToken: string) => {
37
+ try {
38
+ RNPrimerHeadlessUniversalCheckout.handleResumeWithNewClientToken(newClientToken);
39
+ } catch (err) {
40
+ console.error(err);
41
+ }
42
+ },
43
+
44
+ complete: () => {
45
+ RNPrimerHeadlessUniversalCheckout.handleCompleteFlow();
46
+ }
47
+ }
48
+
49
+ // Payment Creation Handler
50
+
51
+ const paymentCreationHandler: PrimerPaymentCreationHandler = {
52
+ abortPaymentCreation: async (errorMessage: string) => {
53
+ try {
54
+ RNPrimerHeadlessUniversalCheckout.handlePaymentCreationAbort(errorMessage);
55
+ } catch (err) {
56
+ console.error(err);
57
+ }
58
+ },
59
+
60
+ continuePaymentCreation: async () => {
61
+ try {
62
+ RNPrimerHeadlessUniversalCheckout.handlePaymentCreationContinue();
63
+ } catch (err) {
64
+ console.error(err);
65
+ }
66
+ }
67
+ }
68
+
69
+ export let primerSettings: PrimerSettings | undefined = undefined;
70
+
71
+ async function configureListeners(): Promise<void> {
72
+ return new Promise(async (resolve, reject) => {
73
+ try {
74
+ RNPrimerHeadlessUniversalCheckout.removeAllListeners();
75
+
76
+ let implementedRNCallbacks: PrimerImplementedRNCallbacks = {
77
+ onAvailablePaymentMethodsLoad: (primerSettings?.headlessUniversalCheckoutCallbacks?.onAvailablePaymentMethodsLoad !== undefined) || false,
78
+ onTokenizationStart: (primerSettings?.headlessUniversalCheckoutCallbacks?.onTokenizationStart !== undefined) || false,
79
+ onTokenizationSuccess: (primerSettings?.headlessUniversalCheckoutCallbacks?.onTokenizationSuccess !== undefined) || false,
80
+
81
+ onCheckoutResume: (primerSettings?.headlessUniversalCheckoutCallbacks?.onCheckoutResume !== undefined) || false,
82
+ onCheckoutPending: (primerSettings?.headlessUniversalCheckoutCallbacks?.onCheckoutPending !== undefined) || false,
83
+ onCheckoutAdditionalInfo: (primerSettings?.headlessUniversalCheckoutCallbacks?.onCheckoutAdditionalInfo !== undefined) || false,
84
+
85
+ onError: (primerSettings?.headlessUniversalCheckoutCallbacks?.onError !== undefined) || false,
86
+ onCheckoutComplete: (primerSettings?.headlessUniversalCheckoutCallbacks?.onCheckoutComplete !== undefined) || false,
87
+ onBeforeClientSessionUpdate: (primerSettings?.headlessUniversalCheckoutCallbacks?.onBeforeClientSessionUpdate !== undefined) || false,
88
+
89
+ onClientSessionUpdate: (primerSettings?.headlessUniversalCheckoutCallbacks?.onClientSessionUpdate !== undefined) || false,
90
+ onBeforePaymentCreate: (primerSettings?.headlessUniversalCheckoutCallbacks?.onBeforePaymentCreate !== undefined) || false,
91
+ onPreparationStart: (primerSettings?.headlessUniversalCheckoutCallbacks?.onPreparationStart !== undefined) || false,
92
+
93
+ onPaymentMethodShow: (primerSettings?.headlessUniversalCheckoutCallbacks?.onPaymentMethodShow !== undefined) || false,
94
+ onDismiss: false
95
+ };
96
+
97
+ await RNPrimerHeadlessUniversalCheckout.setImplementedRNCallbacks(implementedRNCallbacks);
98
+
99
+ if (implementedRNCallbacks.onAvailablePaymentMethodsLoad) {
100
+ RNPrimerHeadlessUniversalCheckout.addListener(
101
+ 'onAvailablePaymentMethodsLoad',
102
+ (data) => {
103
+ if (primerSettings?.headlessUniversalCheckoutCallbacks?.onAvailablePaymentMethodsLoad) {
104
+ const availablePaymentMethods: IPrimerHeadlessUniversalCheckoutPaymentMethod[] = data.availablePaymentMethods || [];
105
+ primerSettings.headlessUniversalCheckoutCallbacks.onAvailablePaymentMethodsLoad(availablePaymentMethods);
106
+ } else {
107
+ // Ignore!
108
+ }
109
+ }
110
+ );
111
+ }
112
+
113
+ if (implementedRNCallbacks.onPreparationStart) {
114
+ RNPrimerHeadlessUniversalCheckout.addListener(
115
+ 'onPreparationStart',
116
+ (data) => {
117
+ if (primerSettings?.headlessUniversalCheckoutCallbacks?.onPreparationStart) {
118
+ primerSettings.headlessUniversalCheckoutCallbacks.onPreparationStart(data.paymentMethodType);
119
+ } else {
120
+ // Ignore!
121
+ }
122
+ }
123
+ );
124
+ }
125
+
126
+ if (implementedRNCallbacks.onBeforeClientSessionUpdate) {
127
+ RNPrimerHeadlessUniversalCheckout.addListener(
128
+ 'onBeforeClientSessionUpdate',
129
+ () => {
130
+ if (primerSettings?.headlessUniversalCheckoutCallbacks?.onBeforeClientSessionUpdate) {
131
+ primerSettings.headlessUniversalCheckoutCallbacks.onBeforeClientSessionUpdate();
132
+ } else {
133
+ // Ignore!
134
+ }
135
+ }
136
+ );
137
+ }
138
+
139
+ if (implementedRNCallbacks.onClientSessionUpdate) {
140
+ RNPrimerHeadlessUniversalCheckout.addListener(
141
+ 'onClientSessionUpdate',
142
+ (data) => {
143
+ if (primerSettings?.headlessUniversalCheckoutCallbacks?.onClientSessionUpdate) {
144
+ const clientSession: PrimerClientSession = data.clientSession;
145
+ primerSettings.headlessUniversalCheckoutCallbacks.onClientSessionUpdate(clientSession);
146
+ } else {
147
+ // Ignore!
148
+ }
149
+ }
150
+ );
151
+ }
152
+
153
+ if (implementedRNCallbacks.onBeforePaymentCreate) {
154
+ RNPrimerHeadlessUniversalCheckout.addListener(
155
+ 'onBeforePaymentCreate',
156
+ (data) => {
157
+ if (primerSettings?.headlessUniversalCheckoutCallbacks?.onBeforePaymentCreate) {
158
+ const checkoutPaymentMethodData: PrimerCheckoutPaymentMethodData = data;
159
+ primerSettings.headlessUniversalCheckoutCallbacks.onBeforePaymentCreate(checkoutPaymentMethodData, paymentCreationHandler);
160
+ } else {
161
+ // Ignore!
162
+ }
163
+ }
164
+ );
165
+ }
166
+
167
+ if (implementedRNCallbacks.onTokenizationStart) {
168
+ RNPrimerHeadlessUniversalCheckout.addListener(
169
+ 'onTokenizationStart',
170
+ (data) => {
171
+ if (primerSettings?.headlessUniversalCheckoutCallbacks?.onTokenizationStart) {
172
+ primerSettings.headlessUniversalCheckoutCallbacks.onTokenizationStart(data.paymentMethodType);
173
+ } else {
174
+ // Ignore!
175
+ }
176
+ }
177
+ );
178
+ }
179
+
180
+ if (implementedRNCallbacks.onPaymentMethodShow) {
181
+ RNPrimerHeadlessUniversalCheckout.addListener(
182
+ 'onPaymentMethodShow',
183
+ (data) => {
184
+ if (primerSettings?.headlessUniversalCheckoutCallbacks?.onPaymentMethodShow) {
185
+ primerSettings.headlessUniversalCheckoutCallbacks.onPaymentMethodShow(data.paymentMethodType);
186
+ } else {
187
+ // Ignore!
188
+ }
189
+ }
190
+ );
191
+ }
192
+
193
+ if (implementedRNCallbacks.onTokenizationSuccess) {
194
+ RNPrimerHeadlessUniversalCheckout.addListener(
195
+ 'onTokenizationSuccess',
196
+ (data) => {
197
+ if (primerSettings?.headlessUniversalCheckoutCallbacks?.onTokenizationSuccess) {
198
+ const paymentMethodTokenData: PrimerPaymentMethodTokenData = data.paymentMethodTokenData;
199
+ primerSettings.headlessUniversalCheckoutCallbacks.onTokenizationSuccess(paymentMethodTokenData, tokenizationHandler);
200
+ } else {
201
+ // Ignore!
202
+ }
203
+ }
204
+ );
205
+ }
206
+
207
+ if (implementedRNCallbacks.onCheckoutResume) {
208
+ RNPrimerHeadlessUniversalCheckout.addListener(
209
+ 'onCheckoutResume',
210
+ (data) => {
211
+ if (primerSettings?.headlessUniversalCheckoutCallbacks?.onCheckoutResume) {
212
+ primerSettings.headlessUniversalCheckoutCallbacks.onCheckoutResume(data.resumeToken, resumeHandler);
213
+ } else {
214
+ // Ignore!
215
+ }
216
+ }
217
+ );
218
+ }
219
+
220
+ if (implementedRNCallbacks.onCheckoutPending) {
221
+ RNPrimerHeadlessUniversalCheckout.addListener(
222
+ 'onCheckoutPending',
223
+ (data) => {
224
+ if (primerSettings?.headlessUniversalCheckoutCallbacks?.onCheckoutPending) {
225
+ const checkoutAdditionalInfo: PrimerCheckoutAdditionalInfo = data;
226
+ primerSettings.headlessUniversalCheckoutCallbacks.onCheckoutPending(checkoutAdditionalInfo);
227
+ } else {
228
+ // Ignore!
229
+ }
230
+ }
231
+ );
232
+ }
233
+
234
+ if (implementedRNCallbacks.onCheckoutAdditionalInfo) {
235
+ RNPrimerHeadlessUniversalCheckout.addListener(
236
+ 'onCheckoutAdditionalInfo',
237
+ (data) => {
238
+ if (primerSettings?.headlessUniversalCheckoutCallbacks?.onCheckoutAdditionalInfo) {
239
+ const checkoutAdditionalInfo: PrimerCheckoutAdditionalInfo = data;
240
+ primerSettings.headlessUniversalCheckoutCallbacks.onCheckoutAdditionalInfo(checkoutAdditionalInfo);
241
+ } else {
242
+ // Ignore!
243
+ }
244
+ }
245
+ );
246
+ }
247
+
248
+ if (implementedRNCallbacks.onCheckoutComplete) {
249
+ RNPrimerHeadlessUniversalCheckout.addListener(
250
+ 'onCheckoutComplete',
251
+ (data) => {
252
+ if (primerSettings?.headlessUniversalCheckoutCallbacks?.onCheckoutComplete) {
253
+ const checkoutData: PrimerCheckoutData = data;
254
+ primerSettings.headlessUniversalCheckoutCallbacks.onCheckoutComplete(checkoutData);
255
+ } else {
256
+ // Ignore!
257
+ }
258
+ }
259
+ );
260
+ }
261
+
262
+ if (implementedRNCallbacks.onError) {
263
+ RNPrimerHeadlessUniversalCheckout.addListener(
264
+ 'onError',
265
+ (data) => {
266
+ if (primerSettings?.headlessUniversalCheckoutCallbacks?.onError) {
267
+ if (data && data.error && data.error.errorId && primerSettings) {
268
+ const errorId: string = data.error.errorId;
269
+ const description: string | undefined = data.error.description;
270
+ const recoverySuggestion: string | undefined = data.error.recoverySuggestion;
271
+ const diagnosticsId: string | undefined = data.error.diagnosticsId;
272
+ const primerError = new PrimerError(errorId, description || 'Unknown error', recoverySuggestion, diagnosticsId);
273
+
274
+ const checkoutData: PrimerCheckoutData = data.checkoutData;
275
+ primerSettings.headlessUniversalCheckoutCallbacks.onError(primerError, checkoutData);
276
+ }
277
+ } else {
278
+ // Ignore!
279
+ }
280
+ }
281
+ );
282
+ }
283
+
284
+ resolve();
285
+
286
+ } catch (err) {
287
+ reject(err);
288
+ }
289
+ });
290
+ }
291
+
292
+ class PrimerHeadlessUniversalCheckoutClass {
293
+
294
+ ///////////////////////////////////////////
295
+ // Init
296
+ ///////////////////////////////////////////
297
+ constructor() {
298
+
299
+ }
300
+
301
+ ///////////////////////////////////////////
302
+ // API
303
+ ///////////////////////////////////////////
304
+ startWithClientToken(
305
+ clientToken: string,
306
+ settings: PrimerSettings
307
+ ): Promise<IPrimerHeadlessUniversalCheckoutPaymentMethod[]> {
308
+ primerSettings = settings;
309
+
310
+ return new Promise(async (resolve, reject) => {
311
+ try {
312
+ await configureListeners();
313
+ const res = await RNPrimerHeadlessUniversalCheckout.startWithClientToken(clientToken, settings);
314
+
315
+ if (res["availablePaymentMethods"]) {
316
+ const availablePaymentMethods: IPrimerHeadlessUniversalCheckoutPaymentMethod[] = res["availablePaymentMethods"];
317
+ resolve(availablePaymentMethods);
318
+ } else {
319
+ const err = new PrimerError("primer-rn-sdk", "Failed to find availablePaymentMethods", "Create another client session", undefined);
320
+ reject(err);
321
+ }
322
+ } catch (err) {
323
+ reject(err);
324
+ }
325
+ });
326
+ }
327
+
328
+ cleanUp(): Promise<void> {
329
+ return RNPrimerHeadlessUniversalCheckout.cleanUp();
330
+ }
331
+ }
332
+
333
+ export const PrimerHeadlessUniversalCheckout = new PrimerHeadlessUniversalCheckoutClass();
@@ -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
- | 'onHUCTokenizeStart'
9
- | 'onHUCPrepareStart'
10
- | 'onHUCAvailablePaymentMethodsLoaded'
11
- | 'onHUCPaymentMethodShow'
12
- | 'onTokenizeSuccess'
13
- | 'onResumeSuccess'
14
- | 'onResumePending'
15
- | 'onCheckoutReceivedAdditionalInfo'
16
- | 'onBeforePaymentCreate'
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
- | 'onCheckoutComplete'
20
- | 'onError';
22
+ | 'onBeforePaymentCreate'
23
+ | 'onPreparationStart'
24
+
25
+ | 'onPaymentMethodShow';
21
26
 
22
27
  const eventTypes: EventType[] = [
23
- 'onHUCTokenizeStart',
24
- 'onHUCPrepareStart',
25
- 'onHUCAvailablePaymentMethodsLoaded',
26
- 'onHUCPaymentMethodShow',
27
- 'onTokenizeSuccess',
28
- 'onResumeSuccess',
29
- 'onResumePending',
30
- 'onCheckoutReceivedAdditionalInfo',
31
- 'onBeforePaymentCreate',
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
- 'onCheckoutComplete',
35
- 'onError'
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: any): Promise<any> {
106
- return new Promise((resolve, reject) => {
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
- handleResumeSuccess: (): Promise<void> => {
105
+ handleCompleteFlow: (): Promise<void> => {
185
106
  return new Promise(async (resolve, reject) => {
186
107
  try {
187
- await PrimerHeadlessUniversalCheckout.handleResumeSuccess();
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.disposePrimerHeadlessUniversalCheckout();
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
+ // }