Payless lets merchants and platforms collect from customers, send money out, hold balances, issue invoices and reconcile every transaction — with one REST API and a dashboard your team can run without a payments engineer.
Money in, money out and the bookkeeping around it — in one place, instead of three stitched-on integrations.
Charge a customer's mobile money wallet and follow the result on a single reference, with an idempotency key so a retry cannot become a double charge.
Send money out to customers, suppliers or staff, with per-transaction status you can poll or receive by callback.
Balances held per merchant and per provider, updated as transactions settle, with a ledger behind every movement.
Raise an invoice, email it as a PDF or share a payment link, and let the payment match itself back to the invoice.
Every settlement callback is signed with your merchant secret, and each delivery attempt is recorded, so you can prove what was sent and when.
Transaction fees, fee reports and exports per merchant and per network — the month-end work that usually lands on finance.
No hardware, no acquirer paperwork in your code path — an account, a key and two endpoints.
Register your business. Once it is approved you get a merchant code and your own dashboard logins.
Create a key for each project — scoped, rotatable and revocable at any time.
Send a collection or a disbursement over REST, then read the status by reference.
Point your callback URL at your server, verify the signature, and reconcile from the dashboard.
A small, predictable REST API: JSON in, JSON out, status by reference. Collect money with one call.
POST /api/v1/payments/collections/push
POST /api/v1/payments/disbursements
GET /api/v1/payments/{reference}
GET /api/v1/payments/wallets/balance
# collect TZS 25,000 from a mobile money wallet curl -X POST "https://payments.payless.cloud/api/v1/payments/collections/push" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "X-Idempotency-Key: REQ-20260907-001" \ -d '{ "msisdn": "255713456789", "amount": "25000", "currency": "TZS", "providerCode": "VODA", "requestId": "REQ-20260907-001", "reference": "INV-1001", "callbackUrl": "https://your-server.com/webhook/mobile-money" }'
// response envelope { "status": "SUCCESS", "code": "PGW-0000", "message": "request accepted", "data": { "status": "PENDING", "reference": "INV-1001" } }
Verifiable callbacks, scoped credentials and a record of everything that happened.
Callbacks carry a signature from a per-merchant secret that you can rotate, so a settlement notice can be verified as genuinely ours.
Keys are stored hashed, belong to a single project, and can be rotated or revoked without rebuilding your integration.
Dashboard sessions are signed and expire, passwords are bcrypt-hashed, and the database connection is encrypted.
Transaction events and callback delivery attempts are recorded, so a disputed payment can be traced end to end.
Create a merchant account, generate an API key and send your first collection — your dashboard is ready as soon as you register.