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

# Order status event

> The webhook Paywire sends to your callbackUrl when an order reaches a result.

`POST` to the link's `callbackUrl`, with a JSON body. Respond with any `2xx` within 10 seconds; anything else is retried. See [Webhooks](https://docs.paywire.xyz/guides/webhooks.md) for retries, duplicates and signature checks.

## Headers

**Web3Getaway-Signature** `string` *required*

`t=<unix seconds>,v1=<hex HMAC-SHA256(secret, "<t>.<raw body>")>`. [Verify it](https://docs.paywire.xyz/guides/webhooks.md#verify-the-signature) before trusting the body.

**Web3Getaway-Event-Id** `string` *required*

The event's id, the same as the body's `id`. Repeats on retries and resends: use it to skip duplicates.

**Web3Getaway-Event-Type** `string` *required*

The same as the body's `type`, e.g. `order.settled`.

## Body

**id** `string (uuid)` *required*

The event id.

**type** `string` *required*

One of `order.settled`, `order.overpaid`, `order.expired`, `order.expired_underpaid`, `order.manual_review`, `order.refunded`.

**createdAt** `string (date-time)` *required*

When the order changed status.

**data** `object` *required*

**properties**

**orderId** `string (uuid)`

The order.

**paymentLinkId** `string (uuid)`

The link the order belongs to: match it to your purchase.

**status** `string`

The new status, e.g. `Settled`.

**previousStatus** `string`

The status before, e.g. `Confirming`.

**expectedAmount** `object`

What the quote asked for: `network`, `token`, `decimals`, `baseUnits` (string).

**confirmedAmount** `object`

What arrived and is confirmed, same shape.

**fiat** `object`

The quoted price: `amount` and `currency`.

```json order.settled theme={null}
{
  "id": "0193a0c9-1b2c-7d3e-8f4a-5b6c7d8e9f0a",
  "type": "order.settled",
  "createdAt": "2026-10-24T09:16:02.511Z",
  "data": {
    "orderId": "0193a0c5-0a1b-7c2d-8e3f-4a5b6c7d8e9f",
    "paymentLinkId": "0193a0c4-5f2e-7c1d-9b8a-3e4f5a6b7c8d",
    "status": "Settled",
    "previousStatus": "Confirming",
    "expectedAmount": { "network": "solana_devnet", "token": "native", "decimals": 9, "baseUnits": "301204819" },
    "confirmedAmount": { "network": "solana_devnet", "token": "native", "decimals": 9, "baseUnits": "301204819" },
    "fiat": { "amount": 49.90, "currency": "USD" }
  }
}
```

```json order.expired_underpaid theme={null}
{
  "id": "0193a0e1-4d5e-7f6a-8b7c-9d0e1f2a3b4c",
  "type": "order.expired_underpaid",
  "createdAt": "2026-10-24T09:33:05.300Z",
  "data": {
    "orderId": "0193a0c5-0a1b-7c2d-8e3f-4a5b6c7d8e9f",
    "paymentLinkId": "0193a0c4-5f2e-7c1d-9b8a-3e4f5a6b7c8d",
    "status": "ExpiredUnderpaid",
    "previousStatus": "AwaitingPayment",
    "expectedAmount": { "network": "solana_devnet", "token": "native", "decimals": 9, "baseUnits": "301204819" },
    "confirmedAmount": { "network": "solana_devnet", "token": "native", "decimals": 9, "baseUnits": "150000000" },
    "fiat": { "amount": 49.90, "currency": "USD" }
  }
}
```

```http 200 theme={null}
HTTP/1.1 200 OK
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.