-
Notifications
You must be signed in to change notification settings - Fork 301
Merges Crypto Onramp Beta Branch into master
#2227
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
# Conflicts: # example/ios/Podfile.lock # src/events.ts
* Updates native SDK versions. * Remove Podfile.lock after attempting pod install with 24.23.1 Committed-By-Agent: cursor
…2103) * Updates native SDK versions. * Implements remaining bindings for StripeCryptoOnramp on iOS * updates podfile Committed-By-Agent: cursor * update phone number testing Committed-By-Agent: cursor --------- Co-authored-by: Carlos Munoz <[email protected]> Co-authored-by: Carlos Muñoz <[email protected]>
…2116) The initialise method is async and returns a Promise, but it wasn't being awaited. This could cause race conditions where subsequent Stripe operations might be called before initialization completes. Changes: - Added await to initStripe function call to NativeStripeSdk.initialise - Wrapped useEffect initialization in async IIFE - Both Android and iOS initialization paths now properly await completion Co-authored-by: Mikhail <[email protected]>
* Add new FormField for input * Move UI into it's own sections * Move sections into their own folder * Move styles * create utils file * Move function into utils * Rename screen to flow * Remove verify screen * Move register screen * Fixes a build error * Move styles back to CryptoOnrampFlow
* Reduce payment collection code * Centralize alert showing logic * Move the status section to its own file, cleanup styles
* don't recreate OnrampCoordinator * add cryptoCustomerId configuration param * Adds the cryptoCostumerId parameter to onramp coordinator creation * Update iOS SDK, fix typo * bump android 21.27.0 --------- Co-authored-by: Twig <[email protected]>
* Initial implementation of returning display data * Allow bank account as well * Initial implementation on both platforms * Remove bankIconCode * update for latest android changes * Fills out more of the `paymentDisplayData` implementation on iOS * Update api to be promise based * Fix up to use result * Update CryptoOnrampFlow.tsx * Fix errors * Uses alternate method for getting card brand * Cleanup * Update Onramp.ts * Update StripeSdkImpl.swift * Rename function * Update typing information * Refactors iOS `getCryptoTokenDisplayData` to return dictionary synchronously * Fix compilation issue * Update RN apis and kotlin parsing * Updates iOS for new payment token dictionary structure * Update CryptoOnrampFlow.tsx * Fix pr comments * Re-implement promise API * Fix objc name * Update to latest iOS SDK version * Update iOS version * update android sdk to 21.27.0 * Fix formatting --------- Co-authored-by: Michael Liberatore <[email protected]>
* Updates to iOS 25.0.0 SDK * Removes giropay references * Fixes migration of `paymentMethodTypes: [NSNumber]` to `paymentMethodTypes: [STPPaymentMethodType]` Release notes: > [Changed] STPPaymentIntent.paymentMethodTypes and STPSetupIntent.paymentMethodTypes now return [STPPaymentMethodType] instead of [NSNumber] in Swift for better ergonomics. * Migrates `authorizationResultHandler` which now accepts one parameter and returns async by using a continuation. * Merge branch 'master' into 0.52.0-crypto-onramp-2-private-beta * Fix some @_spi imports * Fix placeholder function when not using onramp --------- Co-authored-by: Twig <[email protected]>
* Revert "Use files instead of npmignore to cleanup npm package (#2081)" (#2099) This reverts commit 9b24cd8. * Update package.json (#2105) * Re-enable FC tests on iOS by forcing native flow (#2104) * Re-enable FC tests on iOS by forcing native flow * Fix Android build * fix: add missing await to NativeStripeSdk.initialise calls (#2113) The initialise method is async and returns a Promise, but it wasn't being awaited. This could cause race conditions where subsequent Stripe operations might be called before initialization completes. Changes: - Added await to initStripe function call to NativeStripeSdk.initialise - Wrapped useEffect initialization in async IIFE - Both Android and iOS initialization paths now properly await completion * Parse link config for embedded (#2115) * Remove package-lock.json (#2110) * Use files instead of npmignore to cleanup npm package (#2109) * Revert "Revert "Use files instead of npmignore to cleanup npm package (#2081)" (#2099)" This reverts commit c8d2bb2. * Use npm publish * Improve android ci build performance (#2111) * Improve android ci build performance * Test * Update gradle action * Use gradle cache action for both * Improve apple pay docs (#2117) * Embedded invisible Android fix (#2118) * Try to fix layout issue * Update CHANGELOG.md * Add isLoaded (#2120) * Bump Android SDK version to 21.26.+ (#2124) * Bump Android SDK version to 21.26.+ * wip? * 0.53.0 (#2121) * Update CHANGELOG.md * v0.53.0 (#2127) * Fix iOS build on new arch 0.81 with static linkage (#2129) * Fix iOS build on new arch 0.81 with static linkage * Add changelog * Fix a potential bug in the stop method. (#2133) * Fix handling images with alpha (#2134) * Update CHANGELOG.md (#2135) * v0.53.1 (#2136) * Set up headless task when using StripeProvider (#2128) * Migrate CI to bitrise (#2137) * Migrate CI to bitrise * Update iOS test name --------- Co-authored-by: Nick Porter <[email protected]> * feat: add Alma implementation (#2140) Co-authored-by: Bella Koch <[email protected]> * Update CHANGELOG.md (#2149) * v0.54.0 (#2150) * Fix stripe ui errors when rotating screen (#2147) * Fix stripe ui errors when rotating screen * Fix format * 0.54.1 proposal (#2153) * v0.54.1 (#2154) * Add iOS patch info to README (#2102) * Add info about apply the patch to fix the iOS old architecture codegen issue * Update wording * update instructions to specify that issue is fixed with latest version * fix typo * Fix pods cache on CI (#2159) * Fix pods cache on CI * Test * Update CODEOWNERS (#2162) * Bump iOS version to ~> 24.24.0 (#2163) * Bump iOS version to ~> 24.24.0 * update pods * Add ability to applyLiquidGlass and update navigationBarStyle (#2165) * Add ability to applyLiquidGlass and update navigationBarStyle This reverts commit def71e55e0cea7e322333a4c47e4c1b3815c682d. * kick off ci * Revert "kick off ci" This reverts commit 9447677. * Add warning message to wave-atom affected releases (#2168) * allow `uk_` keys for customer ephemeral keys (#2169) * Propose 0.55.0 (#2175) * v0.55.0 (#2176) * Fix issue with missing metadata on FC events on Android (#2178) * Fix issue with missing metadata on FC events on Android * Add note in changelog * Add ConfirmationTokens API (#2166) * feat: Add confirmation token support for embedded payment element Implements confirmation token callbacks for the embedded payment element, allowing merchants to use confirmationTokenConfirmHandler as an alternative to the traditional confirmHandler flow. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> Committed-By-Agent: claude * Test iOS CT path * Update Android impl * Update embedded screen * Add embedded CT support * run code gen * Add import * Scroll to find button * Add notes about API * Fix race condition #2166 (comment) * fix mappers * lint * Revert "Fix race condition" This reverts commit ded8d94. --------- Co-authored-by: Claude <[email protected]> * Add missing mappings for Link payment method type (#2179) * Add missing mappings for Link payment method type * Add note to changelog * Update CHANGELOG.md (#2184) * v0.55.1 (#2185) * Code gen update (#2151) * Fix border radius not being applied to Apple Pay button (#2189) * GA CTs and CS (#2188) * Fix patch releases not automatically being used from `stripe-android` (#2191) * Customersession for customersheet and OBO (#2192) * public api * update react native sdk version * backend changes * emitter layer * emission listener and callback spec * callback listener and emission caller * CustomerSheet w. CustomerSession Screen * uncomment OBO parsing * update iOS sdk version * fix confirmationTokenConfirmHandler * Update CHANGELOG.md * fix embedded-cpm e2e test wait until payment methods are loaded add padding so the e2e test can actually click complete payment * Handle lifecycle states better (#2200) * Handle lifecycle states better * Simplify fix * Simplify fix more * Update CHANGELOG.md (#2204) * v0.56.0 (#2206) * Remove fragments (#2174) * Remove fragments * Cleanup * Cleanup * More cleanup * Fix dynamicColorFromParams * Fix custom payment methods * Fix dynamicColorFromParams * Remove toBundle * Fix format * Cleanup * Remove Giropay (#2209) * Fix how we get root VC for scene based apps (#2216) * Use RCTKeyWindow rather than UIApplication window * Update CHANGELOG.md * Update iOS SDK to 25.0.0 and Android SDK to 22.0.0 (#2210) * Update iOS SDK to 25.0.0 * [TEMP] TODO DELETE THIS - make example prefer maven local * Update Android * update changelog * Revert "[TEMP] TODO DELETE THIS - make example prefer maven local" This reverts commit 66b9176. * lint android and make it part of the pre-commit * update with latest * update example pod * Add dev guide to claude md (#2215) * initial * Claude rewrites my initial guide * Updates root view controller access to match `master` * Fix android compilation --------- Co-authored-by: Nick Porter <[email protected]> Co-authored-by: Till Hellmund <[email protected]> Co-authored-by: Mikhail <[email protected]> Co-authored-by: Janic Duplessis <[email protected]> Co-authored-by: George Birch <[email protected]> Co-authored-by: Tian Zhao <[email protected]> Co-authored-by: Jay Newstrom <[email protected]> Co-authored-by: rghirell <[email protected]> Co-authored-by: Bella Koch <[email protected]> Co-authored-by: Samer Alabi <[email protected]> Co-authored-by: charliecruzan-stripe <[email protected]> Co-authored-by: John Woo <[email protected]> Co-authored-by: Mat Schmid <[email protected]> Co-authored-by: guido-stripe <[email protected]> Co-authored-by: Claude <[email protected]> Co-authored-by: Andrew Harrison <[email protected]> Co-authored-by: Yuki <[email protected]> Co-authored-by: Twig <[email protected]>
* Updates to iOS 25.0.0 SDK * Removes giropay references * Fixes migration of `paymentMethodTypes: [NSNumber]` to `paymentMethodTypes: [STPPaymentMethodType]` Release notes: > [Changed] STPPaymentIntent.paymentMethodTypes and STPSetupIntent.paymentMethodTypes now return [STPPaymentMethodType] instead of [NSNumber] in Swift for better ergonomics. * Migrates `authorizationResultHandler` which now accepts one parameter and returns async by using a continuation. * Adds RN implementation of `authenticateUserWithToken` * Adds iOS implementation for seamless sign-in * Adds sign up demo backend api * Adds login demo backend method * Migrates demo backend method /v1/auth/create * Adds createLinkAuthToken demo backend API * Adds saveUser demo backend API * Adds /v1 prefix to create_onramp_session and checkout (no other changes to these APIs) * Adds demo backend login/signup buttons and password field prior to checking link account * Calls the updated authorize method with the new token with LAI * Calls saveUser after authorization * Hides auth fields after successful auth * Removes the manual LAI authorization method * Progress on seamless sign-in logic * Minor clean up of state * Fixes syntax error in NativeOnrampSdkModule * installs RNCAsyncStorage via cocoapods * Better styling for seamless sign in label * Gets the customer id after seamless sign in * Disables buttons while seamlessly signing in * Removes hasSeamlessSignIn * Removes redundant label * Uses showError() instead of Alert.alert() * Shows loading state when signing up / logging in * Shows an alert so the user knows they need to register a link account before continuing. * Moves GetCryptoCustomerResponse * Removes a comment change * Adds dummy fallback binding for when onramp is not included * Android seamless sign in implementation * format checking * Updates documentation to match updated API review doc * Fixes missing massword from UserInfo * Fix android build error on old architecture * Fixes white password text and autocapitalization for password on Android * also turns off auto-caps on email field * Change to withContext --------- Co-authored-by: Twig <[email protected]>
* Revert "Use files instead of npmignore to cleanup npm package (#2081)" (#2099) This reverts commit 9b24cd8. * Update package.json (#2105) * Re-enable FC tests on iOS by forcing native flow (#2104) * Re-enable FC tests on iOS by forcing native flow * Fix Android build * fix: add missing await to NativeStripeSdk.initialise calls (#2113) The initialise method is async and returns a Promise, but it wasn't being awaited. This could cause race conditions where subsequent Stripe operations might be called before initialization completes. Changes: - Added await to initStripe function call to NativeStripeSdk.initialise - Wrapped useEffect initialization in async IIFE - Both Android and iOS initialization paths now properly await completion * Parse link config for embedded (#2115) * Remove package-lock.json (#2110) * Use files instead of npmignore to cleanup npm package (#2109) * Revert "Revert "Use files instead of npmignore to cleanup npm package (#2081)" (#2099)" This reverts commit c8d2bb2. * Use npm publish * Improve android ci build performance (#2111) * Improve android ci build performance * Test * Update gradle action * Use gradle cache action for both * Improve apple pay docs (#2117) * Embedded invisible Android fix (#2118) * Try to fix layout issue * Update CHANGELOG.md * Add isLoaded (#2120) * Bump Android SDK version to 21.26.+ (#2124) * Bump Android SDK version to 21.26.+ * wip? * 0.53.0 (#2121) * Update CHANGELOG.md * v0.53.0 (#2127) * Fix iOS build on new arch 0.81 with static linkage (#2129) * Fix iOS build on new arch 0.81 with static linkage * Add changelog * Fix a potential bug in the stop method. (#2133) * Fix handling images with alpha (#2134) * Update CHANGELOG.md (#2135) * v0.53.1 (#2136) * Set up headless task when using StripeProvider (#2128) * Migrate CI to bitrise (#2137) * Migrate CI to bitrise * Update iOS test name --------- Co-authored-by: Nick Porter <[email protected]> * feat: add Alma implementation (#2140) Co-authored-by: Bella Koch <[email protected]> * Update CHANGELOG.md (#2149) * v0.54.0 (#2150) * Fix stripe ui errors when rotating screen (#2147) * Fix stripe ui errors when rotating screen * Fix format * 0.54.1 proposal (#2153) * v0.54.1 (#2154) * Add iOS patch info to README (#2102) * Add info about apply the patch to fix the iOS old architecture codegen issue * Update wording * update instructions to specify that issue is fixed with latest version * fix typo * Fix pods cache on CI (#2159) * Fix pods cache on CI * Test * Update CODEOWNERS (#2162) * Bump iOS version to ~> 24.24.0 (#2163) * Bump iOS version to ~> 24.24.0 * update pods * Add ability to applyLiquidGlass and update navigationBarStyle (#2165) * Add ability to applyLiquidGlass and update navigationBarStyle This reverts commit def71e55e0cea7e322333a4c47e4c1b3815c682d. * kick off ci * Revert "kick off ci" This reverts commit 9447677. * Add warning message to wave-atom affected releases (#2168) * allow `uk_` keys for customer ephemeral keys (#2169) * Propose 0.55.0 (#2175) * v0.55.0 (#2176) * Fix issue with missing metadata on FC events on Android (#2178) * Fix issue with missing metadata on FC events on Android * Add note in changelog * Add ConfirmationTokens API (#2166) * feat: Add confirmation token support for embedded payment element Implements confirmation token callbacks for the embedded payment element, allowing merchants to use confirmationTokenConfirmHandler as an alternative to the traditional confirmHandler flow. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> Committed-By-Agent: claude * Test iOS CT path * Update Android impl * Update embedded screen * Add embedded CT support * run code gen * Add import * Scroll to find button * Add notes about API * Fix race condition #2166 (comment) * fix mappers * lint * Revert "Fix race condition" This reverts commit ded8d94. --------- Co-authored-by: Claude <[email protected]> * Add missing mappings for Link payment method type (#2179) * Add missing mappings for Link payment method type * Add note to changelog * Update CHANGELOG.md (#2184) * v0.55.1 (#2185) * Code gen update (#2151) * Fix border radius not being applied to Apple Pay button (#2189) * GA CTs and CS (#2188) * Fix patch releases not automatically being used from `stripe-android` (#2191) * Customersession for customersheet and OBO (#2192) * public api * update react native sdk version * backend changes * emitter layer * emission listener and callback spec * callback listener and emission caller * CustomerSheet w. CustomerSession Screen * uncomment OBO parsing * update iOS sdk version * fix confirmationTokenConfirmHandler * Update CHANGELOG.md * fix embedded-cpm e2e test wait until payment methods are loaded add padding so the e2e test can actually click complete payment * Handle lifecycle states better (#2200) * Handle lifecycle states better * Simplify fix * Simplify fix more * Update CHANGELOG.md (#2204) * v0.56.0 (#2206) * Remove fragments (#2174) * Remove fragments * Cleanup * Cleanup * More cleanup * Fix dynamicColorFromParams * Fix custom payment methods * Fix dynamicColorFromParams * Remove toBundle * Fix format * Cleanup * Remove Giropay (#2209) * Fix how we get root VC for scene based apps (#2216) * Use RCTKeyWindow rather than UIApplication window * Update CHANGELOG.md * Update iOS SDK to 25.0.0 and Android SDK to 22.0.0 (#2210) * Update iOS SDK to 25.0.0 * [TEMP] TODO DELETE THIS - make example prefer maven local * Update Android * update changelog * Revert "[TEMP] TODO DELETE THIS - make example prefer maven local" This reverts commit 66b9176. * lint android and make it part of the pre-commit * update with latest * update example pod * Add dev guide to claude md (#2215) * initial * Claude rewrites my initial guide * Update CHANGELOG (#2218) * v0.57.0 (#2219) * Fix crash when not setting custom flag (#2220) * FIx crash * Update CHANGELOG.md * Refactor + unit tests paymentsheet and element (#2211) * Remove EPH key from CT screens (#2222) * Add more unit tests on Android (#2212) * Add more mappers tests * Add address view tests * Update EmbeddedPaymentElementView.kt * Update EmbeddedPaymentElementView.kt --------- Co-authored-by: Nick Porter <[email protected]> Co-authored-by: Till Hellmund <[email protected]> Co-authored-by: Mikhail <[email protected]> Co-authored-by: Janic Duplessis <[email protected]> Co-authored-by: George Birch <[email protected]> Co-authored-by: Tian Zhao <[email protected]> Co-authored-by: Jay Newstrom <[email protected]> Co-authored-by: rghirell <[email protected]> Co-authored-by: Bella Koch <[email protected]> Co-authored-by: Samer Alabi <[email protected]> Co-authored-by: charliecruzan-stripe <[email protected]> Co-authored-by: John Woo <[email protected]> Co-authored-by: Mat Schmid <[email protected]> Co-authored-by: guido-stripe <[email protected]> Co-authored-by: Claude <[email protected]> Co-authored-by: Andrew Harrison <[email protected]> Co-authored-by: Yuki <[email protected]> Co-authored-by: Twig <[email protected]>
* WIP on KYC Refresh * Adds resolve statuses * Adds temporary Podfile workaround to get latest `master` for iOS repo * Adds ts implementation * Update NativeOnrampSdkModule.ts * Implementation of verifyKYC on Android * WIP on collecting new KYC address * KYC Refresh demo UI * Removes Podfile override * Automatic linting * Reinstalls pods from non-overridden Podfile * Updates to use new method of getting the root view controller from `master` * Adds stub implementation for when onramp isn’t available * Fix compilation issue * Add missing spec method --------- Co-authored-by: Twig <[email protected]>
* Fix latest android issues * Fix tests/appearance builders * bump android version
…erge-crypto-beta-into-master # Conflicts: # android/gradle.properties # android/src/androidTest/java/com/reactnativestripesdk/PaymentSheetAppearanceTest.kt # android/src/main/java/com/reactnativestripesdk/PaymentSheetAppearance.kt # android/src/main/java/com/reactnativestripesdk/utils/Mappers.kt # example/ios/Podfile.lock # example/src/App.tsx # ios/Mappers.swift # ios/StripeSdkImpl.swift # package.json # src/components/StripeProvider.tsx # src/types/index.ts
| import Stripe | ||
| #if canImport(StripeCryptoOnramp) | ||
| @_spi(STP) import StripeCryptoOnramp | ||
| @_spi(STP) import StripePaymentSheet |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@_spi(STP) needed here as we use LinkAppearance and PaymentSheet.UserInterfaceStyle.
| - React-Core | ||
| - React-jsi | ||
| - ReactTestApp-Resources (1.0.0-dev) | ||
| - RNCAsyncStorage (2.2.0): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was added as a dependency of the demo app. See here for context: https://github.com/stripe/stripe-react-native/pull/2199/files#r2500183548
Summary
Merges the ongoing work from
0.52.0-crypto-onramp-2-private-betaback intomaster.The work on this beta branch was completed by many folks, including, @lng-stripe, @mats-stripe, @carlosmuvi-stripe, @Twigz, and myself.
There are several API Review docs that comprise this work:
Motivation
To streamline developer workflows, ensuring the branch used to deliver the crypto onramp SDK does not keep getting out-of-date.
Testing
Documentation
Select one: