Stripe React Native: the Most Common Questions - Tipsi Migration Guide, Part 5

Authors
Jakub Kłobus
Software Engineer
@
Callstack

If you have ever integrated payments with React Native, you may have encountered the popular community library “tipsi-stripe“. This project has been unmaintained for several years and the README now suggests migrating to the official Stripe React Native project.

To better support developers looking to migrate from “tipsi-stripe” to stripe-react-native, we’ve prepared The Stripe React Native Migration Guide to walk you through the core concepts and integration steps.

This article is the first part of the guide in which we go through the process of migrating from tipsi-stripe to stripe-react-native.

The guide is divided into 5 parts in which you'll learn about the following aspects of the migration process:

Questions about Stripe React Native

Migrating from one payments library to another brings a lot of challenges and questions. We selected and answered the most common questions related to migration. Hopefully, this short guide will make everything more clear.

Should I migrate to stripe-react native?

Yes, with no doubt. Tipsi-stripe is not maintained anymore and the official and supported Stripe library for React Native is stripe-react-native.

Is every tipsi-stripe feature implemented in stripe-react-native?

Most of them are. The only missing functionality is the paymentRequestWithCardForm function that opens the Add Card view to accept a payment. So in stripe-react-native In order to collect card details please use the CardField component or confirmPaymentSheetPayment functionality for a unified Payment UI experience.

More information can be found in the third part of the Tipsi Migration Guide.

Is it possible to migrate incrementally?

Unfortunately, stripe-react-native uses different native SDKs versions. Because of that, it is required to first uninstall tipsi-stripe and then install the new library. This makes it impossible to migrate your code feature by feature.

Can I use stripe-react-native with Expo?

Yes, you can. The library is supported by Expo. The only requirement is to install it using expo CLI. Just like this - expo install @stripe/stripe-react-native. No additional native setup is needed.

It even works well in Expo Snack so if you want to test the library and play with it a little, you can use stripe-react-native-example.

More information you can find in the official Expo guide.

How can I ensure the migration won't break anything?

There is no perfect solution to that but you can follow a few simple steps to make the migration safer. The best approach to do that is:

  1. Reading migration guide (if existing)
  2. Writing (or reviewing) end-to-end tests
  3. Actual migration
  4. Building the app - making sure the app is building properly on every supported platform
  5. Proper regression testing
  6. Setup crash reporting tools

For more details check out the fourth part of the Tipsi Migration Guide.

How to pass card details to payment methods after migration from Tipsi?

In stripe-react-native to make a card payment passing card details is not required. This is the main difference between the new library and tipsi-stripe. Due to the PCI compliance considerations, everything happens natively under the hood. This is both safer and more convenient for developers.

Right now, the only required thing is to render a Card component on the same screen where you have the confirming payment logic.

Can I use a custom Card component with Stripe payments?

This is not supported as it has PCI compliance implications. Please use the CardField component to collect card details. It will pass card details to payments methods automatically. You can find more details in the Stripe's docs.

Is stripe-react-native production ready?

Yes, it is. It is finished and ready for production as it is the recommended Stripe library for payments in React Native.

Is the API of stripe-react-native similar to tipsi-stripe?

There are some differences but nothing that will require you to reimplement your features.

More information about differences can be found third part of the Tipsi Migration Guide.

If you are interested in looking at some examples in form of diff you can find them in this PR.  contains exemplary migration for simple payment features (card payment, Apple Pay, Google Pay).

Will the library affect app performance and bundle size?

No, it should not. When used properly it should not affect the app performance or the bundle size.

Although, It affects the security of your application positively. Thanks to better implementation of the PCI compliance.

Is the new library actively maintained?

Yes! stripe-react-native is an official library for React Native maintained by Stripe itself and open-source collaborators.

Summary

We hope that we covered all of the details of migrating from tipsi-stripe to stripe-react-native and you'll find this guide useful. If you haven't read it yet, be sure to check out the previous parts of this guide.

The guide was created by Jakub Klobus, a software developer at Callstack and a Stripe developer community expert for React Native. He’s made thousands of open source code contributions for projects such as React Native paper, stripe-react-native, and Re.Pack.

Insights

Learn more about Open Source

cover

Aug 7Article

Visualizing Open Source Licenses to Analyze Compliance and Reduce Legal Risk

Discover how license-kit visualize maps and analyzes your dependency graph, helping you spot license issues, duplicates, and restrictive packages with interactive views, stats, and AI-powered summaries.

cover

Mar 26Podcast

How Definitely Typed Changed TypeScript Forever

Discover the story behind Definitely Typed with its creator, Boris Yankov, and learn how it became essential for type-safe JavaScript in the TypeScript ecosystem.

cover

Oct 14Article

Introducing the OMH Cloud Storage Module

Discover the OMH Cloud Storage Module. This open-source solution simplifies cloud storage integration for React Native apps.

cover

Jul 12Article

Introduction to the React Native OMH Maps Library

Discover how the React Native OMH Maps library simplifies map integration with cross-platform compatibility, ease of use, and customization options.

cover

Apr 22Podcast

Behind the Scenes of React Native 0.74 Release

Join the release crew members to find out what new features and improvements React Native 0.74 brings to the cross-platform development world.

cover

Apr 27Podcast

Callstack OSS Update

April 2023 Callstack OSS Update: RFC for Expo Config Plugins, Re.Pack & Paper news.

cover

Dec 6Article

React Native Paper 5.0 - What’s New?

React Native Paper 5.0 is here! Dive into the latest updates and improvements.

cover

Feb 6Article

Stripe React Native Migration Function by Function - Tipsi Migration Guide, Part 3

In the third part of the Tipsi Migration Guide we describe the Stripe React Native migration function by function.

cover

Dec 6Article

Stripe React Native Configuration - Tipsi Migration Guide, Part 2

In the second part of the Tipsi Migration Guide by Callstack, you'll learn how to properly configure the stripe-react-native library.

cover

Mar 19Tutorial

The Hard Way vs. The React Native AI SDK Way: Stop Writing Custom Modules for Every Model

Learn how React Native AI uses a unified provider model to switch between cloud and on-device LLMs without rewriting application logic, enabling reliable AI experiences online and offline.

cover

Mar 12Tutorial

Build Smarter Apps: Tool Calling & AI Orchestration Explained

Learn how on-device models in React Native can call tools, interact with external APIs, and return structured outputs you can use directly in application logic.

cover

Mar 5Tutorial

MLC LLM + React Native: On-Device AI Without the Pain

Learn how to run third-party on-device LLMs in React Native using MLC LLM. Choose your models, run them efficiently across platforms, and keep a unified JavaScript API with React Native AI.

cover

Feb 24Tutorial

Intelligent Fallbacks with Apple Intelligence in React Native

Learn how to use Apple’s built-in Foundation Models in React Native apps, reduce memory usage, and enable fast, fully on-device AI with React Native AI Apple.

cover

Feb 10Tutorial

What Is the React Native AI SDK? A Complete Intro & Quickstart

Learn why on-device AI matters for React Native apps, how local LLMs behave offline, and what problems React Native AI is designed to solve from day one.

cover

Jan 29Tutorial

Implementing an Android TurboModule with Kotlin

Learn how to implement a React Native TurboModule on Android, from the TypeScript spec and Codegen to the Kotlin implementation and package registration.

cover

Jan 19Tutorial

Working with Different Threads in Swift TurboModules

Learn how JavaScript, native module, background, and main threads interact in React Native TurboModules, and how to use GCD queues to run async work safely in Swift.

cover

Jan 9Tutorial

How to Add Type-Safe Constants to Swift TurboModules

Learn how to expose typed, immutable constants from a Swift TurboModule using Codegen, and get full end-to-end type safety between native and JavaScript.

cover

Dec 30Tutorial

Adding Event Emitters to Your TurboModule in Swift

Learn how to emit native events from a Swift TurboModule and subscribe to them in JavaScript, including proper memory management and Codegen integration.

cover

Dec 22Tutorial

Writing Your First TurboModule in Swift

Learn how to build a fully working TurboModule in Swift, integrate it with Codegen, and bridge it through Objective‑C inside an Expo app.