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

# Underpaid Pay Link Deposit Webhooks 

> Receive an opt-in webhook when a payer underpays a fixed-price Pay Link through the QR deposit flow

## Pay Link underpaid webhook

`PAYLINK_DEPOSIT_UNDERPAID` is sent when a payer makes a partial payment toward a **fixed-price Pay Link through the QR deposit flow**. Use it to track the shortfall and follow up with the payer.

This is an opt-in **Pay Link webhook** event. Subscribing to `ALL`, `REGULAR_ALL`, or `REGULAR_TRANSACTION` does not include it.

### Subscribe

[Create a Pay Link webhook](https://docs.hel.io/reference/webhook/paylink-transaction/create) with `PAYLINK_DEPOSIT_UNDERPAID` in `optInEvents`:

```json theme={null}
{
  "targetUrl": "https://example.com/webhooks/helio",
  "paylinkId": "65dc9f9f1154beaac39976c8",
  "optInEvents": ["PAYLINK_DEPOSIT_UNDERPAID"]
}
```

Include `paylinkId` for a specific Pay Link, or omit it for an account-wide subscription.

Standard [webhook authentication and signature verification](https://docs.hel.io/docs/webhooks#verifying-webhook-signatures) apply.

### Payload

```json theme={null}
{
  "event": "PAYLINK_DEPOSIT_UNDERPAID",
  "chargeToken": "24c82487-e1f4-4af8-95a5-2f135158a915", // Charge token used to match this event to your charge
  "paylinkId": "65dc9f9f1154beaac39976c8", // ID of the associated Pay Link
  "expectedAmountMinimalUnit": "1000000", // Total amount due in minimal units (1 USDC)
  "receivedAmountMinimalUnit": "400000", // Cumulative amount received in minimal units (0.4 USDC)
  "shortfallMinimalUnit": "600000", // Remaining amount due in minimal units (0.6 USDC)
  "currencySymbol": "USDC", // Deposited token symbol
  "currencyDecimals": 6, // Remaining amount due in minimal units (0.6 USDC)
  "blockchainSymbol": "SOL" // Deposited token symbol
}
```

### Handling the event

* The event may fire again as further partial payments arrive. Amounts are cumulative; do not add them across deliveries.
* Handle duplicate deliveries using the charge reference and amount fields.
* An underpaid event does not confirm payment completion. Wait for a successful Pay Link transaction webhook with `event: "CREATED"` or another applicable confirmation before marking the charge as paid.

This event applies only to fixed-price Pay Link QR payments. It is separate from [`DEPOSIT_BELOW_MINIMUM`](https://docs.hel.io/reference/webhook/deposit/overview#below-minimum-deposit-alerts), which concerns deposit wallet settlement thresholds.
