@primer-io/react-native 2.16.0 → 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
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,80 +109,88 @@ async function configureListeners(): Promise<void> {
108
109
  try {
109
110
  RNPrimer.removeAllListeners();
110
111
 
111
- let implementedRNCallbacks: any = {
112
- onCheckoutComplete: (primerSettings?.onCheckoutComplete !== undefined),
113
- onBeforePaymentCreate: (primerSettings?.onBeforePaymentCreate !== undefined),
114
- onBeforeClientSessionUpdate: (primerSettings?.onBeforeClientSessionUpdate !== undefined),
115
- onClientSessionUpdate: (primerSettings?.onClientSessionUpdate !== undefined),
116
- onTokenizeSuccess: (primerSettings?.onTokenizeSuccess !== undefined),
117
- onResumeSuccess: (primerSettings?.onResumeSuccess !== undefined),
118
- onResumePending: (primerSettings?.onResumePending !== undefined),
119
- onCheckoutReceivedAdditionalInfo: (primerSettings?.onCheckoutReceivedAdditionalInfo !== undefined),
120
- onDismiss: (primerSettings?.onDismiss !== undefined),
121
- onError: (primerSettings?.onError !== undefined),
112
+ let implementedRNCallbacks: PrimerImplementedRNCallbacks = {
113
+ onAvailablePaymentMethodsLoad: false,
114
+ onTokenizationStart: false,
115
+ onTokenizationSuccess: (primerSettings?.primerCallbacks?.onTokenizeSuccess !== undefined) || false,
116
+
117
+ onCheckoutResume: (primerSettings?.primerCallbacks?.onResumeSuccess !== undefined) || false,
118
+ onCheckoutPending: (primerSettings?.primerCallbacks?.onResumePending !== undefined) || false,
119
+ onCheckoutAdditionalInfo: (primerSettings?.primerCallbacks?.onCheckoutReceivedAdditionalInfo !== undefined) || false,
120
+
121
+ onError: (primerSettings?.primerCallbacks?.onError !== undefined) || false,
122
+ onCheckoutComplete: (primerSettings?.primerCallbacks?.onCheckoutComplete !== undefined) || false,
123
+ onBeforeClientSessionUpdate: (primerSettings?.primerCallbacks?.onBeforeClientSessionUpdate !== undefined) || false,
124
+
125
+ onClientSessionUpdate: (primerSettings?.primerCallbacks?.onClientSessionUpdate !== undefined) || false,
126
+ onBeforePaymentCreate: (primerSettings?.primerCallbacks?.onBeforePaymentCreate !== undefined) || false,
127
+ onPreparationStart: false,
128
+
129
+ onPaymentMethodShow: false,
130
+ onDismiss: (primerSettings?.primerCallbacks?.onDismiss !== undefined) || false
122
131
  };
123
132
 
124
133
  await RNPrimer.setImplementedRNCallbacks(implementedRNCallbacks);
125
134
 
126
135
  if (implementedRNCallbacks.onCheckoutComplete) {
127
136
  RNPrimer.addListener('onCheckoutComplete', data => {
128
- if (primerSettings && primerSettings.onCheckoutComplete) {
137
+ if (primerSettings && primerSettings.primerCallbacks?.onCheckoutComplete) {
129
138
  const checkoutData: PrimerCheckoutData = data;
130
- primerSettings.onCheckoutComplete(checkoutData);
139
+ primerSettings.primerCallbacks.onCheckoutComplete(checkoutData);
131
140
  }
132
141
  });
133
142
  }
134
143
 
135
144
  if (implementedRNCallbacks.onBeforePaymentCreate) {
136
145
  RNPrimer.addListener('onBeforePaymentCreate', data => {
137
- if (primerSettings && primerSettings.onBeforePaymentCreate) {
146
+ if (primerSettings && primerSettings.primerCallbacks?.onBeforePaymentCreate) {
138
147
  const checkoutPaymentMethodData: PrimerCheckoutPaymentMethodData = data;
139
- primerSettings.onBeforePaymentCreate(checkoutPaymentMethodData, paymentCreationHandler);
148
+ primerSettings.primerCallbacks.onBeforePaymentCreate(checkoutPaymentMethodData, paymentCreationHandler);
140
149
  }
141
150
  });
142
151
  }
143
152
 
144
153
  if (implementedRNCallbacks.onBeforeClientSessionUpdate) {
145
154
  RNPrimer.addListener('onBeforeClientSessionUpdate', _ => {
146
- if (primerSettings && primerSettings.onBeforeClientSessionUpdate) {
147
- primerSettings.onBeforeClientSessionUpdate();
155
+ if (primerSettings && primerSettings.primerCallbacks?.onBeforeClientSessionUpdate) {
156
+ primerSettings.primerCallbacks.onBeforeClientSessionUpdate();
148
157
  }
149
158
  });
150
159
  }
151
160
 
152
161
  if (implementedRNCallbacks.onClientSessionUpdate) {
153
162
  RNPrimer.addListener('onClientSessionUpdate', data => {
154
- if (primerSettings && primerSettings.onClientSessionUpdate) {
163
+ if (primerSettings && primerSettings.primerCallbacks?.onClientSessionUpdate) {
155
164
  const clientSession: PrimerClientSession = data;
156
- primerSettings.onClientSessionUpdate(clientSession);
165
+ primerSettings.primerCallbacks.onClientSessionUpdate(clientSession);
157
166
  }
158
167
  });
159
168
  }
160
169
 
161
- if (implementedRNCallbacks.onTokenizeSuccess) {
170
+ if (implementedRNCallbacks.onTokenizationSuccess) {
162
171
  RNPrimer.addListener('onTokenizeSuccess', data => {
163
- if (primerSettings && primerSettings.onTokenizeSuccess) {
172
+ if (primerSettings && primerSettings.primerCallbacks?.onTokenizeSuccess) {
164
173
  const paymentMethodTokenData: PrimerPaymentMethodTokenData = data;
165
- primerSettings.onTokenizeSuccess(paymentMethodTokenData, tokenizationHandler);
174
+ primerSettings.primerCallbacks.onTokenizeSuccess(paymentMethodTokenData, tokenizationHandler);
166
175
  }
167
176
  });
168
177
  }
169
178
 
170
- if (implementedRNCallbacks.onResumeSuccess) {
179
+ if (implementedRNCallbacks.onCheckoutResume) {
171
180
  RNPrimer.addListener('onResumeSuccess', data => {
172
- if (primerSettings && primerSettings.onResumeSuccess && data.resumeToken) {
173
- primerSettings.onResumeSuccess(data.resumeToken, resumeHandler);
181
+ if (primerSettings && primerSettings.primerCallbacks?.onResumeSuccess && data.resumeToken) {
182
+ primerSettings.primerCallbacks.onResumeSuccess(data.resumeToken, resumeHandler);
174
183
  }
175
184
  });
176
185
  }
177
186
 
178
- if (implementedRNCallbacks.onResumePending) {
187
+ if (implementedRNCallbacks.onCheckoutPending) {
179
188
  RNPrimer.addListener(
180
189
  'onResumePending',
181
190
  (additionalInfo) => {
182
- if (primerSettings && primerSettings.onResumePending) {
191
+ if (primerSettings && primerSettings.primerCallbacks?.onResumePending) {
183
192
  const checkoutAdditionalInfo: PrimerCheckoutAdditionalInfo = additionalInfo;
184
- primerSettings.onResumePending(checkoutAdditionalInfo);
193
+ primerSettings.primerCallbacks.onResumePending(checkoutAdditionalInfo);
185
194
  } else {
186
195
  // Ignore!
187
196
  }
@@ -189,13 +198,13 @@ async function configureListeners(): Promise<void> {
189
198
  );
190
199
  }
191
200
 
192
- if (implementedRNCallbacks.onCheckoutReceivedAdditionalInfo) {
201
+ if (implementedRNCallbacks.onCheckoutAdditionalInfo) {
193
202
  RNPrimer.addListener(
194
203
  'onCheckoutReceivedAdditionalInfo',
195
204
  (additionalInfo) => {
196
- if (primerSettings && primerSettings.onCheckoutReceivedAdditionalInfo) {
205
+ if (primerSettings && primerSettings.primerCallbacks?.onCheckoutReceivedAdditionalInfo) {
197
206
  const checkoutAdditionalInfo: PrimerCheckoutAdditionalInfo = additionalInfo;
198
- primerSettings.onCheckoutReceivedAdditionalInfo(checkoutAdditionalInfo);
207
+ primerSettings.primerCallbacks.onCheckoutReceivedAdditionalInfo(checkoutAdditionalInfo);
199
208
  } else {
200
209
  // Ignore!
201
210
  }
@@ -205,25 +214,21 @@ async function configureListeners(): Promise<void> {
205
214
 
206
215
  if (implementedRNCallbacks.onDismiss) {
207
216
  RNPrimer.addListener('onDismiss', _ => {
208
- if (primerSettings && primerSettings.onDismiss) {
209
- primerSettings.onDismiss();
217
+ if (primerSettings && primerSettings.primerCallbacks?.onDismiss) {
218
+ primerSettings.primerCallbacks.onDismiss();
210
219
  }
211
220
  });
212
221
  }
213
222
 
214
223
  if (implementedRNCallbacks.onError) {
215
224
  RNPrimer.addListener('onError', data => {
216
- if (data && data.error && data.error.errorId && primerSettings && primerSettings.onError) {
225
+ if (data && data.error && data.error.errorId && primerSettings && primerSettings.primerCallbacks?.onError) {
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 primerError = new PrimerError(errorId, description || 'Unknown error', recoverySuggestion);
221
-
222
- if (data.checkoutData) {
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.primerCallbacks.onError(primerError, data.checkoutData || null, errorHandler);
227
232
  }
228
233
  });
229
234
  }
@@ -278,23 +283,7 @@ 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
- return new Promise(async (resolve, reject) => {
287
- try {
288
- await configureListeners();
289
- await RNPrimer.showPaymentMethod(paymentMethodType, intent, clientToken);
290
- resolve();
291
- } catch (err) {
292
- reject(err);
293
- }
294
- });
295
- },
296
-
297
- dispose(): void {
286
+ cleanUp(): void {
298
287
  RNPrimer.removeAllListeners();
299
288
  RNPrimer.dismiss();
300
289
  },
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,21 +94,6 @@ const RNPrimer = {
95
94
  });
96
95
  },
97
96
 
98
- showPaymentMethod: (
99
- paymentMethodType: string,
100
- intent: PrimerSessionIntent,
101
- clientToken: string
102
- ): Promise<void> => {
103
- return new Promise(async (resolve, reject) => {
104
- try {
105
- await NativePrimer.showPaymentMethod(paymentMethodType, intent, clientToken);
106
- resolve();
107
- } catch (err) {
108
- reject(err);
109
- }
110
- });
111
- },
112
-
113
97
  dismiss: (): Promise<void> => {
114
98
  return new Promise(async (resolve, reject) => {
115
99
  try {
@@ -121,10 +105,10 @@ const RNPrimer = {
121
105
  });
122
106
  },
123
107
 
124
- dispose: (): Promise<void> => {
108
+ cleanUp: (): Promise<void> => {
125
109
  return new Promise(async (resolve, reject) => {
126
110
  try {
127
- await NativePrimer.dispose();
111
+ await NativePrimer.cleanUp();
128
112
  resolve();
129
113
  } catch (err) {
130
114
  reject(err);
package/src/index.tsx CHANGED
@@ -5,54 +5,68 @@ export {
5
5
  PrimerSettings
6
6
  } from './models/PrimerSettings';
7
7
  export {
8
- PrimerSessionIntent
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/PrimerInterfaces';
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
- PrimerRawCardData,
27
- PrimerRawPhoneNumberData,
28
- PrimerRawCardRedirectData,
29
- PrimerBancontactCardRedirectData,
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 './headless_checkout/PrimerHeadlessUniversalCheckout';
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 HeadlessUniversalCheckoutRawDataManager
58
- } from './headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager';
71
+ PrimerHeadlessUniversalCheckoutRawDataManager as RawDataManager
72
+ }
@@ -0,0 +1,13 @@
1
+ export interface IPrimerAsset {
2
+ paymentMethodType: string;
3
+ paymentMethodLogo: {
4
+ colored?: string;
5
+ dark?: string;
6
+ light?: string;
7
+ }
8
+ paymentMethodBackgroundColor: {
9
+ colored?: string;
10
+ dark?: string;
11
+ light?: string;
12
+ }
13
+ }
@@ -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,5 @@
1
+ export interface IPrimerHeadlessUniversalCheckoutPaymentMethod {
2
+ paymentMethodType: string;
3
+ paymentMethodManagerCategories: ("NATIVE_UI" | "RAW_DATA" | "CARD_COMPONENTS")[];
4
+ supportedPrimerSessionIntents: ("CHECKOUT" | "VAULT")[];
5
+ }
@@ -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,9 @@
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>
13
7
  dismiss(): void;
14
- dispose(): void;
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;
8
+ cleanUp(): void;
36
9
  }
@@ -0,0 +1,5 @@
1
+ export enum PrimerPaymentMethodManagerCategory {
2
+ CARD_COMPONENTS = "CARD_COMPONENTS",
3
+ NATIVE_UI = 'NATIVE_UI',
4
+ RAW_DATA = 'RAW_DATA'
5
+ }
@@ -1,26 +1,22 @@
1
1
  export interface PrimerRawData {}
2
2
 
3
- export interface PrimerRawCardData extends PrimerRawData {
3
+ export interface PrimerCardData extends PrimerRawData {
4
4
  cardNumber: string;
5
- expiryMonth: string;
6
- expiryYear: string;
5
+ expiryDate: string;
7
6
  cvv: string;
8
7
  cardholderName?: string;
9
8
  }
10
9
 
11
- export interface PrimerRawPhoneNumberData extends PrimerRawData {
10
+ export interface PrimerPhoneNumberData extends PrimerRawData {
12
11
  phoneNumber: string;
13
12
  }
14
13
 
15
- export interface PrimerRawCardRedirectData extends PrimerRawData {}
16
-
17
- export interface PrimerBancontactCardRedirectData extends PrimerRawCardRedirectData {
14
+ export interface PrimerBancontactCardData extends PrimerRawData {
18
15
  cardNumber: string;
19
- expiryMonth: string;
20
- expiryYear: string;
16
+ expiryDate: string;
21
17
  cardholderName: string;
22
18
  }
23
19
 
24
- export interface PrimerRawRetailerData extends PrimerRawData {
20
+ export interface PrimerRetailerData extends PrimerRawData {
25
21
  id: string;
26
22
  }
@@ -1,9 +1,4 @@
1
- import type {
2
- PrimerErrorHandler,
3
- PrimerPaymentCreationHandler,
4
- PrimerResumeHandler,
5
- PrimerTokenizationHandler
6
- } from "./PrimerInterfaces";
1
+
7
2
  import type { PrimerCheckoutData } from "./PrimerCheckoutData";
8
3
  import type { PrimerCheckoutAdditionalInfo } from "./PrimerCheckoutAdditionalInfo";
9
4
  import type { PrimerCheckoutPaymentMethodData } from "./PrimerCheckoutPaymentMethodData";
@@ -11,6 +6,13 @@ import type { PrimerClientSession } from "./PrimerClientSession";
11
6
  import type { PrimerPaymentMethodTokenData } from "./PrimerPaymentMethodTokenData";
12
7
  import type { PrimerError } from "./PrimerError";
13
8
  import type { IPrimerTheme } from "./PrimerTheme";
9
+ import type {
10
+ PrimerPaymentCreationHandler,
11
+ PrimerTokenizationHandler,
12
+ PrimerResumeHandler,
13
+ PrimerErrorHandler,
14
+ PrimerHeadlessUniversalCheckoutResumeHandler
15
+ } from "./PrimerHandlers";
14
16
 
15
17
  export type PrimerSettings = IPrimerSettings;
16
18
 
@@ -21,26 +23,38 @@ interface IPrimerSettings {
21
23
  uiOptions?: IPrimerUIOptions;
22
24
  debugOptions?: IPrimerDebugOptions;
23
25
 
24
- // Common
25
- onBeforeClientSessionUpdate?: () => void;
26
- onClientSessionUpdate?: (clientSession: PrimerClientSession) => void;
27
- onBeforePaymentCreate?: (checkoutPaymentMethodData: PrimerCheckoutPaymentMethodData, handler: PrimerPaymentCreationHandler) => void;
28
- onCheckoutComplete?: (checkoutData: PrimerCheckoutData) => void;
29
- onTokenizeSuccess?: (paymentMethodTokenData: PrimerPaymentMethodTokenData, handler: PrimerTokenizationHandler) => void;
30
- onResumeSuccess?: (resumeToken: string, handler: PrimerResumeHandler) => void;
31
- onResumePending?: (additionalInfo: PrimerCheckoutAdditionalInfo) => void;
32
- onCheckoutReceivedAdditionalInfo?: (additionalInfo: PrimerCheckoutAdditionalInfo) => void;
33
- // PrimerErrorHandler will be undefined on the HUC flow.
34
- onError?: (error: PrimerError, checkoutData: PrimerCheckoutData | null, handler: PrimerErrorHandler | undefined) => void;
35
-
36
- // Only on main SDK
37
- onDismiss?: () => void;
38
-
39
- // Only on HUC
40
- onPrepareStart?: (paymentMethod: string) => void;
41
- onTokenizeStart?: (paymentMethod: string) => void;
42
- onPaymentMethodShow?: (paymentMethod: string) => void;
43
- onAvailablePaymentMethodsLoad?: (paymentMethods: string[]) => void;
26
+ primerCallbacks?: {
27
+ onBeforeClientSessionUpdate?: () => void;
28
+ onClientSessionUpdate?: (clientSession: PrimerClientSession) => void;
29
+ onBeforePaymentCreate?: (checkoutPaymentMethodData: PrimerCheckoutPaymentMethodData, handler: PrimerPaymentCreationHandler) => void;
30
+ onCheckoutComplete?: (checkoutData: PrimerCheckoutData) => void;
31
+ onTokenizeSuccess?: (paymentMethodTokenData: PrimerPaymentMethodTokenData, handler: PrimerTokenizationHandler) => void;
32
+ onResumeSuccess?: (resumeToken: string, handler: PrimerResumeHandler) => void;
33
+ onResumePending?: (additionalInfo: PrimerCheckoutAdditionalInfo) => void;
34
+ onCheckoutReceivedAdditionalInfo?: (additionalInfo: PrimerCheckoutAdditionalInfo) => void;
35
+ onError?: (error: PrimerError, checkoutData: PrimerCheckoutData | null, handler: PrimerErrorHandler | undefined) => void;
36
+ onDismiss?: () => void;
37
+ };
38
+
39
+ headlessUniversalCheckoutCallbacks?: {
40
+ onAvailablePaymentMethodsLoad?: (availablePaymentMethods: any[]) => void;
41
+ onTokenizationStart?: (paymentMethodType: string) => void;
42
+ onTokenizationSuccess?: (paymentMethodTokenData: PrimerPaymentMethodTokenData, handler: PrimerHeadlessUniversalCheckoutResumeHandler) => void;
43
+
44
+ onCheckoutResume?: (resumeToken: string, handler: PrimerHeadlessUniversalCheckoutResumeHandler) => void;
45
+ onCheckoutPending?: (additionalInfo: PrimerCheckoutAdditionalInfo) => void;
46
+ onCheckoutAdditionalInfo?: (additionalInfo: PrimerCheckoutAdditionalInfo) => void;
47
+
48
+ onError?: (error: PrimerError, checkoutData: PrimerCheckoutData | null) => void;
49
+ onCheckoutComplete?: (checkoutData: PrimerCheckoutData) => void;
50
+ onBeforeClientSessionUpdate?: () => void;
51
+
52
+ onClientSessionUpdate?: (clientSession: PrimerClientSession) => void;
53
+ onBeforePaymentCreate?: (checkoutPaymentMethodData: PrimerCheckoutPaymentMethodData, handler: PrimerPaymentCreationHandler) => void;
54
+ onPreparationStart?: (paymentMethodType: string) => void;
55
+
56
+ onPaymentMethodShow?: (paymentMethodType: string) => void;
57
+ }
44
58
  }
45
59
 
46
60
  //----------------------------------------
@@ -1,20 +0,0 @@
1
- package com.primerioreactnative.huc.datamodels.manager.raw.cardRedirect
2
-
3
- import io.primer.android.components.domain.core.models.bancontact.PrimerRawBancontactCardData
4
- import kotlinx.serialization.Serializable
5
-
6
- @Serializable
7
- internal data class PrimerRNRawBancontactCardData(
8
- val cardNumber: String,
9
- val expiryMonth: String,
10
- val expiryYear: String,
11
- val cardholderName: String
12
- ) {
13
- fun toPrimerRawBancontactCardData() =
14
- PrimerRawBancontactCardData(
15
- cardNumber,
16
- expiryMonth,
17
- expiryYear,
18
- cardholderName
19
- )
20
- }
@@ -1,14 +0,0 @@
1
- package com.primerioreactnative.huc.datamodels.manager.raw.phoneNumber
2
-
3
- import io.primer.android.components.domain.core.models.phoneNumber.PrimerRawPhoneNumberData
4
- import kotlinx.serialization.Serializable
5
-
6
- @Serializable
7
- internal data class PrimerRNRawPhoneNumberData(
8
- val phoneNumber: String? = null,
9
- ) {
10
- fun toPrimerRawPhoneNumberData() =
11
- PrimerRawPhoneNumberData(
12
- phoneNumber.orEmpty()
13
- )
14
- }
@@ -1,12 +0,0 @@
1
- package com.primerioreactnative.huc.datamodels.manager.raw.retailOutlets
2
-
3
- import io.primer.android.components.domain.core.models.retailOutlet.PrimerRawRetailerData
4
- import kotlinx.serialization.Serializable
5
-
6
- @Serializable
7
- internal data class PrimerRNRawRetailOutletData(
8
- val id: String
9
- ) {
10
-
11
- fun toPrimerRawRetailOutletData() = PrimerRawRetailerData(id)
12
- }