Jusa for Developers
Airtime, data and ZESA for your users, from one API.
Send Zimbabwean airtime, data bundles and ZESA electricity tokens from a prefunded Jusa Credit balance, and reward people for things they do: a finished survey, a streak kept, a referral, a clinic visit. Every network and every meter, one call, one webhook.
# pip install jusa import jusa jusa.api_key = "jusa_sk_test_…" # test mode: nothing real moves reward = jusa.Reward.create( program="prg_7Hq2…", recipient={"external_id": "resp-8812", "phone": "0771230000"}, completion_id="8812", # one reward per submission, forever idempotency_key="survey-8812", ) print(reward.id, reward.status) # rwd_… pending
// npm install @jusa/node import Jusa from '@jusa/node'; const jusa = new Jusa(process.env.JUSA_SECRET_KEY); const reward = await jusa.rewards.create( { program: 'prg_7Hq2…', recipient: { external_id: 'resp-8812', phone: '0771230000' }, completion_id: '8812' }, { idempotencyKey: 'survey-8812' }, );
curl https://jusa.localhost.co.zw/dev/v1/rewards \ -H "Authorization: Bearer jusa_sk_test_…" -H "Idempotency-Key: survey-8812" \ -d program=prg_7Hq2… -d recipient[phone]=0771230000 -d completion_id=8812
What is always true
Price
Face value, alwaysA US$0.50 reward costs US$0.50. No tiers, no per-send fees. Card fees on a top-up are the payer's, as on the site.Money
Prefunded Jusa CreditTop up any amount by card or bank transfer and go live at once. USD and ZWG are separate balances.Safety
Idempotent moneyEvery POST that moves money takes an Idempotency-Key; client_reference and completion_id dedupe for good.Events
Signed webhooksEvery change is an event, signed with your endpoint's secret, retried for three days, replayable.Honesty
Settlement you can plan onEach state says what happens to the money and when. A send that might have landed is never resent.Sandbox
A real test modeYour own test Jusa Credit and numbers that act out every outcome, from delivered to late-delivered.What people build
KoboToolbox or ODK back-ends, SurveyCTO, research agencies
Reward a respondent for finishing a surveyThe seed use case. One program holds the budget and the rules; each completed survey is one reward, keyed on the submission …NGOs with enumerators
Claim cards and QR codes for offline surveysPrint a link or QR per respondent. They claim it on their own phone later; an OTP binding stops a forwarded link …Premise-style task apps
A micro-task earnings potEach task earns into a pot; the pot pays out as airtime once it reaches a threshold.Pollsters
Reimburse SMS or USSD poll costsPay back what answering a poll cost each participant, in one batch at the end of the day.Fintech and e-commerce apps
Reward in-app actions: sign-up, KYC, first transactionReward what a user does, once per user, with sign-up rewards held in escrow until they stick.Edtech, health and fitness apps
Streak rewardsPay when someone does the thing N times in D days.