Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.kler.africa/llms.txt

Use this file to discover all available pages before exploring further.

This endpoint is called by Providus Bank when a payment lands on a Kler collection account. You do not need to call this endpoint yourself — it is for Providus integration only.

Providus webhook

POST /v1/webhooks/providus Kler verifies the request using HMAC-SHA512 signature before processing.

Signature verification

Providus sends an x-auth-signature header. Kler validates it against PROVIDUS_WEBHOOK_SECRET. Requests with invalid signatures are rejected with 401.

What Kler does on receipt

  1. Looks up the collection account by accountNumber
  2. Checks for duplicate via transactionReference (idempotent)
  3. Records the transaction
  4. Fires the event to your platform’s webhook_url

Outbound event to your platform

Once a transaction is recorded, Kler immediately forwards it to the webhook_url set on the session:
{
  "event": "transaction.received",
  "session_id": "3f1e2d...",
  "data": {
    "id": "txn_...",
    "amount": "5000.00",
    "currency": "NGN",
    "channel": "bank_transfer",
    "status": "successful",
    "sender_name": "John Doe",
    "sender_account": "0123456789",
    "sender_bank": "058",
    "narration": "Ticket payment",
    "providus_ref": "PVS20250801XXXXXXX",
    "paid_at": "2025-08-01T18:32:00.000Z"
  }
}
See Webhooks concept guide for how to handle this on your end.