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

# Webhooks Introduction

> Learn how to securely handle real-time events from xPay using webhooks.

Webhooks allow you to stay informed about specific events in xPay by receiving real-time notifications. Here's everything you need to know about setting up and handling webhooks securely and efficiently.

### Webhook URL

You will register an endpoint URL to receive events from xPay through the **[Settings Page](https://app.xpaycheckout.com/settings)**, where a `signing_key` will also be provided for securing the communication between xPay and your system. Make sure your webhook URL is set up to reliably accept these events and handle them as needed.

<Note>
  Please ensure that you register the webhook endpoint via the **[Settings Page](https://app.xpaycheckout.com/settings)** to receive event notifications. The `signing_key` required for verifying the events will also be provided there.
</Note>

### Timeouts

xPay's system will adhere to a **2-second** connection timeout and read timeout for each webhook delivery attempt. If the request exceeds this limit or fails for any reason, xPay will retry sending the event using exponential backoff to avoid overwhelming your system.

### Idempotency

To ensure robustness in your webhook processing, it's crucial to handle events idempotently. This means that even if the same event is sent multiple times (due to retries), your system will handle it without causing errors or duplicating operations.

### Security

xPay supports two secure methods for verifying webhook authenticity: `HMAC-SHA512` and `ECDSA`. For implementation details, see the [Webhook Verification Guide](./verification).

***
