# Вебхуки

Вебхуки позволяют автоматически получать уведомления о смене статуса инвойса без необходимости постоянных API-запросов.

Уведомления отправляются на URL-адрес, который указывается мерчантом при создании инвойса (в личном кабинете или через API).

Чтобы получать вебхуки, необходимо при создании инвойса указать параметр `webhook_url`, например:

```json
"webhook_url": "https://example.com/webhook"
```

Вебхук отправляется при каждом изменении статуса инвойса на одно из следующих значений:

<table data-header-hidden><thead><tr><th valign="top">Статус / Событие</th><th valign="top">Описание</th></tr></thead><tbody><tr><td valign="top">COMPLETED</td><td valign="top">Инвойс оплачен, средства переданы мерчанту. Только для инвойсов с временными адресами</td></tr><tr><td valign="top">TIMEOUT</td><td valign="top">Срок действия инвойса истек. Только для инвойсов с временными адресами</td></tr><tr><td valign="top">AML_FAILED</td><td valign="top">Платеж не прошел AML-проверку. Средства возвращены отправителю</td></tr><tr><td valign="top">OVERPAID</td><td valign="top">Инвойс переплачен, средства переданы мерчанту. Только для инвойсов с временными адресами.</td></tr><tr><td valign="top">UNDERPAID</td><td valign="top">Инвойс недоплачен, средства переданы мерчанту. Только для инвойсов с временными адресами.</td></tr><tr><td valign="top">ERROR</td><td valign="top">Инвойс обработан с ошибкой.</td></tr><tr><td valign="top">Платеж по инвойсу со статичным адресом</td><td valign="top">Получен и обработан платеж по инвойсу со статичным адресом. Отправляется отдельно для каждого платежного события</td></tr></tbody></table>

Формат вебхука:

```json
{
  "id": 336575574,
  "status": "ACTIVE",
  "type": "SINGLE",
  "paymentURL": "https://app.goodpayments.io/payment/336575574",
  "amount": 10,
  "currencies": [
    "TRX",
    "USDT"
  ],
  "currencies_amounts": {
    "TRX": 33.402357,
    "USDT": 10
  },
  "transfer_amounts": {
    "input": {
      "TRX": 0,
      "USDT": 0
    },
    "output": {
      "TRX": 0,
      "USDT": 0
    }
  },
  "cost": null,
  "client_commission": true,
  "order_id": null,
  "address": "TRWvSiQzhSpLdRAmwDHKtgd7bZb2G2be53",
  "webhook_url": null,
  "redirect_url": null,
  "description": "",
  "merchant_contact": "@username",
  "target_wallets": {},
  "expired_at": "2026-03-17T11:59:07.515594+03:00",
  "created_at": "2026-03-17T11:29:07.518981+03:00"
}
```

<table><thead><tr><th>Имя</th><th width="121.319580078125">Тип</th><th>Описание</th><th>Пример</th></tr></thead><tbody><tr><td>id</td><td>integer</td><td>Уникальный идентификатор инвойса</td><td>123477361</td></tr><tr><td>status</td><td>string</td><td><p>Статус инвойса. Возможные значения:</p><ul><li><code>COMPLETED</code></li><li><code>TIMEOUT</code></li><li><code>ERROR</code></li><li><code>AML_FAILED</code></li><li><code>OVERPAID</code></li><li><code>UNDERPAID</code></li></ul></td><td>COMPLETED</td></tr><tr><td>type</td><td>string</td><td>Тип инвойса. <code>SINGLE</code> - временный адрес<br><code>MULTIPLE</code> - статичный адрес<br><code>MULTIPLE_TRANSFER</code> - адрес рассылок</td><td>SINGLE</td></tr><tr><td>paymentURL</td><td>string</td><td>Ссылка на платежное окно</td><td><a href="https://app.goodpayments.io/payment/123477361">https://app.goodpayments.io/payment/123477361</a> </td></tr><tr><td>amount</td><td>number</td><td>Сумма к оплате, указанная в инвойсе (в USD)</td><td>1</td></tr><tr><td>currencies</td><td>string</td><td><p>Список принимаемых валют. Возможные значения: </p><ul><li><code>TRX</code></li><li><code>USDT</code></li><li><code>TRX, USDT</code></li></ul></td><td>["USDT", "TRX"]</td></tr><tr><td>currencies_amounts</td><td>string</td><td>Сумма к оплате по инвойсу в принимаемой валюте</td><td>"TRX": 3.6329</td></tr><tr><td>transfer_amounts</td><td>string</td><td>Фактически полученная сумма</td><td>"TRX": 3.6329</td></tr><tr><td>cost</td><td>number</td><td>Комиссия сервиса за обработку платежа</td><td>6.5</td></tr><tr><td>order_id</td><td>string</td><td>Идентификатор заказа в системе мерчанта. Макс. 256 символов</td><td>12345</td></tr><tr><td>address</td><td>string</td><td>Сгенерированный временный адрес для оплаты</td><td>TBi3zPSQ8JszpkkgwZL4kZWDjXEZsi9Fze</td></tr><tr><td>client_comission</td><td>boolean</td><td><p>Флаг, определяющий, кто оплачивает комиссию за пересылку. Только для инвойса с типом <code>SINGLE</code>. </p><ul><li>true – комиссия списывается с клиента. Сумма инвойса увеличивается на размер комиссии, и клиент оплачивает итоговую сумму. </li><li>false – комиссию оплачивает мерчант. </li></ul></td><td>true / false</td></tr><tr><td>webhook_url</td><td>string</td><td>Адрес, на который сервис goodPayments будет отправлять уведомление (webhook) после совершения плательщиком оплаты по инвойсу</td><td>https://example.com/webhook</td></tr><tr><td>redirect_url</td><td>string</td><td>Адрес страницы, на которую будет перенаправлен плательщик после совершения оплаты по инвойсу</td><td>https://example.com/thank-you</td></tr><tr><td>description</td><td>string</td><td>Описание заказа, может содержать в себе какую-либо информацию мерчанта по оплачиваемому заказу </td><td>Payment for order #123</td></tr><tr><td>merchant_contact</td><td>string</td><td>Контактные данные мерчанта</td><td>@username</td></tr><tr><td>target_wallets</td><td>object</td><td>Объект, содержащий список адресов и сумму к отправке (для инвойсов с типом <code>MULTIPLE_TRANSFER</code>)</td><td></td></tr><tr><td>expired_at</td><td>string</td><td>Дата и время истечения срока действия инвойса</td><td>2025-11-23T14:28:57.786076+00:00</td></tr><tr><td>created_at</td><td>string</td><td>Дата и время создания инвойса</td><td>2025-11-23T13:58:57.789617+00:00</td></tr></tbody></table>

Вебхук отправляется однократно. Если ваш сервер не ответил в течение 10 секунд, вебхук не будет повторно отправлен. В таком случае рекомендуется самостоятельно запрашивать статус инвойса через API при необходимости.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://goodpayments.gitbook.io/docs/documentation/ru/api-dokumentaciya/vebkhuki.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
