@stripe/stripe-react-native 0.44.0 → 0.46.0

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 (334) hide show
  1. package/.clang-format +90 -0
  2. package/.editorconfig +3 -0
  3. package/CHANGELOG.md +13 -1
  4. package/README.md +0 -3
  5. package/android/.gradle/8.11.1/checksums/checksums.lock +0 -0
  6. package/android/.gradle/8.11.1/checksums/md5-checksums.bin +0 -0
  7. package/android/.gradle/8.11.1/checksums/sha1-checksums.bin +0 -0
  8. package/android/.gradle/8.11.1/executionHistory/executionHistory.bin +0 -0
  9. package/android/.gradle/8.11.1/executionHistory/executionHistory.lock +0 -0
  10. package/android/.gradle/8.11.1/fileHashes/fileHashes.bin +0 -0
  11. package/android/.gradle/8.11.1/fileHashes/fileHashes.lock +0 -0
  12. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  13. package/android/.gradle/buildOutputCleanup/cache.properties +1 -1
  14. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  15. package/android/.gradle/config.properties +2 -0
  16. package/android/.gradle/file-system.probe +0 -0
  17. package/android/.idea/caches/deviceStreaming.xml +619 -0
  18. package/android/.idea/compiler.xml +6 -0
  19. package/android/.idea/gradle.xml +19 -0
  20. package/android/.idea/migrations.xml +10 -0
  21. package/android/.idea/misc.xml +10 -0
  22. package/android/.idea/runConfigurations.xml +17 -0
  23. package/android/.idea/vcs.xml +6 -0
  24. package/android/build.gradle +90 -18
  25. package/android/gradle.properties +1 -1
  26. package/android/local.properties +8 -0
  27. package/android/src/main/java/com/reactnativestripesdk/AuBECSDebitFormViewManager.kt +15 -6
  28. package/android/src/main/java/com/reactnativestripesdk/CardChangeEvent.kt +56 -0
  29. package/android/src/main/java/com/reactnativestripesdk/CardFieldView.kt +4 -4
  30. package/android/src/main/java/com/reactnativestripesdk/CardFieldViewManager.kt +55 -45
  31. package/android/src/main/java/com/reactnativestripesdk/{CardFocusEvent.kt → CardFocusChangeEvent.kt} +2 -2
  32. package/android/src/main/java/com/reactnativestripesdk/CardFormCompleteEvent.kt +17 -16
  33. package/android/src/main/java/com/reactnativestripesdk/CardFormView.kt +5 -5
  34. package/android/src/main/java/com/reactnativestripesdk/CardFormViewManager.kt +39 -33
  35. package/android/src/main/java/com/reactnativestripesdk/CollectBankAccountLauncherFragment.kt +35 -36
  36. package/android/src/main/java/com/reactnativestripesdk/EmbeddedPaymentElementView.kt +224 -0
  37. package/android/src/main/java/com/reactnativestripesdk/EmbeddedPaymentElementViewManager.kt +238 -0
  38. package/android/src/main/java/com/reactnativestripesdk/FinancialConnectionsSheetFragment.kt +11 -26
  39. package/android/src/main/java/com/reactnativestripesdk/GooglePayButtonManager.kt +14 -6
  40. package/android/src/main/java/com/reactnativestripesdk/GooglePayLauncherFragment.kt +3 -17
  41. package/android/src/main/java/com/reactnativestripesdk/GooglePayPaymentMethodLauncherFragment.kt +20 -6
  42. package/android/src/main/java/com/reactnativestripesdk/PaymentLauncherFragment.kt +63 -44
  43. package/android/src/main/java/com/reactnativestripesdk/PaymentMethodCreateParamsFactory.kt +3 -1
  44. package/android/src/main/java/com/reactnativestripesdk/PaymentOptionDisplayDataMapper.kt +17 -0
  45. package/android/src/main/java/com/reactnativestripesdk/PaymentSheetAppearance.kt +266 -0
  46. package/android/src/main/java/com/reactnativestripesdk/PaymentSheetFragment.kt +25 -33
  47. package/android/src/main/java/com/reactnativestripesdk/StripeAbstractComposeView.kt +113 -0
  48. package/android/src/main/java/com/reactnativestripesdk/StripeContainerManager.kt +11 -3
  49. package/android/src/main/java/com/reactnativestripesdk/StripeSdkModule.kt +180 -65
  50. package/android/src/main/java/com/reactnativestripesdk/StripeSdkPackage.kt +34 -4
  51. package/android/src/main/java/com/reactnativestripesdk/addresssheet/AddressLauncherFragment.kt +3 -17
  52. package/android/src/main/java/com/reactnativestripesdk/addresssheet/AddressSheetView.kt +33 -27
  53. package/android/src/main/java/com/reactnativestripesdk/addresssheet/AddressSheetViewManager.kt +49 -24
  54. package/android/src/main/java/com/reactnativestripesdk/customersheet/CustomerSheetFragment.kt +19 -24
  55. package/android/src/main/java/com/reactnativestripesdk/customersheet/ReactNativeCustomerAdapter.kt +11 -29
  56. package/android/src/main/java/com/reactnativestripesdk/pushprovisioning/AddToWalletButtonManager.kt +36 -12
  57. package/android/src/main/java/com/reactnativestripesdk/pushprovisioning/AddToWalletButtonView.kt +5 -3
  58. package/android/src/main/java/com/reactnativestripesdk/utils/Extensions.kt +4 -0
  59. package/android/src/main/java/com/reactnativestripesdk/utils/KeepJsAwakeTask.kt +2 -2
  60. package/android/src/main/java/com/reactnativestripesdk/utils/Mappers.kt +21 -0
  61. package/android/src/main/java/com/reactnativestripesdk/utils/StripeFragment.kt +52 -0
  62. package/android/src/oldarch/java/com/facebook/react/viewmanagers/AddToWalletButtonManagerDelegate.java +49 -0
  63. package/android/src/oldarch/java/com/facebook/react/viewmanagers/AddToWalletButtonManagerInterface.java +25 -0
  64. package/android/src/oldarch/java/com/facebook/react/viewmanagers/AddressSheetViewManagerDelegate.java +64 -0
  65. package/android/src/oldarch/java/com/facebook/react/viewmanagers/AddressSheetViewManagerInterface.java +30 -0
  66. package/android/src/oldarch/java/com/facebook/react/viewmanagers/ApplePayButtonManagerDelegate.java +41 -0
  67. package/android/src/oldarch/java/com/facebook/react/viewmanagers/ApplePayButtonManagerInterface.java +20 -0
  68. package/android/src/oldarch/java/com/facebook/react/viewmanagers/AuBECSDebitFormManagerDelegate.java +36 -0
  69. package/android/src/oldarch/java/com/facebook/react/viewmanagers/AuBECSDebitFormManagerInterface.java +20 -0
  70. package/android/src/oldarch/java/com/facebook/react/viewmanagers/CardFieldManagerDelegate.java +73 -0
  71. package/android/src/oldarch/java/com/facebook/react/viewmanagers/CardFieldManagerInterface.java +31 -0
  72. package/android/src/oldarch/java/com/facebook/react/viewmanagers/CardFormManagerDelegate.java +67 -0
  73. package/android/src/oldarch/java/com/facebook/react/viewmanagers/CardFormManagerInterface.java +29 -0
  74. package/android/src/oldarch/java/com/facebook/react/viewmanagers/EmbeddedPaymentElementViewManagerDelegate.java +49 -0
  75. package/android/src/oldarch/java/com/facebook/react/viewmanagers/EmbeddedPaymentElementViewManagerInterface.java +21 -0
  76. package/android/src/oldarch/java/com/facebook/react/viewmanagers/GooglePayButtonManagerDelegate.java +38 -0
  77. package/android/src/oldarch/java/com/facebook/react/viewmanagers/GooglePayButtonManagerInterface.java +19 -0
  78. package/android/src/oldarch/java/com/facebook/react/viewmanagers/StripeContainerManagerDelegate.java +32 -0
  79. package/android/src/oldarch/java/com/facebook/react/viewmanagers/StripeContainerManagerInterface.java +17 -0
  80. package/android/src/oldarch/java/com/reactnativestripesdk/NativeStripeSdkModuleSpec.java +310 -0
  81. package/ios/AddressSheet/AddressSheetUtils.swift +21 -19
  82. package/ios/AddressSheet/AddressSheetView.swift +23 -17
  83. package/ios/ApplePayButtonManager.m +0 -1
  84. package/ios/ApplePayButtonManager.swift +1 -3
  85. package/ios/ApplePayButtonView.swift +25 -20
  86. package/ios/ApplePayViewController.swift +22 -22
  87. package/ios/AuBECSDebitFormView.swift +14 -8
  88. package/ios/CardFieldManager.swift +1 -4
  89. package/ios/CardFieldView.swift +28 -25
  90. package/ios/CardFormManager.swift +1 -4
  91. package/ios/CardFormView.swift +25 -16
  92. package/ios/CustomerSheet/CustomerSheetUtils.swift +12 -16
  93. package/ios/CustomerSheet/ReactNativeCustomerAdapter.swift +8 -8
  94. package/ios/EmbeddedPaymentElementManager.m +6 -0
  95. package/ios/EmbeddedPaymentElementView.swift +49 -0
  96. package/ios/NewArch/AddToWalletButtonComponentView.h +10 -0
  97. package/ios/NewArch/AddToWalletButtonComponentView.mm +93 -0
  98. package/ios/NewArch/AddressSheetViewComponentView.h +10 -0
  99. package/ios/NewArch/AddressSheetViewComponentView.mm +109 -0
  100. package/ios/NewArch/ApplePayButtonComponentView.h +10 -0
  101. package/ios/NewArch/ApplePayButtonComponentView.mm +124 -0
  102. package/ios/NewArch/AuBECSDebitFormComponentView.h +10 -0
  103. package/ios/NewArch/AuBECSDebitFormComponentView.mm +95 -0
  104. package/ios/NewArch/CardFieldComponentView.h +10 -0
  105. package/ios/NewArch/CardFieldComponentView.mm +125 -0
  106. package/ios/NewArch/CardFormComponentView.h +10 -0
  107. package/ios/NewArch/CardFormComponentView.mm +108 -0
  108. package/ios/NewArch/EmbeddedPaymentElementViewComponentView.h +10 -0
  109. package/ios/NewArch/EmbeddedPaymentElementViewComponentView.mm +81 -0
  110. package/ios/NewArch/StripeContainerComponentView.h +10 -0
  111. package/ios/NewArch/StripeContainerComponentView.mm +74 -0
  112. package/ios/NewArch/StripeNewArchConversions.h +20 -0
  113. package/ios/NewArch/StripeNewArchConversions.mm +47 -0
  114. package/ios/OldArch/StripeSdkEventEmitterCompat.h +27 -0
  115. package/ios/OldArch/StripeSdkEventEmitterCompat.m +105 -0
  116. package/ios/PaymentOptionDisplayData+ReactNative.swift +55 -0
  117. package/ios/PaymentSheetAppearance.swift +194 -1
  118. package/ios/PushProvisioning/AddToWalletButtonView.swift +19 -13
  119. package/ios/StripeContainerView.swift +5 -3
  120. package/ios/StripeSdk.h +21 -0
  121. package/ios/StripeSdk.mm +415 -0
  122. package/ios/StripeSdkEmitter.swift +19 -0
  123. package/ios/{StripeSdk+CustomerSheet.swift → StripeSdkImpl+CustomerSheet.swift} +24 -25
  124. package/ios/StripeSdkImpl+Embedded.swift +327 -0
  125. package/ios/{StripeSdk+PaymentSheet.swift → StripeSdkImpl+PaymentSheet.swift} +18 -29
  126. package/ios/{StripeSdk.swift → StripeSdkImpl.swift} +50 -72
  127. package/ios/StripeSwiftInterop.h +25 -0
  128. package/ios/stripe_react_native.h +2 -0
  129. package/lib/commonjs/components/AddToWalletButton.js +1 -1
  130. package/lib/commonjs/components/AddToWalletButton.js.map +1 -1
  131. package/lib/commonjs/components/AddressSheet.js +1 -1
  132. package/lib/commonjs/components/AddressSheet.js.map +1 -1
  133. package/lib/commonjs/components/AuBECSDebitForm.js +1 -1
  134. package/lib/commonjs/components/AuBECSDebitForm.js.map +1 -1
  135. package/lib/commonjs/components/CardField.js +1 -1
  136. package/lib/commonjs/components/CardField.js.map +1 -1
  137. package/lib/commonjs/components/CardForm.js +1 -1
  138. package/lib/commonjs/components/CardForm.js.map +1 -1
  139. package/lib/commonjs/components/CustomerSheet.js +1 -1
  140. package/lib/commonjs/components/CustomerSheet.js.map +1 -1
  141. package/lib/commonjs/components/PlatformPayButton.js +1 -1
  142. package/lib/commonjs/components/PlatformPayButton.js.map +1 -1
  143. package/lib/commonjs/components/StripeContainer.js +1 -1
  144. package/lib/commonjs/components/StripeContainer.js.map +1 -1
  145. package/lib/commonjs/components/StripeProvider.js +1 -1
  146. package/lib/commonjs/components/StripeProvider.js.map +1 -1
  147. package/lib/commonjs/events.js +2 -0
  148. package/lib/commonjs/events.js.map +1 -0
  149. package/lib/commonjs/functions.js +1 -1
  150. package/lib/commonjs/functions.js.map +1 -1
  151. package/lib/commonjs/index.js +1 -1
  152. package/lib/commonjs/index.js.map +1 -1
  153. package/lib/commonjs/specs/NativeAddToWalletButton.js +2 -0
  154. package/lib/commonjs/specs/NativeAddToWalletButton.js.map +1 -0
  155. package/lib/commonjs/specs/NativeAddressSheet.js +2 -0
  156. package/lib/commonjs/specs/NativeAddressSheet.js.map +1 -0
  157. package/lib/commonjs/specs/NativeApplePayButton.js +2 -0
  158. package/lib/commonjs/specs/NativeApplePayButton.js.map +1 -0
  159. package/lib/commonjs/specs/NativeAuBECSDebitForm.js +2 -0
  160. package/lib/commonjs/specs/NativeAuBECSDebitForm.js.map +1 -0
  161. package/lib/commonjs/specs/NativeCardField.js +2 -0
  162. package/lib/commonjs/specs/NativeCardField.js.map +1 -0
  163. package/lib/commonjs/specs/NativeCardForm.js +2 -0
  164. package/lib/commonjs/specs/NativeCardForm.js.map +1 -0
  165. package/lib/commonjs/specs/NativeEmbeddedPaymentElement.js +2 -0
  166. package/lib/commonjs/specs/NativeEmbeddedPaymentElement.js.map +1 -0
  167. package/lib/commonjs/specs/NativeGooglePayButton.js +2 -0
  168. package/lib/commonjs/specs/NativeGooglePayButton.js.map +1 -0
  169. package/lib/commonjs/specs/NativeStripeContainer.js +2 -0
  170. package/lib/commonjs/specs/NativeStripeContainer.js.map +1 -0
  171. package/lib/commonjs/specs/NativeStripeSdkModule.js +2 -0
  172. package/lib/commonjs/specs/NativeStripeSdkModule.js.map +1 -0
  173. package/lib/commonjs/specs/utils.js +2 -0
  174. package/lib/commonjs/specs/utils.js.map +1 -0
  175. package/lib/commonjs/types/EmbeddedPaymentElement.js +2 -0
  176. package/lib/commonjs/types/EmbeddedPaymentElement.js.map +1 -0
  177. package/lib/commonjs/types/PaymentSheet.js +1 -1
  178. package/lib/commonjs/types/PaymentSheet.js.map +1 -1
  179. package/lib/module/components/AddToWalletButton.js +1 -1
  180. package/lib/module/components/AddToWalletButton.js.map +1 -1
  181. package/lib/module/components/AddressSheet.js +1 -1
  182. package/lib/module/components/AddressSheet.js.map +1 -1
  183. package/lib/module/components/AuBECSDebitForm.js +1 -1
  184. package/lib/module/components/AuBECSDebitForm.js.map +1 -1
  185. package/lib/module/components/CardField.js +1 -1
  186. package/lib/module/components/CardField.js.map +1 -1
  187. package/lib/module/components/CardForm.js +1 -1
  188. package/lib/module/components/CardForm.js.map +1 -1
  189. package/lib/module/components/CustomerSheet.js +1 -1
  190. package/lib/module/components/CustomerSheet.js.map +1 -1
  191. package/lib/module/components/PlatformPayButton.js +1 -1
  192. package/lib/module/components/PlatformPayButton.js.map +1 -1
  193. package/lib/module/components/StripeContainer.js +1 -1
  194. package/lib/module/components/StripeContainer.js.map +1 -1
  195. package/lib/module/components/StripeProvider.js +1 -1
  196. package/lib/module/components/StripeProvider.js.map +1 -1
  197. package/lib/module/events.js +2 -0
  198. package/lib/module/events.js.map +1 -0
  199. package/lib/module/functions.js +1 -1
  200. package/lib/module/functions.js.map +1 -1
  201. package/lib/module/index.js +1 -1
  202. package/lib/module/index.js.map +1 -1
  203. package/lib/module/specs/NativeAddToWalletButton.js +2 -0
  204. package/lib/module/specs/NativeAddToWalletButton.js.map +1 -0
  205. package/lib/module/specs/NativeAddressSheet.js +2 -0
  206. package/lib/module/specs/NativeAddressSheet.js.map +1 -0
  207. package/lib/module/specs/NativeApplePayButton.js +2 -0
  208. package/lib/module/specs/NativeApplePayButton.js.map +1 -0
  209. package/lib/module/specs/NativeAuBECSDebitForm.js +2 -0
  210. package/lib/module/specs/NativeAuBECSDebitForm.js.map +1 -0
  211. package/lib/module/specs/NativeCardField.js +2 -0
  212. package/lib/module/specs/NativeCardField.js.map +1 -0
  213. package/lib/module/specs/NativeCardForm.js +2 -0
  214. package/lib/module/specs/NativeCardForm.js.map +1 -0
  215. package/lib/module/specs/NativeEmbeddedPaymentElement.js +2 -0
  216. package/lib/module/specs/NativeEmbeddedPaymentElement.js.map +1 -0
  217. package/lib/module/specs/NativeGooglePayButton.js +2 -0
  218. package/lib/module/specs/NativeGooglePayButton.js.map +1 -0
  219. package/lib/module/specs/NativeStripeContainer.js +2 -0
  220. package/lib/module/specs/NativeStripeContainer.js.map +1 -0
  221. package/lib/module/specs/NativeStripeSdkModule.js +2 -0
  222. package/lib/module/specs/NativeStripeSdkModule.js.map +1 -0
  223. package/lib/module/specs/utils.js +2 -0
  224. package/lib/module/specs/utils.js.map +1 -0
  225. package/lib/module/types/EmbeddedPaymentElement.js +2 -0
  226. package/lib/module/types/EmbeddedPaymentElement.js.map +1 -0
  227. package/lib/module/types/PaymentSheet.js +1 -1
  228. package/lib/module/types/PaymentSheet.js.map +1 -1
  229. package/lib/typescript/src/components/AddToWalletButton.d.ts.map +1 -1
  230. package/lib/typescript/src/components/AddressSheet.d.ts.map +1 -1
  231. package/lib/typescript/src/components/AuBECSDebitForm.d.ts.map +1 -1
  232. package/lib/typescript/src/components/CardField.d.ts +1 -1
  233. package/lib/typescript/src/components/CardField.d.ts.map +1 -1
  234. package/lib/typescript/src/components/CardForm.d.ts +1 -1
  235. package/lib/typescript/src/components/CardForm.d.ts.map +1 -1
  236. package/lib/typescript/src/components/CustomerSheet.d.ts +1 -1
  237. package/lib/typescript/src/components/CustomerSheet.d.ts.map +1 -1
  238. package/lib/typescript/src/components/StripeContainer.d.ts.map +1 -1
  239. package/lib/typescript/src/events.d.ts +13 -0
  240. package/lib/typescript/src/events.d.ts.map +1 -0
  241. package/lib/typescript/src/functions.d.ts.map +1 -1
  242. package/lib/typescript/src/hooks/useFinancialConnectionsSheet.d.ts +4 -4
  243. package/lib/typescript/src/hooks/useFinancialConnectionsSheet.d.ts.map +1 -1
  244. package/lib/typescript/src/hooks/useStripe.d.ts +2 -2
  245. package/lib/typescript/src/hooks/useStripe.d.ts.map +1 -1
  246. package/lib/typescript/src/index.d.ts +2 -0
  247. package/lib/typescript/src/index.d.ts.map +1 -1
  248. package/lib/typescript/src/specs/NativeAddToWalletButton.d.ts +27 -0
  249. package/lib/typescript/src/specs/NativeAddToWalletButton.d.ts.map +1 -0
  250. package/lib/typescript/src/specs/NativeAddressSheet.d.ts +34 -0
  251. package/lib/typescript/src/specs/NativeAddressSheet.d.ts.map +1 -0
  252. package/lib/typescript/src/specs/NativeApplePayButton.d.ts +28 -0
  253. package/lib/typescript/src/specs/NativeApplePayButton.d.ts.map +1 -0
  254. package/lib/typescript/src/specs/NativeAuBECSDebitForm.d.ts +19 -0
  255. package/lib/typescript/src/specs/NativeAuBECSDebitForm.d.ts.map +1 -0
  256. package/lib/typescript/src/specs/NativeCardField.d.ts +33 -0
  257. package/lib/typescript/src/specs/NativeCardField.d.ts.map +1 -0
  258. package/lib/typescript/src/specs/NativeCardForm.d.ts +31 -0
  259. package/lib/typescript/src/specs/NativeCardForm.d.ts.map +1 -0
  260. package/lib/typescript/src/specs/NativeEmbeddedPaymentElement.d.ts +17 -0
  261. package/lib/typescript/src/specs/NativeEmbeddedPaymentElement.d.ts.map +1 -0
  262. package/lib/typescript/src/specs/NativeGooglePayButton.d.ts +11 -0
  263. package/lib/typescript/src/specs/NativeGooglePayButton.d.ts.map +1 -0
  264. package/lib/typescript/src/specs/NativeStripeContainer.d.ts +8 -0
  265. package/lib/typescript/src/specs/NativeStripeContainer.d.ts.map +1 -0
  266. package/lib/typescript/src/specs/NativeStripeSdkModule.d.ts +93 -0
  267. package/lib/typescript/src/specs/NativeStripeSdkModule.d.ts.map +1 -0
  268. package/lib/typescript/src/specs/utils.d.ts +20 -0
  269. package/lib/typescript/src/specs/utils.d.ts.map +1 -0
  270. package/lib/typescript/src/types/CustomerSheet.d.ts +1 -5
  271. package/lib/typescript/src/types/CustomerSheet.d.ts.map +1 -1
  272. package/lib/typescript/src/types/EmbeddedPaymentElement.d.ts +161 -0
  273. package/lib/typescript/src/types/EmbeddedPaymentElement.d.ts.map +1 -0
  274. package/lib/typescript/src/types/PaymentSheet.d.ts +97 -4
  275. package/lib/typescript/src/types/PaymentSheet.d.ts.map +1 -1
  276. package/lib/typescript/src/types/components/CardFieldInput.d.ts +3 -2
  277. package/lib/typescript/src/types/components/CardFieldInput.d.ts.map +1 -1
  278. package/lib/typescript/src/types/components/CardFormView.d.ts +3 -1
  279. package/lib/typescript/src/types/components/CardFormView.d.ts.map +1 -1
  280. package/package.json +22 -2
  281. package/src/components/AddToWalletButton.tsx +2 -5
  282. package/src/components/AddressSheet.tsx +5 -16
  283. package/src/components/AuBECSDebitForm.tsx +3 -12
  284. package/src/components/CardField.tsx +20 -30
  285. package/src/components/CardForm.tsx +14 -29
  286. package/src/components/CustomerSheet.tsx +23 -25
  287. package/src/components/PlatformPayButton.tsx +6 -6
  288. package/src/components/StripeContainer.tsx +5 -12
  289. package/src/components/StripeProvider.tsx +1 -1
  290. package/src/events.ts +49 -0
  291. package/src/functions.ts +13 -24
  292. package/src/hooks/useFinancialConnectionsSheet.tsx +2 -2
  293. package/src/hooks/useStripe.tsx +2 -2
  294. package/src/index.tsx +3 -0
  295. package/src/specs/NativeAddToWalletButton.ts +40 -0
  296. package/src/specs/NativeAddressSheet.ts +50 -0
  297. package/src/specs/NativeApplePayButton.ts +40 -0
  298. package/src/specs/NativeAuBECSDebitForm.ts +24 -0
  299. package/src/specs/NativeCardField.ts +51 -0
  300. package/src/specs/NativeCardForm.ts +43 -0
  301. package/src/specs/NativeEmbeddedPaymentElement.ts +28 -0
  302. package/src/specs/NativeGooglePayButton.ts +20 -0
  303. package/src/specs/NativeStripeContainer.ts +12 -0
  304. package/src/specs/NativeStripeSdkModule.ts +219 -0
  305. package/src/specs/utils.ts +22 -0
  306. package/src/types/CustomerSheet.ts +1 -5
  307. package/src/types/EmbeddedPaymentElement.tsx +467 -0
  308. package/src/types/PaymentSheet.ts +114 -4
  309. package/src/types/components/CardFieldInput.ts +1 -2
  310. package/src/types/components/CardFormView.ts +1 -1
  311. package/stripe-react-native.podspec +27 -2
  312. package/android/src/main/java/com/reactnativestripesdk/CardChangedEvent.kt +0 -54
  313. package/ios/StripeSdk.m +0 -244
  314. package/lib/commonjs/NativeStripeSdk.js +0 -2
  315. package/lib/commonjs/NativeStripeSdk.js.map +0 -1
  316. package/lib/commonjs/components/ApplePayButtonNative.js +0 -2
  317. package/lib/commonjs/components/ApplePayButtonNative.js.map +0 -1
  318. package/lib/commonjs/components/GooglePayButtonNative.js +0 -2
  319. package/lib/commonjs/components/GooglePayButtonNative.js.map +0 -1
  320. package/lib/module/NativeStripeSdk.js +0 -2
  321. package/lib/module/NativeStripeSdk.js.map +0 -1
  322. package/lib/module/components/ApplePayButtonNative.js +0 -2
  323. package/lib/module/components/ApplePayButtonNative.js.map +0 -1
  324. package/lib/module/components/GooglePayButtonNative.js +0 -2
  325. package/lib/module/components/GooglePayButtonNative.js.map +0 -1
  326. package/lib/typescript/src/NativeStripeSdk.d.ts +0 -58
  327. package/lib/typescript/src/NativeStripeSdk.d.ts.map +0 -1
  328. package/lib/typescript/src/components/ApplePayButtonNative.d.ts +0 -4
  329. package/lib/typescript/src/components/ApplePayButtonNative.d.ts.map +0 -1
  330. package/lib/typescript/src/components/GooglePayButtonNative.d.ts +0 -4
  331. package/lib/typescript/src/components/GooglePayButtonNative.d.ts.map +0 -1
  332. package/src/NativeStripeSdk.tsx +0 -159
  333. package/src/components/ApplePayButtonNative.tsx +0 -5
  334. package/src/components/GooglePayButtonNative.tsx +0 -7
@@ -0,0 +1,19 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GeneratePropsJavaInterface.js
8
+ */
9
+
10
+ package com.facebook.react.viewmanagers;
11
+
12
+ import android.view.View;
13
+ import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;
14
+
15
+ public interface GooglePayButtonManagerInterface<T extends View> extends ViewManagerWithGeneratedInterface {
16
+ void setType(T view, int value);
17
+ void setAppearance(T view, int value);
18
+ void setBorderRadius(T view, int value);
19
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GeneratePropsJavaDelegate.js
8
+ */
9
+
10
+ package com.facebook.react.viewmanagers;
11
+
12
+ import android.view.View;
13
+ import androidx.annotation.Nullable;
14
+ import com.facebook.react.uimanager.BaseViewManager;
15
+ import com.facebook.react.uimanager.BaseViewManagerDelegate;
16
+ import com.facebook.react.uimanager.LayoutShadowNode;
17
+
18
+ public class StripeContainerManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & StripeContainerManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
19
+ public StripeContainerManagerDelegate(U viewManager) {
20
+ super(viewManager);
21
+ }
22
+ @Override
23
+ public void setProperty(T view, String propName, @Nullable Object value) {
24
+ switch (propName) {
25
+ case "keyboardShouldPersistTaps":
26
+ mViewManager.setKeyboardShouldPersistTaps(view, value == null ? false : (boolean) value);
27
+ break;
28
+ default:
29
+ super.setProperty(view, propName, value);
30
+ }
31
+ }
32
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GeneratePropsJavaInterface.js
8
+ */
9
+
10
+ package com.facebook.react.viewmanagers;
11
+
12
+ import android.view.View;
13
+ import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;
14
+
15
+ public interface StripeContainerManagerInterface<T extends View> extends ViewManagerWithGeneratedInterface {
16
+ void setKeyboardShouldPersistTaps(T view, boolean value);
17
+ }
@@ -0,0 +1,310 @@
1
+ // This is a modified version of the codegen file. Since old arch does not support mEventEmitterCallback
2
+ // we implement event emitting with RCTDeviceEventEmitter.
3
+ // To update this file run ./scripts/old-arch-codegen-android
4
+
5
+ /**
6
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
7
+ *
8
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
9
+ * once the code is regenerated.
10
+ *
11
+ * @generated by codegen project: GenerateModuleJavaSpec.js
12
+ *
13
+ * @nolint
14
+ */
15
+
16
+ package com.reactnativestripesdk;
17
+
18
+ import com.facebook.proguard.annotations.DoNotStrip;
19
+ import com.facebook.react.bridge.Promise;
20
+ import com.facebook.react.bridge.ReactApplicationContext;
21
+ import com.facebook.react.bridge.ReactContextBaseJavaModule;
22
+ import com.facebook.react.bridge.ReactMethod;
23
+ import com.facebook.react.bridge.ReadableArray;
24
+ import com.facebook.react.bridge.ReadableMap;
25
+ import com.facebook.react.common.build.ReactBuildConfig;
26
+ import com.facebook.react.modules.core.DeviceEventManagerModule;
27
+ import com.facebook.react.turbomodule.core.interfaces.TurboModule;
28
+ import java.util.Arrays;
29
+ import java.util.HashSet;
30
+ import java.util.Map;
31
+ import java.util.Set;
32
+ import javax.annotation.Nonnull;
33
+ import javax.annotation.Nullable;
34
+
35
+ public abstract class NativeStripeSdkModuleSpec extends ReactContextBaseJavaModule implements TurboModule {
36
+ public static final String NAME = "StripeSdk";
37
+
38
+ public NativeStripeSdkModuleSpec(ReactApplicationContext reactContext) {
39
+ super(reactContext);
40
+ }
41
+
42
+ @Override
43
+ public @Nonnull String getName() {
44
+ return NAME;
45
+ }
46
+
47
+ private void invoke(String eventName, Object params) {
48
+ getReactApplicationContext()
49
+ .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
50
+ .emit(eventName, params);
51
+ }
52
+
53
+ private void invoke(String eventName) {
54
+ invoke(eventName, null);
55
+ }
56
+
57
+ protected final void emitOnConfirmHandlerCallback(ReadableMap value) {
58
+ invoke("onConfirmHandlerCallback", value);
59
+ }
60
+
61
+ protected final void emitOnFinancialConnectionsEvent(ReadableMap value) {
62
+ invoke("onFinancialConnectionsEvent", value);
63
+ }
64
+
65
+ protected final void emitOnOrderTrackingCallback() {
66
+ invoke("onOrderTrackingCallback");
67
+ }
68
+
69
+ protected final void emitOnCustomerAdapterFetchPaymentMethodsCallback() {
70
+ invoke("onCustomerAdapterFetchPaymentMethodsCallback");
71
+ }
72
+
73
+ protected final void emitOnCustomerAdapterAttachPaymentMethodCallback(ReadableMap value) {
74
+ invoke("onCustomerAdapterAttachPaymentMethodCallback", value);
75
+ }
76
+
77
+ protected final void emitOnCustomerAdapterDetachPaymentMethodCallback(ReadableMap value) {
78
+ invoke("onCustomerAdapterDetachPaymentMethodCallback", value);
79
+ }
80
+
81
+ protected final void emitOnCustomerAdapterSetSelectedPaymentOptionCallback(ReadableMap value) {
82
+ invoke("onCustomerAdapterSetSelectedPaymentOptionCallback", value);
83
+ }
84
+
85
+ protected final void emitOnCustomerAdapterFetchSelectedPaymentOptionCallback() {
86
+ invoke("onCustomerAdapterFetchSelectedPaymentOptionCallback");
87
+ }
88
+
89
+ protected final void emitOnCustomerAdapterSetupIntentClientSecretForCustomerAttachCallback() {
90
+ invoke("onCustomerAdapterSetupIntentClientSecretForCustomerAttachCallback");
91
+ }
92
+
93
+ protected final void emitEmbeddedPaymentElementDidUpdateHeight(ReadableMap value) {
94
+ invoke("embeddedPaymentElementDidUpdateHeight", value);
95
+ }
96
+
97
+ protected final void emitEmbeddedPaymentElementWillPresent() {
98
+ invoke("embeddedPaymentElementWillPresent");
99
+ }
100
+
101
+ protected final void emitEmbeddedPaymentElementDidUpdatePaymentOption(ReadableMap value) {
102
+ invoke("embeddedPaymentElementDidUpdatePaymentOption", value);
103
+ }
104
+
105
+ protected final void emitEmbeddedPaymentElementFormSheetConfirmComplete(ReadableMap value) {
106
+ invoke("embeddedPaymentElementFormSheetConfirmComplete", value);
107
+ }
108
+
109
+ protected final void emitEmbeddedPaymentElementRowSelectionImmediateAction() {
110
+ invoke("embeddedPaymentElementRowSelectionImmediateAction");
111
+ }
112
+
113
+ protected final void emitEmbeddedPaymentElementLoadingFailed(ReadableMap value) {
114
+ invoke("embeddedPaymentElementLoadingFailed", value);
115
+ }
116
+
117
+ @ReactMethod
118
+ @DoNotStrip
119
+ public abstract void initialise(ReadableMap params, Promise promise);
120
+
121
+ @ReactMethod
122
+ @DoNotStrip
123
+ public abstract void createPaymentMethod(ReadableMap params, ReadableMap options, Promise promise);
124
+
125
+ @ReactMethod
126
+ @DoNotStrip
127
+ public abstract void handleNextAction(String paymentIntentClientSecret, @Nullable String returnURL, Promise promise);
128
+
129
+ @ReactMethod
130
+ @DoNotStrip
131
+ public abstract void handleNextActionForSetup(String setupIntentClientSecret, @Nullable String returnURL, Promise promise);
132
+
133
+ @ReactMethod
134
+ @DoNotStrip
135
+ public abstract void confirmPayment(String paymentIntentClientSecret, @Nullable ReadableMap params, @Nullable ReadableMap options, Promise promise);
136
+
137
+ @ReactMethod
138
+ @DoNotStrip
139
+ public abstract void confirmSetupIntent(String paymentIntentClientSecret, ReadableMap params, ReadableMap options, Promise promise);
140
+
141
+ @ReactMethod
142
+ @DoNotStrip
143
+ public abstract void retrievePaymentIntent(String clientSecret, Promise promise);
144
+
145
+ @ReactMethod
146
+ @DoNotStrip
147
+ public abstract void retrieveSetupIntent(String clientSecret, Promise promise);
148
+
149
+ @ReactMethod
150
+ @DoNotStrip
151
+ public abstract void initPaymentSheet(ReadableMap params, Promise promise);
152
+
153
+ @ReactMethod
154
+ @DoNotStrip
155
+ public abstract void intentCreationCallback(ReadableMap result, Promise promise);
156
+
157
+ @ReactMethod
158
+ @DoNotStrip
159
+ public abstract void presentPaymentSheet(ReadableMap options, Promise promise);
160
+
161
+ @ReactMethod
162
+ @DoNotStrip
163
+ public abstract void confirmPaymentSheetPayment(Promise promise);
164
+
165
+ @ReactMethod
166
+ @DoNotStrip
167
+ public abstract void createTokenForCVCUpdate(String cvc, Promise promise);
168
+
169
+ @ReactMethod
170
+ @DoNotStrip
171
+ public abstract void handleURLCallback(String url, Promise promise);
172
+
173
+ @ReactMethod
174
+ @DoNotStrip
175
+ public abstract void createToken(ReadableMap params, Promise promise);
176
+
177
+ @ReactMethod
178
+ @DoNotStrip
179
+ public abstract void openApplePaySetup(Promise promise);
180
+
181
+ @ReactMethod
182
+ @DoNotStrip
183
+ public abstract void verifyMicrodeposits(boolean isPaymentIntent, String clientSecret, ReadableMap params, Promise promise);
184
+
185
+ @ReactMethod
186
+ @DoNotStrip
187
+ public abstract void collectBankAccount(boolean isPaymentIntent, String clientSecret, ReadableMap params, Promise promise);
188
+
189
+ protected abstract Map<String, Object> getTypedExportedConstants();
190
+
191
+ @Override
192
+ @DoNotStrip
193
+ public final @Nullable Map<String, Object> getConstants() {
194
+ Map<String, Object> constants = getTypedExportedConstants();
195
+ if (ReactBuildConfig.DEBUG || ReactBuildConfig.IS_INTERNAL_BUILD) {
196
+ Set<String> obligatoryFlowConstants = new HashSet<>(Arrays.asList(
197
+ "API_VERSIONS"
198
+ ));
199
+ Set<String> optionalFlowConstants = new HashSet<>();
200
+ Set<String> undeclaredConstants = new HashSet<>(constants.keySet());
201
+ undeclaredConstants.removeAll(obligatoryFlowConstants);
202
+ undeclaredConstants.removeAll(optionalFlowConstants);
203
+ if (!undeclaredConstants.isEmpty()) {
204
+ throw new IllegalStateException(String.format("Native Module Flow doesn't declare constants: %s", undeclaredConstants));
205
+ }
206
+ undeclaredConstants = obligatoryFlowConstants;
207
+ undeclaredConstants.removeAll(constants.keySet());
208
+ if (!undeclaredConstants.isEmpty()) {
209
+ throw new IllegalStateException(String.format("Native Module doesn't fill in constants: %s", undeclaredConstants));
210
+ }
211
+ }
212
+ return constants;
213
+ }
214
+
215
+ @ReactMethod
216
+ @DoNotStrip
217
+ public abstract void canAddCardToWallet(ReadableMap params, Promise promise);
218
+
219
+ @ReactMethod
220
+ @DoNotStrip
221
+ public abstract void isCardInWallet(ReadableMap params, Promise promise);
222
+
223
+ @ReactMethod
224
+ @DoNotStrip
225
+ public abstract void collectBankAccountToken(String clientSecret, ReadableMap params, Promise promise);
226
+
227
+ @ReactMethod
228
+ @DoNotStrip
229
+ public abstract void collectFinancialConnectionsAccounts(String clientSecret, ReadableMap params, Promise promise);
230
+
231
+ @ReactMethod
232
+ @DoNotStrip
233
+ public abstract void resetPaymentSheetCustomer(Promise promise);
234
+
235
+ @ReactMethod
236
+ @DoNotStrip
237
+ public abstract void isPlatformPaySupported(ReadableMap params, Promise promise);
238
+
239
+ @ReactMethod
240
+ @DoNotStrip
241
+ public abstract void createPlatformPayPaymentMethod(ReadableMap params, boolean usesDeprecatedTokenFlow, Promise promise);
242
+
243
+ @ReactMethod
244
+ @DoNotStrip
245
+ public abstract void dismissPlatformPay(Promise promise);
246
+
247
+ @ReactMethod
248
+ @DoNotStrip
249
+ public abstract void updatePlatformPaySheet(ReadableArray summaryItems, ReadableArray shippingMethods, ReadableArray errors, Promise promise);
250
+
251
+ @ReactMethod
252
+ @DoNotStrip
253
+ public abstract void confirmPlatformPay(String clientSecret, ReadableMap params, boolean isPaymentIntent, Promise promise);
254
+
255
+ @ReactMethod
256
+ @DoNotStrip
257
+ public abstract void configureOrderTracking(String orderTypeIdentifier, String orderIdentifier, String webServiceUrl, String authenticationToken, Promise promise);
258
+
259
+ @ReactMethod
260
+ @DoNotStrip
261
+ public abstract void initCustomerSheet(ReadableMap params, ReadableMap customerAdapterOverrides, Promise promise);
262
+
263
+ @ReactMethod
264
+ @DoNotStrip
265
+ public abstract void presentCustomerSheet(ReadableMap params, Promise promise);
266
+
267
+ @ReactMethod
268
+ @DoNotStrip
269
+ public abstract void retrieveCustomerSheetPaymentOptionSelection(Promise promise);
270
+
271
+ @ReactMethod
272
+ @DoNotStrip
273
+ public abstract void customerAdapterFetchPaymentMethodsCallback(ReadableArray paymentMethods, Promise promise);
274
+
275
+ @ReactMethod
276
+ @DoNotStrip
277
+ public abstract void customerAdapterAttachPaymentMethodCallback(ReadableMap paymentMethod, Promise promise);
278
+
279
+ @ReactMethod
280
+ @DoNotStrip
281
+ public abstract void customerAdapterDetachPaymentMethodCallback(ReadableMap paymentMethod, Promise promise);
282
+
283
+ @ReactMethod
284
+ @DoNotStrip
285
+ public abstract void customerAdapterSetSelectedPaymentOptionCallback(Promise promise);
286
+
287
+ @ReactMethod
288
+ @DoNotStrip
289
+ public abstract void customerAdapterFetchSelectedPaymentOptionCallback(@Nullable String paymentOption, Promise promise);
290
+
291
+ @ReactMethod
292
+ @DoNotStrip
293
+ public abstract void customerAdapterSetupIntentClientSecretForCustomerAttachCallback(String clientSecret, Promise promise);
294
+
295
+ @ReactMethod
296
+ @DoNotStrip
297
+ public abstract void createEmbeddedPaymentElement(ReadableMap intentConfig, ReadableMap configuration, Promise promise);
298
+
299
+ @ReactMethod
300
+ @DoNotStrip
301
+ public abstract void confirmEmbeddedPaymentElement(double viewTag, Promise promise);
302
+
303
+ @ReactMethod
304
+ @DoNotStrip
305
+ public abstract void updateEmbeddedPaymentElement(ReadableMap intentConfig, Promise promise);
306
+
307
+ @ReactMethod
308
+ @DoNotStrip
309
+ public abstract void clearEmbeddedPaymentOption(double viewTag, Promise promise);
310
+ }
@@ -13,7 +13,7 @@ class AddressSheetUtils {
13
13
  guard let params = params else {
14
14
  return AddressViewController.Configuration.DefaultAddressDetails()
15
15
  }
16
-
16
+
17
17
  return AddressViewController.Configuration.DefaultAddressDetails(
18
18
  address: buildAddress(params: params["address"] as? NSDictionary),
19
19
  name: params["name"] as? String,
@@ -21,7 +21,7 @@ class AddressSheetUtils {
21
21
  isCheckboxSelected: params["isCheckboxSelected"] as? Bool
22
22
  )
23
23
  }
24
-
24
+
25
25
  internal class func buildAddressDetails(params: NSDictionary?) -> AddressViewController.AddressDetails {
26
26
  guard let params = params else { return AddressViewController.AddressDetails(address: buildAddress(params: nil)) }
27
27
  return AddressViewController.AddressDetails(
@@ -30,7 +30,7 @@ class AddressSheetUtils {
30
30
  phone: params["phone"] as? String,
31
31
  isCheckboxSelected: params["isCheckboxSelected"] as? Bool)
32
32
  }
33
-
33
+
34
34
  internal class func buildAddress(params: NSDictionary?) -> PaymentSheet.Address {
35
35
  guard let params = params else { return PaymentSheet.Address() }
36
36
  return PaymentSheet.Address(
@@ -42,7 +42,7 @@ class AddressSheetUtils {
42
42
  state: params["state"] as? String
43
43
  )
44
44
  }
45
-
45
+
46
46
  internal class func buildAddress(params: NSDictionary?) -> AddressViewController.AddressDetails.Address {
47
47
  guard let params = params else { return AddressViewController.AddressDetails.Address(country: "", line1: "") }
48
48
  return AddressViewController.AddressDetails.Address(
@@ -54,7 +54,7 @@ class AddressSheetUtils {
54
54
  state: params["state"] as? String
55
55
  )
56
56
  }
57
-
57
+
58
58
  internal class func buildAdditionalFieldsConfiguration(params: NSDictionary?) -> AddressViewController.Configuration.AdditionalFields {
59
59
  guard let params = params else {
60
60
  return AddressViewController.Configuration.AdditionalFields(phone: .hidden, checkboxLabel: nil)
@@ -65,7 +65,7 @@ class AddressSheetUtils {
65
65
  checkboxLabel: params["checkboxLabel"] as? String
66
66
  )
67
67
  }
68
-
68
+
69
69
  internal class func getFieldConfiguration(input: String?, default: AddressViewController.Configuration.AdditionalFields.FieldConfiguration) -> AddressViewController.Configuration.AdditionalFields.FieldConfiguration {
70
70
  switch (input) {
71
71
  case "optional":
@@ -78,21 +78,23 @@ class AddressSheetUtils {
78
78
  return `default`
79
79
  }
80
80
  }
81
-
81
+
82
82
  internal class func buildResult(address: AddressViewController.AddressDetails) -> [AnyHashable : Any] {
83
83
  return [
84
- "name": address.name ?? NSNull(),
85
- "address": [
86
- "country": address.address.country,
87
- "state": address.address.state,
88
- "line1": address.address.line1,
89
- "line2": address.address.line2,
90
- "postalCode": address.address.postalCode,
91
- "city": address.address.city,
92
- ],
93
- "phone": address.phone ?? NSNull(),
94
- "isCheckboxSelected": address.isCheckboxSelected ?? NSNull(),
95
- ] as [AnyHashable : Any]
84
+ "result": [
85
+ "name": address.name ?? NSNull(),
86
+ "address": [
87
+ "country": address.address.country,
88
+ "state": address.address.state,
89
+ "line1": address.address.line1,
90
+ "line2": address.address.line2,
91
+ "postalCode": address.address.postalCode,
92
+ "city": address.address.city,
93
+ ],
94
+ "phone": address.phone ?? NSNull(),
95
+ "isCheckboxSelected": address.isCheckboxSelected ?? NSNull(),
96
+ ] as [AnyHashable : Any]
97
+ ]
96
98
  }
97
99
 
98
100
  }
@@ -9,33 +9,33 @@ import Foundation
9
9
  import StripePaymentSheet
10
10
 
11
11
  @objc(AddressSheetView)
12
- class AddressSheetView: UIView {
13
- @objc var visible = false
14
- @objc var presentationStyle: String = "popover"
15
- @objc var animationStyle: String = ""
16
- @objc var appearance: NSDictionary? = nil
17
- @objc var defaultValues: NSDictionary? = nil
18
- @objc var additionalFields: NSDictionary? = nil
19
- @objc var allowedCountries: [String] = []
20
- @objc var autocompleteCountries: [String] = []
21
- @objc var primaryButtonTitle: String? = nil
22
- @objc var sheetTitle: String? = nil
23
- @objc var onSubmitAction: RCTDirectEventBlock?
24
- @objc var onErrorAction: RCTDirectEventBlock?
12
+ public class AddressSheetView: UIView {
13
+ @objc public var visible = false
14
+ @objc public var presentationStyle: String = "popover"
15
+ @objc public var animationStyle: String = ""
16
+ @objc public var appearance: NSDictionary? = nil
17
+ @objc public var defaultValues: NSDictionary? = nil
18
+ @objc public var additionalFields: NSDictionary? = nil
19
+ @objc public var allowedCountries: [String] = []
20
+ @objc public var autocompleteCountries: [String] = []
21
+ @objc public var primaryButtonTitle: String? = nil
22
+ @objc public var sheetTitle: String? = nil
23
+ @objc public var onSubmitAction: RCTDirectEventBlock?
24
+ @objc public var onErrorAction: RCTDirectEventBlock?
25
25
 
26
26
  private var wasVisible = false
27
27
  private var addressViewController: AddressViewController? = nil
28
28
  internal var addressDetails: AddressViewController.AddressDetails? = nil
29
29
 
30
- override init(frame: CGRect) {
30
+ override public init(frame: CGRect) {
31
31
  super.init(frame: frame)
32
32
  }
33
33
 
34
34
  required init?(coder: NSCoder) {
35
35
  fatalError("init(coder:) has not been implemented")
36
36
  }
37
-
38
- override func didSetProps(_ changedProps: [String]!) {
37
+
38
+ @objc public func didSetProps() {
39
39
  if (visible && !wasVisible) {
40
40
  presentAddressSheet()
41
41
  wasVisible = true
@@ -44,6 +44,12 @@ class AddressSheetView: UIView {
44
44
  wasVisible = false
45
45
  }
46
46
  }
47
+
48
+ override public func didSetProps(_ changedProps: [String]!) {
49
+ // This is only called on old arch, for new arch didSetProps() will be called
50
+ // by the view component.
51
+ self.didSetProps()
52
+ }
47
53
 
48
54
  private func presentAddressSheet() {
49
55
  if (STPAPIClient.shared.publishableKey == nil) {
@@ -123,7 +129,7 @@ class AddressSheetView: UIView {
123
129
  }
124
130
 
125
131
  extension AddressSheetView: AddressViewControllerDelegate {
126
- func addressViewControllerDidFinish(_ addressViewController: AddressViewController, with address: AddressViewController.AddressDetails?) {
132
+ public func addressViewControllerDidFinish(_ addressViewController: AddressViewController, with address: AddressViewController.AddressDetails?) {
127
133
  guard let address = address else {
128
134
  onErrorAction!(
129
135
  Errors.createError(
@@ -3,7 +3,6 @@
3
3
  #import <React/RCTViewManager.h>
4
4
 
5
5
  @interface RCT_EXTERN_MODULE(ApplePayButtonManager, RCTViewManager)
6
- RCT_EXPORT_VIEW_PROPERTY(onPressAction, RCTDirectEventBlock)
7
6
  RCT_EXPORT_VIEW_PROPERTY(type, NSNumber)
8
7
  RCT_EXPORT_VIEW_PROPERTY(buttonStyle, NSNumber)
9
8
  RCT_EXPORT_VIEW_PROPERTY(borderRadius, NSNumber)
@@ -3,9 +3,7 @@ import Foundation
3
3
  @objc(ApplePayButtonManager)
4
4
  class ApplePayButtonManager: RCTViewManager {
5
5
  override func view() -> UIView! {
6
- let view = ApplePayButtonView(frame: CGRect.init())
7
- view.stripeSdk = bridge.module(forName: "StripeSdk") as? StripeSdk
8
- return view
6
+ return ApplePayButtonView(frame: CGRect.init())
9
7
  }
10
8
 
11
9
  override class func requiresMainQueueSetup() -> Bool {
@@ -2,29 +2,27 @@ import Foundation
2
2
  import UIKit
3
3
 
4
4
  @objc(ApplePayButtonView)
5
- class ApplePayButtonView: UIView {
5
+ public class ApplePayButtonView: UIView {
6
6
  var applePayButton: PKPaymentButton?
7
- var stripeSdk: StripeSdk?
8
-
9
- @objc var onPressAction: RCTDirectEventBlock?
10
- @objc var onShippingMethodSelectedAction: RCTDirectEventBlock?
11
- @objc var onShippingContactSelectedAction: RCTDirectEventBlock?
12
- @objc var onCouponCodeEnteredAction: RCTDirectEventBlock?
13
- @objc var onOrderTrackingAction: RCTDirectEventBlock?
7
+
8
+ @objc public var onShippingMethodSelectedAction: RCTDirectEventBlock?
9
+ @objc public var onShippingContactSelectedAction: RCTDirectEventBlock?
10
+ @objc public var onCouponCodeEnteredAction: RCTDirectEventBlock?
11
+ @objc public var onOrderTrackingAction: RCTDirectEventBlock?
14
12
 
15
- @objc var type: NSNumber?
16
- @objc var buttonStyle: NSNumber?
17
- @objc var borderRadius: NSNumber?
18
- @objc var disabled = false
13
+ @objc public var type: NSNumber?
14
+ @objc public var buttonStyle: NSNumber?
15
+ @objc public var borderRadius: NSNumber?
16
+ @objc public var disabled = false
19
17
 
20
18
  @objc func handleApplePayButtonTapped() {
21
- stripeSdk?.shippingMethodUpdateJSCallback = onShippingMethodSelectedAction
22
- stripeSdk?.shippingContactUpdateJSCallback = onShippingContactSelectedAction
23
- stripeSdk?.couponCodeEnteredJSCallback = onCouponCodeEnteredAction
24
- stripeSdk?.platformPayOrderTrackingJSCallback = onOrderTrackingAction
19
+ StripeSdkImpl.shared.shippingMethodUpdateJSCallback = onShippingMethodSelectedAction
20
+ StripeSdkImpl.shared.shippingContactUpdateJSCallback = onShippingContactSelectedAction
21
+ StripeSdkImpl.shared.couponCodeEnteredJSCallback = onCouponCodeEnteredAction
22
+ StripeSdkImpl.shared.platformPayOrderTrackingJSCallback = onOrderTrackingAction
25
23
  }
26
-
27
- override func didSetProps(_ changedProps: [String]!) {
24
+
25
+ @objc public func didSetProps() {
28
26
  if let applePayButton = self.applePayButton {
29
27
  applePayButton.removeFromSuperview()
30
28
  }
@@ -42,11 +40,18 @@ class ApplePayButtonView: UIView {
42
40
  }
43
41
  }
44
42
 
45
- override init(frame: CGRect) {
43
+ override public func didSetProps(_ changedProps: [String]!) {
44
+ // This is only called on old arch, for new arch didSetProps() will be called
45
+ // by the view component.
46
+ self.didSetProps()
47
+ }
48
+
49
+
50
+ override public init(frame: CGRect) {
46
51
  super.init(frame: frame)
47
52
  }
48
53
 
49
- override func layoutSubviews() {
54
+ override public func layoutSubviews() {
50
55
  if let applePayButton = self.applePayButton {
51
56
  applePayButton.frame = self.bounds
52
57
  }