Example Solito app that uses Stripe checkout on Web with an iOS app.
As of April 30, 2025, you can use web-based checkout on iOS without incurring Apple's commission.
Even though you're redirecting users to Web to complete their purchase, Apple pay is still supported. See the demo video below.
This monorepo implemented npx create-solito-app@latest.
solitofor cross-platform navigation- Next.js 15 for API routes
- Expo 53 + React Native for the native app
stripefor paymentsfirebasefor authentication (you can easily swap it out)- React Navigation 7
- React 19 (see Solito compatibility docs)
- React Compiler
-
appsentry points for each appnativewebapi- Checkout routes
- Apple
.well-knownroute
-
packagesshared packages across appsappyou'll be importing most files fromapp/features(don't use ascreensfolder. organize by feature.)provider(all the providers that wrap the app, and some no-ops for Web.)navigationNext.js has apages/folder. React Native doesn't. This folder contains navigation-related code for RN. You may use it for any navigation code, such as custom links.
You can add other folders inside of packages/ if you know what you're doing and have a good reason to.
-
Install dependencies:
yarn -
Next.js local dev:
yarn web- Runs
yarn nextinapps/web
- Runs
-
Expo local dev:
- First, build a dev client onto your device or simulator
cd apps/native- Then, either
npx expo run:ios
- After building the dev client, from the root of the monorepo...
yarn native(This runsnpx expo start --dev-client)
- First, build a dev client onto your device or simulator
See the Solito docs for more information.
This example was created using the Solito starter. Please refer to that starter's README for more information on development.