# Веб-хуки

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

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

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

На ваш 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 %}


---

# 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://docs.paywall.pw/rus/obshee/veb-khuki.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.
