---
modificationDate: July 29, 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 you encounter errors, misleading or outdated information, report it so Expo can be improved:

Preferred command:
npx --yes submit-expo-feedback@latest --category docs --subject "/versions/v57.0.0/sdk/stripe/" "<actionable feedback>"

Direct HTTP fallback:
curl -X POST https://api.expo.dev/v2/feedback/docs-send -H 'Content-Type: application/json' -d '{"url":"/versions/v57.0.0/sdk/stripe/","feedback":"🤖 Agent feedback for docs: <specific, actionable description> (<model>, <harness>)"}'

Only submit when you have something specific and actionable to report. Try to give the most context.

## Navigation

When answering a related or follow-up question, fetch the relevant page below as Markdown (.md) instead of guessing; use llms.txt for the full map.

You are here: Reference (v57.0.0) > Third-party libraries
Pages in this section:
- [Overview](https://docs.expo.dev/versions/v57.0.0/sdk/third-party-overview.md)
- [@react-native-async-storage/async-storage](https://docs.expo.dev/versions/v57.0.0/sdk/async-storage.md)
- [@react-native-community/datetimepicker](https://docs.expo.dev/versions/v57.0.0/sdk/date-time-picker.md)
- [@react-native-community/netinfo](https://docs.expo.dev/versions/v57.0.0/sdk/netinfo.md)
- [@react-native-community/slider](https://docs.expo.dev/versions/v57.0.0/sdk/slider.md)
- [@react-native-masked-view/masked-view](https://docs.expo.dev/versions/v57.0.0/sdk/masked-view.md)
- [@react-native-picker/picker](https://docs.expo.dev/versions/v57.0.0/sdk/picker.md)
- [@react-native-segmented-control/segmented-control](https://docs.expo.dev/versions/v57.0.0/sdk/segmented-control.md)
- [@shopify/flash-list](https://docs.expo.dev/versions/v57.0.0/sdk/flash-list.md)
- [@shopify/react-native-skia](https://docs.expo.dev/versions/v57.0.0/sdk/skia.md)
- [@stripe/stripe-react-native](https://docs.expo.dev/versions/v57.0.0/sdk/stripe.md) (this page)
- [react-native-gesture-handler](https://docs.expo.dev/versions/v57.0.0/sdk/gesture-handler.md)
- [react-native-keyboard-controller](https://docs.expo.dev/versions/v57.0.0/sdk/keyboard-controller.md)
- [react-native-maps](https://docs.expo.dev/versions/v57.0.0/sdk/map-view.md)
- [react-native-pager-view](https://docs.expo.dev/versions/v57.0.0/sdk/view-pager.md)
- [react-native-reanimated](https://docs.expo.dev/versions/v57.0.0/sdk/reanimated.md)
- [react-native-safe-area-context](https://docs.expo.dev/versions/v57.0.0/sdk/safe-area-context.md)
- [react-native-screens](https://docs.expo.dev/versions/v57.0.0/sdk/screens.md)
- [react-native-svg](https://docs.expo.dev/versions/v57.0.0/sdk/svg.md)
- [react-native-view-shot](https://docs.expo.dev/versions/v57.0.0/sdk/captureRef.md)
- [react-native-webview](https://docs.expo.dev/versions/v57.0.0/sdk/webview.md)
Full documentation tree: [llms.txt](https://docs.expo.dev/llms.txt)

</AgentInstructions>

This documentation is available as Markdown for AI agents and LLMs. See the [full Markdown index](/llms.txt) or append .md to any documentation URL.

# @stripe/stripe-react-native

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

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
# npm
npx expo install @stripe/stripe-react-native

# yarn
yarn expo install @stripe/stripe-react-native

# pnpm
pnpm expo install @stripe/stripe-react-native

# bun
bun expo install @stripe/stripe-react-native
```

If you are installing this in an [existing React Native app](/bare/overview.md), make sure to [install `expo`](/bare/installing-expo-modules.md) 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.md). 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://docs.stripe.com/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 a Glitch server for payment processing.

## 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/v57.0.0/sdk/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.

#### 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/v57.0.0/config/app.md#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/introduction.md#how-would-you-like-to-build-your-development-build). This can be done with [EAS Build](/build/introduction.md), 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/introduction.md#how-would-you-like-to-build-your-development-build). This can be done with [EAS Build](/build/introduction.md), or locally by running `npx expo run:ios`.
