POST request to your configured callback URL. Each request contains an event field identifying the notification type.
If your API token has a passphrase configured, every request includes a
Pesahub-Signature header — an HMAC over the raw payload. See Verify a Checksum for validation steps.Events
Payload Fields
string
required
The event type. One of
payment.received or payment.failed.string
required
Unique identifier for the transaction.
string
required
The payment method used, e.g.
ussd.string
required
ISO currency code, e.g.
TZS.object
required
object
required
object
required
object
Arbitrary key-value pairs provided at payment creation, echoed back as-is. Use these to correlate events with records in your system.
string
Human-readable reason for the failure. Only present on
payment.failed.string
required
ISO 8601 UTC timestamp of when the payment was created.
string
required
ISO 8601 UTC timestamp of the last status update.
string
required
ISO 8601 UTC timestamp of when this webhook was dispatched.
Example Payloads
- payment.received
- payment.failed