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
.
solito
for cross-platform navigation- Next.js 15 for API routes
- Expo 53 + React Native for the native app
stripe
for paymentsfirebase
for authentication (you can easily swap it out)- React Navigation 7
- React 19 (see Solito compatibility docs)
- React Compiler
-
apps
entry points for each appnative
web
api
- Checkout routes
- Apple
.well-known
route
-
packages
shared packages across appsapp
you'll be importing most files fromapp/
features
(don't use ascreens
folder. organize by feature.)provider
(all the providers that wrap the app, and some no-ops for Web.)navigation
Next.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 next
inapps/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.