@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,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,7 +23,7 @@ interface IPrimerSettings {
21
23
  uiOptions?: IPrimerUIOptions;
22
24
  debugOptions?: IPrimerDebugOptions;
23
25
 
24
- // Common
26
+ // Dropin UI
25
27
  onBeforeClientSessionUpdate?: () => void;
26
28
  onClientSessionUpdate?: (clientSession: PrimerClientSession) => void;
27
29
  onBeforePaymentCreate?: (checkoutPaymentMethodData: PrimerCheckoutPaymentMethodData, handler: PrimerPaymentCreationHandler) => void;
@@ -30,17 +32,28 @@ interface IPrimerSettings {
30
32
  onResumeSuccess?: (resumeToken: string, handler: PrimerResumeHandler) => void;
31
33
  onResumePending?: (additionalInfo: PrimerCheckoutAdditionalInfo) => void;
32
34
  onCheckoutReceivedAdditionalInfo?: (additionalInfo: PrimerCheckoutAdditionalInfo) => void;
33
- // PrimerErrorHandler will be undefined on the HUC flow.
34
35
  onError?: (error: PrimerError, checkoutData: PrimerCheckoutData | null, handler: PrimerErrorHandler | undefined) => void;
35
-
36
- // Only on main SDK
37
36
  onDismiss?: () => void;
38
37
 
39
- // Only on HUC
40
- onPrepareStart?: (paymentMethod: string) => void;
41
- onTokenizeStart?: (paymentMethod: string) => void;
42
- onPaymentMethodShow?: (paymentMethod: string) => void;
43
- onAvailablePaymentMethodsLoad?: (paymentMethods: string[]) => void;
38
+ headlessUniversalCheckoutCallbacks?: {
39
+ onAvailablePaymentMethodsLoad?: (availablePaymentMethods: any[]) => void;
40
+ onTokenizationStart?: (paymentMethodType: string) => void;
41
+ onTokenizationSuccess?: (paymentMethodTokenData: PrimerPaymentMethodTokenData, handler: PrimerHeadlessUniversalCheckoutResumeHandler) => void;
42
+
43
+ onCheckoutResume?: (resumeToken: string, handler: PrimerHeadlessUniversalCheckoutResumeHandler) => void;
44
+ onCheckoutPending?: (additionalInfo: PrimerCheckoutAdditionalInfo) => void;
45
+ onCheckoutAdditionalInfo?: (additionalInfo: PrimerCheckoutAdditionalInfo) => void;
46
+
47
+ onError?: (error: PrimerError, checkoutData: PrimerCheckoutData | null) => void;
48
+ onCheckoutComplete?: (checkoutData: PrimerCheckoutData) => void;
49
+ onBeforeClientSessionUpdate?: () => void;
50
+
51
+ onClientSessionUpdate?: (clientSession: PrimerClientSession) => void;
52
+ onBeforePaymentCreate?: (checkoutPaymentMethodData: PrimerCheckoutPaymentMethodData, handler: PrimerPaymentCreationHandler) => void;
53
+ onPreparationStart?: (paymentMethodType: string) => void;
54
+
55
+ onPaymentMethodShow?: (paymentMethodType: string) => void;
56
+ }
44
57
  }
45
58
 
46
59
  //----------------------------------------
@@ -66,10 +79,11 @@ interface IPrimerPaymentMethodOptions {
66
79
  * @obsoleted The IPrimerCardPaymentOptions is obsoleted on v.2.14.0
67
80
  */
68
81
  cardPaymentOptions?: IPrimerCardPaymentOptions;
69
-
82
+
70
83
  goCardlessOptions?: IPrimerGoCardlessOptions;
71
84
  googlePayOptions?: IPrimerGooglePayOptions;
72
85
  klarnaOptions?: IPrimerKlarnaOptions;
86
+ threeDsOptions?: IPrimerThreeDsOptions;
73
87
  }
74
88
 
75
89
  interface IPrimerApayaOptions {
@@ -94,6 +108,7 @@ interface IPrimerGoCardlessOptions {
94
108
  interface IPrimerGooglePayOptions {
95
109
  merchantName?: string;
96
110
  allowedCardNetworks?: string[];
111
+ isCaptureBillingAddressEnabled?: boolean;
97
112
  }
98
113
 
99
114
  interface IPrimerKlarnaOptions {
@@ -115,3 +130,14 @@ interface IPrimerUIOptions {
115
130
  interface IPrimerDebugOptions {
116
131
  is3DSSanityCheckEnabled?: boolean;
117
132
  }
133
+
134
+ //----------------------------------------
135
+
136
+ interface IPrimerThreeDsOptions {
137
+ iOS?: {
138
+ threeDsAppRequestorUrl?: string;
139
+ };
140
+ android?: {
141
+ threeDsAppRequestorUrl?: string;
142
+ };
143
+ }
@@ -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
- }
@@ -1,15 +0,0 @@
1
- package com.primerioreactnative.huc.events
2
-
3
- internal enum class PrimerHeadlessUniversalCheckoutEvent(val eventName: String) {
4
- ON_HUC_AVAILABLE_PAYMENT_METHODS_LOADED("onHUCAvailablePaymentMethodsLoaded"),
5
- ON_HUC_PREPARE_START("onHUCPrepareStart"),
6
- ON_HUC_PAYMENT_METHOD_SHOW("onHUCPaymentMethodShow"),
7
- ON_HUC_TOKENIZE_START("onHUCTokenizeStart"),
8
- ON_CHECKOUT_COMPLETE("onCheckoutComplete"),
9
- ON_BEFORE_CLIENT_SESSION_UPDATE("onBeforeClientSessionUpdate"),
10
- ON_CLIENT_SESSION_UPDATE("onClientSessionUpdate"),
11
- ON_BEFORE_PAYMENT_CREATE("onBeforePaymentCreate"),
12
- ON_TOKENIZE_SUCCESS("onTokenizeSuccess"),
13
- ON_RESUME_SUCCESS("onResumeSuccess"),
14
- ON_ERROR("onError"),
15
- }
@@ -1,62 +0,0 @@
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 isOnCheckoutCompleteImplemented: Bool = false
13
- internal var isOnBeforeClientSessionUpdateImplemented: Bool = false
14
- internal var isOnClientSessionUpdateImplemented: Bool = false
15
- internal var isOnBeforePaymentCreateImplemented: Bool = false
16
- internal var isOnErrorImplemented: Bool = false
17
- internal var isOnDismissImplemented: Bool = false
18
- internal var isOnTokenizeSuccessImplemented: Bool = false
19
- internal var isOnResumeSuccessImplemented: Bool = false
20
- internal var isOnResumePendingImplemented: Bool = false
21
- internal var isOnCheckoutReceivedAdditionalInfoImplemented: Bool = false
22
- internal var isOnHUCTokenizeStartImplemented: Bool = false
23
- internal var isOnHUCPrepareStartImplemented: Bool = false
24
- internal var isOnHUCAvailablePaymentMethodsLoadedImplemented: Bool = false
25
- internal var isOnHUCPaymentMethodShowImplemented: Bool = false
26
-
27
- enum CodingKeys: String, CodingKey {
28
- case isOnCheckoutCompleteImplemented = "onCheckoutComplete"
29
- case isOnBeforeClientSessionUpdateImplemented = "onBeforeClientSessionUpdate"
30
- case isOnClientSessionUpdateImplemented = "onClientSessionUpdate"
31
- case isOnBeforePaymentCreateImplemented = "onBeforePaymentCreate"
32
- case isOnErrorImplemented = "onError"
33
- case isOnDismissImplemented = "onDismiss"
34
- case isOnTokenizeSuccessImplemented = "onTokenizeSuccess"
35
- case isOnResumeSuccessImplemented = "onResumeSuccess"
36
- case isOnResumePendingImplemented = "onResumePending"
37
- case isOnCheckoutReceivedAdditionalInfoImplemented = "onCheckoutReceivedAdditionalInfo"
38
- case isOnHUCTokenizeStartImplemented = "onHUCTokenizeStart"
39
- case isOnHUCPrepareStartImplemented = "onHUCPrepareStart"
40
- case isOnHUCAvailablePaymentMethodsLoadedImplemented = "onHUCAvailablePaymentMethodsLoaded"
41
- case isOnHUCPaymentMethodShowImplemented = "onHUCPaymentMethodShow"
42
- }
43
-
44
- init(from decoder: Decoder) throws {
45
- let container = try decoder.container(keyedBy: CodingKeys.self)
46
-
47
- self.isOnCheckoutCompleteImplemented = (try? container.decode(Bool?.self, forKey: .isOnCheckoutCompleteImplemented)) ?? false
48
- self.isOnBeforeClientSessionUpdateImplemented = (try? container.decode(Bool?.self, forKey: .isOnBeforeClientSessionUpdateImplemented)) ?? false
49
- self.isOnClientSessionUpdateImplemented = (try? container.decode(Bool?.self, forKey: .isOnClientSessionUpdateImplemented)) ?? false
50
- self.isOnBeforePaymentCreateImplemented = (try? container.decode(Bool?.self, forKey: .isOnBeforePaymentCreateImplemented)) ?? false
51
- self.isOnErrorImplemented = (try? container.decode(Bool?.self, forKey: .isOnErrorImplemented)) ?? false
52
- self.isOnDismissImplemented = (try? container.decode(Bool?.self, forKey: .isOnDismissImplemented)) ?? false
53
- self.isOnTokenizeSuccessImplemented = (try? container.decode(Bool?.self, forKey: .isOnTokenizeSuccessImplemented)) ?? false
54
- self.isOnResumeSuccessImplemented = (try? container.decode(Bool?.self, forKey: .isOnResumeSuccessImplemented)) ?? false
55
- self.isOnResumePendingImplemented = (try? container.decode(Bool?.self, forKey: .isOnResumePendingImplemented)) ?? false
56
- self.isOnCheckoutReceivedAdditionalInfoImplemented = (try? container.decode(Bool?.self, forKey: .isOnCheckoutReceivedAdditionalInfoImplemented)) ?? false
57
- self.isOnHUCTokenizeStartImplemented = (try? container.decode(Bool?.self, forKey: .isOnHUCTokenizeStartImplemented)) ?? false
58
- self.isOnHUCPrepareStartImplemented = (try? container.decode(Bool?.self, forKey: .isOnHUCPrepareStartImplemented)) ?? false
59
- self.isOnHUCAvailablePaymentMethodsLoadedImplemented = (try? container.decode(Bool?.self, forKey: .isOnHUCAvailablePaymentMethodsLoadedImplemented)) ?? false
60
- self.isOnHUCPaymentMethodShowImplemented = (try? container.decode(Bool?.self, forKey: .isOnHUCPaymentMethodShowImplemented)) ?? false
61
- }
62
- }
@@ -1,35 +0,0 @@
1
-
2
- struct NativeError: CustomNSError, LocalizedError, Codable {
3
-
4
- let errorId: String
5
- let errorDescription: String?
6
- let recoverySuggestion: String?
7
-
8
- var rnError: [String: String] {
9
- var json: [String: String] = [
10
- "errorId": errorId,
11
- "description": errorDescription ?? "Something went wrong"
12
- ]
13
-
14
- if let recoverySuggestion = recoverySuggestion {
15
- json["recoverySuggestion"] = recoverySuggestion
16
- }
17
-
18
- return json
19
- }
20
- }
21
-
22
- internal extension Error {
23
- var rnError: [String: String] {
24
- var json: [String: String] = [
25
- "errorId": (self as NSError).domain,
26
- "description": localizedDescription
27
- ]
28
-
29
- if let recoverySuggestion = (self as NSError).localizedRecoverySuggestion {
30
- json["recoverySuggestion"] = recoverySuggestion
31
- }
32
-
33
- return json
34
- }
35
- }
@@ -1,84 +0,0 @@
1
- import PrimerSDK
2
-
3
- extension PrimerSettings {
4
-
5
- static func initialize(with settingsStr: String?) throws -> PrimerSettings {
6
- guard let settingsStr = settingsStr,
7
- let settingsData = settingsStr.data(using: .utf8)
8
- else {
9
- return PrimerSettings()
10
- }
11
-
12
- guard let settingsJson = (try JSONSerialization.jsonObject(with: settingsData)) as? [String: Any]
13
- else {
14
- return PrimerSettings()
15
- }
16
-
17
- var paymentHandling: PrimerPaymentHandling = .auto
18
- if let rnPaymentHandling = settingsJson["paymentHandling"] as? String,
19
- rnPaymentHandling == "MANUAL" {
20
- paymentHandling = .manual
21
- }
22
-
23
- let rnLocaleDataLanguageCode = (settingsJson["localeData"] as? [String: Any])?["languageCode"] as? String
24
- let rnLocaleDataLocaleCode = (settingsJson["localeData"] as? [String: Any])?["localeCode"] as? String
25
- let localeData = PrimerLocaleData(
26
- languageCode: rnLocaleDataLanguageCode,
27
- regionCode: rnLocaleDataLocaleCode)
28
-
29
- let rnUrlScheme = ((settingsJson["paymentMethodOptions"] as? [String: Any])?["iOS"] as? [String: Any])?["urlScheme"] as? String
30
-
31
- var applePayOptions: PrimerApplePayOptions?
32
- if let rnApplePayOptions = ((settingsJson["paymentMethodOptions"] as? [String: Any])?["applePayOptions"] as? [String: Any]),
33
- let rnApplePayMerchantIdentifier = rnApplePayOptions["merchantIdentifier"] as? String,
34
- let rnApplePayMerchantName = rnApplePayOptions["merchantName"] as? String {
35
- if let rnApplePayIsCaptureBillingAddressEnabled = rnApplePayOptions["isCaptureBillingAddressEnabled"] as? Bool {
36
- applePayOptions = PrimerApplePayOptions(merchantIdentifier: rnApplePayMerchantIdentifier, merchantName: rnApplePayMerchantName, isCaptureBillingAddressEnabled: rnApplePayIsCaptureBillingAddressEnabled)
37
- } else {
38
- applePayOptions = PrimerApplePayOptions(merchantIdentifier: rnApplePayMerchantIdentifier, merchantName: rnApplePayMerchantName)
39
- }
40
- }
41
-
42
- var klarnaOptions: PrimerKlarnaOptions?
43
- if let rnKlarnaRecurringPaymentDescription = ((settingsJson["paymentMethodOptions"] as? [String: Any])?["klarnaOptions"] as? [String: Any])?["recurringPaymentDescription"] as? String {
44
- klarnaOptions = PrimerKlarnaOptions(recurringPaymentDescription: rnKlarnaRecurringPaymentDescription)
45
- }
46
-
47
- var uiOptions: PrimerUIOptions?
48
- if let rnUIOptions = settingsJson["uiOptions"] as? [String: Any] {
49
-
50
- var theme: PrimerTheme?
51
- if let rnTheme = rnUIOptions["theme"] as? [String: Any] {
52
- let rnThemeData = (try JSONSerialization.data(withJSONObject: rnTheme))
53
- let rnTheme = try JSONDecoder().decode(PrimerThemeRN.self, from: rnThemeData)
54
- theme = rnTheme.asPrimerTheme()
55
- }
56
-
57
- uiOptions = PrimerUIOptions(
58
- isInitScreenEnabled: rnUIOptions["isInitScreenEnabled"] as? Bool,
59
- isSuccessScreenEnabled: rnUIOptions["isSuccessScreenEnabled"] as? Bool,
60
- isErrorScreenEnabled: rnUIOptions["isErrorScreenEnabled"] as? Bool,
61
- theme: theme)
62
- }
63
-
64
- var debugOptions: PrimerDebugOptions?
65
- if let rnIs3DSSanityCheckEnabled = (settingsJson["debugOptions"] as? [String: Any])?["is3DSSanityCheckEnabled"] as? Bool {
66
- debugOptions = PrimerDebugOptions(is3DSSanityCheckEnabled: rnIs3DSSanityCheckEnabled)
67
- }
68
-
69
- let paymentMethodOptions = PrimerPaymentMethodOptions(
70
- urlScheme: rnUrlScheme,
71
- applePayOptions: applePayOptions,
72
- klarnaOptions: klarnaOptions)
73
-
74
- let settings = PrimerSettings(
75
- paymentHandling: paymentHandling,
76
- localeData: localeData,
77
- paymentMethodOptions: paymentMethodOptions,
78
- uiOptions: uiOptions,
79
- debugOptions: debugOptions)
80
-
81
-
82
- return settings
83
- }
84
- }
@@ -1,62 +0,0 @@
1
- //
2
- // RNTPrimerHeadlessUniversalCheckout.m
3
- // primer-io-react-native
4
- //
5
- // Created by Evangelos on 8/3/22.
6
- //
7
-
8
- #import <React/RCTBridgeModule.h>
9
- #import <React/RCTEventEmitter.h>
10
-
11
- @interface RCT_EXTERN_MODULE(PrimerHeadlessUniversalCheckout, RCTEventEmitter)
12
-
13
- RCT_EXTERN_METHOD(startWithClientToken:(NSString *)clientToken settingsStr:(NSString *)settingsStr errorCallback:(RCTResponseSenderBlock)errorCallback successCallback: (RCTResponseSenderBlock)successCallback)
14
-
15
- RCT_EXTERN_METHOD(resumeWithClientToken:(NSString *)resumeToken)
16
-
17
- RCT_EXTERN_METHOD(showPaymentMethod:(NSString *)paymentMethodTypeStr
18
- resolver:(RCTPromiseResolveBlock)resolver
19
- rejecter:(RCTPromiseRejectBlock)rejecter)
20
-
21
- RCT_EXTERN_METHOD(getAssetForPaymentMethodType:(NSString *)paymentMethodTypeStr
22
- assetType:(NSString *)assetTypeStr
23
- errorCallback:(RCTResponseSenderBlock)errorCallback
24
- successCallback: (RCTResponseSenderBlock)successCallback)
25
-
26
- RCT_EXTERN_METHOD(getAssetForCardNetwork:(NSString *)cardNetworkStr
27
- assetType:(NSString *)assetTypeStr
28
- errorCallback:(RCTResponseSenderBlock)errorCallback
29
- successCallback: (RCTResponseSenderBlock)successCallback)
30
-
31
- RCT_EXTERN_METHOD(disposePrimerHeadlessUniversalCheckout)
32
-
33
- // MARK: - HELPERS
34
-
35
- RCT_EXTERN_METHOD(setImplementedRNCallbacks:(NSString *)implementedRNCallbacksStr resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
36
-
37
- // MARK: - DECISION HANDLERS
38
-
39
- // MARK: Tokenization Handlers
40
-
41
- RCT_EXTERN_METHOD(handleTokenizationNewClientToken:(NSString *)newClientToken resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
42
-
43
- RCT_EXTERN_METHOD(handleTokenizationSuccess:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
44
-
45
- RCT_EXTERN_METHOD(handleTokenizationFailure:(NSString *)errorMessage resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
46
-
47
- // MARK: Resume Handlers
48
-
49
- RCT_EXTERN_METHOD(handleResumeWithNewClientToken:(NSString *)newClientToken resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
50
-
51
- RCT_EXTERN_METHOD(handleResumeSuccess:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
52
-
53
- RCT_EXTERN_METHOD(handleResumeFailure:(NSString *)errorMessage resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
54
-
55
- // MARK: Payment Creation Handlers
56
-
57
- RCT_EXTERN_METHOD(handlePaymentCreationAbort:(NSString *)errorMessage resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
58
-
59
- RCT_EXTERN_METHOD(handlePaymentCreationContinue:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
60
-
61
-
62
- @end