// the find
stripe/stripe-react-native
React Native library for Stripe.
Official Stripe SDK for React Native, maintained by Stripe itself. Covers PaymentSheet, CardField, Apple Pay, Google Pay, Financial Connections, CustomerSheet, and a bunch of other Stripe products. This is the library you use if you're building a React Native app that needs to take payments.
- Maintained by Stripe directly, so it tracks the native iOS/Android SDKs closely and gets security updates without waiting on a third party
- Extensive e2e test coverage across both platforms with platform-specific test files for things like Apple Pay, Google Pay, ACH, SEPA, and a dozen other payment methods
- Supports both old and new React Native architecture (bridges old arch via separate files in android/src/oldarch), and has Expo plugin support out of the box
- Built-in Jest mock file is a small but genuinely useful touch that prevents test environments from blowing up on native module calls
- Android setup has real friction: CardForm requires manual Material Components theme configuration, Kotlin 2.x is required but RN 0.77 and below ship with older Kotlin, and compileSdkVersion must be 36+, which can break existing projects
- The singleTask launchMode limitation on Android causing Chrome Custom Tabs to close on backgrounding is a known issue with no clean fix, just a workaround doc — this will bite anyone doing bank redirects or 3DS on Android
- API surface is very large and some things (like the confirm handler callback pattern for custom payment flows) have had breaking changes across minor versions, making upgrades more painful than they should be for a payments library
- No offline or retry behavior built in — error handling is entirely left to the consumer, and the error objects returned are thin wrappers that often just say 'Canceled' without actionable detail