> ## Documentation Index
> Fetch the complete documentation index at: https://docs.payracle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Real-time payment notifications

Payracle sends real-time notifications to your configured webhook URL when key events occur. Configure your webhook endpoint in **Developer › API Keys**.

## Event types

| Event                   | Fires when                                                                                                        |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------- |
| `account.credit`        | Your main SafeHaven business account was credited directly                                                        |
| `virtualAccount.credit` | Any other inbound deposit — a Checkout/Collect Link dynamic account, or a persistent Paga/PalmPay virtual account |

Both share the same payload shape — only the `event` field and underlying transaction data differ. `virtualAccount.credit` additionally includes a `recipient` object when the deposit landed on a named Paga virtual account, identifying which of your customers it belongs to.

`amount` and `amount_naira` are both denominated in naira (kept as two fields for compatibility).

```json theme={null}
{
  "event": "virtualAccount.credit",
  "data": {
    "id": 482,
    "type": "credit",
    "channel": "paga",
    "account_number": "9012345678",
    "amount": 2500.00,
    "amount_naira": 2500.00,
    "currency": "NGN",
    "narration": "Transfer from John Doe",
    "sender_name": "JOHN DOE",
    "sender_account": "0123456789",
    "sender_bank": "Access Bank",
    "reference": "CUST-00123",
    "collect_link_reference": null,
    "payer_email": "payer@example.com",
    "status": "successful",
    "transaction_date": "2026-06-25T11:42:00.000000Z",
    "recipient": {
      "first_name": "Amara",
      "last_name": "Okonkwo",
      "email": "amara@example.com",
      "phone": "+2348012345678"
    }
  }
}
```

<Note>
  Your endpoint must return an HTTP 200 status code within 8 seconds to acknowledge receipt. Payracle does not automatically retry failed deliveries — inspect delivery attempts in the Webhook Logs page and manually retry any that failed.
</Note>

Next: [verify every webhook is genuinely from Payracle](/webhooks/signatures) before trusting it.
