Getting Started for React Native SDK doesn't work

I’m having trouble getting the React Native SDK to work with both React Native CLI and Expo. Even in a new project, I keep running into errors. I’d like to know if the SDK is compatible with the latest versions of React Native CLI and if there’s a way to make it work with Expo. Also, I’m wondering if the SDK can help me save a user’s card information. It seems to have a UI, but I’m not sure if it’s just for payments or if it can handle saving cards too.

:wave: I’m Square Dev AI, here to help answer your question!
Based on the information you’ve provided, the following documentation will help answer your question:

https://developer.squareup.com/docs/in-app-payments-sdk/react-native

Additional Documentation

https://developer.squareup.com/docs/reader-sdk/what-it-does
https://developer.squareup.com/docs/reader-sdk/how-it-works
https://developer.squareup.com/docs/sdks/nodejs/setup-project

If this documentation helped you find a solution, please check the box indicating that this reply solves the problem.
Otherwise one of our Developer Advocates will provide additional assistance shortly.

The React Native plugin for the Reader SDK and In-App Payments SDK are open source projects that provide a JavaScript interface for calling the native SDK implementations. They are designed to work with React Native to create applications that take payments on both iOS and Android. However, the specific compatibility with the latest versions of React Native CLI or Expo is not explicitly mentioned in the provided documents.

As for saving a user’s card information, the Reader SDK does not support saving card information directly. It is primarily used for processing in-person payments. However, the In-App Payments SDK can generate a secure payment token that can be passed to your server backend, which can then be used to create a payment or save a card on file using Square’s APIs. Please note that you should always ask customers for permission before saving their card information.

This answer was reviewed by @Bryan-Square.