Skip to main content
Pricing and markets live in the dashboard, not in a separate rate-card API. Configure once, then enforce costs with jaza.consume({ featureCode }) and sell packs through the client top-up UI.

1. Create an app

  1. Open the dashboard.
  2. Create an app and pick a clear name.
  3. Stay in sandbox until the flow works end to end.

2. Enable countries

Under App Settings → Countries, enable the Mobile Money markets you need. Jaza routes deposits through its partners — you do not open a PawaPay account or manage multi-currency settlement yourself.

3. Define features

Under Features, add each billable action: Your backend will pass the same featureCode to jaza.consume(). Costs also appear in the client session snapshot for JazaActionButton.

4. Define bundles

Under Bundles, add credit packs shown in the client top-up UI (label, price, credits granted).

5. Copy API keys

Never ship the secret key in a mobile binary or public repo.

6. Webhooks (optional)

Under App Settings → Webhooks, add HTTPS endpoints, pick top-up and consumption events, and copy the signing secret. Verify with jaza.webhooks.constructEvent. See Webhooks. For in-app UX after a top-up, use onTopUpComplete and the SDK wallet refresh — you do not need webhooks for the sheet to update balance.

7. Settlements and support

Under Payouts, save your USD bank account, choose a settlement frequency, and request payouts once your settlement wallet reaches $100. Jaza takes a 5% platform fee from each top-up (merchant share) before accrual. Completed settlements include an invoice PDF by email. Use Support in the dashboard to open tickets with the Jaza team.

Next steps