Mobile money
Collect money from customers on mobile money. SenjaroPay sends a USSD push to the customer’s phone; they authorize with their PIN.
Create the payment, then confirm the result with a webhook. If the callback does not arrive, read the payment with payment status.
All calls are POST to https://api.senjaropay.com and require Content-Type: application/json, x-api-key, and x-api-secret.
How it works
Create a payment
Call create with the amount, customer phone, and customer details. Include a unique x-idempotency-key. Store data.reference.
Confirm the result
Prefer a webhook for the outcome. If the callback is late or missing, use payment status with the payment reference.
Authentication
Generate the idempotency key in your backend. Reuse it only when retrying the same create request.
Use HTTPS from your backend only — never send keys from a browser or mobile app.
Supported networks
Create a payment
SenjaroPay creates a pending collection and pushes USSD to phone_number. The session expires at data.expires_at if the customer does not complete payment. Do not fulfill the order while data.status is pending.
Request
Response
Request fields
Errors
If the same x-idempotency-key is reused, the API returns the previous transaction result instead of creating a new collection.
Examples on this page are mock values. Keep API keys in server-side secrets.
