Skip to main content

Overview

Fingo Pay delivers asynchronous events (e.g., final transaction results) via HTTP POST to your endpoint.

Registering webhook URLs

  • Provide a per-request webhookUrl (as in C2B/B2C endpoints), and/or
  • Configure an account-level default webhook with our team (recommended for reliability).

Security — Signature verification

We sign every webhook with an HMAC SHA‑256 signature using your webhook secret. Headers:
Compute v1 = hex(hmac_sha256(secret, t + ”.” + raw_body)) and require timestamp t within 5 minutes.

Delivery & retries

  • Expect 2xx within 10 seconds.
  • Retries use exponential backoff for up to 24 hours.
  • Each event is delivered at least once; de‑duplicate using X-Fingo-Event-Id.

Event types

  • transaction.created
  • transaction.processing
  • transaction.succeeded
  • transaction.failed
  • transaction.creation_failed
  • transaction.reversed
transaction.* events apply to all transaction flows, including collections and payouts.

Webhook Event Reference

View detailed webhook event schemas and examples for transaction.* event types

Example payloads

C2B (M-Pesa Charge) Webhooks

Sent when the customer successfully completes the STK Push payment.

Payout transaction webhooks

Sent when transaction creation fails due to non-retriable errors like insufficient balance, duplicate transaction, or account not found.