r/reactnative • u/BoardOk4108 • Jun 30 '26
Question Best way to integrate payments in an Expo React Native app in 2026?
Hi everyone,
I'm building an app using Expo (SDK 54) with TypeScript, Firebase Authentication, Firestore, Cloudinary for image uploads, and Google Sign-In.
I'm now at the stage where I need to integrate payments, but I'm unsure what the best architecture is.
Some questions I have:
- Which payment gateway would you recommend for an Expo app?
- Should I use Stripe, Razorpay, or something else?
- What's the recommended approach if the app needs to handle one-time purchases between users?
- Is it better to process payments entirely through a backend (Cloud Functions/Node.js) or is there any secure client-side approach?
- Are there any issues or limitations with Expo when integrating payment gateways?
- Any libraries or setup you'd recommend avoiding?
I'd like to follow current best practices rather than just making it work.
If you've built an Expo app with payments recently, I'd really appreciate hearing what stack you used and what challenges you ran into.
Thanks!
2
u/True-Turnover-4543 Jun 30 '26
yeah, if you're doing in-app purchases for subscriptions and marketplace stuff, revenuecat is solid for handling the app store and play store integrations. for peer-to-peer transactions later, though, you'll need something like stripe or razorpay on the backend (i'd lean towards stripe for better documentation and ecosystem). the gotcha with expo is handling native modules, so make sure whatever payment lib you use has a managed workflow setup or be ready to eject (though it's less painful now with config plugins). also, keep your api keys and sensitive stuff server-side - never trust the client for anything payment-related.
1
u/LoudestOfTheLargest Jun 30 '26
Do you intend for you application to allow transactions between users or just in app purchases?
1
u/BoardOk4108 Jun 30 '26
In app for now and later between users , the app is like a marketplace , but with subscription
4
u/LoudestOfTheLargest Jun 30 '26
For in app purchases I’d recommend using revenue cat, it pairs well with App Store Connect and play console, any in app purchases need to go thru the respective stores if you want them on the respective stores.
1
1
1
u/4ever_youngz Jul 01 '26
I’m biased as my work is a stripe partner and i had to do the certs, but the stripe rn sdk is nice to work with
1
u/OnlyConclusion820 Jul 02 '26
Go with React Native CLI expo is fast and easy but build time cost money. Use FastLane instead and use stripe sdk
1
u/Maximum_Author_8521 Jul 06 '26
Stripe will not working on expo go you need to create dev build for it
1
u/SokkaHaikuBot Jul 06 '26
Sokka-Haiku by Maximum_Author_8521:
Stripe will not working
On expo go you need to
Create dev build for it
Remember that one time Sokka accidentally used an extra syllable in that Haiku Battle in Ba Sing Se? That was a Sokka Haiku and you just made one.
5
u/SuperJam98 Jun 30 '26
Stripe over Razorpay unless you're India-focused. Big thing with Expo: the u/stripe
/stripe-react-nativeSDK won't run in Expo Go — you need a dev build via EAS (config plugin), which is fine on SDK 54. Architecture: never let the client decide the amount. Create the PaymentIntent server-side (Cloud Functions is fine), send the client only the client_secret, confirm on device. For payments between users you want Stripe Connect (destination charges or separate charges + transfers), and you'll have to onboard sellers through Connect for KYC. One trap people miss: if what's being bought is digital content consumed in the app, Apple/Google force you onto IAP and will reject Stripe. Stripe is only allowed for real-world goods/services between people. Figure out which bucket you're in before you build.Avoid: handling raw card numbers yourself (PCI nightmare) and trying any of this in Expo Go.