@stripe/stripe-react-native 0.57.0 → 0.57.2

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 (324) hide show
  1. package/README.md +0 -8
  2. package/android/.idea/AndroidProjectSystem.xml +6 -0
  3. package/android/.idea/caches/deviceStreaming.xml +1029 -0
  4. package/android/.idea/compiler.xml +6 -0
  5. package/android/.idea/gradle.xml +19 -0
  6. package/android/.idea/migrations.xml +10 -0
  7. package/android/.idea/misc.xml +10 -0
  8. package/android/.idea/runConfigurations.xml +17 -0
  9. package/android/.idea/vcs.xml +6 -0
  10. package/android/build.gradle +76 -118
  11. package/android/gradle.properties +1 -1
  12. package/android/local.properties +8 -0
  13. package/android/settings.gradle +2 -0
  14. package/android/spotless.gradle +1 -1
  15. package/android/src/main/java/com/reactnativestripesdk/AuBECSDebitFormView.kt +20 -17
  16. package/android/src/main/java/com/reactnativestripesdk/CardFieldView.kt +13 -11
  17. package/android/src/main/java/com/reactnativestripesdk/CardFormView.kt +17 -21
  18. package/android/src/main/java/com/reactnativestripesdk/CollectBankAccountLauncherManager.kt +2 -0
  19. package/android/src/main/java/com/reactnativestripesdk/CustomPaymentMethodActivity.kt +2 -0
  20. package/android/src/main/java/com/reactnativestripesdk/EmbeddedPaymentElementView.kt +53 -11
  21. package/android/src/main/java/com/reactnativestripesdk/EmbeddedPaymentElementViewManager.kt +105 -117
  22. package/android/src/main/java/com/reactnativestripesdk/EventEmitterCompat.kt +4 -8
  23. package/android/src/main/java/com/reactnativestripesdk/FakeOnrampSdkModule.kt +154 -0
  24. package/android/src/main/java/com/reactnativestripesdk/FinancialConnectionsSheetManager.kt +13 -15
  25. package/android/src/main/java/com/reactnativestripesdk/GooglePayButtonView.kt +1 -1
  26. package/android/src/main/java/com/reactnativestripesdk/GooglePayLauncherManager.kt +1 -1
  27. package/android/src/main/java/com/reactnativestripesdk/GooglePayRequestHelper.kt +7 -5
  28. package/android/src/main/java/com/reactnativestripesdk/NavigationBarManager.kt +31 -0
  29. package/android/src/main/java/com/reactnativestripesdk/NavigationBarView.kt +120 -0
  30. package/android/src/main/java/com/reactnativestripesdk/PaymentElementConfig.kt +228 -0
  31. package/android/src/main/java/com/reactnativestripesdk/PaymentLauncherManager.kt +1 -0
  32. package/android/src/main/java/com/reactnativestripesdk/PaymentMethodCreateParamsFactory.kt +3 -0
  33. package/android/src/main/java/com/reactnativestripesdk/PaymentOptionDisplayDataMapper.kt +4 -6
  34. package/android/src/main/java/com/reactnativestripesdk/PaymentSheetAppearance.kt +73 -30
  35. package/android/src/main/java/com/reactnativestripesdk/PaymentSheetManager.kt +19 -245
  36. package/android/src/main/java/com/reactnativestripesdk/StripeAbstractComposeView.kt +53 -17
  37. package/android/src/main/java/com/reactnativestripesdk/StripeSdkModule.kt +52 -14
  38. package/android/src/main/java/com/reactnativestripesdk/StripeSdkPackage.kt +21 -2
  39. package/android/src/main/java/com/reactnativestripesdk/addresssheet/AddressSheetView.kt +4 -4
  40. package/android/src/main/java/com/reactnativestripesdk/addresssheet/AddressSheetViewManager.kt +2 -2
  41. package/android/src/main/java/com/reactnativestripesdk/customersheet/CustomerSheetManager.kt +15 -35
  42. package/android/src/main/java/com/reactnativestripesdk/customersheet/ReactNativeCustomerSessionProvider.kt +2 -1
  43. package/android/src/main/java/com/reactnativestripesdk/pushprovisioning/AddToWalletButtonManager.kt +5 -10
  44. package/android/src/main/java/com/reactnativestripesdk/pushprovisioning/AddToWalletButtonView.kt +90 -77
  45. package/android/src/main/java/com/reactnativestripesdk/pushprovisioning/TapAndPayProxy.kt +6 -4
  46. package/android/src/main/java/com/reactnativestripesdk/utils/Errors.kt +13 -3
  47. package/android/src/main/java/com/reactnativestripesdk/utils/Extensions.kt +41 -0
  48. package/android/src/main/java/com/reactnativestripesdk/utils/KeepJsAwakeTask.kt +1 -1
  49. package/android/src/main/java/com/reactnativestripesdk/utils/Mappers.kt +92 -44
  50. package/android/src/oldarch/java/com/facebook/react/viewmanagers/EmbeddedPaymentElementViewManagerDelegate.java +3 -0
  51. package/android/src/oldarch/java/com/facebook/react/viewmanagers/EmbeddedPaymentElementViewManagerInterface.java +2 -0
  52. package/android/src/oldarch/java/com/reactnativestripesdk/NativeOnrampSdkModuleSpec.java +118 -0
  53. package/android/src/oldarch/java/com/reactnativestripesdk/NativeStripeSdkModuleSpec.java +4 -0
  54. package/android/src/onramp/java/com/reactnativestripesdk/OnrampSdkModule.kt +922 -0
  55. package/android/src/test/java/com/facebook/testutils/shadows/ShadowArguments.kt +29 -0
  56. package/android/src/test/java/com/reactnativestripesdk/EmbeddedPaymentElementViewManagerTest.kt +163 -0
  57. package/android/src/test/java/com/reactnativestripesdk/PaymentElementConfigTest.kt +976 -0
  58. package/android/src/test/java/com/reactnativestripesdk/PaymentSheetAppearanceTest.kt +801 -0
  59. package/android/src/test/java/com/reactnativestripesdk/PaymentSheetManagerTest.kt +523 -0
  60. package/android/src/test/java/com/reactnativestripesdk/addresssheet/AddressSheetViewTest.kt +551 -0
  61. package/android/src/test/java/com/reactnativestripesdk/mappers/MappersTest.kt +567 -0
  62. package/android/src/test/java/com/reactnativestripesdk/mappers/PaymentOptionDisplayDataMapperTest.kt +456 -0
  63. package/android/src/test/java/com/reactnativestripesdk/pushprovisioning/PushProvisioningProxyTest.kt +43 -0
  64. package/android/src/test/resources/robolectric.properties +2 -0
  65. package/ios/AddressSheet/AddressSheetUtils.swift +3 -3
  66. package/ios/AddressSheet/AddressSheetView.swift +25 -25
  67. package/ios/AddressSheet/AddressSheetViewManager.swift +2 -2
  68. package/ios/ApplePayButtonManager.swift +1 -1
  69. package/ios/ApplePayButtonView.swift +9 -10
  70. package/ios/ApplePayUtils.swift +51 -51
  71. package/ios/ApplePayViewController.swift +25 -29
  72. package/ios/AuBECSDebitFormManager.swift +1 -1
  73. package/ios/AuBECSDebitFormView.swift +13 -15
  74. package/ios/CardFieldManager.swift +4 -4
  75. package/ios/CardFieldView.swift +9 -9
  76. package/ios/CardFormManager.swift +3 -3
  77. package/ios/CardFormView.swift +28 -28
  78. package/ios/ConnectAccountOnboarding/ConnectAccountOnboardingView.swift +97 -0
  79. package/ios/ConnectAccountOnboarding/ConnectAccountOnboardingViewController.swift +133 -0
  80. package/ios/ConnectAccountOnboarding/ConnectAccountOnboardingViewManager.m +16 -0
  81. package/ios/ConnectAccountOnboarding/ConnectAccountOnboardingViewManager.swift +17 -0
  82. package/ios/CustomerSheet/CustomerSheetUtils.swift +15 -16
  83. package/ios/CustomerSheet/ReactNativeCustomerAdapter.swift +19 -19
  84. package/ios/EmbeddedPaymentElementView.swift +2 -2
  85. package/ios/Errors.swift +22 -23
  86. package/ios/FinancialConnections.swift +37 -37
  87. package/ios/Mappers.swift +210 -71
  88. package/ios/NavigationBarManager.m +13 -0
  89. package/ios/NavigationBarManager.swift +17 -0
  90. package/ios/NavigationBarView.swift +65 -0
  91. package/ios/NewArch/NavigationBarComponentView.h +10 -0
  92. package/ios/NewArch/NavigationBarComponentView.mm +86 -0
  93. package/ios/OldArch/StripeSdkEventEmitterCompat.h +1 -0
  94. package/ios/OldArch/StripeSdkEventEmitterCompat.m +7 -1
  95. package/ios/PaymentMethodFactory.swift +24 -24
  96. package/ios/PaymentOptionDisplayData+ReactNative.swift +4 -4
  97. package/ios/PaymentPassFinder.swift +9 -10
  98. package/ios/PaymentSheetAppearance.swift +137 -138
  99. package/ios/PushProvisioning/AddToWalletButtonManager.swift +2 -2
  100. package/ios/PushProvisioning/AddToWalletButtonView.swift +15 -17
  101. package/ios/PushProvisioning/PushProvisioningUtils.swift +11 -11
  102. package/ios/StripeContainerManager.swift +1 -1
  103. package/ios/StripeContainerView.swift +3 -3
  104. package/ios/StripeOnrampSdk.h +17 -0
  105. package/ios/StripeOnrampSdk.mm +158 -0
  106. package/ios/StripeSdk.mm +8 -0
  107. package/ios/StripeSdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  108. package/ios/StripeSdk.xcodeproj/project.xcworkspace/xcuserdata/tianzhao.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  109. package/ios/StripeSdk.xcodeproj/xcuserdata/tianzhao.xcuserdatad/xcschemes/xcschememanagement.plist +19 -0
  110. package/ios/StripeSdkEmitter.swift +4 -0
  111. package/ios/StripeSdkImpl+CustomerSheet.swift +30 -25
  112. package/ios/StripeSdkImpl+Embedded.swift +11 -9
  113. package/ios/StripeSdkImpl+PaymentSheet.swift +36 -34
  114. package/ios/StripeSdkImpl.swift +913 -185
  115. package/ios/UIColorExtension.swift +72 -0
  116. package/lib/commonjs/components/AddToWalletButton.js +1 -1
  117. package/lib/commonjs/components/AddToWalletButton.js.map +1 -1
  118. package/lib/commonjs/components/AddressSheet.js +1 -1
  119. package/lib/commonjs/components/AddressSheet.js.map +1 -1
  120. package/lib/commonjs/components/AuBECSDebitForm.js +1 -1
  121. package/lib/commonjs/components/AuBECSDebitForm.js.map +1 -1
  122. package/lib/commonjs/components/CardField.js +1 -1
  123. package/lib/commonjs/components/CardField.js.map +1 -1
  124. package/lib/commonjs/components/CardForm.js +1 -1
  125. package/lib/commonjs/components/CardForm.js.map +1 -1
  126. package/lib/commonjs/components/PlatformPayButton.js +1 -1
  127. package/lib/commonjs/components/PlatformPayButton.js.map +1 -1
  128. package/lib/commonjs/components/StripeContainer.js +1 -1
  129. package/lib/commonjs/components/StripeContainer.js.map +1 -1
  130. package/lib/commonjs/components/StripeProvider.js +1 -1
  131. package/lib/commonjs/components/StripeProvider.js.map +1 -1
  132. package/lib/commonjs/connect/Components.js +2 -0
  133. package/lib/commonjs/connect/Components.js.map +1 -0
  134. package/lib/commonjs/connect/ConnectComponentsProvider.js +2 -0
  135. package/lib/commonjs/connect/ConnectComponentsProvider.js.map +1 -0
  136. package/lib/commonjs/connect/EmbeddedComponent.js +19 -0
  137. package/lib/commonjs/connect/EmbeddedComponent.js.map +1 -0
  138. package/lib/commonjs/connect/ModalCloseButton.js +2 -0
  139. package/lib/commonjs/connect/ModalCloseButton.js.map +1 -0
  140. package/lib/commonjs/connect/NavigationBar.js +2 -0
  141. package/lib/commonjs/connect/NavigationBar.js.map +1 -0
  142. package/lib/commonjs/connect/connectTypes.js +2 -0
  143. package/lib/commonjs/connect/connectTypes.js.map +1 -0
  144. package/lib/commonjs/events.js +1 -1
  145. package/lib/commonjs/events.js.map +1 -1
  146. package/lib/commonjs/helpers.js +1 -1
  147. package/lib/commonjs/helpers.js.map +1 -1
  148. package/lib/commonjs/hooks/useOnramp.js +2 -0
  149. package/lib/commonjs/hooks/useOnramp.js.map +1 -0
  150. package/lib/commonjs/index.js +1 -1
  151. package/lib/commonjs/index.js.map +1 -1
  152. package/lib/commonjs/plugin/withStripe.js +1 -1
  153. package/lib/commonjs/plugin/withStripe.js.map +1 -1
  154. package/lib/commonjs/specs/NativeAddToWalletButton.js +1 -1
  155. package/lib/commonjs/specs/NativeAddToWalletButton.js.map +1 -1
  156. package/lib/commonjs/specs/NativeAddressSheet.js +1 -1
  157. package/lib/commonjs/specs/NativeAddressSheet.js.map +1 -1
  158. package/lib/commonjs/specs/NativeApplePayButton.js +1 -1
  159. package/lib/commonjs/specs/NativeApplePayButton.js.map +1 -1
  160. package/lib/commonjs/specs/NativeAuBECSDebitForm.js +1 -1
  161. package/lib/commonjs/specs/NativeAuBECSDebitForm.js.map +1 -1
  162. package/lib/commonjs/specs/NativeCardField.js +1 -1
  163. package/lib/commonjs/specs/NativeCardField.js.map +1 -1
  164. package/lib/commonjs/specs/NativeCardForm.js +1 -1
  165. package/lib/commonjs/specs/NativeCardForm.js.map +1 -1
  166. package/lib/commonjs/specs/NativeConnectAccountOnboardingView.js +2 -0
  167. package/lib/commonjs/specs/NativeConnectAccountOnboardingView.js.map +1 -0
  168. package/lib/commonjs/specs/NativeEmbeddedPaymentElement.js +1 -1
  169. package/lib/commonjs/specs/NativeEmbeddedPaymentElement.js.map +1 -1
  170. package/lib/commonjs/specs/NativeGooglePayButton.js +1 -1
  171. package/lib/commonjs/specs/NativeGooglePayButton.js.map +1 -1
  172. package/lib/commonjs/specs/NativeNavigationBar.js +2 -0
  173. package/lib/commonjs/specs/NativeNavigationBar.js.map +1 -0
  174. package/lib/commonjs/specs/NativeOnrampSdkModule.js +2 -0
  175. package/lib/commonjs/specs/NativeOnrampSdkModule.js.map +1 -0
  176. package/lib/commonjs/specs/NativeStripeContainer.js +1 -1
  177. package/lib/commonjs/specs/NativeStripeContainer.js.map +1 -1
  178. package/lib/commonjs/specs/NativeStripeSdkModule.js.map +1 -1
  179. package/lib/commonjs/types/EmbeddedPaymentElement.js +1 -1
  180. package/lib/commonjs/types/EmbeddedPaymentElement.js.map +1 -1
  181. package/lib/commonjs/types/Errors.js +1 -1
  182. package/lib/commonjs/types/Errors.js.map +1 -1
  183. package/lib/commonjs/types/Onramp.js +2 -0
  184. package/lib/commonjs/types/Onramp.js.map +1 -0
  185. package/lib/commonjs/types/PaymentSheet.js.map +1 -1
  186. package/lib/commonjs/types/index.js +1 -1
  187. package/lib/commonjs/types/index.js.map +1 -1
  188. package/lib/module/components/AddToWalletButton.js +1 -1
  189. package/lib/module/components/AddToWalletButton.js.map +1 -1
  190. package/lib/module/components/AddressSheet.js +1 -1
  191. package/lib/module/components/AddressSheet.js.map +1 -1
  192. package/lib/module/components/AuBECSDebitForm.js +1 -1
  193. package/lib/module/components/AuBECSDebitForm.js.map +1 -1
  194. package/lib/module/components/CardField.js +1 -1
  195. package/lib/module/components/CardField.js.map +1 -1
  196. package/lib/module/components/CardForm.js +1 -1
  197. package/lib/module/components/CardForm.js.map +1 -1
  198. package/lib/module/components/PlatformPayButton.js +1 -1
  199. package/lib/module/components/PlatformPayButton.js.map +1 -1
  200. package/lib/module/components/StripeContainer.js +1 -1
  201. package/lib/module/components/StripeContainer.js.map +1 -1
  202. package/lib/module/components/StripeProvider.js +1 -1
  203. package/lib/module/components/StripeProvider.js.map +1 -1
  204. package/lib/module/connect/Components.js +2 -0
  205. package/lib/module/connect/Components.js.map +1 -0
  206. package/lib/module/connect/ConnectComponentsProvider.js +2 -0
  207. package/lib/module/connect/ConnectComponentsProvider.js.map +1 -0
  208. package/lib/module/connect/EmbeddedComponent.js +19 -0
  209. package/lib/module/connect/EmbeddedComponent.js.map +1 -0
  210. package/lib/module/connect/ModalCloseButton.js +2 -0
  211. package/lib/module/connect/ModalCloseButton.js.map +1 -0
  212. package/lib/module/connect/NavigationBar.js +2 -0
  213. package/lib/module/connect/NavigationBar.js.map +1 -0
  214. package/lib/module/connect/connectTypes.js +2 -0
  215. package/lib/module/connect/connectTypes.js.map +1 -0
  216. package/lib/module/events.js +1 -1
  217. package/lib/module/events.js.map +1 -1
  218. package/lib/module/helpers.js +1 -1
  219. package/lib/module/helpers.js.map +1 -1
  220. package/lib/module/hooks/useOnramp.js +2 -0
  221. package/lib/module/hooks/useOnramp.js.map +1 -0
  222. package/lib/module/index.js +1 -1
  223. package/lib/module/index.js.map +1 -1
  224. package/lib/module/plugin/withStripe.js +1 -1
  225. package/lib/module/plugin/withStripe.js.map +1 -1
  226. package/lib/module/specs/NativeAddToWalletButton.js +1 -1
  227. package/lib/module/specs/NativeAddToWalletButton.js.map +1 -1
  228. package/lib/module/specs/NativeAddressSheet.js +1 -1
  229. package/lib/module/specs/NativeAddressSheet.js.map +1 -1
  230. package/lib/module/specs/NativeApplePayButton.js +1 -1
  231. package/lib/module/specs/NativeApplePayButton.js.map +1 -1
  232. package/lib/module/specs/NativeAuBECSDebitForm.js +1 -1
  233. package/lib/module/specs/NativeAuBECSDebitForm.js.map +1 -1
  234. package/lib/module/specs/NativeCardField.js +1 -1
  235. package/lib/module/specs/NativeCardField.js.map +1 -1
  236. package/lib/module/specs/NativeCardForm.js +1 -1
  237. package/lib/module/specs/NativeCardForm.js.map +1 -1
  238. package/lib/module/specs/NativeConnectAccountOnboardingView.js +2 -0
  239. package/lib/module/specs/NativeConnectAccountOnboardingView.js.map +1 -0
  240. package/lib/module/specs/NativeEmbeddedPaymentElement.js +1 -1
  241. package/lib/module/specs/NativeEmbeddedPaymentElement.js.map +1 -1
  242. package/lib/module/specs/NativeGooglePayButton.js +1 -1
  243. package/lib/module/specs/NativeGooglePayButton.js.map +1 -1
  244. package/lib/module/specs/NativeNavigationBar.js +2 -0
  245. package/lib/module/specs/NativeNavigationBar.js.map +1 -0
  246. package/lib/module/specs/NativeOnrampSdkModule.js +2 -0
  247. package/lib/module/specs/NativeOnrampSdkModule.js.map +1 -0
  248. package/lib/module/specs/NativeStripeContainer.js +1 -1
  249. package/lib/module/specs/NativeStripeContainer.js.map +1 -1
  250. package/lib/module/specs/NativeStripeSdkModule.js.map +1 -1
  251. package/lib/module/types/EmbeddedPaymentElement.js +1 -1
  252. package/lib/module/types/EmbeddedPaymentElement.js.map +1 -1
  253. package/lib/module/types/Errors.js +1 -1
  254. package/lib/module/types/Errors.js.map +1 -1
  255. package/lib/module/types/Onramp.js +2 -0
  256. package/lib/module/types/Onramp.js.map +1 -0
  257. package/lib/module/types/PaymentSheet.js.map +1 -1
  258. package/lib/module/types/index.js +1 -1
  259. package/lib/module/types/index.js.map +1 -1
  260. package/lib/typescript/src/components/StripeProvider.d.ts.map +1 -1
  261. package/lib/typescript/src/connect/Components.d.ts +23 -0
  262. package/lib/typescript/src/connect/Components.d.ts.map +1 -0
  263. package/lib/typescript/src/connect/ConnectComponentsProvider.d.ts +22 -0
  264. package/lib/typescript/src/connect/ConnectComponentsProvider.d.ts.map +1 -0
  265. package/lib/typescript/src/connect/EmbeddedComponent.d.ts +18 -0
  266. package/lib/typescript/src/connect/EmbeddedComponent.d.ts.map +1 -0
  267. package/lib/typescript/src/connect/ModalCloseButton.d.ts +7 -0
  268. package/lib/typescript/src/connect/ModalCloseButton.d.ts.map +1 -0
  269. package/lib/typescript/src/connect/NavigationBar.d.ts +8 -0
  270. package/lib/typescript/src/connect/NavigationBar.d.ts.map +1 -0
  271. package/lib/typescript/src/connect/connectTypes.d.ts +464 -0
  272. package/lib/typescript/src/connect/connectTypes.d.ts.map +1 -0
  273. package/lib/typescript/src/events.d.ts +4 -0
  274. package/lib/typescript/src/events.d.ts.map +1 -1
  275. package/lib/typescript/src/functions.d.ts.map +1 -1
  276. package/lib/typescript/src/helpers.d.ts.map +1 -1
  277. package/lib/typescript/src/hooks/useOnramp.d.ts +158 -0
  278. package/lib/typescript/src/hooks/useOnramp.d.ts.map +1 -0
  279. package/lib/typescript/src/index.d.ts +4 -0
  280. package/lib/typescript/src/index.d.ts.map +1 -1
  281. package/lib/typescript/src/plugin/withStripe.d.ts +15 -0
  282. package/lib/typescript/src/plugin/withStripe.d.ts.map +1 -1
  283. package/lib/typescript/src/specs/NativeConnectAccountOnboardingView.d.ts +14 -0
  284. package/lib/typescript/src/specs/NativeConnectAccountOnboardingView.d.ts.map +1 -0
  285. package/lib/typescript/src/specs/NativeEmbeddedPaymentElement.d.ts +1 -0
  286. package/lib/typescript/src/specs/NativeEmbeddedPaymentElement.d.ts.map +1 -1
  287. package/lib/typescript/src/specs/NativeNavigationBar.d.ts +11 -0
  288. package/lib/typescript/src/specs/NativeNavigationBar.d.ts.map +1 -0
  289. package/lib/typescript/src/specs/NativeOnrampSdkModule.d.ts +28 -0
  290. package/lib/typescript/src/specs/NativeOnrampSdkModule.d.ts.map +1 -0
  291. package/lib/typescript/src/specs/NativeStripeSdkModule.d.ts +3 -0
  292. package/lib/typescript/src/specs/NativeStripeSdkModule.d.ts.map +1 -1
  293. package/lib/typescript/src/types/EmbeddedPaymentElement.d.ts.map +1 -1
  294. package/lib/typescript/src/types/Errors.d.ts +5 -0
  295. package/lib/typescript/src/types/Errors.d.ts.map +1 -1
  296. package/lib/typescript/src/types/Onramp.d.ts +275 -0
  297. package/lib/typescript/src/types/Onramp.d.ts.map +1 -0
  298. package/lib/typescript/src/types/PaymentSheet.d.ts +7 -0
  299. package/lib/typescript/src/types/PaymentSheet.d.ts.map +1 -1
  300. package/lib/typescript/src/types/index.d.ts +7 -1
  301. package/lib/typescript/src/types/index.d.ts.map +1 -1
  302. package/package.json +25 -14
  303. package/src/components/StripeProvider.tsx +5 -0
  304. package/src/connect/Components.tsx +279 -0
  305. package/src/connect/ConnectComponentsProvider.tsx +93 -0
  306. package/src/connect/EmbeddedComponent.tsx +407 -0
  307. package/src/connect/ModalCloseButton.tsx +44 -0
  308. package/src/connect/NavigationBar.tsx +29 -0
  309. package/src/connect/connectTypes.ts +626 -0
  310. package/src/events.ts +23 -0
  311. package/src/hooks/useOnramp.tsx +334 -0
  312. package/src/index.tsx +13 -0
  313. package/src/plugin/withStripe.ts +104 -7
  314. package/src/specs/NativeConnectAccountOnboardingView.ts +19 -0
  315. package/src/specs/NativeEmbeddedPaymentElement.ts +5 -1
  316. package/src/specs/NativeNavigationBar.ts +16 -0
  317. package/src/specs/NativeOnrampSdkModule.ts +47 -0
  318. package/src/specs/NativeStripeSdkModule.ts +5 -0
  319. package/src/types/EmbeddedPaymentElement.tsx +24 -3
  320. package/src/types/Errors.ts +6 -0
  321. package/src/types/Onramp.ts +317 -0
  322. package/src/types/PaymentSheet.ts +7 -0
  323. package/src/types/index.ts +8 -0
  324. package/stripe-react-native.podspec +20 -7
@@ -0,0 +1,158 @@
1
+ #import "StripeOnrampSdk.h"
2
+ #import "StripeSwiftInterop.h"
3
+
4
+ @interface StripeOnrampSdk () <StripeOnrampSdkEmitter>
5
+ @end
6
+
7
+ @implementation StripeOnrampSdk
8
+ RCT_EXPORT_MODULE(OnrampSdk)
9
+
10
+ + (BOOL)requiresMainQueueSetup
11
+ {
12
+ return NO;
13
+ }
14
+
15
+ - (instancetype)init
16
+ {
17
+ self = [super init];
18
+ if (self) {
19
+ StripeSdkImpl.shared.onrampEmitter = self;
20
+ }
21
+ return self;
22
+ }
23
+
24
+ RCT_EXPORT_METHOD(configureOnramp:(nonnull NSDictionary *)config
25
+ resolve:(nonnull RCTPromiseResolveBlock)resolve
26
+ reject:(nonnull RCTPromiseRejectBlock)reject)
27
+ {
28
+ NSLog(@"[OnrampSdk] configureOnramp called with config: %@", config);
29
+ [StripeSdkImpl.shared configureOnramp:config resolver:resolve rejecter:reject];
30
+ }
31
+
32
+ RCT_EXPORT_METHOD(hasLinkAccount:(nonnull NSString *)email
33
+ resolve:(nonnull RCTPromiseResolveBlock)resolve
34
+ reject:(nonnull RCTPromiseRejectBlock)reject)
35
+ {
36
+ [StripeSdkImpl.shared hasLinkAccount:email resolver:resolve rejecter:reject];
37
+ }
38
+
39
+ RCT_EXPORT_METHOD(registerLinkUser:(nonnull NSDictionary *)info
40
+ resolve:(nonnull RCTPromiseResolveBlock)resolve
41
+ reject:(nonnull RCTPromiseRejectBlock)reject)
42
+ {
43
+ [StripeSdkImpl.shared registerLinkUser:info resolver:resolve rejecter:reject];
44
+ }
45
+
46
+ RCT_EXPORT_METHOD(authenticateUser:(nonnull RCTPromiseResolveBlock)resolve
47
+ reject:(nonnull RCTPromiseRejectBlock)reject)
48
+ {
49
+ [StripeSdkImpl.shared authenticateUser:resolve rejecter:reject];
50
+ }
51
+
52
+ RCT_EXPORT_METHOD(authenticateUserWithToken:(nonnull NSString *)linkAuthTokenClientSecret
53
+ resolve:(nonnull RCTPromiseResolveBlock)resolve
54
+ reject:(nonnull RCTPromiseRejectBlock)reject)
55
+ {
56
+ [StripeSdkImpl.shared authenticateUserWithToken:linkAuthTokenClientSecret resolver:resolve rejecter:reject];
57
+ }
58
+
59
+ RCT_EXPORT_METHOD(registerWalletAddress:(nonnull NSString *)address
60
+ network:(nonnull NSString *)network
61
+ resolve:(nonnull RCTPromiseResolveBlock)resolve
62
+ reject:(nonnull RCTPromiseRejectBlock)reject)
63
+ {
64
+ [StripeSdkImpl.shared registerWalletAddress:address network:network resolver:resolve rejecter:reject];
65
+ }
66
+
67
+ RCT_EXPORT_METHOD(attachKycInfo:(nonnull NSDictionary *)info
68
+ resolve:(nonnull RCTPromiseResolveBlock)resolve
69
+ reject:(nonnull RCTPromiseRejectBlock)reject)
70
+ {
71
+ [StripeSdkImpl.shared attachKycInfo:info resolver:resolve rejecter:reject];
72
+ }
73
+
74
+ RCT_EXPORT_METHOD(presentKycInfoVerification:(NSDictionary *)updatedAddress
75
+ resolve:(nonnull RCTPromiseResolveBlock)resolve
76
+ reject:(nonnull RCTPromiseRejectBlock)reject)
77
+ {
78
+ [StripeSdkImpl.shared presentKycInfoVerification:updatedAddress resolver:resolve rejecter:reject];
79
+ }
80
+
81
+ RCT_EXPORT_METHOD(updatePhoneNumber:(nonnull NSString *)phone
82
+ resolve:(nonnull RCTPromiseResolveBlock)resolve
83
+ reject:(nonnull RCTPromiseRejectBlock)reject)
84
+ {
85
+ [StripeSdkImpl.shared updatePhoneNumber:phone resolver:resolve rejecter:reject];
86
+ }
87
+
88
+ RCT_EXPORT_METHOD(verifyIdentity:(nonnull RCTPromiseResolveBlock)resolve
89
+ reject:(nonnull RCTPromiseRejectBlock)reject)
90
+ {
91
+ [StripeSdkImpl.shared verifyIdentity:resolve rejecter:reject];
92
+ }
93
+
94
+ RCT_EXPORT_METHOD(collectPaymentMethod:(nonnull NSString *)paymentMethod
95
+ platformPayParams:(nonnull NSDictionary *)platformPayParams
96
+ resolve:(nonnull RCTPromiseResolveBlock)resolve
97
+ reject:(nonnull RCTPromiseRejectBlock)reject)
98
+ {
99
+ [StripeSdkImpl.shared collectPaymentMethod:paymentMethod platformPayParams:platformPayParams resolver:resolve rejecter:reject];
100
+ }
101
+
102
+ RCT_EXPORT_METHOD(createCryptoPaymentToken:(nonnull RCTPromiseResolveBlock)resolve
103
+ reject:(nonnull RCTPromiseRejectBlock)reject)
104
+ {
105
+ [StripeSdkImpl.shared createCryptoPaymentToken:resolve rejecter:reject];
106
+ }
107
+
108
+ RCT_EXPORT_METHOD(performCheckout:(nonnull NSString *)onrampSessionId
109
+ resolve:(nonnull RCTPromiseResolveBlock)resolve
110
+ reject:(nonnull RCTPromiseRejectBlock)reject)
111
+ {
112
+ [StripeSdkImpl.shared performCheckout:onrampSessionId resolver:resolve rejecter:reject];
113
+ }
114
+
115
+ RCT_EXPORT_METHOD(provideCheckoutClientSecret:(NSString *)clientSecret)
116
+ {
117
+ [StripeSdkImpl.shared provideCheckoutClientSecret:clientSecret];
118
+ }
119
+
120
+ RCT_EXPORT_METHOD(logout:(nonnull RCTPromiseResolveBlock)resolve
121
+ reject:(nonnull RCTPromiseRejectBlock)reject)
122
+ {
123
+ [StripeSdkImpl.shared logout:resolve rejecter:reject];
124
+ }
125
+
126
+ RCT_EXPORT_METHOD(onrampAuthorize:(nonnull NSString *)linkAuthIntentId
127
+ resolve:(nonnull RCTPromiseResolveBlock)resolve
128
+ reject:(nonnull RCTPromiseRejectBlock)reject)
129
+ {
130
+ [StripeSdkImpl.shared onrampAuthorize:linkAuthIntentId resolver:resolve rejecter:reject];
131
+ }
132
+
133
+ RCT_EXPORT_METHOD(getCryptoTokenDisplayData:(nonnull NSDictionary *)token
134
+ resolve:(nonnull RCTPromiseResolveBlock)resolve
135
+ reject:(nonnull RCTPromiseRejectBlock)reject)
136
+ {
137
+ [StripeSdkImpl.shared getCryptoTokenDisplayData:token resolver:resolve rejecter:reject];
138
+ }
139
+
140
+ RCT_EXPORT_METHOD(initialise:(nonnull NSDictionary *)params
141
+ resolve:(nonnull RCTPromiseResolveBlock)resolve
142
+ reject:(nonnull RCTPromiseRejectBlock)reject)
143
+ {
144
+ [StripeSdkImpl.shared initialise:params resolver:resolve rejecter:reject];
145
+ }
146
+
147
+
148
+ #ifdef RCT_NEW_ARCH_ENABLED
149
+
150
+ - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
151
+ (const facebook::react::ObjCTurboModule::InitParams &)params
152
+ {
153
+ return std::make_shared<facebook::react::NativeOnrampSdkModuleSpecJSI>(params);
154
+ }
155
+
156
+ #endif
157
+
158
+ @end
package/ios/StripeSdk.mm CHANGED
@@ -382,6 +382,14 @@ RCT_EXPORT_METHOD(setFinancialConnectionsForceNativeFlow:(BOOL)enabled
382
382
  [StripeSdkImpl.shared setFinancialConnectionsForceNativeFlow:enabled resolver:resolve rejecter:reject];
383
383
  }
384
384
 
385
+ RCT_EXPORT_METHOD(openAuthenticatedWebView:(nonnull NSString *)id
386
+ url:(nonnull NSString *)url
387
+ resolve:(nonnull RCTPromiseResolveBlock)resolve
388
+ reject:(nonnull RCTPromiseRejectBlock)reject)
389
+ {
390
+ [StripeSdkImpl.shared openAuthenticatedWebView:id url:url resolver:resolve rejecter:reject];
391
+ }
392
+
385
393
  RCT_EXPORT_METHOD(verifyMicrodeposits:(BOOL)isPaymentIntent
386
394
  clientSecret:(nonnull NSString *)clientSecret
387
395
  params:(nonnull NSDictionary *)params
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Workspace
3
+ version = "1.0">
4
+ <FileRef
5
+ location = "self:">
6
+ </FileRef>
7
+ </Workspace>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>SchemeUserState</key>
6
+ <dict>
7
+ <key>StripeSdk.xcscheme_^#shared#^_</key>
8
+ <dict>
9
+ <key>orderHint</key>
10
+ <integer>1</integer>
11
+ </dict>
12
+ <key>Tests.xcscheme_^#shared#^_</key>
13
+ <dict>
14
+ <key>orderHint</key>
15
+ <integer>0</integer>
16
+ </dict>
17
+ </dict>
18
+ </dict>
19
+ </plist>
@@ -21,3 +21,7 @@ import Foundation
21
21
  func emitEmbeddedPaymentElementLoadingFailed(_ value: [String: Any])
22
22
  func emitOnCustomPaymentMethodConfirmHandlerCallback(_ value: [String: Any])
23
23
  }
24
+
25
+ @objc public protocol StripeOnrampSdkEmitter {
26
+ func emitOnCheckoutClientSecretRequested(_ value: [String: Any])
27
+ }
@@ -9,8 +9,10 @@ import Foundation
9
9
  @_spi(PrivateBetaCustomerSheet) @_spi(CustomerSessionBetaAccess) @_spi(STP) import StripePaymentSheet
10
10
  extension StripeSdkImpl {
11
11
  @objc(initCustomerSheet:customerAdapterOverrides:resolver:rejecter:)
12
- public func initCustomerSheet(params: NSDictionary, customerAdapterOverrides: NSDictionary, resolver resolve: @escaping RCTPromiseResolveBlock,
13
- rejecter reject: @escaping RCTPromiseRejectBlock) -> Void {
12
+ public func initCustomerSheet(params: NSDictionary,
13
+ customerAdapterOverrides: NSDictionary,
14
+ resolver resolve: @escaping RCTPromiseResolveBlock,
15
+ rejecter reject: @escaping RCTPromiseRejectBlock) {
14
16
  do {
15
17
  customerSheetConfiguration = CustomerSheetUtils.buildCustomerSheetConfiguration(
16
18
  appearance: try PaymentSheetAppearance.buildAppearanceFromParams(userParams: params["appearance"] as? NSDictionary),
@@ -22,9 +24,9 @@ extension StripeSdkImpl {
22
24
  merchantDisplayName: params["merchantDisplayName"] as? String,
23
25
  billingDetailsCollectionConfiguration: params["billingDetailsCollectionConfiguration"] as? NSDictionary,
24
26
  defaultBillingDetails: params["defaultBillingDetails"] as? NSDictionary,
25
- preferredNetworks: params["preferredNetworks"] as? Array<Int>,
27
+ preferredNetworks: params["preferredNetworks"] as? [Int],
26
28
  allowsRemovalOfLastSavedPaymentMethod: params["allowsRemovalOfLastSavedPaymentMethod"] as? Bool,
27
- cardBrandAcceptance: computeCardBrandAcceptance(params: params)
29
+ cardBrandAcceptance: StripeSdkImpl.computeCardBrandAcceptance(params: params)
28
30
  )
29
31
  } catch {
30
32
  resolve(
@@ -36,7 +38,7 @@ extension StripeSdkImpl {
36
38
  let intentConfigurationBase = params["intentConfiguration"] as? NSDictionary
37
39
  let customerEphemeralKeySecret = params["customerEphemeralKeySecret"] as? String
38
40
 
39
- if (intentConfigurationBase != nil && customerEphemeralKeySecret != nil) {
41
+ if intentConfigurationBase != nil && customerEphemeralKeySecret != nil {
40
42
  resolve(Errors.createError(ErrorType.Failed, "You must provide either `intentConfiguration` or `customerEphemeralKeySecret`, but not both"))
41
43
  return
42
44
  } else if let intentConfigurationBase = intentConfigurationBase {
@@ -65,7 +67,7 @@ extension StripeSdkImpl {
65
67
  }
66
68
 
67
69
  customerSheet = CustomerSheet(configuration: customerSheetConfiguration, intentConfiguration: intentConfiguration, customerSessionClientSecretProvider: customerSessionClientSecretProvider)
68
- } else if (customerEphemeralKeySecret != nil) {
70
+ } else if customerEphemeralKeySecret != nil {
69
71
  guard let customerId = params["customerId"] as? String else {
70
72
  resolve(Errors.createError(ErrorType.Failed, "You must provide `customerId`"))
71
73
  return
@@ -88,9 +90,10 @@ extension StripeSdkImpl {
88
90
  }
89
91
 
90
92
  @objc(presentCustomerSheet:resolver:rejecter:)
91
- public func presentCustomerSheet(params: NSDictionary, resolver resolve: @escaping RCTPromiseResolveBlock,
92
- rejecter reject: @escaping RCTPromiseRejectBlock) -> Void {
93
- if (STPAPIClient.shared.publishableKey == nil) {
93
+ public func presentCustomerSheet(params: NSDictionary,
94
+ resolver resolve: @escaping RCTPromiseResolveBlock,
95
+ rejecter reject: @escaping RCTPromiseRejectBlock) {
96
+ if STPAPIClient.shared.publishableKey == nil {
94
97
  resolve(
95
98
  Errors.createError(ErrorType.Failed, "No publishable key set. Stripe has not been initialized. Initialize Stripe in your app with the StripeProvider component or the initStripe method.")
96
99
  )
@@ -126,7 +129,7 @@ extension StripeSdkImpl {
126
129
 
127
130
  @objc(retrieveCustomerSheetPaymentOptionSelection:rejecter:)
128
131
  public func retrieveCustomerSheetPaymentOptionSelection(resolver resolve: @escaping RCTPromiseResolveBlock,
129
- rejecter reject: @escaping RCTPromiseRejectBlock) -> Void {
132
+ rejecter reject: @escaping RCTPromiseRejectBlock) {
130
133
  guard let customerSheet = customerSheet else {
131
134
  resolve(Errors.createError(ErrorType.Failed, "CustomerSheet has not been properly initialized."))
132
135
  return
@@ -134,7 +137,7 @@ extension StripeSdkImpl {
134
137
 
135
138
  Task {
136
139
  var payload: NSDictionary = [:]
137
- var paymentMethodOption: CustomerSheet.PaymentOptionSelection? = nil
140
+ var paymentMethodOption: CustomerSheet.PaymentOptionSelection?
138
141
  do {
139
142
  paymentMethodOption = try await customerSheet.retrievePaymentOptionSelection()
140
143
  } catch {
@@ -155,36 +158,39 @@ extension StripeSdkImpl {
155
158
  }
156
159
 
157
160
  @objc(customerAdapterFetchPaymentMethodsCallback:resolver:rejecter:)
158
- public func customerAdapterFetchPaymentMethodsCallback(paymentMethods: [NSDictionary], resolver resolve: @escaping RCTPromiseResolveBlock,
159
- rejecter reject: @escaping RCTPromiseRejectBlock) -> Void {
160
- let decodedPaymentMethods = paymentMethods.compactMap { STPPaymentMethod.decodedObject(fromAPIResponse: $0 as? [AnyHashable : Any]) }
161
+ public func customerAdapterFetchPaymentMethodsCallback(paymentMethods: [NSDictionary],
162
+ resolver resolve: @escaping RCTPromiseResolveBlock,
163
+ rejecter reject: @escaping RCTPromiseRejectBlock) {
164
+ let decodedPaymentMethods = paymentMethods.compactMap { STPPaymentMethod.decodedObject(fromAPIResponse: $0 as? [AnyHashable: Any]) }
161
165
  self.fetchPaymentMethodsCallback?(decodedPaymentMethods)
162
166
  resolve([])
163
167
  }
164
168
 
165
169
  @objc(customerAdapterAttachPaymentMethodCallback:resolver:rejecter:)
166
- public func customerAdapterAttachPaymentMethodCallback(unusedPaymentMethod: NSDictionary, resolver resolve: @escaping RCTPromiseResolveBlock,
167
- rejecter reject: @escaping RCTPromiseRejectBlock) -> Void {
170
+ public func customerAdapterAttachPaymentMethodCallback(unusedPaymentMethod: NSDictionary,
171
+ resolver resolve: @escaping RCTPromiseResolveBlock,
172
+ rejecter reject: @escaping RCTPromiseRejectBlock) {
168
173
  self.attachPaymentMethodCallback?()
169
174
  resolve([])
170
175
  }
171
176
 
172
177
  @objc(customerAdapterDetachPaymentMethodCallback:resolver:rejecter:)
173
- public func customerAdapterDetachPaymentMethodCallback(unusedPaymentMethod: NSDictionary, resolver resolve: @escaping RCTPromiseResolveBlock,
174
- rejecter reject: @escaping RCTPromiseRejectBlock) -> Void {
178
+ public func customerAdapterDetachPaymentMethodCallback(unusedPaymentMethod: NSDictionary,
179
+ resolver resolve: @escaping RCTPromiseResolveBlock,
180
+ rejecter reject: @escaping RCTPromiseRejectBlock) {
175
181
  self.detachPaymentMethodCallback?()
176
182
  resolve([])
177
183
  }
178
184
 
179
185
  @objc(customerAdapterSetSelectedPaymentOptionCallback:rejecter:)
180
186
  public func customerAdapterSetSelectedPaymentOptionCallback(resolver resolve: @escaping RCTPromiseResolveBlock,
181
- rejecter reject: @escaping RCTPromiseRejectBlock) -> Void {
187
+ rejecter reject: @escaping RCTPromiseRejectBlock) {
182
188
  self.setSelectedPaymentOptionCallback?()
183
189
  resolve([])
184
190
  }
185
191
 
186
192
  @objc(customerAdapterFetchSelectedPaymentOptionCallback:resolver:rejecter:)
187
- public func customerAdapterFetchSelectedPaymentOptionCallback(paymentOption: String?, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) -> Void {
193
+ public func customerAdapterFetchSelectedPaymentOptionCallback(paymentOption: String?, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
188
194
  if let paymentOption = paymentOption {
189
195
  self.fetchSelectedPaymentOptionCallback?(CustomerPaymentOption.init(value: paymentOption))
190
196
  } else {
@@ -194,26 +200,25 @@ extension StripeSdkImpl {
194
200
  }
195
201
 
196
202
  @objc(customerAdapterSetupIntentClientSecretForCustomerAttachCallback:resolver:rejecter:)
197
- public func customerAdapterSetupIntentClientSecretForCustomerAttachCallback(clientSecret: String, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) -> Void {
203
+ public func customerAdapterSetupIntentClientSecretForCustomerAttachCallback(clientSecret: String, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
198
204
  self.setupIntentClientSecretForCustomerAttachCallback?(clientSecret)
199
205
  resolve([])
200
206
  }
201
207
 
202
208
  @objc(clientSecretProviderSetupIntentClientSecretCallback:resolver:rejecter:)
203
- public func clientSecretProviderSetupIntentClientSecretCallback(setupIntentClientSecret: String, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) -> Void {
209
+ public func clientSecretProviderSetupIntentClientSecretCallback(setupIntentClientSecret: String, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
204
210
  self.clientSecretProviderSetupIntentClientSecretCallback?(setupIntentClientSecret)
205
211
  resolve([])
206
212
  }
207
213
 
208
-
209
214
  @objc(clientSecretProviderCustomerSessionClientSecretCallback:resolver:rejecter:)
210
- public func clientSecretProviderCustomerSessionClientSecretCallback(customerSessionClientSecretDict: NSDictionary, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) -> Void {
215
+ public func clientSecretProviderCustomerSessionClientSecretCallback(customerSessionClientSecretDict: NSDictionary, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
211
216
  guard let customerId = customerSessionClientSecretDict["customerId"] as? String,
212
217
  let clientSecret = customerSessionClientSecretDict["clientSecret"] as? String else {
213
218
  resolve(Errors.createError(ErrorType.Failed, "Invalid CustomerSessionClientSecret format"))
214
219
  return
215
220
  }
216
-
221
+
217
222
  let customerSessionClientSecret = CustomerSessionClientSecret(customerId: customerId, clientSecret: clientSecret)
218
223
  self.clientSecretProviderCustomerSessionClientSecretCallback?(customerSessionClientSecret)
219
224
  resolve([])
@@ -38,7 +38,8 @@ extension StripeSdkImpl {
38
38
  let intentConfig = buildIntentConfiguration(
39
39
  modeParams: modeParams,
40
40
  paymentMethodTypes: intentConfig["paymentMethodTypes"] as? [String],
41
- captureMethod: mapCaptureMethod(captureMethodString),
41
+ onBehalfOf: intentConfig["onBehalfOf"] as? String,
42
+ captureMethod: StripeSdkImpl.mapCaptureMethod(captureMethodString),
42
43
  useConfirmationTokenCallback: hasConfirmationTokenHandler
43
44
  )
44
45
 
@@ -92,7 +93,7 @@ extension StripeSdkImpl {
92
93
  // Return an object with { status: 'failed', error }
93
94
  resolve([
94
95
  "status": "failed",
95
- "error": error.localizedDescription
96
+ "error": error.localizedDescription,
96
97
  ])
97
98
  }
98
99
  }
@@ -128,7 +129,8 @@ extension StripeSdkImpl {
128
129
  let intentConfiguration = buildIntentConfiguration(
129
130
  modeParams: modeParams,
130
131
  paymentMethodTypes: intentConfig["paymentMethodTypes"] as? [String],
131
- captureMethod: mapCaptureMethod(captureMethodString),
132
+ onBehalfOf: intentConfig["onBehalfOf"] as? String,
133
+ captureMethod: StripeSdkImpl.mapCaptureMethod(captureMethodString),
132
134
  useConfirmationTokenCallback: hasConfirmationTokenHandler
133
135
  )
134
136
 
@@ -211,7 +213,7 @@ extension StripeSdkImpl {
211
213
  configuration.applePay = try ApplePayUtils.buildPaymentSheetApplePayConfig(
212
214
  merchantIdentifier: self.merchantIdentifier,
213
215
  merchantCountryCode: applePayParams["merchantCountryCode"] as? String,
214
- paymentSummaryItems: applePayParams["cartItems"] as? [[String : Any]],
216
+ paymentSummaryItems: applePayParams["cartItems"] as? [[String: Any]],
215
217
  buttonType: applePayParams["buttonType"] as? NSNumber,
216
218
  customHandlers: buildCustomerHandlersForPaymentSheet(applePayParams: applePayParams)
217
219
  )
@@ -287,7 +289,7 @@ extension StripeSdkImpl {
287
289
  if customerEphemeralKeySecret != nil && customerClientSecret != nil {
288
290
  return(error: Errors.createError(ErrorType.Failed, "`customerEphemeralKeySecret` and `customerSessionClientSecret cannot both be set"), configuration: nil)
289
291
  } else if let customerEphemeralKeySecret {
290
- if (!Errors.isEKClientSecretValid(clientSecret: customerEphemeralKeySecret)) {
292
+ if !Errors.isEKClientSecretValid(clientSecret: customerEphemeralKeySecret) {
291
293
  return(error: Errors.createError(ErrorType.Failed, "`customerEphemeralKeySecret` format does not match expected client secret formatting."), configuration: nil)
292
294
  }
293
295
  configuration.customer = .init(id: customerId, ephemeralKeySecret: customerEphemeralKeySecret)
@@ -296,7 +298,7 @@ extension StripeSdkImpl {
296
298
  }
297
299
  }
298
300
 
299
- if let preferredNetworksAsInts = params["preferredNetworks"] as? Array<Int> {
301
+ if let preferredNetworksAsInts = params["preferredNetworks"] as? [Int] {
300
302
  configuration.preferredNetworks = preferredNetworksAsInts.map(Mappers.intToCardBrand).compactMap { $0 }
301
303
  }
302
304
 
@@ -304,11 +306,11 @@ extension StripeSdkImpl {
304
306
  configuration.allowsRemovalOfLastSavedPaymentMethod = allowsRemovalOfLastSavedPaymentMethod
305
307
  }
306
308
 
307
- if let paymentMethodOrder = params["paymentMethodOrder"] as? Array<String> {
309
+ if let paymentMethodOrder = params["paymentMethodOrder"] as? [String] {
308
310
  configuration.paymentMethodOrder = paymentMethodOrder
309
311
  }
310
312
 
311
- configuration.cardBrandAcceptance = computeCardBrandAcceptance(params: params)
313
+ configuration.cardBrandAcceptance = StripeSdkImpl.computeCardBrandAcceptance(params: params)
312
314
 
313
315
  if let formSheetActionParams = params["formSheetAction"] as? NSDictionary,
314
316
  let actionType = formSheetActionParams["type"] as? String {
@@ -324,7 +326,7 @@ extension StripeSdkImpl {
324
326
  case .failed(let error):
325
327
  resultDict = [
326
328
  "status": "failed",
327
- "error": error.localizedDescription
329
+ "error": error.localizedDescription,
328
330
  ]
329
331
  }
330
332