@stripe/stripe-react-native
, which allows you to build delightful payment experiences in your native Android and iOS apps using React Native & Expo. This library provides powerful and customizable UI screens and elements that can be used out-of-the-box to collect your users' payment details.Migrating from Expo'sexpo-payments-stripe
module? Learn more about how to transition to this new library.
Android Device | Android Emulator | iOS Device | iOS Simulator | Web |
---|---|---|---|---|
@stripe/stripe-react-native
version. See the Stripe CHANGELOG for a mapping of versions. To automatically install the correct version for your Expo SDK version, run:→
expo install @stripe/stripe-react-native
If you're installing this in a bare React Native app, you should also follow these additional installation instructions.
@stripe/stripe-react-native
config plugin (what's a config plugin?). To setup, just add the config plugin to the plugins
array of your app.json or app.config.js as shown below, then rebuild the app.{ "expo": { ... "plugins": [ [ "@stripe/stripe-react-native", { "merchantIdentifier": string | string [], "enableGooglePay": boolean } ] ], } }
false
.urlScheme
to initStripe
. To make sure you always use the proper urlScheme
, pass in:import * as Linking from 'expo-linking'; import Constants from 'expo-constants'; urlScheme: Constants.appOwnership === 'expo' ? Linking.createURL('/--/') : Linking.createURL(''),
'/--/'
is necessary in Expo Go because it indicates that the substring after it corresponds to the deep link path, and is not part of the path to the app itself.@stripe/stripe-react-native
is supported in Expo Go on Android and iOS out of the box, however, for iOS, it is only available for standalone apps built with EAS Build, and not for apps built on the classic build system- expo build:ios
. Android apps built with expo build:android
will have access to the @stripe/stripe-react-native
library.expo run:ios
in your project directory.expo run:android
in your project directory.