Skip to main content
Glama
stripe.md4.24 kB
--- title: Stripe description: A library that provides access to native APIs for integrating Stripe payments. sourceCodeUrl: https://github.com/stripe/stripe-react-native packageName: @stripe/stripe-react-native platforms: ["android", "ios"] --- Expo includes support for [`@stripe/stripe-react-native`](https://github.com/stripe/stripe-react-native), which allows you to build delightful payment experiences in your native Android and iOS apps using React Native and 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's `expo-payments-stripe` module? [Learn more about how to transition to the new `@stripe/stripe-react-native` library](https://github.com/expo/fyi/blob/main/payments-migration-guide.md#how-to-migrate-from-expo-payments-stripe-to-the-new-stripestripe-react-native-library). ## Installation Each Expo SDK version requires a specific `@stripe/stripe-react-native` version. See the [Stripe CHANGELOG](https://github.com/stripe/stripe-react-native/blob/master/CHANGELOG.md) for a mapping of versions. To automatically install the correct version for your Expo SDK version, run: ### Config plugin setup (optional) If you're using EAS Build, you can do most of your Stripe setup using the `@stripe/stripe-react-native` [config plugin](/config-plugins/introduction/). To set up, just add the config plugin to the `plugins` array of your **app.json** or **app.config.js** as shown below, then rebuild the app. ```json app.json { "expo": { /* @hide ... */ /* @end */ "plugins": [ [ "@stripe/stripe-react-native", { "merchantIdentifier": string | string [], "enableGooglePay": boolean } ] ], } } ``` - **merchantIdentifier**: iOS only. This is the [Apple merchant ID obtained here](https://stripe.com/docs/apple-pay?platform=react-native). Otherwise, Apple Pay will not work as expected. If you have multiple merchantIdentifiers, you can set them in an array. - **enableGooglePay**: Android only. Boolean indicating whether or not Google Pay is enabled. Defaults to `false`. ## Example Trying out Stripe takes just a few seconds. Connect to [this Snack](https://snack.expo.dev/@charliecruzan/stripe-react-native-example?platform=mydevice) on your device. Under the hood, that example connects to [this Glitch server code](https://glitch.com/edit/#!/expo-stripe-server-example), so you'll need to open that page to spin up the server. Feel free to run your own Glitch server and copy that code! ## Usage For usage information and detailed documentation, see the following resources: - [Stripe's React Native SDK reference](https://stripe.dev/stripe-react-native/api-reference/index.html) - [Stripe's React Native GitHub repo](https://github.com/stripe/stripe-react-native) - [Stripe's example React Native app](https://github.com/stripe/stripe-react-native/tree/master/example) ### Common issues #### Browser pop-ups are not redirecting back to my app If you're relying on redirects, you'll need to pass in a `urlScheme` to `initStripe`. To make sure you always use the proper `urlScheme`, pass in: ```js urlScheme: Constants.appOwnership === 'expo' ? Linking.createURL('/--/') : Linking.createURL(''), ``` [`Linking.createURL()`](./linking.md#createurloptions) will ensure you're using the proper scheme, whether you're running in Expo Go or your production app. `'/--/'` 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. ## Limitations ### Google Pay Google Pay **is not** supported in [Expo Go](https://expo.dev/go). To use Google Pay, you must create a [development build](/develop/development-builds/create-a-build/). This can be done with [EAS Build](/build/introduction), or locally by running `npx expo run:android`. ### Apple Pay Apple Pay **is not** supported in [Expo Go](https://expo.dev/go). To use Apple Pay, you must create a [development build](/develop/development-builds/create-a-build/). This can be done with [EAS Build](/build/introduction), or locally by running `npx expo run:ios`.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jaksm/expo-docs-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server