Skip to main content
Collect money from a customer’s phone via a USSD push, then record the verified payment against a loan or wallet. Collections run on a separate gateway service with its own base URL and key — but the same Bearer model.
Collections currently run through ClickPesa (fspId: "CLICKPESA", the default), covering Airtel Money, Mixx by Yas, and Halotel. More FSPs are coming soon. Bank collections are available on requestcontact us.
The Collections gateway uses a different keyId/secret and base URL than the BaaS core. Generate a token from the gateway with the gateway’s key.

Flow

1

Trigger the collection

transactionId is your own unique reference — you’ll poll status with it, and it acts as the idempotency key.
The customer receives a USSD prompt to approve the payment. payerPhone must be in international format (+255…), and the minimum collection is 1,000 TZS.
2

Poll for status

Response
Status moves PROCESSINGCOMPLETED (or a terminal failure). Poll until COMPLETED, backing off between polls.
3

Record the verified payment

Once collected, post it to the BaaS core (different token). Bridge re-verifies on the gateway before it moves the ledger. Idempotent on gatewayReference.

List your collections

Returns { data, total, page, limit, totalPages } — paginated, newest first.

Tie it together

  • Fund a wallet → use submit-deposit. With a BNPL standing instruction, that funded wallet auto-sweeps the loan (BNPL).
  • Collect a loan repayment → use submit-payment against the loan (Lending).