Mobile SDKs
Collect payments directly in your app — native payment sheet for Flutter, React Native, Android, and iOS, optimized for Mobile Money.
6 min read
For a mobile app, the Wajub mobile SDKs display a native payment sheet: the customer chooses their operator, enters their phone number, and authorizes from their phone, without leaving your app.
The right separation of responsibilities
Your server initializes the payment with the secret key and returns the reference. Your
app presents the payment sheet with the public key (pk_…). Never put a secret key
in a mobile app.
The mobile flow
- The app asks your backend to create a payment (
POST /payments). - The backend returns the
reference(and a client token) to the app. - The app presents the Wajub payment sheet with this
reference. - The customer authorizes; the SDK returns the result and your backend confirms via webhook.
App side
initializebackend → referencepresent sheetcustomer authorizesresultcomplete / failed
Platforms
Available SDKs
Native Android & iOS
For native, bindings are provided:
| Platform | Dependency |
|---|---|
| Android (Kotlin) | co.wajub:wajub-android (Maven Central) |
| iOS (Swift) | Wajub (Swift Package Manager / CocoaPods) |
Both expose the same API: Wajub.present(reference:) which opens the payment sheet and
returns the result.