Use collections when you want to request a mobile money payment from a customer. Collections currently support KES and UGX. Successful collections settle into your USD wallet.
Endpoint
POST /v3/collect
Required fields
Quote first
Create the collection
Send the same request with quote: false.
In production, Sarafa stores the transaction as pending, queues a collection.pending callback, and dispatches the provider request through the worker. The worker confirms the transaction from a provider webhook or status check.
In sandbox, Sarafa skips phone-provider validation and worker dispatch, credits the sandbox USD wallet immediately, returns a completed transaction, and queues one collection.updated callback with status: "completed".
Use a new external_id for every collection. Duplicate IDs return 409.
The terminal callback uses collection.updated with a completed or failed status. A completed collection credits your USD wallet. A failed collection does not change your wallet balance. Last modified on July 22, 2026