Universal Callback Gateway
Unified Provider Gateway
ParsePesa V3 serves as a secure, unified webhook and callback ingestion layer for African payment providers. By routing transaction responses from multiple systems through ParsePesa, you eliminate the need to write separate signature checkers, error normalizers, and idempotency handlers for each payment processor.
How it Works
- Configure: Connect your payment provider accounts in the dashboard under the Providers Page.
- Route Callbacks: Copy your unique Callback URL and paste it into the developer portal of your payment processor (e.g. Pesapal IPN setup, Safaricom Daraja callback URLs, Flutterwave webhook endpoints).
- Verify: ParsePesa intercepts calls, validates cryptographic signatures or IP allowlists, normalizes the event payload to a flat standard structure, filters duplicate events, and delivers a clean signed notification to your app.
Raw Event Lifecycle States
Each callback received by ParsePesa is logged inside the Inbound Events Console and transitions through the following states:
| Status | Meaning |
|---|---|
| received | The webhook request was received by the endpoint but has not passed signature verification yet. |
| emitted | Signature verified, duplicate filter checks passed, payload normalized, and the webhook has been queued for delivery to your system. |
| ignored_duplicate | Detected as a duplicate of a transaction already processed. Ignored to prevent double-billing and duplicate webhooks. Return HTTP 200 to the provider. |
| ignored_stale | An out-of-order event arrived (e.g. pending callback arriving after succeeded callback). Logged and ignored. |
| reconciled | Merged with a matching transaction already received from an alternate channel (e.g. parsed SMS payload). |
| failed | Signature check failed, schema was invalid, or enrichment lookup query timed out. |
