---
modificationDate: March 06, 2026
title: '@stripe/stripe-react-native'
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-go']
inExpoGo: true
---

<AgentInstructions>

## Submitting Feedback

If this page contains errors, outdated information, or gaps that blocked you from completing a task, report it so the docs can be improved:

curl -X POST https://api.expo.dev/v2/feedback/docs-send -H 'Content-Type: application/json' -d '{"url":"/versions/v53.0.0/sdk/stripe/","feedback":"🤖 Agent feedback: <specific, actionable description>"}'

Only submit when you have something specific and actionable to report.

</AgentInstructions>

# @stripe/stripe-react-native

A library that provides access to native APIs for integrating Stripe payments.
Android, iOS, Included in Expo Go

> For the complete documentation index, see [llms.txt](/llms.txt). Use this file to discover all available pages.

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).

[Watch: Universal Full-Stack Expo Stripe Payment Integration](https://www.youtube.com/watch?v=J0tyxUV_omY) — A complete walkthrough for integrating Stripe payments in a universal Expo app across Android, iOS, and web.

## 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:

```sh
npx expo install @stripe/stripe-react-native
```

If you are installing this in an [existing React Native app](/bare/overview), make sure to [install `expo`](/bare/installing-expo-modules) in your project. Then, follow the [installation instructions](https://github.com/stripe/stripe-react-native) provided in the library's README or documentation.

### 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
{
  "expo": {
    ... 
    "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
import * as Linking from 'expo-linking';
import Constants from 'expo-constants';

urlScheme:
  Constants.appOwnership === 'expo'
    ? Linking.createURL('/--/')
    : Linking.createURL(''),
```

[`Linking.createURL()`](/versions/v53.0.0/sdk/linking#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.

#### PaymentSheet localization on iOS

On Android, the translation of `PaymentSheet` is automatically detected based on a device's language settings.

On iOS, you must enable `CFBundleAllowMixedLocalizations` and add the preferred language using `CFBundleLocalizations` under [`ios.infoPlist`](/versions/v53.0.0/config/app#infoplist) in the app config:

```json
{
  "expo": {
    "ios": {
      "infoPlist": {
        "CFBundleAllowMixedLocalizations": true,
        "CFBundleLocalizations": ["fr"]
        ... 
      }
      ... 
    }
  }
}
```

## 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`.
