> For the complete documentation index, see [llms.txt](https://docs.paywall.pw/rus/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.paywall.pw/rus/obshee/veb-khuki.md).

# Веб-хуки

Чтобы настроить, перейдите в **Настройки** проекта в раздел **Веб-хуки**.

После того как вы укажете ссылку для получения нотификаций, вы сможете отправить тестовые запросы, которые помогут вам в настройке на своей стороне.

### Передаваемые параметры

На ваш URL отправляются запросы со следующими параметрами:

<table data-full-width="false"><thead><tr><th width="223">Параметр</th><th width="86">Тип</th><th>Описание</th></tr></thead><tbody><tr><td>clickid</td><td>string</td><td><a href="#clickid">ID перехода.</a> Если его нет, то передается пустое значение.</td></tr><tr><td>paymentId</td><td>string</td><td>ID платежа. Передается для событий с типами  <code>firstbill</code>, <code>rebill</code>, <code>refund</code>. Если его нет, то передается пустое значение.</td></tr><tr><td>type</td><td>string</td><td><a href="#tipy-sobytii">Тип события</a>. Может быть <code>trial</code>, <code>firstbill</code>, <code>rebill</code>, <code>refund</code>, <code>cancel</code> or <code>update</code>.</td></tr><tr><td>plan</td><td>int</td><td>ID тарифа.</td></tr><tr><td>planName</td><td>string</td><td>Название тарифа.</td></tr><tr><td>planPrice</td><td>string</td><td>Сумма оплаты в копейках или центах.</td></tr><tr><td>planCurrency</td><td>string</td><td>Валюта тарифа. Может быть <code>RUB</code>, <code>USD</code> или <code>EUR</code>.</td></tr><tr><td>planPeriod</td><td>string</td><td>Период оплаты тарифа.<br>Может быть <code>1 month</code>, <code>3 months</code>, <code>6 months</code>, <code>1 year</code>, <code>One-time</code>.<br>Для старых тарифов возможны <code>1 day</code>, <code>3 days</code>, <code>1 week</code>, <code>2 weeks</code>, <code>2 months</code>.</td></tr><tr><td>trialPeriod</td><td>string</td><td>Срок пробного периода тарифа.<br>Может быть <code>3 days</code>, <code>7 days</code>, <code>10 days</code>, <code>14 days</code>, <code>30 days</code>.</td></tr><tr><td>nextPayment</td><td>string</td><td>Расчетная дата следующего платежа по подписке. Если даты нет, то передается пустое значение.</td></tr><tr><td>kickAt</td><td>string</td><td>Расчетная дата до которой оплачена подписка. Если даты нет, то передается пустое значение.</td></tr><tr><td>subscription</td><td>string</td><td>ID подписки.</td></tr><tr><td>consumer</td><td>int</td><td>ID пользователя. Если его нет, то передается пустое значение.</td></tr><tr><td>consumerEmail</td><td>string</td><td>Email пользователя. Если его нет, то передается пустое значение.</td></tr><tr><td>consumerTelegramId</td><td>string</td><td>Telegram ID пользователя. Если его нет, то передается пустое значение.</td></tr><tr><td>txid</td><td>string</td><td>Hash события.</td></tr></tbody></table>

### Типы событий

1. `trial` - новая подписка с пробным периодом.
2. `firstbill` - новая подписка.
3. `update` - обновление данных о подписке (отправляется когда нам становится известен `consumerTelegramId` после перехода пользователя в бота).
4. `rebill` - продление подписки.
5. `cancel` - отмена подписки.
6. `refund`- возврат платежа.

### clickId

Вы можете самостоятельно размечать подписки с помощью параметра `clickId`. Для этого добавьте к платежной ссылке вашего проекта `?clickId=[значение]`

Пример: `https://paywall.pw/sampleproject?clickId=123456`

Значение не может превышать 34 символа и должно состоять из цифр и латинских букв.

Если пользователь перейдет по ссылке с параметром и совершит подписку, то у его подписки сохранится значение `clickId`. При отправке запроса на ваш URL (см. раздел проекта "Веб-хуки") это значение будет передаваться с остальными сведениями о подписке.

Генерируйте уникальные значения для каждого перехода. Это может пригодиться при реализации собственной партнерской (реферальной) программы.

### Отправка запросов

Первый запрос отправляется сразу. Если не был получен ответ с кодом 2хх, то вторая попытка будет через 30 секунд. Последующие попытки происходят через N\*2 времени. Максимальный срок отправки уведомлений - одна неделя.

{% hint style="info" %}
Для тестирования отлично подойдет бесплатный инструмент [webhook.site](https://webhook.site/)
{% endhint %}
