ParsePesa
Provider Adapter Guide

Flutterwave Webhooks Signature Integration

Verify and map Flutterwave multi-currency payment events securely utilizing verification hashes.

Setup & Configuration

  1. In your Flutterwave Settings under Webhooks, specify a webhook secret hash.
  2. Input the same secret hash as the Webhook Secret when configuring Flutterwave inside ParsePesa.
  3. Register your ParsePesa Flutterwave Callback URL in the Webhooks endpoint field.
  4. ParsePesa checks the `verif-hash` header value on each incoming callback.
Verification Method:

Strict `verif-hash` header comparison to prevent payload spoofing.

Sample Inbound Webhook Payload

{
  "event": "charge.completed",
  "data": {
    "id": 883921,
    "tx_ref": "FLW-ORDER-99",
    "flw_ref": "FLW-REF-9922",
    "amount": 3500.00,
    "currency": "KES",
    "status": "successful",
    "customer": {
      "name": "Alice Kip",
      "email": "alice@example.com"
    }
  }
}

Normalized Financial Event Payload

{
  "id": "evt_FLW-REF-9922",
  "environment": "production",
  "provider": "flutterwave",
  "source": "flutterwave_charge",
  "eventType": "money.received",
  "eventName": "Money Received",
  "status": "succeeded",
  "amount": 3500.0,
  "currency": "KES",
  "merchantReference": "FLW-ORDER-99",
  "providerReference": "FLW-REF-9922",
  "counterparty": {
    "name": "Alice Kip",
    "email": "alice@example.com"
  },
  "occurredAt": "2026-06-13T10:00:00Z"
}
← Gateway IntroductionReconciliation Deduplication →