Top-up always uses both SDKs:
- Backend —
@jazadev/node creates a top-up session and returns a short-lived JWT.
- Mobile —
@jazadev/react-native opens the MoMo sheet after onRequestToken returns that JWT.
Prerequisites
- Dashboard setup with markets and at least one bundle
- A Jaza customer id stored on your user (
cus_…)
- Secret key on the server; publishable key in the Expo app
1. Backend: issue a top-up token
Optional: poll session status with jaza.check({ topUpId: session.id }).
Wrap the app with GestureHandlerRootView and JazaProvider, then render JazaBalanceWidget and JazaTopUpButton.
What the user sees
- Tap Top up → app requests JWT from your BFF.
- Sheet opens → bundles and current balance.
- User picks a pack, enters phone / country / currency, confirms quote.
- Payment runs; SDK polls until success or failure.
- Balance refreshes via
getBalance.
Jaza collects MoMo and settles to you. You do not configure PawaPay or FX yourself.
Next steps