@primer-io/react-native 2.16.7 → 2.17.0-rc.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +15 -2
  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 +106 -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 +13 -9
  30. package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodOptionsRN.kt +3 -3
  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 +94 -0
  42. package/ios/Sources/DataModels/RNTNativeError.swift +22 -0
  43. package/ios/Sources/DataModels/RNTPrimerPaymentMethodAsset.swift +67 -0
  44. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTNativeUIManager.m +19 -0
  45. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTNativeUIManager.swift +63 -0
  46. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTRawDataManager.m +23 -0
  47. package/ios/{Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutRawDataManager.swift → Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTRawDataManager.swift } +36 -31
  48. package/ios/Sources/Headless Universal Checkout/Managers/RNTAssetsManager.m +24 -0
  49. package/ios/Sources/Headless Universal Checkout/Managers/RNTAssetsManager.swift +107 -0
  50. package/ios/Sources/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.m +41 -0
  51. package/ios/Sources/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +498 -0
  52. package/ios/Sources/Helpers/Encodable+Extension.swift +17 -0
  53. package/ios/Sources/Helpers/Error+Extensions.swift +39 -0
  54. package/ios/Sources/Helpers/UIColor+Extensions.swift +32 -0
  55. package/ios/Sources/Helpers/UIImage+Extensions.swift +32 -0
  56. package/ios/Sources/RNTPrimer.m +86 -0
  57. package/ios/{RNTPrimer.swift → Sources/RNTPrimer.swift} +37 -28
  58. package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js +59 -0
  59. package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -0
  60. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js +35 -0
  61. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -0
  62. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +151 -0
  63. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -0
  64. package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +270 -0
  65. package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -0
  66. package/lib/commonjs/{headless_checkout → HeadlessUniversalCheckout}/RNPrimerHeadlessUniversalCheckout.js +7 -81
  67. package/lib/commonjs/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -0
  68. package/lib/commonjs/HeadlessUniversalCheckout/types.js +34 -0
  69. package/lib/commonjs/HeadlessUniversalCheckout/types.js.map +1 -0
  70. package/lib/commonjs/Primer.js +24 -23
  71. package/lib/commonjs/Primer.js.map +1 -1
  72. package/lib/commonjs/PrimerInput.js.map +1 -1
  73. package/lib/commonjs/RNPrimer.js +4 -4
  74. package/lib/commonjs/RNPrimer.js.map +1 -1
  75. package/lib/commonjs/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js.map +1 -1
  76. package/lib/commonjs/index.js +63 -71
  77. package/lib/commonjs/index.js.map +1 -1
  78. package/lib/commonjs/models/PrimerAsset.js +2 -0
  79. package/lib/commonjs/models/PrimerAsset.js.map +1 -0
  80. package/lib/commonjs/models/PrimerCheckoutAdditionalInfo.js.map +1 -1
  81. package/lib/commonjs/models/PrimerCheckoutData.js.map +1 -1
  82. package/lib/commonjs/models/PrimerCheckoutPaymentMethodData.js.map +1 -1
  83. package/lib/commonjs/models/PrimerClientSession.js.map +1 -1
  84. package/lib/commonjs/models/PrimerCountryCode.js.map +1 -1
  85. package/lib/commonjs/models/PrimerCurrencyCode.js.map +1 -1
  86. package/lib/commonjs/models/PrimerError.js +4 -4
  87. package/lib/commonjs/models/PrimerError.js.map +1 -1
  88. package/lib/commonjs/models/PrimerHandlers.js +2 -0
  89. package/lib/commonjs/models/PrimerHandlers.js.map +1 -0
  90. package/lib/commonjs/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js +2 -0
  91. package/lib/commonjs/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js.map +1 -0
  92. package/lib/commonjs/models/PrimerImplementedRNCallbacks.js +2 -0
  93. package/lib/commonjs/models/PrimerImplementedRNCallbacks.js.map +1 -0
  94. package/lib/commonjs/models/PrimerInitializationData.js.map +1 -1
  95. package/lib/commonjs/models/PrimerInputElementType.js +20 -0
  96. package/lib/commonjs/models/PrimerInputElementType.js.map +1 -0
  97. package/lib/commonjs/models/PrimerInterfaces.js.map +1 -1
  98. package/lib/commonjs/models/PrimerPaymentMethodManagerCategory.js +14 -0
  99. package/lib/commonjs/models/PrimerPaymentMethodManagerCategory.js.map +1 -0
  100. package/lib/commonjs/models/PrimerPaymentMethodTokenData.js.map +1 -1
  101. package/lib/commonjs/models/PrimerRawData.js.map +1 -1
  102. package/lib/commonjs/models/PrimerSessionIntent.js.map +1 -1
  103. package/lib/commonjs/models/PrimerSettings.js.map +1 -1
  104. package/lib/commonjs/models/PrimerTheme.js.map +1 -1
  105. package/lib/commonjs/models/RetailOutletsRetail.js.map +1 -1
  106. package/lib/commonjs/utils/index.js.map +1 -1
  107. package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js +52 -0
  108. package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -0
  109. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js +28 -0
  110. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -0
  111. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +144 -0
  112. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -0
  113. package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +261 -0
  114. package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -0
  115. package/lib/module/{headless_checkout → HeadlessUniversalCheckout}/RNPrimerHeadlessUniversalCheckout.js +7 -81
  116. package/lib/module/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -0
  117. package/lib/module/HeadlessUniversalCheckout/types.js +33 -0
  118. package/lib/module/HeadlessUniversalCheckout/types.js.map +1 -0
  119. package/lib/module/Primer.js +24 -23
  120. package/lib/module/Primer.js.map +1 -1
  121. package/lib/module/PrimerInput.js.map +1 -1
  122. package/lib/module/RNPrimer.js +4 -4
  123. package/lib/module/RNPrimer.js.map +1 -1
  124. package/lib/module/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js.map +1 -1
  125. package/lib/module/index.js +15 -9
  126. package/lib/module/index.js.map +1 -1
  127. package/lib/module/models/PrimerAsset.js +2 -0
  128. package/lib/module/models/PrimerAsset.js.map +1 -0
  129. package/lib/module/models/PrimerCheckoutAdditionalInfo.js.map +1 -1
  130. package/lib/module/models/PrimerCheckoutData.js.map +1 -1
  131. package/lib/module/models/PrimerCheckoutPaymentMethodData.js.map +1 -1
  132. package/lib/module/models/PrimerClientSession.js.map +1 -1
  133. package/lib/module/models/PrimerCountryCode.js.map +1 -1
  134. package/lib/module/models/PrimerCurrencyCode.js.map +1 -1
  135. package/lib/module/models/PrimerError.js +4 -4
  136. package/lib/module/models/PrimerError.js.map +1 -1
  137. package/lib/module/models/PrimerHandlers.js +2 -0
  138. package/lib/module/models/PrimerHandlers.js.map +1 -0
  139. package/lib/module/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js +2 -0
  140. package/lib/module/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js.map +1 -0
  141. package/lib/module/models/PrimerImplementedRNCallbacks.js +2 -0
  142. package/lib/module/models/PrimerImplementedRNCallbacks.js.map +1 -0
  143. package/lib/module/models/PrimerInitializationData.js.map +1 -1
  144. package/lib/module/models/PrimerInputElementType.js +13 -0
  145. package/lib/module/models/PrimerInputElementType.js.map +1 -0
  146. package/lib/module/models/PrimerInterfaces.js.map +1 -1
  147. package/lib/module/models/PrimerPaymentMethodManagerCategory.js +7 -0
  148. package/lib/module/models/PrimerPaymentMethodManagerCategory.js.map +1 -0
  149. package/lib/module/models/PrimerPaymentMethodTokenData.js.map +1 -1
  150. package/lib/module/models/PrimerRawData.js.map +1 -1
  151. package/lib/module/models/PrimerSessionIntent.js.map +1 -1
  152. package/lib/module/models/PrimerSettings.js.map +1 -1
  153. package/lib/module/models/PrimerTheme.js.map +1 -1
  154. package/lib/module/models/RetailOutletsRetail.js.map +1 -1
  155. package/lib/module/utils/index.js.map +1 -1
  156. package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts +9 -0
  157. package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts.map +1 -0
  158. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.d.ts +8 -0
  159. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.d.ts.map +1 -0
  160. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts +29 -0
  161. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts.map +1 -0
  162. package/lib/typescript/{headless_checkout → HeadlessUniversalCheckout}/PrimerHeadlessUniversalCheckout.d.ts +4 -5
  163. package/lib/typescript/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.d.ts.map +1 -0
  164. package/lib/typescript/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.d.ts +18 -0
  165. package/lib/typescript/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.d.ts.map +1 -0
  166. package/lib/typescript/HeadlessUniversalCheckout/types.d.ts +1 -0
  167. package/lib/typescript/HeadlessUniversalCheckout/types.d.ts.map +1 -0
  168. package/lib/typescript/Primer.d.ts +1 -0
  169. package/lib/typescript/Primer.d.ts.map +1 -0
  170. package/lib/typescript/PrimerInput.d.ts +5 -4
  171. package/lib/typescript/PrimerInput.d.ts.map +1 -0
  172. package/lib/typescript/RNPrimer.d.ts +4 -4
  173. package/lib/typescript/RNPrimer.d.ts.map +1 -0
  174. package/lib/typescript/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.d.ts +1 -0
  175. package/lib/typescript/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.d.ts.map +1 -0
  176. package/lib/typescript/index.d.ts +18 -9
  177. package/lib/typescript/index.d.ts.map +1 -0
  178. package/lib/typescript/models/PrimerAsset.d.ts +15 -0
  179. package/lib/typescript/models/PrimerAsset.d.ts.map +1 -0
  180. package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts +7 -6
  181. package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts.map +1 -0
  182. package/lib/typescript/models/PrimerCheckoutData.d.ts +3 -2
  183. package/lib/typescript/models/PrimerCheckoutData.d.ts.map +1 -0
  184. package/lib/typescript/models/PrimerCheckoutPaymentMethodData.d.ts +2 -1
  185. package/lib/typescript/models/PrimerCheckoutPaymentMethodData.d.ts.map +1 -0
  186. package/lib/typescript/models/PrimerClientSession.d.ts +6 -5
  187. package/lib/typescript/models/PrimerClientSession.d.ts.map +1 -0
  188. package/lib/typescript/models/PrimerCountryCode.d.ts +2 -1
  189. package/lib/typescript/models/PrimerCountryCode.d.ts.map +1 -0
  190. package/lib/typescript/models/PrimerCurrencyCode.d.ts +2 -1
  191. package/lib/typescript/models/PrimerCurrencyCode.d.ts.map +1 -0
  192. package/lib/typescript/models/PrimerError.d.ts +3 -1
  193. package/lib/typescript/models/PrimerError.d.ts.map +1 -0
  194. package/lib/typescript/models/PrimerHandlers.d.ts +22 -0
  195. package/lib/typescript/models/PrimerHandlers.d.ts.map +1 -0
  196. package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts +6 -0
  197. package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts.map +1 -0
  198. package/lib/typescript/models/PrimerImplementedRNCallbacks.d.ts +17 -0
  199. package/lib/typescript/models/PrimerImplementedRNCallbacks.d.ts.map +1 -0
  200. package/lib/typescript/models/PrimerInitializationData.d.ts +3 -2
  201. package/lib/typescript/models/PrimerInitializationData.d.ts.map +1 -0
  202. package/lib/typescript/models/PrimerInputElementType.d.ts +12 -0
  203. package/lib/typescript/models/PrimerInputElementType.d.ts.map +1 -0
  204. package/lib/typescript/models/PrimerInterfaces.d.ts +3 -20
  205. package/lib/typescript/models/PrimerInterfaces.d.ts.map +1 -0
  206. package/lib/typescript/models/PrimerPaymentMethodManagerCategory.d.ts +6 -0
  207. package/lib/typescript/models/PrimerPaymentMethodManagerCategory.d.ts.map +1 -0
  208. package/lib/typescript/models/PrimerPaymentMethodTokenData.d.ts +2 -1
  209. package/lib/typescript/models/PrimerPaymentMethodTokenData.d.ts.map +1 -0
  210. package/lib/typescript/models/PrimerRawData.d.ts +7 -10
  211. package/lib/typescript/models/PrimerRawData.d.ts.map +1 -0
  212. package/lib/typescript/models/PrimerSessionIntent.d.ts +1 -0
  213. package/lib/typescript/models/PrimerSessionIntent.d.ts.map +1 -0
  214. package/lib/typescript/models/PrimerSettings.d.ts +28 -6
  215. package/lib/typescript/models/PrimerSettings.d.ts.map +1 -0
  216. package/lib/typescript/models/PrimerTheme.d.ts +3 -2
  217. package/lib/typescript/models/PrimerTheme.d.ts.map +1 -0
  218. package/lib/typescript/models/RetailOutletsRetail.d.ts +2 -1
  219. package/lib/typescript/models/RetailOutletsRetail.d.ts.map +1 -0
  220. package/lib/typescript/utils/index.d.ts +1 -0
  221. package/lib/typescript/utils/index.d.ts.map +1 -0
  222. package/package.json +8 -7
  223. package/primer-io-react-native.podspec +1 -2
  224. package/src/HeadlessUniversalCheckout/Managers/AssetsManager.ts +56 -0
  225. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.ts +31 -0
  226. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.ts +166 -0
  227. package/src/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.ts +333 -0
  228. package/src/{headless_checkout → HeadlessUniversalCheckout}/RNPrimerHeadlessUniversalCheckout.ts +37 -128
  229. package/src/HeadlessUniversalCheckout/types.ts +32 -0
  230. package/src/Primer.ts +32 -31
  231. package/src/RNPrimer.ts +4 -9
  232. package/src/index.tsx +43 -29
  233. package/src/models/PrimerAsset.ts +14 -0
  234. package/src/models/PrimerError.ts +3 -1
  235. package/src/models/PrimerHandlers.ts +25 -0
  236. package/src/models/PrimerHeadlessUniversalCheckoutPaymentMethod.ts +5 -0
  237. package/src/models/PrimerImplementedRNCallbacks.ts +20 -0
  238. package/src/models/PrimerInputElementType.ts +11 -0
  239. package/src/models/PrimerInterfaces.ts +2 -28
  240. package/src/models/PrimerPaymentMethodManagerCategory.ts +5 -0
  241. package/src/models/PrimerRawData.ts +6 -10
  242. package/src/models/PrimerSettings.ts +42 -16
  243. package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/cardRedirect/PrimerRNPRawCardRedirectData.kt +0 -20
  244. package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/phoneNumber/PrimerRNRawPhoneNumberData.kt +0 -14
  245. package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/retailOutlets/PrimerRNRawRetailOutletData.kt +0 -12
  246. package/android/src/main/java/com/primerioreactnative/huc/events/PrimerHeadlessUniversalCheckoutEvent.kt +0 -15
  247. package/ios/DataModels/ImplementedRNCallbacks.swift +0 -62
  248. package/ios/DataModels/PrimerErrorRN.swift +0 -35
  249. package/ios/DataModels/PrimerSettingsRN.swift +0 -84
  250. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.m +0 -62
  251. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +0 -501
  252. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.m +0 -14
  253. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.swift +0 -117
  254. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutRawDataManager.m +0 -23
  255. package/ios/RNTPrimer.m +0 -59
  256. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js +0 -288
  257. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +0 -1
  258. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js +0 -91
  259. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
  260. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +0 -1
  261. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js +0 -91
  262. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
  263. package/lib/commonjs/headless_checkout/types.js +0 -6
  264. package/lib/commonjs/headless_checkout/types.js.map +0 -1
  265. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js +0 -279
  266. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +0 -1
  267. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js +0 -83
  268. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
  269. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +0 -1
  270. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js +0 -84
  271. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
  272. package/lib/module/headless_checkout/types.js +0 -2
  273. package/lib/module/headless_checkout/types.js.map +0 -1
  274. package/lib/typescript/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.d.ts +0 -18
  275. package/lib/typescript/headless_checkout/RNPrimerHeadlessUniversalCheckout.d.ts +0 -22
  276. package/lib/typescript/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.d.ts +0 -14
  277. package/lib/typescript/headless_checkout/types.d.ts +0 -22
  278. package/src/headless_checkout/PrimerHeadlessUniversalCheckout.ts +0 -358
  279. package/src/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.ts +0 -109
  280. package/src/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.ts +0 -104
  281. package/src/headless_checkout/types.ts +0 -32
  282. /package/ios/{DataModels → Sources/DataModels}/PrimerThemeRN.swift +0 -0
  283. /package/ios/{Headless Universal Checkout → Sources/Headless Universal Checkout/Managers/Payment Method Managers}/RNTPrimerCardNumberInputElementManager.m +0 -0
@@ -1,19 +1,22 @@
1
- package com.primerioreactnative.huc.manager.raw
1
+ package com.primerioreactnative.components.manager.raw
2
2
 
3
3
  import com.facebook.react.bridge.*
4
4
  import com.facebook.react.modules.core.DeviceEventManagerModule
5
5
  import com.primerioreactnative.Keys
6
+ import com.primerioreactnative.components.datamodels.core.PrimerRawPaymentMethodType
7
+ import com.primerioreactnative.components.datamodels.manager.raw.card.PrimerRNCardData
8
+ import com.primerioreactnative.components.datamodels.manager.raw.cardRedirect.PrimerRNBancontactCardData
9
+ import com.primerioreactnative.components.datamodels.manager.raw.phoneNumber.PrimerRNPhoneNumberData
10
+ import com.primerioreactnative.components.datamodels.manager.raw.retailOutlets.PrimerRNRetailOutletData
11
+ import com.primerioreactnative.components.datamodels.manager.raw.retailOutlets.toRNRetailOutletsList
12
+ import com.primerioreactnative.components.events.PrimerHeadlessUniversalCheckoutEvent
6
13
  import com.primerioreactnative.datamodels.ErrorTypeRN
7
14
  import com.primerioreactnative.datamodels.PrimerErrorRN
8
- import com.primerioreactnative.huc.datamodels.manager.raw.card.PrimerRNRawCardData
9
- import com.primerioreactnative.huc.datamodels.manager.raw.cardRedirect.PrimerRNRawBancontactCardData
10
- import com.primerioreactnative.huc.datamodels.manager.raw.phoneNumber.PrimerRNRawPhoneNumberData
11
- import com.primerioreactnative.huc.datamodels.manager.raw.retailOutlets.PrimerRNRawRetailOutletData
12
- import com.primerioreactnative.huc.datamodels.manager.raw.retailOutlets.toRNRetailOutletsList
13
- import com.primerioreactnative.huc.events.PrimerHeadlessUniversalCheckoutEvent
14
15
  import com.primerioreactnative.utils.convertJsonToMap
15
16
  import com.primerioreactnative.utils.errorTo
16
17
  import io.primer.android.ExperimentalPrimerApi
18
+ import io.primer.android.components.SdkUninitializedException
19
+ import io.primer.android.components.domain.exception.UnsupportedPaymentMethodManagerException
17
20
  import io.primer.android.components.manager.raw.PrimerHeadlessUniversalCheckoutRawDataManager
18
21
  import io.primer.android.components.manager.raw.PrimerHeadlessUniversalCheckoutRawDataManagerInterface
19
22
  import io.primer.android.data.payments.configure.retailOutlets.RetailOutletsList
@@ -23,6 +26,7 @@ import kotlinx.serialization.json.Json
23
26
  import org.json.JSONArray
24
27
  import org.json.JSONObject
25
28
 
29
+
26
30
  @ExperimentalPrimerApi
27
31
  internal class PrimerRNHeadlessUniversalCheckoutRawManager(
28
32
  reactContext: ReactApplicationContext,
@@ -37,34 +41,56 @@ internal class PrimerRNHeadlessUniversalCheckoutRawManager(
37
41
  listener.sendEvent = { eventName, paramsJson -> sendEvent(eventName, paramsJson) }
38
42
  }
39
43
 
40
- override fun getName() = "PrimerHeadlessUniversalCheckoutRawDataManager"
44
+ override fun getName() = "RNTPrimerHeadlessUniversalCheckoutRawDataManager"
41
45
 
42
46
  @ReactMethod
43
- fun initialize(paymentMethodTypeStr: String, promise: Promise) {
47
+ fun configure(paymentMethodTypeStr: String, promise: Promise) {
44
48
  try {
45
49
  rawManager = PrimerHeadlessUniversalCheckoutRawDataManager.newInstance(
46
50
  paymentMethodTypeStr
47
51
  )
48
52
  this.paymentMethodTypeStr = paymentMethodTypeStr
49
- rawManager.setManagerListener(listener)
50
- promise.resolve(null)
53
+ rawManager.setListener(listener)
54
+ rawManager.configure { primerInitializationData, error ->
55
+ if (error == null) {
56
+ when (primerInitializationData) {
57
+ is RetailOutletsList -> {
58
+ promise.resolve(
59
+ prepareData(
60
+ JSONObject().apply {
61
+ put(
62
+ "initializationData", JSONObject(
63
+ Json.encodeToString(
64
+ primerInitializationData.toRNRetailOutletsList()
65
+ )
66
+ )
67
+ )
68
+ }
69
+ )
70
+ )
71
+ }
72
+ else -> promise.resolve(null)
73
+ }
74
+ } else promise.reject(error.errorId, error.description)
75
+ }
76
+ } catch (e: SdkUninitializedException) {
77
+ promise.reject(ErrorTypeRN.UnitializedSdkSession.errorId, e.message, e)
78
+ } catch (e: UnsupportedPaymentMethodManagerException) {
79
+ promise.reject(ErrorTypeRN.UnsupportedPaymentMethod.errorId, e.message, e)
51
80
  } catch (e: Exception) {
52
81
  val exception =
53
82
  ErrorTypeRN.NativeBridgeFailed errorTo e.message.orEmpty()
54
- promise.reject(exception.errorId, exception.description)
83
+ promise.reject(exception.errorId, exception.description, e)
55
84
  }
56
85
  }
57
86
 
58
87
  @ReactMethod
59
- fun listRequiredInputElementTypesForPaymentMethodType(
60
- paymentMethodTypeStr: String,
88
+ fun listRequiredInputElementTypes(
61
89
  promise: Promise
62
90
  ) {
63
91
  if (::rawManager.isInitialized.not()) {
64
92
  val exception =
65
- ErrorTypeRN.NativeBridgeFailed errorTo "The PrimerHeadlessUniversalCheckoutRawDataManager" +
66
- " has not been initialized. Make sure you have called the" +
67
- " HeadlessUniversalCheckoutRawDataManager.configure function first."
93
+ ErrorTypeRN.NativeBridgeFailed errorTo UNINITIALIZED_ERROR
68
94
  promise.reject(exception.errorId, exception.description)
69
95
  } else {
70
96
  promise.resolve(
@@ -84,33 +110,31 @@ internal class PrimerRNHeadlessUniversalCheckoutRawManager(
84
110
  fun setRawData(rawDataStr: String, promise: Promise) {
85
111
  if (::rawManager.isInitialized.not()) {
86
112
  val exception =
87
- ErrorTypeRN.NativeBridgeFailed errorTo "The PrimerHeadlessUniversalCheckoutRawDataManager" +
88
- " has not been initialized. Make sure you have called the" +
89
- " HeadlessUniversalCheckoutRawDataManager.configure function first."
113
+ ErrorTypeRN.NativeBridgeFailed errorTo UNINITIALIZED_ERROR
90
114
  promise.reject(exception.errorId, exception.description)
91
115
  } else {
92
116
  try {
93
- val rawData = when (paymentMethodTypeStr) {
94
- "PAYMENT_CARD" -> json.decodeFromString<PrimerRNRawCardData>(
117
+ val rawData = when (PrimerRawPaymentMethodType.valueOf(paymentMethodTypeStr.toString())) {
118
+ PrimerRawPaymentMethodType.PAYMENT_CARD -> json.decodeFromString<PrimerRNCardData>(
95
119
  rawDataStr
96
120
  ).toPrimerCardData()
97
- "XENDIT_OVO" -> json.decodeFromString<PrimerRNRawPhoneNumberData>(
98
- rawDataStr
99
- ).toPrimerRawPhoneNumberData()
100
- "ADYEN_BANCONTACT_CARD" -> json.decodeFromString<PrimerRNRawBancontactCardData>(
101
- rawDataStr
102
- ).toPrimerRawBancontactCardData()
103
- "XENDIT_RETAIL_OUTLETS" -> json.decodeFromString<PrimerRNRawRetailOutletData>(
104
- rawDataStr
105
- ).toPrimerRawRetailOutletData()
106
- else -> throw IllegalArgumentException("")
121
+ PrimerRawPaymentMethodType.XENDIT_OVO,
122
+ PrimerRawPaymentMethodType.ADYEN_MBWAY ->
123
+ json.decodeFromString<PrimerRNPhoneNumberData>(rawDataStr)
124
+ .toPrimerPhoneNumberData()
125
+ PrimerRawPaymentMethodType.ADYEN_BANCONTACT_CARD ->
126
+ json.decodeFromString<PrimerRNBancontactCardData>(rawDataStr)
127
+ .toPrimerBancontactCardData()
128
+ PrimerRawPaymentMethodType.XENDIT_RETAIL_OUTLETS ->
129
+ json.decodeFromString<PrimerRNRetailOutletData>(rawDataStr)
130
+ .toPrimerRetailOutletData()
107
131
  }
108
132
  rawManager.setRawData(rawData)
109
133
  promise.resolve(null)
110
134
  } catch (e: Exception) {
111
135
  val exception =
112
136
  ErrorTypeRN.NativeBridgeFailed errorTo "Failed to decode $rawDataStr on Android." +
113
- " Make sure you're providing a valid object"
137
+ " Make sure you're providing a valid 'RawData' (or any inherited) object."
114
138
  onError(exception)
115
139
  promise.reject(exception.errorId, exception.description, e)
116
140
  }
@@ -121,9 +145,7 @@ internal class PrimerRNHeadlessUniversalCheckoutRawManager(
121
145
  fun submit(promise: Promise) {
122
146
  if (::rawManager.isInitialized.not()) {
123
147
  val exception =
124
- ErrorTypeRN.NativeBridgeFailed errorTo "The PrimerHeadlessUniversalCheckoutRawDataManager" +
125
- " has not been initialized. Make sure you have called the" +
126
- " HeadlessUniversalCheckoutRawDataManager.configure function first."
148
+ ErrorTypeRN.NativeBridgeFailed errorTo UNINITIALIZED_ERROR
127
149
  promise.reject(exception.errorId, exception.description)
128
150
  } else {
129
151
  rawManager.submit()
@@ -132,12 +154,10 @@ internal class PrimerRNHeadlessUniversalCheckoutRawManager(
132
154
  }
133
155
 
134
156
  @ReactMethod
135
- fun disposeRawDataManager(promise: Promise) {
157
+ fun cleanUp(promise: Promise) {
136
158
  if (::rawManager.isInitialized.not()) {
137
159
  val exception =
138
- ErrorTypeRN.NativeBridgeFailed errorTo "The PrimerHeadlessUniversalCheckoutRawDataManager" +
139
- " has not been initialized. Make sure you have called the" +
140
- " HeadlessUniversalCheckoutRawDataManager.configure function first."
160
+ ErrorTypeRN.NativeBridgeFailed errorTo UNINITIALIZED_ERROR
141
161
  promise.reject(exception.errorId, exception.description)
142
162
  } else {
143
163
  rawManager.cleanup()
@@ -146,34 +166,10 @@ internal class PrimerRNHeadlessUniversalCheckoutRawManager(
146
166
  }
147
167
 
148
168
  @ReactMethod
149
- fun configure(promise: Promise) {
150
- if (::rawManager.isInitialized.not()) {
151
- val exception =
152
- ErrorTypeRN.NativeBridgeFailed errorTo "The PrimerHeadlessUniversalCheckoutRawDataManager" +
153
- " has not been initialized. Make sure you have called the" +
154
- " HeadlessUniversalCheckoutRawDataManager.configure function first."
155
- promise.reject(exception.errorId, exception.description)
156
- } else {
157
- rawManager.configure { primerInitializationData, error ->
158
- if (error == null) {
159
- when (primerInitializationData) {
160
- is RetailOutletsList -> {
161
- promise.resolve(
162
- prepareData(
163
- JSONObject(
164
- Json.encodeToString(
165
- primerInitializationData.toRNRetailOutletsList()
166
- )
167
- )
168
- )
169
- )
170
- }
171
- else -> promise.resolve(null)
172
- }
173
- } else promise.reject(error.errorId, error.description)
174
- }
175
- }
176
- }
169
+ fun addListener(eventName: String?) = Unit
170
+
171
+ @ReactMethod
172
+ fun removeListeners(count: Int?) = Unit
177
173
 
178
174
  private fun sendEvent(name: String, params: WritableMap) {
179
175
  reactApplicationContext.getJSModule(
@@ -199,4 +195,12 @@ internal class PrimerRNHeadlessUniversalCheckoutRawManager(
199
195
  params.putMap(Keys.ERROR, errorData)
200
196
  sendEvent(PrimerHeadlessUniversalCheckoutEvent.ON_ERROR.eventName, params)
201
197
  }
198
+
199
+ private companion object {
200
+ const val UNINITIALIZED_ERROR =
201
+ """
202
+ The RawDataManager has not been initialized.
203
+ Make sure you have initialized the `RawDataManager' first.
204
+ """
205
+ }
202
206
  }
@@ -1,12 +1,11 @@
1
- package com.primerioreactnative.huc.manager.raw
1
+ package com.primerioreactnative.components.manager.raw
2
2
 
3
- import com.primerioreactnative.datamodels.PrimerErrorRN
4
- import com.primerioreactnative.huc.events.PrimerHeadlessUniversalCheckoutRawDataManagerEvent
3
+ import com.primerioreactnative.components.events.PrimerHeadlessUniversalCheckoutRawDataManagerEvent
4
+ import com.primerioreactnative.datamodels.PrimerInputValidationErrorRN
5
5
  import io.primer.android.ExperimentalPrimerApi
6
6
  import io.primer.android.components.domain.core.models.card.PrimerCardMetadata
7
7
  import io.primer.android.components.domain.core.models.metadata.PrimerPaymentMethodMetadata
8
8
  import io.primer.android.components.domain.error.PrimerInputValidationError
9
- import io.primer.android.components.manager.raw.PrimerHeadlessUniversalCheckoutRawDataManager
10
9
  import io.primer.android.components.manager.raw.PrimerHeadlessUniversalCheckoutRawDataManagerListener
11
10
  import kotlinx.serialization.encodeToString
12
11
  import kotlinx.serialization.json.Json
@@ -28,7 +27,16 @@ internal class PrimerRNHeadlessUniversalCheckoutRawManagerListener :
28
27
  "errors",
29
28
  JSONArray(
30
29
  errors.map {
31
- JSONObject(Json.encodeToString(PrimerErrorRN(it.errorId, it.description)))
30
+ JSONObject(
31
+ Json.encodeToString(
32
+ PrimerInputValidationErrorRN(
33
+ it.errorId,
34
+ it.description,
35
+ it.inputElementType.name,
36
+ it.diagnosticsId
37
+ )
38
+ )
39
+ )
32
40
  }
33
41
  )
34
42
  )
@@ -6,13 +6,14 @@ import kotlinx.serialization.Serializable
6
6
  data class PrimerErrorRN(
7
7
  val errorId: String? = null,
8
8
  val description: String? = null,
9
+ val diagnosticsId: String? = null,
9
10
  val recoverySuggestion: String? = null
10
11
  )
11
12
 
12
13
  @Serializable
13
14
  enum class ErrorTypeRN(val errorId: String) {
14
- NativeBridgeFailed("native-bridge"),
15
- AssetMissing("missing-asset"),
16
- AssetMismatch("mismatch-asset"),
17
- InvalidCardNetwork("invalid-card-network")
15
+ NativeBridgeFailed("native-android"),
16
+ UnitializedSdkSession("uninitialized-sdk-session"),
17
+ UnsupportedPaymentMethod("unsupported-payment-method-type"),
18
+ UnsupportedPaymentIntent("unsupported-session-intent")
18
19
  }
@@ -0,0 +1,11 @@
1
+ package com.primerioreactnative.datamodels
2
+
3
+ import kotlinx.serialization.Serializable
4
+
5
+ @Serializable
6
+ data class PrimerInputValidationErrorRN(
7
+ val errorId: String? = null,
8
+ val description: String? = null,
9
+ val inputElementType: String? = null,
10
+ val diagnosticsId: String? = null
11
+ )
@@ -33,7 +33,7 @@ data class PrimerPaymentMethodOptionsRN(
33
33
  var googlePayOptions: PrimerGooglePayOptionsRN = PrimerGooglePayOptionsRN(),
34
34
  var klarnaOptions: PrimerKlarnaOptionsRN = PrimerKlarnaOptionsRN(),
35
35
  var apayaOptions: PrimerApayaOptionsRN = PrimerApayaOptionsRN(),
36
- var goCardlessOptions: PrimerGoCardlessOptionsRN = PrimerGoCardlessOptionsRN()
36
+ var threeDsOptions: PrimerThreeDsOptionsRN = PrimerThreeDsOptionsRN()
37
37
  )
38
38
 
39
39
  @Serializable
@@ -54,6 +54,17 @@ data class PrimerCardPaymentOptionsRN(
54
54
  var is3DSOnVaultingEnabled: Boolean = true
55
55
  )
56
56
 
57
+ @Serializable
58
+ data class PrimerThreeDsOptionsRN(
59
+ @SerialName("android")
60
+ val threeDsOptionsAndroid: PrimerThreeDsAndroidOptionsRN? = null
61
+ )
62
+
63
+ @Serializable
64
+ data class PrimerThreeDsAndroidOptionsRN(
65
+ val threeDsAppRequestorUrl: String? = null
66
+ )
67
+
57
68
  @Serializable
58
69
  data class PrimerGooglePayOptionsRN(
59
70
  var merchantName: String? = null,
@@ -65,7 +76,7 @@ data class PrimerGooglePayOptionsRN(
65
76
  "VISA"
66
77
  ),
67
78
  var buttonStyle: GooglePayButtonStyle = GooglePayButtonStyle.BLACK,
68
- var captureBillingAddress: Boolean = false
79
+ @SerialName("isCaptureBillingAddressEnabled") var captureBillingAddress: Boolean = false
69
80
  )
70
81
 
71
82
  @Serializable
@@ -81,13 +92,6 @@ data class PrimerApayaOptionsRN(
81
92
  var webViewTitle: String? = null,
82
93
  )
83
94
 
84
- @Serializable
85
- @Deprecated("This class is deprecated and will be removed in future release.")
86
- data class PrimerGoCardlessOptionsRN(
87
- var businessName: String? = null,
88
- var businessAddress: String? = null,
89
- )
90
-
91
95
  fun PrimerSettingsRN.toPrimerSettings() = PrimerSettings(
92
96
  paymentHandling,
93
97
  localeData.toLocale(),
@@ -8,7 +8,7 @@ fun PrimerPaymentMethodOptionsRN.toPrimerPaymentMethodOptions() = PrimerPaymentM
8
8
  googlePayOptions.toPrimerGooglePayOptions(),
9
9
  klarnaOptions.toPrimerKlarnaOptions(),
10
10
  apayaOptions.toPrimerApayaOptions(),
11
- goCardlessOptions.toPrimerGoCardlessOptions()
11
+ threeDsOptions.toPrimerThreeDsOptions()
12
12
  )
13
13
 
14
14
  fun PrimerGooglePayOptionsRN.toPrimerGooglePayOptions() =
@@ -19,5 +19,5 @@ fun PrimerKlarnaOptionsRN.toPrimerKlarnaOptions() =
19
19
 
20
20
  fun PrimerApayaOptionsRN.toPrimerApayaOptions() = PrimerApayaOptions(webViewTitle)
21
21
 
22
- fun PrimerGoCardlessOptionsRN.toPrimerGoCardlessOptions() =
23
- PrimerGoCardlessOptions(businessName, businessAddress)
22
+ fun PrimerThreeDsOptionsRN.toPrimerThreeDsOptions() =
23
+ PrimerThreeDsOptions(threeDsOptionsAndroid?.threeDsAppRequestorUrl)
@@ -15,20 +15,20 @@ data class PrimerHeadlessUniversalCheckoutImplementedRNCallbacks(
15
15
  val isOnBeforePaymentCreateImplemented: Boolean? = null,
16
16
  @SerialName("onError")
17
17
  val isOnErrorImplemented: Boolean? = null,
18
- @SerialName("onTokenizeSuccess")
18
+ @SerialName("onTokenizationSuccess")
19
19
  val isOnTokenizeSuccessImplemented: Boolean? = null,
20
- @SerialName("onResumeSuccess")
21
- val isOnResumeSuccessImplemented: Boolean? = null,
22
- @SerialName("onResumePending")
23
- val isOnResumePendingImplemented: Boolean? = null,
24
- @SerialName("onCheckoutReceivedAdditionalInfo")
25
- val isOnCheckoutReceivedAdditionalInfo: Boolean? = null,
26
- @SerialName("onHUCTokenizeStart")
27
- val isOnHUCTokenizeStartsImplemented: Boolean? = null,
28
- @SerialName("onHUCPrepareStart")
29
- val isOnHUCPrepareStartImplemented: Boolean? = null,
30
- @SerialName("onHUCAvailablePaymentMethodsLoaded")
31
- val isOnHUCAvailablePaymentMethodsLoadedImplemented: Boolean? = null,
32
- @SerialName("onHUCPaymentMethodShow")
33
- val isOnHUCPaymentMethodShowImplemented: Boolean? = null,
20
+ @SerialName("onCheckoutResume")
21
+ val isOnCheckoutResumeImplemented: Boolean? = null,
22
+ @SerialName("onCheckoutPending")
23
+ val isOnCheckoutPendingImplemented: Boolean? = null,
24
+ @SerialName("onCheckoutAdditionalInfo")
25
+ val isOnCheckoutAdditionalInfoImplemented: Boolean? = null,
26
+ @SerialName("onTokenizationStart")
27
+ val isOnTokenizationStartImplemented: Boolean? = null,
28
+ @SerialName("onPreparationStart")
29
+ val isOnPreparationStartImplemented: Boolean? = null,
30
+ @SerialName("onAvailablePaymentMethodsLoad")
31
+ val isOnAvailablePaymentMethodsLoadImplemented: Boolean? = null,
32
+ @SerialName("onPaymentMethodShow")
33
+ val isOnPaymentMethodShowImplemented: Boolean? = null,
34
34
  )
@@ -17,12 +17,12 @@ data class PrimerImplementedRNCallbacks(
17
17
  val isOnErrorImplemented: Boolean? = null,
18
18
  @SerialName("onDismiss")
19
19
  val isOnDismissImplemented: Boolean? = null,
20
- @SerialName("onTokenizeSuccess")
20
+ @SerialName("onTokenizationSuccess")
21
21
  val isOnTokenizeSuccessImplemented: Boolean? = null,
22
- @SerialName("onResumeSuccess")
23
- val isOnResumeSuccessImplemented: Boolean? = null,
24
- @SerialName("onResumePending")
25
- val isOnResumePendingImplemented: Boolean? = null,
26
- @SerialName("onCheckoutReceivedAdditionalInfo")
27
- val isOnCheckoutReceivedAdditionalInfo: Boolean? = null
22
+ @SerialName("onCheckoutResume")
23
+ val isOnCheckoutResumeImplemented: Boolean? = null,
24
+ @SerialName("onCheckoutPending")
25
+ val isOnCheckoutPendingImplemented: Boolean? = null,
26
+ @SerialName("onCheckoutAdditionalInfo")
27
+ val isOnCheckoutAdditionalInfoImplemented: Boolean? = null,
28
28
  )
package/ios/Podfile.lock CHANGED
@@ -1,3 +1,3 @@
1
1
  PODFILE CHECKSUM: 0984f720d2439f86374726bfdebe32d895fdcf46
2
2
 
3
- COCOAPODS: 1.11.2
3
+ COCOAPODS: 1.11.3
@@ -14,7 +14,7 @@
14
14
  1DEBE0FE26C2D875004E3064 /* PrimerSettingsRN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DEBE0FD26C2D875004E3064 /* PrimerSettingsRN.swift */; };
15
15
  1DEBE10026C2D88E004E3064 /* PrimerThemeRN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DEBE0FF26C2D88E004E3064 /* PrimerThemeRN.swift */; };
16
16
  1DEBE10226C2D8BA004E3064 /* PaymentInstrumentTokenRN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DEBE10126C2D8BA004E3064 /* PaymentInstrumentTokenRN.swift */; };
17
- 89F0FEEB6413C5D9701E83B6 /* libPods-ReactNative.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BADF4926CED3501185F76198 /* libPods-ReactNative.a */; };
17
+ 3513609F0CAED44C39E307A6 /* libPods-ReactNative.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1BC6985820719A2A61EB3DD8 /* libPods-ReactNative.a */; };
18
18
  F4FF95D7245B92E800C19C63 /* UniversalCheckoutRN.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4FF95D6245B92E800C19C63 /* UniversalCheckoutRN.swift */; };
19
19
  /* End PBXBuildFile section */
20
20
 
@@ -32,16 +32,16 @@
32
32
 
33
33
  /* Begin PBXFileReference section */
34
34
  134814201AA4EA6300B7C361 /* libReactNative.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libReactNative.a; sourceTree = BUILT_PRODUCTS_DIR; };
35
+ 1BC6985820719A2A61EB3DD8 /* libPods-ReactNative.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNative.a"; sourceTree = BUILT_PRODUCTS_DIR; };
35
36
  1DEBE0F626C2D594004E3064 /* PrimerRN.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrimerRN.swift; sourceTree = "<group>"; };
36
37
  1DEBE0F926C2D75A004E3064 /* PrimerFlowRN.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrimerFlowRN.swift; sourceTree = "<group>"; };
37
38
  1DEBE0FB26C2D859004E3064 /* PrimerExceptionRN.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrimerExceptionRN.swift; sourceTree = "<group>"; };
38
39
  1DEBE0FD26C2D875004E3064 /* PrimerSettingsRN.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrimerSettingsRN.swift; sourceTree = "<group>"; };
39
40
  1DEBE0FF26C2D88E004E3064 /* PrimerThemeRN.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrimerThemeRN.swift; sourceTree = "<group>"; };
40
41
  1DEBE10126C2D8BA004E3064 /* PaymentInstrumentTokenRN.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaymentInstrumentTokenRN.swift; sourceTree = "<group>"; };
41
- 838A4233250958211E6C0DD8 /* Pods-ReactNative.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNative.debug.xcconfig"; path = "Target Support Files/Pods-ReactNative/Pods-ReactNative.debug.xcconfig"; sourceTree = "<group>"; };
42
- A5356B751E3623AFD2BA69A3 /* Pods-ReactNative.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNative.release.xcconfig"; path = "Target Support Files/Pods-ReactNative/Pods-ReactNative.release.xcconfig"; sourceTree = "<group>"; };
42
+ 568A70304A987529851A447E /* Pods-ReactNative.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNative.release.xcconfig"; path = "Target Support Files/Pods-ReactNative/Pods-ReactNative.release.xcconfig"; sourceTree = "<group>"; };
43
+ AED192A9C2698C599CF21663 /* Pods-ReactNative.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNative.debug.xcconfig"; path = "Target Support Files/Pods-ReactNative/Pods-ReactNative.debug.xcconfig"; sourceTree = "<group>"; };
43
44
  B3E7B5891CC2AC0600A0062D /* ReactNative.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReactNative.m; sourceTree = "<group>"; };
44
- BADF4926CED3501185F76198 /* libPods-ReactNative.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNative.a"; sourceTree = BUILT_PRODUCTS_DIR; };
45
45
  F4FF95D5245B92E700C19C63 /* ReactNative-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ReactNative-Bridging-Header.h"; sourceTree = "<group>"; };
46
46
  F4FF95D6245B92E800C19C63 /* UniversalCheckoutRN.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UniversalCheckoutRN.swift; sourceTree = "<group>"; };
47
47
  /* End PBXFileReference section */
@@ -51,13 +51,21 @@
51
51
  isa = PBXFrameworksBuildPhase;
52
52
  buildActionMask = 2147483647;
53
53
  files = (
54
- 89F0FEEB6413C5D9701E83B6 /* libPods-ReactNative.a in Frameworks */,
54
+ 3513609F0CAED44C39E307A6 /* libPods-ReactNative.a in Frameworks */,
55
55
  );
56
56
  runOnlyForDeploymentPostprocessing = 0;
57
57
  };
58
58
  /* End PBXFrameworksBuildPhase section */
59
59
 
60
60
  /* Begin PBXGroup section */
61
+ 11BA866BDA971C4D4B96C2C4 /* Frameworks */ = {
62
+ isa = PBXGroup;
63
+ children = (
64
+ 1BC6985820719A2A61EB3DD8 /* libPods-ReactNative.a */,
65
+ );
66
+ name = Frameworks;
67
+ sourceTree = "<group>";
68
+ };
61
69
  134814211AA4EA7D00B7C361 /* Products */ = {
62
70
  isa = PBXGroup;
63
71
  children = (
@@ -81,8 +89,8 @@
81
89
  38076040A533828516C55677 /* Pods */ = {
82
90
  isa = PBXGroup;
83
91
  children = (
84
- 838A4233250958211E6C0DD8 /* Pods-ReactNative.debug.xcconfig */,
85
- A5356B751E3623AFD2BA69A3 /* Pods-ReactNative.release.xcconfig */,
92
+ AED192A9C2698C599CF21663 /* Pods-ReactNative.debug.xcconfig */,
93
+ 568A70304A987529851A447E /* Pods-ReactNative.release.xcconfig */,
86
94
  );
87
95
  path = Pods;
88
96
  sourceTree = "<group>";
@@ -97,18 +105,10 @@
97
105
  F4FF95D5245B92E700C19C63 /* ReactNative-Bridging-Header.h */,
98
106
  134814211AA4EA7D00B7C361 /* Products */,
99
107
  38076040A533828516C55677 /* Pods */,
100
- E193973ADE52A4E8D27FFC73 /* Frameworks */,
108
+ 11BA866BDA971C4D4B96C2C4 /* Frameworks */,
101
109
  );
102
110
  sourceTree = "<group>";
103
111
  };
104
- E193973ADE52A4E8D27FFC73 /* Frameworks */ = {
105
- isa = PBXGroup;
106
- children = (
107
- BADF4926CED3501185F76198 /* libPods-ReactNative.a */,
108
- );
109
- name = Frameworks;
110
- sourceTree = "<group>";
111
- };
112
112
  /* End PBXGroup section */
113
113
 
114
114
  /* Begin PBXNativeTarget section */
@@ -116,7 +116,7 @@
116
116
  isa = PBXNativeTarget;
117
117
  buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "ReactNative" */;
118
118
  buildPhases = (
119
- F9651EA2F679750D43349501 /* [CP] Check Pods Manifest.lock */,
119
+ 64FF98C09B1E65E78CC7F5BB /* [CP] Check Pods Manifest.lock */,
120
120
  58B511D71A9E6C8500147676 /* Sources */,
121
121
  58B511D81A9E6C8500147676 /* Frameworks */,
122
122
  58B511D91A9E6C8500147676 /* CopyFiles */,
@@ -163,7 +163,7 @@
163
163
  /* End PBXProject section */
164
164
 
165
165
  /* Begin PBXShellScriptBuildPhase section */
166
- F9651EA2F679750D43349501 /* [CP] Check Pods Manifest.lock */ = {
166
+ 64FF98C09B1E65E78CC7F5BB /* [CP] Check Pods Manifest.lock */ = {
167
167
  isa = PBXShellScriptBuildPhase;
168
168
  buildActionMask = 2147483647;
169
169
  files = (
@@ -310,7 +310,7 @@
310
310
  };
311
311
  58B511F01A9E6C8500147676 /* Debug */ = {
312
312
  isa = XCBuildConfiguration;
313
- baseConfigurationReference = 838A4233250958211E6C0DD8 /* Pods-ReactNative.debug.xcconfig */;
313
+ baseConfigurationReference = AED192A9C2698C599CF21663 /* Pods-ReactNative.debug.xcconfig */;
314
314
  buildSettings = {
315
315
  HEADER_SEARCH_PATHS = (
316
316
  "$(inherited)",
@@ -330,7 +330,7 @@
330
330
  };
331
331
  58B511F11A9E6C8500147676 /* Release */ = {
332
332
  isa = XCBuildConfiguration;
333
- baseConfigurationReference = A5356B751E3623AFD2BA69A3 /* Pods-ReactNative.release.xcconfig */;
333
+ baseConfigurationReference = 568A70304A987529851A447E /* Pods-ReactNative.release.xcconfig */;
334
334
  buildSettings = {
335
335
  HEADER_SEARCH_PATHS = (
336
336
  "$(inherited)",
@@ -0,0 +1,75 @@
1
+ //
2
+ // ImplementedRNCallbacks.swift
3
+ // primer-io-react-native
4
+ //
5
+ // Created by Evangelos on 20/5/22.
6
+ //
7
+
8
+ import Foundation
9
+
10
+ internal struct ImplementedRNCallbacks: Decodable {
11
+
12
+ internal var isOnAvailablePaymentMethodsLoadImplemented = false
13
+ internal var isOnTokenizationStartImplemented = false
14
+ internal var isOnTokenizationSuccessImplemented = false
15
+
16
+ internal var isOnCheckoutResumeImplemented = false
17
+ internal var isOnCheckoutPendingImplemented = false
18
+ internal var isOnCheckoutAdditionalInfoImplemented = false
19
+
20
+ internal var isOnErrorImplemented = false
21
+ internal var isOnCheckoutCompleteImplemented = false
22
+ internal var isOnBeforeClientSessionUpdateImplemented = false
23
+
24
+ internal var isOnClientSessionUpdateImplemented = false
25
+ internal var isOnBeforePaymentCreateImplemented = false
26
+ internal var isOnPreparationStartImplemented = false
27
+
28
+ internal var isOnPaymentMethodShowImplemented = false
29
+ internal var isOnDismissImplemented = false
30
+
31
+ enum CodingKeys: String, CodingKey {
32
+
33
+ case isOnAvailablePaymentMethodsLoadImplemented = "onAvailablePaymentMethodsLoad"
34
+ case isOnTokenizationStartImplemented = "onTokenizationStart"
35
+ case isOnTokenizationSuccessImplemented = "onTokenizationSuccess"
36
+
37
+ case isOnCheckoutResumeImplemented = "onCheckoutResume"
38
+ case isOnCheckoutPendingImplemented = "onCheckoutPending"
39
+ case isOnCheckoutAdditionalInfoImplemented = "onCheckoutAdditionalInfo"
40
+
41
+ case isOnErrorImplemented = "onError"
42
+ case isOnCheckoutCompleteImplemented = "onCheckoutComplete"
43
+ case isOnBeforeClientSessionUpdateImplemented = "onBeforeClientSessionUpdate"
44
+
45
+ case isOnClientSessionUpdateImplemented = "onClientSessionUpdate"
46
+ case isOnBeforePaymentCreateImplemented = "onBeforePaymentCreate"
47
+ case isOnPreparationStartImplemented = "onPreparationStart"
48
+
49
+ case isOnPaymentMethodShowImplemented = "onPaymentMethodShow"
50
+ case isOnDismissImplemented = "onDismiss"
51
+ }
52
+
53
+ init(from decoder: Decoder) throws {
54
+ let container = try decoder.container(keyedBy: CodingKeys.self)
55
+
56
+ self.isOnAvailablePaymentMethodsLoadImplemented = (try? container.decode(Bool.self, forKey: .isOnAvailablePaymentMethodsLoadImplemented)) ?? false
57
+ self.isOnTokenizationStartImplemented = (try? container.decode(Bool.self, forKey: .isOnTokenizationStartImplemented)) ?? false
58
+ self.isOnTokenizationSuccessImplemented = (try? container.decode(Bool.self, forKey: .isOnTokenizationSuccessImplemented)) ?? false
59
+
60
+ self.isOnCheckoutResumeImplemented = (try? container.decode(Bool.self, forKey: .isOnCheckoutResumeImplemented)) ?? false
61
+ self.isOnCheckoutPendingImplemented = (try? container.decode(Bool.self, forKey: .isOnCheckoutPendingImplemented)) ?? false
62
+ self.isOnCheckoutAdditionalInfoImplemented = (try? container.decode(Bool.self, forKey: .isOnCheckoutAdditionalInfoImplemented)) ?? false
63
+
64
+ self.isOnErrorImplemented = (try? container.decode(Bool.self, forKey: .isOnErrorImplemented)) ?? false
65
+ self.isOnCheckoutCompleteImplemented = (try? container.decode(Bool.self, forKey: .isOnCheckoutCompleteImplemented)) ?? false
66
+ self.isOnBeforeClientSessionUpdateImplemented = (try? container.decode(Bool.self, forKey: .isOnBeforeClientSessionUpdateImplemented)) ?? false
67
+
68
+ self.isOnClientSessionUpdateImplemented = (try? container.decode(Bool.self, forKey: .isOnClientSessionUpdateImplemented)) ?? false
69
+ self.isOnBeforePaymentCreateImplemented = (try? container.decode(Bool.self, forKey: .isOnBeforePaymentCreateImplemented)) ?? false
70
+ self.isOnPreparationStartImplemented = (try? container.decode(Bool.self, forKey: .isOnPreparationStartImplemented)) ?? false
71
+
72
+ self.isOnPaymentMethodShowImplemented = (try? container.decode(Bool.self, forKey: .isOnPaymentMethodShowImplemented)) ?? false
73
+ self.isOnDismissImplemented = (try? container.decode(Bool.self, forKey: .isOnDismissImplemented)) ?? false
74
+ }
75
+ }