Overview
Fingo Pay sends webhook events to your endpoint for asynchronous transaction updates. Each event contains a type, timestamp, and transaction data.Base Event Structure
All webhook events follow this structure:Event Types
C2B (M-Pesa Charge) Events
transaction.creation_failed- Collections creation failed (business logic error)transaction.succeeded- Customer completed STK Push paymenttransaction.failed- Payment failed (user cancelled, timeout, or error)
Payout Transaction Events
transaction.creation_failed- Payout creation failed (business logic error)transaction.succeeded- Payout completed successfullytransaction.failed- Payout failed
Other transaction events
transaction.created- Transaction initiatedtransaction.processing- Transaction being processedtransaction.reversed- Transaction reversed/refunded
transaction.* is the webhook namespace used across all transaction categories.C2B Charge Webhooks
Transaction Succeeded
Sent when the customer successfully completes the STK Push payment.Transaction Failed (User Cancelled)
Sent when the customer cancels, times out, or the payment fails for any reason.Transaction Failed (Creation Error)
Sent when the transaction fails during creation (e.g., shortcode not found, account not configured).B2C Payout Webhooks
Transaction Creation Failed
Sent when payout creation fails due to non-retriable errors like insufficient balance, duplicate transaction, or account not found.Common error codes
Common error codes
INSUFFICIENT_BALANCEDUPLICATE_TRANSACTIONACCOUNT_NOT_FOUNDNO_PAYOUT_ACCOUNT