Skip to content
PesaGuard Docs

Developer documentation

Reconcile M-Pesa payments with evidence attached.

PesaGuard watches Safaricom Daraja callbacks as they arrive, matches them against your internal records, and keeps the reason behind every outcome. This documentation covers the concepts, the operations API surface and the delivery behaviour you will build against.

Scope, stated up front

PesaGuard reconciles M-Pesa (Safaricom Daraja) only today. Airtel Money, bank rails and point-of-sale feeds are planned — they have no adapter, tests or documentation yet, and these pages label them accordingly. See Concepts for what is live.

What the platform guarantees

  • Idempotent writes. A retried callback never creates a second financial record.
  • Deterministic matching. Amount, reference and timestamp tolerance decide the outcome — the same inputs produce the same result.
  • Append-only evidence. Every decision keeps its reason, so review and audit read the record instead of memory.
  • Enforced tenant isolation. Boundaries are enforced at the database layer, not by application convention.

Where to look first

If you are integrating the dashboard operations surface, start with the API reference and error handling. If you are wiring delivery into your own systems, read webhook delivery end to end before you write a consumer.