We never hold your money
- Paytrack sends STK push instructions and reports results. That's the whole job.
- Money goes customer M-Pesa -> Safaricom -> your bank/PayBill/Till. Never through us.
- No balances, no float, no payouts, no escrow. We're not a bank, wallet or remitter.
- Refunds, reversals and disputes are handled between you, Safaricom and your bank.
- Statuses are best-effort information. Reconcile against your statements.
The summary is a convenience. The full text below is what actually applies.
01The short version
Paytrack is software. It sends instructions to Safaricom and reports back what happened. It is a router for payment requests, not a place where money sits.
02How money actually moves
Here is the data path versus the money path:
- Your backend calls
POST /v1/paymentswith a channel, amount and phone number. - Paytrack asks Safaricom to show your customer an STK prompt, with your channel as the destination (the
PartyBand account reference). - The customer approves on their phone. Safaricom moves the funds from their M-Pesa wallet to your destination.
- Safaricom tells Paytrack the result. Paytrack records it and sends your backend a signed webhook.
The only things Paytrack ever touches are request parameters, status codes, receipts and metadata. The value transfer happens entirely inside Safaricom's and your bank's systems.
03What we are not
Because we never take possession of funds, Paytrack is not, and does not act as:
- a bank, deposit-taker or savings product;
- an e-money issuer, wallet or stored-value account;
- an escrow agent, trustee or holder of funds on anyone's behalf;
- a money remitter or a settlement or payout service;
- a lender or provider of credit, advances or chargeback guarantees.
If any page, email, API field or marketing copy ever seems to suggest otherwise (say, a balance figure in the dashboard), read it as a reporting view computed from payment records, not as money held by us.
04What that means for you
- Refunds and reversals are between you, your customer, Safaricom and your bank. We can't pull money back, because we never had it. Use the M-Pesa reversal process or refund the customer yourself.
- Wrong destination details (a typo in the account number, the wrong PayBill) send money where you pointed it. Double-check your channel configuration. We have no way to redirect funds.
- Settlement timing depends on Safaricom and your bank, not on us. If funds look delayed, your bank or Safaricom statement is the source of truth.
- Disputes and chargebacks belong to you as the merchant. Keep your own records; the
mpesa_receipt_numberon each payment helps.
05Status data is information, not a guarantee
Payment statuses, webhooks and dashboard figures reflect what Safaricom has told us. We work hard to keep them correct (callbacks, status queries, idempotency, retries), but distributed systems are distributed systems:
- a payment can be
expiredbecause the outcome was unknown, and later becomesucceeded; - webhooks are delivered at least once, so duplicates are possible and order isn't guaranteed;
- Safaricom outages can delay or prevent results.
For high-value orders, confirm against your M-Pesa or bank statement before releasing goods. Run a periodic reconciliation job; the List payments endpoint exists for exactly this.
06No financial, legal or tax advice
Docs, examples and support replies explain how the software works. They aren't financial, legal, regulatory or tax advice. Whether your business needs a licence, how to account for revenue, and which consumer-protection rules apply to you are questions for your own advisers.
07Third parties
M-Pesa is a Safaricom service, and banks, PayBills and Tills are run by their respective operators. Their terms, tariffs, limits and outages apply to you independently of ours. Paytrack isn't affiliated with or endorsed by Safaricom or any bank, and naming them here is purely descriptive.