Skip to main content
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.